需要了解区块链的共识机制与验证机制有什么区别
扫描二维码
随时随地手机看文章
共识机制
完全去中心化的区块链系统中,如何保证各节点维持区块链数据的一致性和不可篡改性,是一个关键问题。区块链系统中的区块链技术采用了基于PoW的共识机制,通过在区块计算中加入算力竞争,使分布式的节点可以高效地达成共识。
具体做法是在区块计算的最后一步要求解一个随机数,使区块的哈希函数值小于或等于某一目标哈希值,由于哈希运算结果的随机性和不可逆性,找到随机数的难度会很大。通常目标哈希值由多个前导零的数串构成。设定的前导零越多,目标哈希值设定得越小,找到符合条件随机数的难度就越大。区块链系统通过调整目标哈希值,通常将区块的生成时间动态地控制在10分钟左右。
验证机制
数据验证是区块链技术极为重要的一环。所有的区块链网络中的参与者都要随时监听新的交易与新的区块。一旦接收到新的交易或者新的区块均需首先验证它们的正确性,如果正确后再向自己的临近节点进行传播。如果接收到的新交易无效,则需立即抛弃,不再将它们转给临近节点,以免浪费计算资源。对于新交易的验证,根据基于区块链应用事先达成的各种验证协议来进行,比如交易的格式、交易的数据结构、格式的语法结构、输入输出、数字签名的正确性等。
所有的新交易数据一旦验证通过后,节点会将这些交易数据放在一个交易池中。当节点确认了上一个区块以后,节点将按一定优先级次序从交易池中选出交易计算Merkle根。节点通过自己强大的算力(工作量证明)找到符合难度目标的随机数后,并在第一时间将新挖出的区块广播给其他节点,以便其他节点确认该区块,并将获得验证的新区块加入到原有的区块链中。