Hyperledger Fabric 入门
官文英文原文地址:
http://hyperledger-fabric.readthedocs.io/en/latest/whatis.html
Introduction/介绍
In general terms, a blockchain is an immutable transaction ledger, maintained within a distributed network of peer nodes. These nodes each maintain a copy of the ledger by applying transactions that have been validated by a consensus protocol, grouped into blocks that include a hash that bind each block to the preceding block.
一般而言,区块链是不可变的交易总账,由peer节点组成的分布式网络维护。分布式网络中的每个节点都保存交易账簿的一份拷贝,账簿中的这些交易都已经通过了一致性协议的确认,被组织归类进各个区块,每个区块都包含一个hash,通过该hash和前一个区块进行绑定。
The first and most widely recognized application of blockchain is the Bitcoin cryptocurrency, though others have followed in its footsteps. Ethereum, an alternative cryptocurrency, took a different approach, integrating many of the same as Bitcoin but adding smart contracts to create a platform for distributed applications. Bitcoin and Ethereum fall into a class of blockchain that we would classify as public permissionless blockchain technology. Basically, these are public networks, open to anyone, where participants interact anonymously.
第一个也是最受人们广泛认可的区块链应用是比特币加密货币,尽管其它类似区块链应用紧随其后的出现。以太币,另一个替代性的加密货币,采用了不同的方法,整合了与比特币相同的一些特性,同时增加了智能合约,为分布式应用创建一个平台。我们将比特币和以太坊归类为公共的无需许可的区块链技术。基本上,这些都是公共的网络,对所有人开放,匿名参与互动。
As the popularity of Bitcoin, Ethereum and a few other derivative technologies grew, interest in applying the underlying technology of the blockchain, distributed ledger and distributed application platform to more innovative enterprise use cases also grew. However, many enterprise use cases require performance characteristics that the permissionless blockchain technologies are unable (presently) to deliver. In addition, in many use cases, the identity of the participants is a hard requirement, such as in the case of financial transactions where Know-Your-Customer (KYC) and Anti-Money Laundering (AML) regulations must be followed.
随着比特币,以太坊和其他一些衍生技术的普及,对将区块链,分布式账簿和分布式应用平台的基础技术应用于更具创新性的企业用例的兴趣也在增长。然而,公共的无需许可的区块链技术目前还不能满足许多企业的用例的需求特性。另外,在许多用例中,参与者身份的识别是一个硬性要求,例如金融交易的案例中,熟悉你的客户 (KYC) and 反洗钱(AML) 的规则必须遵循。
For enterprise use, we need to consider the following requirements:
为了企业的应用,我们需要考虑下面的需求:
- Participants must be identified/identifiable
参与者必须是可识别和辨认的
- Networks need to be permissioned
网络需要获得许可
- High transaction throughput performance
具有高交易吞吐性能
- Low latency of transaction confirmation
低延迟的交易确认
- Privacy and confidentiality of transactions and data pertaining to business transactions
交易和数据的隐私以及保密性,适用于商业交易
While many early blockchain platforms are currently being adapted for enterprise use, Hyperledger Fabric has been designed for enterprise use from the outset. The following sections describe how Hyperledger Fabric (Fabric) differentiates itself from other blockchain platforms and describes some of the motivation for its architectural decisions.
尽管许多早期区块链平台目前正在适应于企业应用,Hyperledger Fabric从一开始就是为了企业的应用而设计的。下面的章节将描述Hyperledger Fabric和其它区块链平台的不同,以及采用这种架构的动机。
Hyperledger Fabric
Hyperledger Fabric is an open source enterprise-grade permissioned distributed ledger technology (DLT) platform, designed for use in enterprise contexts, that delivers some key differentiating capabilities over other popular distributed ledger or blockchain platforms.
Hyperledger Fabric 是一个开源的企业级带许可的分布式的账本技术(DLT)平台,为了能在企业环境中使用而设计,在其它流行的分布式总账或区块链平台之上提供一些关键的差异化能力。
One key point of differentiation is that Hyperledger was established under the Linux Foundation, which itself has a long and very successful history of nurturing open source projects under open governance that grow strong sustaining communities and thriving ecosystems. Hyperledger is governed by a diverse technical steering committee, and the Hyperledger Fabric project by a diverse set of maintainers from multiple organizations. It has a development community that has grown to over 35 organizations and nearly 200 developers since its earliest commits.
差异化的一个关键点是Hyperledger是在Linux基金会下建立的,该基金会本身在开放式治理下培育开源项目的历史悠久且非常成功,这些项目可以发展强大的持续社区和蓬勃发展的生态系统。 Hyperledger由多元化技术指导委员会和Hyperledger Fabric项目管理,该项目由来自多个组织的各种维护人员组成。 它拥有一个开发社区,自最早提交以来已经发展到超过35个组织和近200个开发人员。
Fabric has a highly modular and configurable architecture, enabling innovation, versatility and optimization for a broad range of industry use cases including banking, finance, insurance, healthcare, human resources, supply chain and even digital music delivery.
Fabric具有高度模块化和可配置的架构,可为各种行业用例提供创新、多功能性和优化,包括银行,金融,保险,医疗保健,人力资源,供应链甚至数字音乐交付。
Fabric is the first distributed ledger platform to support smart contracts authored in general-purpose programming languages such as Java, Go and Node.js, rather than constrained domain-specific languages (DSL). This means that most enterprises already have the skill set needed to develop smart contracts, and no additional training to learn a new language or DSL is needed.
Fabric是第一个在通用编程语言中,如Java,Go和Node.js,支持智能合约授权的分布式账本平台,而不是限制在特定领域内的语言(DSL)。这意味着大多数企业已经具有开发智能合约所需的技能,并不需要额外的培训来学习一门新语言或必需的DSL。
The Fabric platform is also permissioned, meaning that, unlike with a public permissionless network, the participants are known to each other, rather than anonymous and therefore fully untrusted. This means that while the participants may not fully trust one another (they may, for example, be competitors in the same industry), a network can be operated under a governance model that is built off of what trust does exist between participants, such as a legal agreement or framework for handling disputes.
Fabric平台也是有许可授权的,这意味着,不同于与公共无需许可的网络,参与者彼此了解,而不是匿名参与,且因此完全不可信。这意味着虽然参与者可能彼此不完全信任(例如,他们可能是同一行业的竞争对手),但网络可以在管理模式下运行,该模式构建了参与者之间存在的信任,如处理纠纷的法律协议或框架。
One of the most important of the platform’s differentiators is its support for pluggable consensus protocols that enable the platform to be more effectively customized to fit particular use cases and trust models. For instance, when deployed within a single enterprise, or operated by a trusted authority, fully byzantine fault tolerant consensus might be considered unnecessary and an excessive drag on performance and throughput. In situations such as that, a crash fault-tolerant (CFT) consensus protocol might be more than adequate whereas, in a multi-party, decentralized use case, a more traditional byzantine fault tolerant (BFT) consensus protocol might be required.
该平台最重要的区别之一是它支持可插拔的共识协议,使平台能更有效地进行定制,进而适应特殊的用例和信任模型。例如,当部署在单个企业内,或由一个可信的权威机构运营时,完全拜占庭容错的共识可能被认为是不必要的,并且对性能和吞吐量造成过度拖累。在诸如此类的情况下,崩溃容错(CFT)共识协议或许是绰绰有余,然而,在多重,去中心化的用例中,一个更传统的拜占庭容错(BFT)共识协议或许是需要的。
Fabric can leverage consensus protocols that do not require a native cryptocurrency to incent costly mining or to fuel smart contract execution. Avoidance of a cryptocurrency reduces some significant risk/attack vectors, and absence of cryptographic mining operations means that the platform can be deployed with roughly the same operational cost as any other distributed system.
Fabric可以利用不需要本机加密货币的共识协议来激活昂贵的采矿或推动智能合约执行。加密货币的缺失减小了一些重大风险/攻击向量,没有加密货币的采矿作业意味着可以使用和其他分布式系统相同的运营成本(粗略上计算)部署平台。
The combination of these differentiating design features makes Fabric one of the better performing platforms available today both in terms of transaction processing and transaction confirmation latency, and it enables privacy and confidentiality of transactions and the smart contracts (what Fabric calls “chaincode”) that implement them.
这些差异化的设计特性的组合使Fabric在交易处理和交易确认延迟性两方面上,都具有较好的性能。它使得交易的隐私和机密性,以及智能合约实现它们成为可能。
Let’s explore these differentiating features in more detail.
让我们更详细地探索这些差异特性。
Modularity/模块性
Hyperledger Fabric has been specifically architected to have a modular architecture. Whether it is pluggable consensus, pluggable identity management protocols such as LDAP or OpenID Connect, key management protocols or cryptographic libraries, the platform has been designed at its core to be configured to meet the diversity of enterprise use case requirements.
Hyperledger Fabric经过专门设计,具有模块化架构。 无论是可插拔的共识,可插拔的身份管理协议(如LDAP或OpenID Connect),密钥管理协议还是加密库,该平台的核心都经过精心设计,以满足企业用例需求的多样性。
At a high level, Fabric is comprised of the following modular components:
在高层视图上,Fabric由下列模块化的组件构成:
- A pluggable ordering service establishes consensus on the order of transactions and then broadcasts blocks to peers.
可插拔的ordering服务就交易秩序达成共识,然后将区块广播给peers。
- A pluggable membership service provider is responsible for associating entities in the network with cryptographic identities.
可插拔的成员资格服务提供商负责将网络中的实体与加密身份相关联
- An optional peer-to-peer gossip service disseminates the blocks output by ordering service to other peers.
一个可选的peer-to-peer的八卦服务通过ordering 服务向其它peers传播块的输出。
- Smart contracts (“chaincode”) run within a container environment (e.g. Docker) for isolation. They can be written in standard programming languages but do not have direct access to the ledger state.
智能合约(“chaincode”)在容器环境(例如Docker)中运行以进行隔离。它们可以用标准编程语言编写,但不能直接访问 总账状态。
- The ledger can be configured to support a variety of DBMSs.
总账可以配置为支持各种DBMS.
-
A pluggable endorsement and validation policy enforcement that can be independently configured per application.
可插拔的背书(endorsement)和验证策略的实施,可以针对每个应用程序独立配置。
There is fair agreement in the industry that there is no “one blockchain to rule them all”. Hyperledger Fabric can be configured in multiple ways to satisfy the diverse solution requirements for multiple industry use cases.
业内人士普遍认为,没有“一种区块链可以满足所有行业的应用需求”。 Hyperledger Fabric可以以多种方式进行配置,以满足多种行业用例的多样化解决方案要求。
Permissioned vs Permissionless Blockchains/有许可授权的的区块链 VS 无需许可授权的区块链
In a permissionless blockchain, virtually anyone can participate, and every participant is anonymous. In such a context, there can be no trust other than that the state of the blockchain, prior to a certain depth, is immutable. In order to mitigate this absence of trust, permissionless blockchains typically employ a “mined” native cryptocurrency or transaction fees to provide economic incentive to offset the extraordinary costs of participating in a form of byzantine fault tolerant consensus based on “proof of work” (PoW).
在一个无需许可的区块链中,几乎任何人都可以参与,每个参与者都是匿名的。在这样的背景下,除了在某个深度之前区块链的状态是不可变的之外,不存在任何可信的东西。为了减轻这种信任缺失,无需许可的区块链通常使用“挖掘”本地加密货币或交易费用来提供经济激励,以抵消参与基于“工作证明”的拜占庭式容错共识形式的非凡成本(PoW)。
Permissioned blockchains, on the other hand, operate a blockchain amongst a set of known, identified and often vetted participants operating under a governance model that yields a certain degree of trust. A permissioned blockchain provides a way to secure the interactions among a group of entities that have a common goal but which may not fully trust each other. By relying on the identities of the participants, a permissioned blockchain can use more traditional crash fault tolerant (CFT) or byzantine fault tolerant (BFT) consensus protocols that do not require costly mining.
另一方面,带许可的区块链在一组已知的,经过鉴定并经常审核的参与者之间进行区块链操作,该参与者在产生一定程度的信任的管理模型下运行。 经过许可的区块链提供了一种方法来保护具有共同目标但不完全相互信任的一组实体之间的交互。 通过依赖参与者的身份,带许可的区块链可以使用更传统的碰撞容错(CFT)或拜占庭容错(BFT)共识协议,这些协议不需要昂贵的挖掘。
Additionally, in such a permissioned context, the risk of a participant intentionally introducing malicious code through a smart contract is diminished. First, the participants are known to one another and all actions, whether submitting application transactions, modifying the configuration of the network or deploying a smart contract are recorded on the blockchain following an endorsement policy that was established for the network and relevant transaction type. Rather than being completely anonymous, the guilty party can be easily identified and the incident handled in accordance with the terms of the governance model.
此外,在这种许可的情况下,参与者通过智能合约故意引入恶意代码的风险会降低。 首先,与会者彼此了解,无论是提交应用交易,修改网络配置还是部署智能合约,所有行为都将记录在为网络和相关交易类型建立的背书(endorsement)策略之后的区块链中。 根据治理模式的条款,可以很容易地识别犯罪党并处理事件,而不是完全匿名。
Smart Contracts/智能合约
A smart contract, or what Fabric calls “chaincode”, functions as a trusted distributed application that gains its security/trust from the blockchain and the underlying consensus among the peers. It is the business logic of a blockchain application.
智能合约或Fabric称之为“chaincode”(链码),相当于一个可信的分布式应用程序,从区块链中获得其安全性/信任以及peers之间的基本共识。 这是区块链应用的业务逻辑。
There are three key points that apply to smart contracts, especially when applied to a platform:
有三个关键点适用于智能合约,尤其是在应用于平台时:
- many smart contracts run concurrently in the network,
许多智能合约在网络中同时运行,
- they may be deployed dynamically (in many cases by anyone), and
他们可以动态部署(在很多情况下由任何人),并且
- application code should be treated as untrusted, potentially even malicious.
应用程序代码应该被视为不可信的,甚至可能是恶意的。
Most existing smart-contract capable blockchain platforms follow an order-execute architecture in which the consensus protocol:
大多数现有的支持智能合约的区块链平台遵循排序执行(order-execute )架构,其中共识协议:
- validates and orders transactions then propagates them to all peer nodes,
验证和排序交易然后将它们传播到所有peer节点,
- each peer then executes the transactions sequentially.
每个peer然后顺序执行这些交易。
The order-execute architecture can be found in virtually all existing blockchain systems, ranging from public/permissionless platforms such as Ethereum (with PoW-based consensus) to permissioned platforms such as Tendermint, Chain, and Quorum.
排序执行(order-execute)架构可以在几乎所有现有的区块链系统中找到,从公共/无权限的平台(如以太坊(基于PoW的共识))到许可的平台(如Tendermint,Chain和Quorum)。
Smart contracts executing in a blockchain that operates with the order-execute architecture must be deterministic; otherwise, consensus might never be reached. To address the non-determinism issue, many platforms require that the smart contracts be written in a non-standard, or domain-specific language (such as Solidity) so that non-deterministic operations can be eliminated. This hinders wide-spread adoption because it requires developers writing smart contracts to learn a new language and may lead to programming errors.
在区块链中执行的与排序执行(order-execute)架构一起运行的智能合约必须是确定性的; 否则,可能永远不会达成共识。 为解决非确定性问题,许多平台都要求智能合约以非标准或特定领域语言(如Solidity)编写,以便消除非确定性操作。 这阻碍了智能合约的广泛应用,因为它要求开发人员必须学习一种新的语言来编写智能合约,且这可能导致编程错误。
Further, since all transactions are executed sequentially by all nodes, performance and scale is limited. The fact that the smart contract code executes on every node in the system demands that complex measures be taken to protect the overall system from potentially malicious contracts in order to ensure resiliency of the overall system.
此外,由于所有节点都顺序执行所有交易,因此性能和规模受到限制。 智能合约代码在系统中的每个节点上执行的事实要求采取复杂的措施来保护整个系统免受潜在的恶意合同侵害,以确保整个系统的弹性。
A New Approach/新途径
Fabric introduces a new architecture for transactions that we call execute-order-validate. It addresses the resiliency, flexibility, scalability, performance and confidentiality challenges faced by the order-execute model by separating the transaction flow into three steps:
Fabric为我们称之为execute-order-validate的交易引入了一种新架构。 它通过将交易流程分为三个步骤来解决排序执行(order-execute)模型面临的弹性,灵活性,可扩展性,性能和机密性挑战:
- execute a transaction and check its correctness, thereby endorsing it,
- order transactions via a (pluggable) consensus protocol, and
- validate transactions against an application-specific endorsement policy before committing them to the ledger.
执行交易并检查其正确性,从而认可它,
通过(可插入)共识协议排序交易,以及
在将它们提交到账本之前,根据应用特定的背书(endorsement)策略验证交易
This design departs radically from the order-execute paradigm in that Fabric executes transactions before reaching final agreement on their order.
这种设计与排序执行(order-execute)范式截然不同,因为Fabric在交易顺序达成最终协议之前执行交易。
In Fabric, an application-specific endorsement policy specifies which peer nodes, or how many of them, need to vouch for the correct execution of a given smart contract. Thus, each transaction need only be executed (endorsed) by the subset of the peer nodes necessary to satisfy the transaction’s endorsement policy. This allows for parallel execution increasing overall performance and scale of the system. This first phase also eliminates any non-determinism, as inconsistent results can be filtered out before ordering.
在Fabric中,应用程序特定的背书(endorsement)策略指定哪些peer节点或其中有多少peer节点需要担保正确执行给定的智能合约。 因此,每个交易只需要由满足交易的背书(endorsement)策略所必需的peer节点的子集来执行(认可)。 这允许并行执行以提高系统的总体性能和规模。 第一阶段也消除了任何不确定性,因为在排序前可能会过滤出不一致的结果。
Because we have eliminated non-determinism, Fabric is the first blockchain technology that enables use of standard programming languages. In the 1.1.0 release, smart contracts can be written in either Go or Node.js, while there are plans to support other popular languages including Java in subsequent releases.
由于我们已经消除了非确定性,所以Fabric是第一个可以使用标准编程语言的区块链技术。 在发布的1.1.0版本中,可以使用Go或Node.js编写智能合约,但有计划在后续版本中支持包括Java在内的其他流行语言。
Privacy and Confidentiality/隐私和机密性
As we have discussed, in a public, permissionless blockchain network that leverages PoW for its consensus model, transactions are executed on every node. This means that neither can there be confidentiality of the contracts themselves, nor of the transaction data that they process. Every transaction, and the code that implements it, is visible to every node in the network. In this case, we have traded confidentiality of contract and data for byzantine fault tolerant consensus delivered by PoW.
正如我们已经讨论过的,在一个公开的,无权限的区块链网络中,利用PoW的共识模型,交易在每个节点上执行。 这意味着合同本身以及它们处理的交易数据都不存在保密性。 每个交易以及实现它的代码对于网络中的每个节点都是可见的。 在这种情况下,为了PoW提供的拜占庭容错共识,我们交易(或称之为牺牲了)了合同和数据的机密性。
This lack of confidentiality can be problematic for many business/enterprise use cases. For example, in a network of supply-chain partners, some consumers might be given preferred rates as a means of either solidifying a relationship, or promoting additional sales. If every participant can see every contract and transaction, it becomes impossible to maintain such business relationships in a completely transparent network – everyone will want the preferred rates!
对于许多商业/企业用例来说,这种机密性的缺失可能会造成问题。 例如,在供应链合作伙伴网络中,可能会给一些消费者优惠的价格作为巩固关系或促进额外销售的手段。 如果每个参与者都能看到每一份合同和交易,就不可能在一个完全透明的网络中维护这种业务关系 – 每个人都会想要优惠费率!
As a second example, consider the securities industry, where a trader building a position (or disposing of one) would not want her competitors to know of this, or else they will seek to get in on the game, weakening the trader’s gambit.
作为第二个例子,考虑证券行业,交易者建立仓位(或者处置一个仓位)不希望竞争对手知道这一点,否则他们会试图进入游戏,削弱交易者的游戏规则。
In order to address the lack of privacy and confidentiality for purposes of delivering on enterprise use case requirements, blockchain platforms have adopted a variety of approaches. All have their trade-offs.
为了解决用于满足企业用例需求的隐私和机密性问题,区块链平台采用了多种方法。 所有的都有他们的权衡。
Encrypting data is one approach to providing confidentiality; however, in a permissionless network leveraging PoW for its consensus, the encrypted data is sitting on every node. Given enough time and computational resource, the encryption could be broken. For many enterprise use cases, the risk that their information could become compromised is unacceptable.
加密数据是提供机密性的一种方法; 然而,在利用PoW达成共识的开放网络中,加密数据位于每个节点上。 给定足够的时间和计算资源,加密可能被破解。 对于许多企业用例来说,其信息可能受到损害的风险是不可接受的。
Zero knowledge proofs (ZKP) are another area of research being explored to address this problem, the trade-off here being that, presently, computing a ZKP requires considerable time and computational resources. Hence, the trade-off in this case is performance for confidentiality.
零知识证明(ZKP)是解决这个问题的另一个研究领域,这里的权衡是,目前计算ZKP需要相当多的时间和计算资源。 因此,这种情况下对于保密性来说权衡是运算性能。
In a permissioned context that can leverage alternate forms of consensus, one might explore approaches that restrict the distribution of confidential information exclusively to authorized nodes.
在可以利用替代形式的共识的许可上下文中,可以探索限制仅将机密信息分发给授权节点的方法。
Hyperledger Fabric, being a permissioned platform, enables confidentiality through its channel architecture. Basically, participants on a Fabric network can establish a “channel” between the subset of participants that should be granted visibility to a particular set of transactions. Think of this as a network overlay. Thus, only those nodes that participate in a channel have access to the smart contract (chaincode) and data transacted, preserving the privacy and confidentiality of both.
Hyperledger Fabric 作为一个许可的平台,通过其管道(channel)架构实现了机密性。 基本上,Fabric网络上的参与者可以在参与者的子集之间建立一个“管道(channel)”,这些参与者应该被授予对特定交易集的可见性。 把它想象成一个网络覆盖。 因此,只有那些参与管道(channel)的节点才能访问智能合约(链式代码)和数据交易,保护两者的隐私和机密性。
Fabric is also working on two sets of features that are intended to improve upon its privacy and confidentiality capabilities, specifically: private data – a feature we call SideDB, and zero knowledge proofs (ZKP). More on those as they become available.
Fabric也正在研究两套旨在改进其隐私和机密性功能的功能,特别是:私有数据 – 一个特性我们称为SideDB,和零知识证明(ZKP)。 当他们变得可用时可获取更多关于他们的信息。
Pluggable Consensus/可插拔共识
The ordering of transactions is delegated to a modular component for consensus that is logically decoupled from the peers that execute transactions and maintain the ledger. Specifically, the ordering service. Since consensus is modular, its implementation can be tailored to the trust assumption of a particular deployment or solution. This modular architecture allows the platform to rely on well-established toolkits for CFT (crash fault-tolerant) or BFT (byzantine fault-tolerant) ordering.
交易的排序被委托给模块化组件以实现共识,逻辑上这与执行交易和维护账本的peers是分离的。由于共识是模块化的,因此其实施可以根据特定部署或解决方案的信任假设进行量身定制。这种模块化架构使平台能够依靠成熟的CFT(碰撞容错)或BFT(拜占庭容错)排序工具包。
In the currently available releases, Fabric offers a CFT ordering service implemented with Kafka and Zookeeper. In subsequent releases, Fabric will deliver a Raft consensus ordering service implemented with etcd/Raft and a fully decentralized BFT ordering service.
在当前可用的版本中,Fabric提供使用Kafka和Zookeeper实现的CFT ordering服务。 在后续版本中,Fabric将提供一个用etcd / Raft实现的Raft一致性ordering 服务和一个完全分散的BFT ordering 服务。
Note also that these are not mutually exclusive. A Fabric network can have multiple ordering services supporting different applications or application requirements.
还要注意这些不是相互排斥的。 Fabric网络可以有多种支持不同应用或应用需求的 ordering服务。
Performance and Scalability/性能和可扩展性
Performance of a blockchain platform can be affected by many variables such as transaction size, block size, network size, as well as limits of the hardware, etc. The Hyperledger community is currently developing a draft set of measures within the Performance and Scale working group, along with a corresponding implementation of a benchmarking framework called Hyperledger Caliper.
区块链平台的性能可能会受到许多变量的影响,如交易大小,块大小,网络大小以及硬件限制等。Hyperledger社区目前正在性能和规模工作组内制定一套措施草案以及相应的称之为Hyperledger Caliper的确定基准点的框架的实现。
While that work continues to be developed and should be seen as a definitive measure of blockchain platform performance and scale characteristics, a team from IBM Research has published a peer reviewed paper that evaluated the architecture and performance of Hyperledger Fabric. The paper offers an in-depth discussion of the architecture of Fabric and then reports on the team’s performance evaluation of the platform using a preliminary release of Hyperledger Fabric v1.1.
尽管这项工作仍在继续发展之中,应该被视为区块链平台性能和规模特征的权威性衡量标准,但IBM Research的一个团队发表了一篇评估Hyperledger Fabric架构和性能的同行评审论文。该论文深入讨论了Fabric的架构,然后报告了该团队对Fabric平台的性能评估,评估过程中使用了Hyperledger Fabric v1.1的初步版本。
The benchmarking efforts that the research team did yielded a significant number of performance improvements for the Fabric v1.1.0 release that more than doubled the overall performance of the platform from the v1.0.0 release levels.
研究团队所做的基准测试工作为Fabric v1.1.0版本带来了显着的性能改进,相对于v1.0.0版本的性能水平,新颁布的整体性能提高了一倍多。
Conclusion/结论
Any serious evaluation of blockchain platforms should include Hyperledger Fabric in its short list.
对区块链平台的任何认真的评估应将Hyperledger Fabric列入其关键名单中。
Combined, the differentiating capabilities of Fabric make it a highly scalable system for permissioned blockchains supporting flexible trust assumptions that enable the platform to support a wide range of industry use cases ranging from government, to finance, to supply-chain logistics, to healthcare and so much more.
综合来看,Fabric的差异化功能使其成为一个高度可扩展的系统,需要许可授权的区块链可用于支持灵活的信任的假设,使平台能够支持从政府,财务,供应链物流到医疗保健等广泛的行业用例。
More importantly, Hyperledger Fabric is the most active of the (currently) ten Hyperledger projects. The community building around the platform is growing steadily, and the innovation delivered with each successive release far out-paces any of the other enterprise blockchain platforms.
更重要的是,Hyperledger Fabric是当前十个Hyperledger项目中最活跃的项目。平台周围的社区建设正在稳步发展,随着每个后续版本的发布远远超过了其他任何企业区块链平台。
Acknowledgement
The preceding is derived from the peer reviewed “Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains” – Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Binh Nguyen, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukolic, Sharon Weed Cocco, Jason Yellick