在比特币区块链中,节点/对等方将订购交易,创建一个区块,进行PoW和"宣布"这块给其他矿工。
一旦其他矿工同意(通过散列块+ nounce +等......)该块有效,它就是区块链的一部分。
但是在Hyperledger中(据我所知),副总裁不会进行采矿(因此不会扩散采矿区块)。那么各个VP如何对它们进行排序,以便所有VP具有相同的有序块事务?
答案 0 :(得分:4)
对于Fabric实现,目标是拥有(link):
共识是一种验证网络请求顺序的方法,或 区块链网络上的事务(部署和调用)。正确的 交易的排序是至关重要的,因为许多类型的网络 事务依赖于一个或多个先前事务 (帐户借记通常依赖于先前的信用,因为 例)。在区块链网络中,没有单一的权限 确定交易顺序;相反,每个区块链节点(或 通过实施,同行)在建立秩序方面拥有平等的发言权 网络共识协议。因此,共识确保了a 节点的法定数量同意附加事务的顺序 到共享分类帐。通过解决提议中的任何差异 事务顺序,共识保证所有网络节点都是 在相同的区块链上运作。换言之,达成共识 保证区块链网络的完整性和一致性 交易。
然而,在当前版本中,有一个领导者(验证同伴之一)负责在其他同行执行交易之前对其进行排序。
在下一个Fabric的版本中,可以更改此行为(Next Consensus Architecture Proposal):
...
对等方与共识服务进行通信并维护 区块链状态和分类帐。这些同伴接收有序状态 来自共识服务的更新并将其应用于当地举办的 状态
...
同行是共识服务的客户,对此达成共识 服务提供提供广播的共享通信信道 包含事务的消息的服务。同行连接到 频道可以在频道上发送和接收消息。这个频道 支持所有消息的原子传递,即消息 与总订单交付的沟通和(具体实施) 可靠性。换句话说,通道输出相同的消息 所有连接的对等体并将它们输出到同一逻辑中的所有对等体 订购。这种原子通信保证也称为总顺序 广播,原子广播或共识 分布式系统。传达的消息是候选消息 包含在区块链状态的交易。