本文介绍了Hyperledger Fabric和Sawtooth有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

超级账本结构超级账本锯齿是用于构建分布式账本应用程序,支持可插入共识机制和智能合约(链码)的平台.

Both Hyperledger Fabric and Hyperledger Sawtooth are platforms for building distributed ledger applications, supporting pluggable consensus mechanisms and smart contracts (chaincodes).

那么两者之间的主要区别是什么?何时选择一个实施区块链解决方案?

What are the main differences between then? When to choose one over the other to implement a blockchain solution?

推荐答案

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

Here are the important differences to consider when choosing between Hyperledger Fabric and Hyperledger Sawtooth:

  • 允许/不允许

  • 超级账本锯齿同时支持许可和非许可的区块链网络.锯齿具有使用角色和权限的灵活方法.

  • Hyperledger Sawtooth supports both permissioned and permissionless blockchain networks. Sawtooth has a flexible approach using roles and permissions.

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

Hyperledger Fabric supports only permissioned blockchain networks. Fabric has a prescriptive/well-defined approach through pluggable membership service providers (MSPs) that enables a tighter governance framework.

共识算法

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

  • Sawtooth uses Proof of Elapsed Time (PoET) based on Intel's Software Guard Extensions (SGX) to elect leaders to cut blocks based on random wait times, a more energy efficient approach than the traditional Proof of Work, which enables scaling to very large networks.

Fabric支持可插入共识算法来将事务排序为块,自v1.0版本开始支持Kafka,并且正在开发Raft和BFT实现.

Fabric supports pluggable consensus algorithms to order transactions into blocks, with Kafka support available since version v1.0, and Raft and BFT implementations in development.

智能合约语言

  • 超级账本锯齿支持基于Go,JavaScript,Java,Python,Rust和Ethereum Solidity的合约.

  • Hyperledger Sawtooth supports Go, JavaScript, Java, Python, Rust, and Ethereum Solidity based contracts.

Hyperledger Fabric支持基于Go,JavaScript,Java和Ethereum Solidity的合同.

Hyperledger Fabric supports Go, JavaScript, Java, and Ethereum Solidity based contracts.

隐私

  • 在Hyperledger Sawtooth中,对等方可以访问所有交易数据.

  • In Hyperledger Sawtooth, peers have access to all transaction data.

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

In Hyperledger Fabric, there are multiple levels of privacy. You can define ‘channels' for complete data isolation between a set of participants, where each channel is essentially its own private blockchain. Or you can use 'private data collections’ when participants need to transact on the same blockchain, but keep data private to a subset of transactors (and potentially regulators/auditors). Private data is shared peer-to-peer, with hashes stored on the blockchain as evidence so that all peers can validate transactions. Additionally, you can utilize Identity Mixer to preserve anonymity of transaction submitters.

交易流

  • 超级账本锯齿支持Order-Execute-Commit的传统区块链流程.

  • Hyperledger Sawtooth supports the traditional blockchain flow of Order-Execute-Commit.

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

Hyperledger Fabric supports a unique endorsement model where transactions are initially executed on a set of peers and follows a Execute-Order-Commit model. The set of required endorsers can be defined at the contract level or at the data level. This approach improves scalability, prevents nondeterminism in contract code, and enables transactions to be executed in private between a set of transactors as mentioned above.

其他

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

  • Hyperledger Sawtooth supports transaction batches as a unit of work i.e. either all the transactions in a batch are committed or none of them is committed.

超级账本锯齿包含一个(通用)REST API服务器

Hyperledger Sawtooth includes a (generic) REST API server

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

Hyperledger Fabric supports queries from smart contract chaincode, either using key range queries or JSON queries (when using CouchDB as a state database)

这篇关于Hyperledger Fabric和Sawtooth有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-13 23:50