一般而言,区块链是一个不变的交易分类帐,维护在对等节点的分布式网络中。这些节点各自通过应用已通过共识协议验证的交易来维护分类账的副本,交易被分组为多个区块,这些区块包括将每个区块绑定到前一个区块的哈希。
区块链的第一个也是最广为人知的应用是 比特币加密货币,尽管其他人也紧随其后。以太坊是另一种加密货币,采用了不同的方法,整合了许多与比特币相同的特征,但增加了智能合约以创建用于分布式应用程序的平台。比特币和以太坊属于一类区块链,我们将其归类为 公共无许可区块链技术。基本上,这些是对任何人开放的公共网络,参与者可以在其中进行匿名交互。
随着比特币,以太坊和其他一些衍生技术的普及,对将区块链的基础技术,分布式分类帐和分布式应用程序平台应用于更具创新性的企业用例的兴趣 也日益增长。但是,许多企业用例需要性能特征,即无权限的区块链技术无法(目前)提供这些性能。另外,在许多用例中,参与者的身份是一个硬性要求,例如在金融交易中,必须遵循“了解您的客户(KYC-Know Your Client)”和“反洗钱(AML-Anti-Money Laundering)”法规。
对于企业使用,我们需要考虑以下要求:
尽管许多早期的区块链平台目前都已为企业使用而改编,但Hyperledger Fabric 从一开始就为企业使用而设计。以下各节描述了Hyperledger Fabric(Fabric)如何与其他区块链平台区分开来,并描述了其架构决策的一些动机。
区块链的核心是一种新型的数据系统,它以一种允许多个利益相关者放心地共享对相同数据和信息的访问的方式来维护和记录数据。区块链是一种分布式账本技术(DLT-Distributed Ledger Technology),这意味着它是一种由在分布式网络上运行的多个实体共享的数据账本。该技术通过以加密链接的块结构记录和存储整个网络上的每个事务来进行操作,该结构在网络参与者之间复制。每次创建新数据块时,都会将其附加到所有先前交易形成的现有链的末尾,从而创建一个称为区块链的块链。这种区块链格式包含从该数据结构开始以来所有交易和数据的记录。
在生产规模环境中建立新的DLT网络或维护现有的DLT网络并非易事。对于现有的DLT平台,每个平台都有其自己的体系结构,这意味着建立一个DLT网络的相同方法无法应用于其他平台。因此,当要求区块链开发人员使用不熟悉的DLT平台时,即使是经验丰富的技术人员也需要付出大量努力才能正确设置DLT网络。在跨异构公司环境的大规模生产项目中尤其如此,这需要其他关键方面,例如安全性和服务可用性。
意识到准备好大规模生产DLT网络的潜在困难和复杂性后,AWS和Azure等云供应商已经调配了自己的托管区块链服务(又名区块链即服务或BaaS),以帮助减轻流程中的各种痛苦。 。但是,仍然可以在其BasS解决方案中确定局限性,例如,有限的网络大小,锁定到单个云提供商上的所有节点或有限的DLT平台选择等。