超级账本交易内存池
Hyperledger transaction mempool
我想了解 "transaction mempool" 在 Hyperledger 中是如何工作的。我主要看这里的文档:http://hyperledger-fabric.readthedocs.io/en/release-1.1/peers/peers.html#peers-and-orderers
我知道比特币是如何运作的,我正在用 'bitcoin' 术语思考(因此这个词 'mempool')
因此,据我了解,在超级账本中有 3 个参与方:应用程序、同行和订购者。各方都拥有 MSP 的许可凭据。提交交易的应用程序首先需要获得足够数量的节点背书。在将这些背书附加到交易后,它会将其发送给排序者,排序者将其放入其 'mempool' 中。
在文档中,它明确指出不能发生分叉,并且如果一个交易包含在一个区块中就是最终的。
我的问题是:在应用程序收到背书并将交易发送给排序者后,我们如何确定它不会将其发送给另一个排序者?如果两个不同的排序者在他们的记忆中有相同的交易(在发布相关块之前)会发生什么?
Hyperledger Fabric 中没有内存池的概念。理想情况下,在生产环境中,所有事务都将写入崩溃容错 Kafka 集群,从而为所有排序服务节点提供所有事务的单一视图。排序者从 Kafka 读回以切割交易块,他们不会将其发送给其他排序者。
您可以在我的回答中阅读更多相关信息:
我想了解 "transaction mempool" 在 Hyperledger 中是如何工作的。我主要看这里的文档:http://hyperledger-fabric.readthedocs.io/en/release-1.1/peers/peers.html#peers-and-orderers 我知道比特币是如何运作的,我正在用 'bitcoin' 术语思考(因此这个词 'mempool') 因此,据我了解,在超级账本中有 3 个参与方:应用程序、同行和订购者。各方都拥有 MSP 的许可凭据。提交交易的应用程序首先需要获得足够数量的节点背书。在将这些背书附加到交易后,它会将其发送给排序者,排序者将其放入其 'mempool' 中。 在文档中,它明确指出不能发生分叉,并且如果一个交易包含在一个区块中就是最终的。 我的问题是:在应用程序收到背书并将交易发送给排序者后,我们如何确定它不会将其发送给另一个排序者?如果两个不同的排序者在他们的记忆中有相同的交易(在发布相关块之前)会发生什么?
Hyperledger Fabric 中没有内存池的概念。理想情况下,在生产环境中,所有事务都将写入崩溃容错 Kafka 集群,从而为所有排序服务节点提供所有事务的单一视图。排序者从 Kafka 读回以切割交易块,他们不会将其发送给其他排序者。
您可以在我的回答中阅读更多相关信息: