Blockchain 区块是否在HyperLedger结构中开采?

Blockchain 区块是否在HyperLedger结构中开采?,blockchain,hyperledger,Blockchain,Hyperledger,我一直在阅读有关HyperLedger Fabric项目如何实施开源区块链解决方案的文档: 我已经看到使用了PBFT共识算法,但我不明白区块链网络中的所有验证对等方如何挖掘和共享区块。Hyperledger验证对等方(VP)不挖掘区块,也不在它们之间共享区块。以下是它的工作原理: 事务被发送到一个受信任的VP VP向所有其他VP广播事务 所有VP(使用PBFT算法)就执行事务的顺序达成一致意见 所有VP按照总顺序“自行”执行事务,并使用已执行的事务构建一个块(主要计算哈希) 所有数据块都是相同的

我一直在阅读有关HyperLedger Fabric项目如何实施开源区块链解决方案的文档:


我已经看到使用了PBFT共识算法,但我不明白区块链网络中的所有验证对等方如何挖掘和共享区块。

Hyperledger验证对等方(VP)不挖掘区块,也不在它们之间共享区块。以下是它的工作原理:

  • 事务被发送到一个受信任的VP
  • VP向所有其他VP广播事务
  • 所有VP(使用PBFT算法)就执行事务的顺序达成一致意见
  • 所有VP按照总顺序“自行”执行事务,并使用已执行的事务构建一个块(主要计算哈希)

  • 所有数据块都是相同的,因为:事务执行是确定的(应该是),并且数据块中的发送数是固定的。

    根据Hyperledger Fabric 1.X

  • 用户通过客户端SDK将交易建议发送给背书的对等方
  • 背书同行检查交易并提出交易背书建议(读/写设置(先前值/更改值))并再次发送至客户端SDK
  • 客户端SDK等待所有背书,一旦获得所有背书建议,它将发出一个调用请求并发送给订购方
  • 订购方通过检查定义的策略(一致性)验证客户端SDK的调用请求租金,验证事务并添加到块中
  • 根据为块定义的配置,在指定的时间或事务数之后,使用事务哈希、元数据和前一个块哈希形成块哈希
  • 事务块由订购方“交付”给通道上的所有对等方
  • 所有提交对等方都会验证背书策略,并确保自事务执行生成读取集以来,读取集变量的分类帐状态未发生任何更改。在此之后,将记录块中的所有交易,并使用新块和资产的当前状态更新分类账 分类账包含

    • 1) 当前状态数据库(BD级或DB级)
    • 2) 区块链(文件)(链接块)


    查看图像以供参考

    Hyperledger是区块链技术的一个保护伞。上面提到的Hyperledger结构就是其中之一。Hyperledger Sawtooth也不使用挖掘,并添加了以下一致算法:

    • 运行时间的PoET证明(用于锯齿的可选中本式一致性算法)。有SGX的诗人有BFT。诗人模拟器有CFT。不像PoW风格的算法那样CPU密集,尽管它仍然可以分叉并具有过时的块。请参见s/latest/architecture/PoET.html上的PoET规范
    • RAFT共识算法,可在任意时间内选出一个领导者。如果引线超时,则更换引线。Raft比PoET快,但不是BFT(Raft是CFT)。此外,木筏不分叉
    • 使用可拔掉的共识,可以更改另一个共识算法,而无需重新初始化区块链,甚至无需重新启动软件
    为了完整性,比特币的原始一致性算法(确实使用了挖掘)是:

    • PoW工作证明。完成工作(CPU密集型中本式共识算法)。通常用于无许可区块链

    PBFT==实用的拜占庭容错听起来类似于2阶段提交协议。当然,资源经理和协调经理不会那么简单。尽管如此,我们还是想到了利用IBMz/OSRRS的解决方案。既然如此,区块链技术是建立在拜占庭同行达成共识的基础上的,为什么VPs希望就交易顺序达成共识,而不是交易结果?至少,就比特币而言,账户余额比交易顺序更重要。我想说,在顺序上达成共识比比较交易结果容易得多,因为交易结果可以是多种类型(因为链码允许链码本身定义的所有操作,或者交易可以只是一个查询交易)@MarcCayuelaRafols,但没有必要在所有VP中执行相同的事务,对吗?另外,我的问题是“当其他授权用户提出一项交易,以查询来自哪个VP链的分类账的一些数据时?”解释得很好@pavan感谢分享。