Hyperledger Fabric和Sawtooth有什么区别?

时间:2017-10-30 20:51:12

标签: blockchain hyperledger-fabric hyperledger

Hyperledger FabricHyperledger Sawtooth都是构建分布式分类帐应用程序的平台,支持可插入的共识机制和智能合约(链代码)。

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

4 个答案:

答案 0 :(得分:46)

以下是在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和以太坊符合性合同。

    • Hyperledger Fabric支持Go,JavaScript,Java和以太坊符合性合同。

  • 隐私

    • 在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作为状态数据库时)

答案 1 :(得分:2)

Hyperledger Sawtooth支持允许和无权限的区块链实现,而Hyperledger Fabric仅支持允许的区块链实现。

答案 2 :(得分:0)

第二个问题:

When to choose one over the other to implement a blockchain solution?

在我看来,业务的根本区别是Hyperledger Fabric允许您将一部分数据保留给参与者的一部分。

我相信每个现实生活中的业务网络最终都会要求这样做。

答案 3 :(得分:-7)

在我看来,Hyperledger Sawtooth是更相关的资产管理和跟踪,基本上与资产的出处和真实性有关。

就Hyperledger Fabric而言,它是纯DLT,具有智能合约功能,适用于企业。