Hyperledger fabric 何时在HLF v1中完成事务?

Hyperledger fabric 何时在HLF v1中完成事务?,hyperledger-fabric,Hyperledger Fabric,根据解释的体系结构(),订购服务将事务(RWSET)收集到块中,以便分发给提交的对等方。然后,提交对等方验证背书策略,然后RWsets将事务应用到分类账 要验证事务是否成功,客户端应用程序是否应该等待所有提交的对等方返回“成功”事件?还是只需要验证一个“成功”事件 要验证事务是否成功,客户端应用程序 等待所有提交的对等方返回“成功”事件?或者只是 只需验证一个“成功”事件 田中,这是一个很好的问题! 简而言之,答案是否定的 原因是,与现有的流行区块链相比,HLF有一个独特的交易生命周期,它可以:

根据解释的体系结构(),订购服务将事务(RWSET)收集到块中,以便分发给提交的对等方。然后,提交对等方验证背书策略,然后RWsets将事务应用到分类账

要验证事务是否成功,客户端应用程序是否应该等待所有提交的对等方返回“成功”事件?还是只需要验证一个“成功”事件

要验证事务是否成功,客户端应用程序 等待所有提交的对等方返回“成功”事件?或者只是 只需验证一个“成功”事件

田中,这是一个很好的问题! 简而言之,答案是否定的

原因是,与现有的流行区块链相比,HLF有一个独特的交易生命周期,它可以:

  • 在某个或几个背书人身上模拟交易
  • 它被发送到订购服务,并被切割成若干块
  • 块被发送给对等方,它们都执行相同的验证代码,并且特定事务的所有验证代码都保证在所有对等方中得出相同的结论,因为它们在所有对等方中以相同的顺序运行

因此,如果某个对等体上的事务被验证,当其他对等体接收到事务所在的块时,它们也会认为它是有效的。

但是,你应该考虑的一个非常重要的方面是数据可用性和同步。


例如,如果您有一个应用程序使用10个对等点,而只有一个对等点得到了事件,其余的没有,并且您在其他对等点上调用了另一个事务,那么其他对等点将计算的背书可能会变成无效事务,因为它们将在旧数据上模拟(事实上,他们还没有得到事件证明他们还没有处理该交易的区块),因此您需要记住这一点。

非常感谢您的解释。这确实是我想确认的。现在我非常清楚Fabric的交易最终性。