肖海坚-Jack4星评价
2020-09-18 09:50:00
区块链由一串使用密码学算法产生的区块连接而成,每一个区块上写满了交易记录,区块按顺序相连形成链状结构,也就是区块链。以比特币为例,矿工在生成新区块时,需要根据前一个区块的哈希值,新交易区块和随机数,来计算新区块的哈希值和随机数。也就是说一个区块都是在前一个区块的数据基础上生成的,该机制保证了区块链数字的唯一性,因为交易记录细微的变化也会改变哈希值的结果,所以矿工在进行算力竞争的时候无法作弊,每个矿工都必须等前一个区块生成之后,才能根据前一个区块计算符合条件的随机数,保证了挖矿的公平性。
以比特币为例,区块链里记录了那些信息?区块链是比特币网络的大帐本,每个区块相当于账本中的一页,目前比特币的账本内记录了区块头,交易详情,交易计数器和区块大小等数据。区块头是每个区块中前80个字节,主要包括了上一个区块的哈希值,用于保证区块按顺序连接;时间戳,记录该区块的生成时间,包括每笔交易的时间,无法篡改,充当公证人的角色;随机数,即全网矿工一起pk的算术题答案;难度目标,该算术题的难度打分;交易详情,详细记载了每笔交易的转出方,收入方,金额和转出方的数字签名是每个区块内的主要内容;交易计数器,表示每个区块中交易的数量;区块大小,表示每个区块数据的大小,当前每个区块限定在1MB以内,不排除之后又扩大的可能。
在比特币中,比特币白皮书规定,节点最长链是最正确的区块链,并将持续在它上面延长,所有矿工都在最长链上挖矿,有利于区块链账本的唯一性。如果你转账的比特币交易不记录在最长链上,你将有可能面临财产损失。那么怎样算是最长的区块链呢?因为全世界的矿工同时在挖矿,有可能有两个矿工一起算出了正确答案,那么区块链就会形成分叉,那么剩下的矿工有可能在任意一条链上继续挖矿,延长区块链。所以通常要求在比特币转账被打包之后,还需要经历6个区块的确认,确保矿工不会再回到另一条分叉上继续挖矿时,才算真正的转账成功。