区块链由一串使用密码学算法产生的区块连接而成,每个区块上都写满了交易记录,区块按顺序连接在一起形成一个链状结构,也就是区块链大账本。以比特币为例,在生成新区块时,矿工要根据前一个区块的哈希值、新交易区块和随机数,计算出新的哈希值和随机数。也就是说,每个区块都是在前一个区块数据的基础上生成的,该机制保证了区块链数据的唯一性。交易记录的细微变化会彻底改变哈希值的结果,因此进行算力竞争时矿工无法作弊,必须在前一个区块生成后才能借助这一区块数据计算出符合条件的随机数,保证了挖矿的公平性。
中本聪在《比特币:一种点对点的电子现金系统》白皮提到,为了解决电子货币的安全问题,可以将时间戳服务器组成一组,以区块形式存在的数据实施哈希后加上时间戳,广播该哈希;每个时间戳都会将前一个时间戳纳入自己的哈希中,之后的时间戳会对前面的时间戳不断增强,继而形成一个区块链。
区块的产生可以这样理解:这种点对点的交易需要记录在一个账本上,于是系统设置了一个功能:每隔10分钟就能产生一张用于记录这些信息的账单(即区块),但是这个账单只能供能力最强的那个人记账,证明他有能力解答异常复杂的数学题(哈希运算)。这种方式,也就是所谓的挖矿。
每个人都要在系统里预留一个地址,一旦最有能力的人率先解出难题,就可以得到区块,当初预留的地址也会自动记录在区块上。同时,为了奖励他,系统会向这个预留地址发放一定数量的比特币。所有区块连接在一起,就形成了区块链。