1

In Bitcoin blockchain a node/peer will order transactions, create a block, does the PoW and "announces" this block to the other miners.

Once the other miners agree (by hashing the block+nounce+etc...) that the block is valid it is part of the blockchain.

But in Hyperledger (as far as I understood) the VPs don't do mining (and hence don't spread the mined block). So how does the individual VPs order them so that all VPs have the same ordered transactions of blocks?

4

1 回答 1

4

对于 Fabric 实现,目标是拥有(链接):

共识是一种验证区块链网络上网络请求或交易(部署和调用)顺序的方法。交易的正确排序至关重要,因为许多类型的网络交易都依赖于一个或多个先前的交易(例如,账户借方通常依赖于先前的贷方)。在区块链网络上,没有单一的权威来决定交易顺序;相反,每个区块链节点(或对等节点)通过实施网络共识协议在建立订单方面拥有平等的发言权。因此,共识确保了法定人数的节点同意将交易附加到共享账本的顺序。通过解决提议的交易顺序中的任何差异,共识保证所有网络节点都在相同的区块链上运行。也就是说,共识保证了区块链网络交易的完整性和一致性。

然而,在当前版本中,有一个领导者(验证节点之一)负责在交易被其他节点执行之前对它们进行排序。

在下一个 Fabric 的版本中,可以更改此行为(下一个共识架构提案):

…</p>

对等点与共识服务通信并维护区块链状态和分类帐。此类对等点从共识服务接收有序状态更新并将其应用于本地持有的状态

…</p>

对等点是共识服务的客户端,共识服务向其提供共享通信通道,为包含交易的消息提供广播服务。对等点连接到通道并可以在通道上发送和接收消息。通道支持所有消息的原子传递,即具有全序传递和(特定于实现的)可靠性的消息通信。换句话说,通道向所有连接的对等点输出相同的消息,并以相同的逻辑顺序将它们输出给所有对等点。这种原子通信保证在分布式系统的上下文中也称为全序广播、原子广播或共识。传达的消息是包含在区块链状态中的候选交易。

于 2016-08-17T10:36:30.683 回答