是否在HyperLedger Fabric中挖掘了块?

时间:2016-04-25 15:25:53

标签: blockchain hyperledger

我一直在阅读有关HyperLedger Fabric项目如何实施开源BlockChain解决方案的文档:https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md

我已经看到使用了PBFT一致性算法,但我不明白BlockChain网络中所有验证对等体之间如何挖掘和共享块。

3 个答案:

答案 0 :(得分:30)

Hyperledger验证对等体(VP)不会挖掘块并且不共享它们之间的块。以下是它的工作原理:

  1. 将交易发送给一个受信任的副总裁。
  2. VP将交易广播给所有其他副总裁。
  3. 所有副总裁在执行交易的订单上达成共识(使用PBFT算法)。
  4. 所有VP按照总订单“自行”执行交易,并使用已执行的交易构建一个块(主要计算哈希值)。
  5. 所有块都是相同的,因为:事务执行是确定性的(应该是),并且块中的tx数是固定的。

答案 1 :(得分:6)

根据Hyperledger Fabric 1.X

  1. 用户通过客户端SDK将交易提议发送给支持同行。
  2. 支持同行检查交易并制作交易的认可提议(具有读/写设置(先前值/更改值))并再次发送给客户端SDK。
  3. 客户端SDK等待所有认可,一旦获得所有认可提议,它就会发出一个调用请求并发送给Orderer。
  4. Orderer通过检查已定义的策略(Consensus)来验证客户端SDK的调用请求租用,验证事务并添加到块中。
  5. 根据为块定义的配置,在指定的时间或事务数量之后,它通过使用事务哈希,元数据和先前的块哈希来形成块的哈希。
  6. 交易块由Orderer“交付”到通道上的所有同行。
  7. 所有提交对等方都验证了支持策略,并确保读取集变量的分类帐状态没有更改,因为读取集是由事务执行生成的。在此块中的所有事务之后,使用新块和当前资产状态更新分类帐。
  8. Ledger包含

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

    Read the transaction flow of hyperledger fabric

    检查图像以供参考Hyperledger Fabric Transaction Flow

答案 2 :(得分:1)

超级账本是区块链技术的保护伞。上面提到的Hyperledger Fabric是其中之一。 Hyperledger Sawtooth也不使用挖掘,而是添加了以下共识算法:

  • PoET 经过时间证明(用于锯齿的可选Nakamoto风格共识算法)。 SGX的PoET具有BFT。 PoET Simulator具有CFT。尽管它仍然可以分叉并具有过时的块,但是它不像PoW样式算法那样占用大量CPU资源。请参阅https://sawtooth.hyperledger.org/docs/core/release s / latest / architecture / poet.html上的PoET规范
  • RAFT 共识算法,可在任意时间范围内选举领导者。如果超时,则更换领导者。筏比PoET快,但不是BFT(筏为CFT)。筏也不叉。
  • 使用不可插拔共识,可以更改另一种共识算法,而无需重新初始化区块链,甚至无需重新启动软件。

为完整起见,使用比特币(并且确实使用挖矿)的原始共识算法为:

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