超级账本交易提交
hyperledger transaction commit
如果"As the evaluation of the endorsement policy and evaluation of version dependencies in readset are deterministic, all correct peers will also come to the same conclusion",只有一个节点就足以验证/提交交易。我们必须将交易发送给所有节点,主要是因为这些节点必须更新它们的状态。是真的吗?
你是对的。您有一个分布式账本,因此所有交易都必须发送到所有对等点(发送到该对等点上的领导节点),以便它们可以保留相同的副本。
在 Hyperledger Fabric 中,排序服务对此进行管理,在生产中,这应该是 Kafka。
We have to send the transacion to all peers mostly because these peers must update their states. Is it true?
我不是 100% 确定你说 "send the transaction to all peers" 是什么意思,但让我澄清一下。
您或更具体的客户端应用程序必须将您的交易发送给同行,以便它满足链码背书政策。
背书节点将模拟交易执行,return结果以 RWSet + 签名的形式发送给客户端。
客户端收集所有签名与RWset结果连接并提交给排序服务
排序服务收集许多由不同客户端提交的交易,并偶尔切块。
块已交付给领导节点并分发到通道中的所有节点。
每个节点独立地遍历区块中的所有交易以验证两件事:a)与背书策略的一致性; b) MVCC - 多值并发控制,检查并发修改。
一旦交易被验证,块最终被提交到账本。
如果"As the evaluation of the endorsement policy and evaluation of version dependencies in readset are deterministic, all correct peers will also come to the same conclusion",只有一个节点就足以验证/提交交易。我们必须将交易发送给所有节点,主要是因为这些节点必须更新它们的状态。是真的吗?
你是对的。您有一个分布式账本,因此所有交易都必须发送到所有对等点(发送到该对等点上的领导节点),以便它们可以保留相同的副本。
在 Hyperledger Fabric 中,排序服务对此进行管理,在生产中,这应该是 Kafka。
We have to send the transacion to all peers mostly because these peers must update their states. Is it true?
我不是 100% 确定你说 "send the transaction to all peers" 是什么意思,但让我澄清一下。
您或更具体的客户端应用程序必须将您的交易发送给同行,以便它满足链码背书政策。
背书节点将模拟交易执行,return结果以 RWSet + 签名的形式发送给客户端。
客户端收集所有签名与RWset结果连接并提交给排序服务
排序服务收集许多由不同客户端提交的交易,并偶尔切块。
块已交付给领导节点并分发到通道中的所有节点。
每个节点独立地遍历区块中的所有交易以验证两件事:a)与背书策略的一致性; b) MVCC - 多值并发控制,检查并发修改。
一旦交易被验证,块最终被提交到账本。