Hyperledger Fabric和Sawtooth有什么区别?

Joa*_*ira 33 blockchain hyperledger hyperledger-fabric

无论Hyperledger面料Hyperledger锯齿是构建分布式应用程序台账,支持可插拔的共识机制和智能合同(chaincodes)平台.

那么主要区别是什么?什么时候选择一个来实现区块链解决方案?

小智 52

以下是在Hyperledger Fabric和Hyperledger Sawtooth之间进行选择时需要考虑的重要差异:

  • 有权限/ Permissionless

    • Hyperledger Sawtooth支持许可和免授权的区块链网络.Sawtooth使用角色和权限具有灵活的方法.

    • Hyperledger Fabric仅支持许可的区块链网络.Fabric通过可插拔的成员服务提供商(MSP)实现了规范/明确定义的方法,从而实现更严格的治理框架.

  • 共识算法

    • Sawtooth使用基于英特尔软件保护扩展(SGX)的经过时间证明(PoET)来选择领导者根据随机等待时间来削减块,这是一种比传统的工作证明更节能的方法,可以扩展到非常大的网络.

    • Fabric支持可插入的一致性算法,可以将事务分配到块中,从版本v1.0开始提供Kafka支持,以及开发中的Raft和BFT实现.

  • 智能合约语言

    • Hyperledger Sawtooth支持Go,JavaScript,Java,Python,Rust和以太坊Solidity的合同.

    • Hyperledger Fabric支持基于Go,JavaScript,Java和以太坊Solidity的合同.

  • 隐私

    • 在Hyperledger Sawtooth中,对等体可以访问所有事务数据.

    • 在Hyperledger Fabric中,有多个级别的隐私.您可以定义"通道",以便在一组参与者之间实现完全数据隔离,其中每个通道基本上都是其自己的专用区块链.或者,当参与者需要在同一区块链上进行交易时,您可以使用"私人数据收集",但将数据保密到交易者的子集(以及可能的监管者/审计员).私有数据是对等共享的,并且在区块链上存储哈希作为证据,以便所有对等方都可以验证事务.此外,您可以使用Identity Mixer来保持事务提交者的匿名性.

  • 交易流程

    • Hyperledger Sawtooth支持Order-Execute-Commit的传统区块链流程.

    • Hyperledger Fabric支持独特的认可模型,其中事务最初在一组对等体上执行,并遵循Execute-Order-Commit模型.可以在合同级别或数据级别定义所需的代言人集合.这种方法提高了可伸缩性,防止了合同代码中的不确定性,并使交易能够在如上所述的一组交易者之间私下执行.

    • Hyperledger Sawtooth支持事务批处理作为工作单元,即批处理中的所有事务都已提交或者没有提交任何事务.

    • Hyperledger Sawtooth包含(通用)REST API服务器

    • Hyperledger Fabric支持来自智能合约链代码的查询,使用键范围查询或JSON查询(当使用CouchDB作为状态数据库时)

  • 不是集线器和星形网络说话一样吗? (4认同)