上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
0.3 共识层
分布式共识打破了传统模式中的集中式共识,分布式共识采用一个中央数据库来检索交易并确认交易的有效性。分布式共识将权力和信任关系转移到了分布式的网络中,并且允许网络中的节点持续地将交易记录在公开的区块中,通过密码学的手段将区块进行串联,最终形成区块链这样的链式结构,从而保证记录的安全可靠。除分布式共识外,共识层还要保证分布式网络中节点的一致性。保证网络中节点一致性的算法决定了提交交易的方式,是分布式系统对外提供服务的必要保证。
去中心化的区块链由多方共同管理维护,其网络中的节点可由任意一方提供。当网络缺乏准入机制时,部分节点并不可信,因此需要可以容忍更多异常情况的共识算法,如拜占庭容错(Byzantine Fault-Tolerant,BFT)算法。超级账本(Hyperledger Fabric)添加了准入机制,只有被授权的节点才能加入网络,因此,它采取更高效的、不支持容忍拜占庭错误的Raft算法。但是在公有链场景下,并没有节点准入机制,并且节点数远远高于联盟链场景数,这导致超级账本并不适用BFT算法。为了解决节点自由进出可能带来的女巫攻击(Sybil Attack)问题,比特币系统使用了工作量证明(Proof of Work,PoW)机制。PoW机制是一种基于哈希函数的工作量证明算法。比特币系统要求只有完成一定计算工作量并提供证明的节点才可生成区块,每个网络节点利用自身计算资源进行哈希运算以竞争区块记账权,只要全网可信节点所控制的计算资源高于51%,即可证明整个网络是安全的。
女巫攻击是指攻击者通过创建大量的匿名身份来破坏网络服务的信誉系统,并且使用这些匿名身份获得不成比例的巨大影响力。