首页 > 解决方案 > 了解 Hyperledger Fabric 设置

问题描述

我是区块链新手,对比特币 PoW 方案有基本的了解。

在阅读了 Hyperledger Fabric 的关键概念https://hyperledger-fabric.readthedocs.io/en//latest/key_concepts.html后,我在理解设置方面有些困难。

这里的Membership 部分 ,它说“KeyStore for Private Key:这个文件夹是为对等节点或排序节点的本地 MSP 定义的。” 但是组织可以有多个 Peer 节点。那么哪些节点负责私钥呢?我的理解是 private 应该只存储在一个地方。

对于整个Peer 部分(请参阅此链接),似乎表明 Peer 节点仅根据背书策略验证背书交易。共识算法呢?(例如 PoW、PoS、PoET 之类的东西)

我知道 Fabric 实现了Kafka(参见Hyperledger 架构,第 1 卷)。但是后来,我还在 arXiv 中发现了一篇让我更加困惑的论文A Byzantine Fault-Tolerant Ordering Service for the Hyperledger Fabric Blockchain Platform。这篇论文似乎表明排序节点也参与了拜占庭容错(BFT)。但是,我对排序节点的理解是,它们只负责对背书的交易进行排序并将它们广播到所有对等节点(参见此链接)。

现在,我对 Hyperledger Fabric 网络如何验证背书交易感到困惑。什么是默认的共识算法,它如何适应官方网站描述的Peer 部分的图片?

谢谢。

标签: hyperledger-fabrichyperledgerblockchain

解决方案


那么哪些节点负责私钥呢?我的理解是 private 应该只存储在一个地方。

每个节点都有自己的私钥,安全地存储在自己的文件系统中,或者只有它可以访问的硬件设备上。

似乎表明 Peer 节点仅根据背书策略验证背书的交易。共识算法呢?(例如 PoW、PoS、PoET 之类的东西)

共识是根据交易的顺序而不是交易内容达成的。背书策略决定交易是否被网络视为有效。

这篇论文似乎表明排序节点也参与了拜占庭容错(BFT)。但是,我对orderer节点的理解是,它们只负责对背书的交易进行排序,并将它们广播给所有的peer节点

对,没错——当前的 Fabric 实现没有 BFT 排序器。但是,共识是可插拔的,如果您实现自己的排序器,您可以将基于 Kafka 的排序器切换为 BFT 排序器。

现在,我对 Hyperledger Fabric 网络如何验证背书交易感到困惑。什么是默认的共识算法,它如何适应官方网站描述的 Peer 部分的图片?

它通过两种方式验证它们:

  • 背书策略 - 每笔交易都有一个或多个链码(数据库中的命名空间)的目标。每个这样的命名空间都有一个链码,有自己的背书策略。如果交易由对等方签署,从而满足背书政策,则该交易被视为通过了背书政策。

  • MVCC(多版本并发控制) - 在执行期间读取密钥、记录其版本,然后在提交时对等方检查版本没有更改的事务,因此数据的因果关系仍然保持不变。


推荐阅读