开源
Hyperledger Fabric:企业级许可的分布式账本框架
来源:元经纪     阅读:737
网站管理员
发布于 2023-06-19 01:43
查看主页

概述

Hyperledger Fabric 是一个企业级许可的分布式账本框架,用于开发解决方案和应用程序。其模块化和多功能设计可满足广泛的行业用例。它提供了一种独特的共识方法,可以在保护隐私的同时实现大规模性能。

Hyperledger Fabric 账本结构

Hyperledger Fabric 是一个开源的企业级许可分布式账本技术 (DLT) 平台,专为在企业环境中使用而设计,它提供了一些与其他流行的分布式账本或区块链平台不同的关键功能。 差异化的一个关键点是 Hyperledger 是在 Linux 基金会的领导下建立的,该基金会本身在培育开放治理下的开源项目方面有着悠久而非常成功的历史,这些项目可以发展强大、可持续的社区和繁荣的生态系统。Hyperledger 由多元化的技术指导委员会管理,而 Hyperledger Fabric 项目则由来自多个组织的多元化维护人员处理。它拥有一个开发社区,自最早提交以来,该社区已发展到超过 35 个组织和近 200 名开发人员。 Fabric 具有高度模块化可配置的架构,可为广泛的行业用例实现创新、多功能性和优化,包括银行、金融、保险、医疗保健、人力资源、供应链,甚至数字音乐交付。 Fabric 是第一个支持使用通用编程语言(如 Java、Go 和 Node.js)而不是受限的特定领域语言 (DSL) 编写的智能合约的分布式账本平台。这意味着大多数企业已经具备开发智能合约所需的技能,无需额外培训来学习新语言或 DSL。

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

Fabric 平台也是经过许可的,这意味着与公共的无许可网络不同,参与者是彼此认识的,而不是匿名的,因此完全不受信任。这意味着虽然参与者可能不会完全信任彼此(例如,他们可能是同一行业的竞争对手),但网络可以在建立在参与者之间确实存在的信任基础上的治理模型下运行,例如处理纠纷的法律协议或框架。 该平台最重要的差异化因素之一是它支持可 插入的共识协议,使平台能够更有效地定制以适应特定的用例和信任模型。例如,当部署在单个企业内或由受信任的机构运营时,完全拜占庭容错共识可能被认为是不必要的,并且会过度拖累性能和吞吐量。在这种情况下, 崩溃容错(CFT) 共识协议可能绰绰有余,而在多方、分散的用例中, 可能需要更传统的拜占庭容错(BFT) 共识协议。 这些差异化设计特征的结合使 Fabric成为当今在交易处理和交易确认延迟方面性能更好的平台之一,它实现了交易和智能合约(Fabric 称之为“链代码”)的隐私和机密性。他们。 让我们更详细地探讨这些差异化功能。

模块化

Hyperledger Fabric 经过专门设计,具有模块化架构。无论是可插拔共识、LDAP 或 OpenID Connect 等可插拔身份管理协议、密钥管理协议还是加密库,该平台的核心设计都是为了满足企业用例需求的多样性。 在高层次上,Fabric 由以下模块化组件组成:
  • 可插入排序服务就交易顺序建立共识,然后将区块广播给对等方。
  • 可插入成员服务提供商负责将网络中的实体与加密身份相关联。
  • 可选的点对点八卦服务通过向其他点订购服务来传播块输出。
  • 智能合约(“chaincode”)在容器环境(例如 Docker)中运行以进行隔离。它们可以用标准编程语言编写,但不能直接访问分类帐状态。
  • 分类帐可以配置为支持各种 DBMS。
  • 可以为每个应用程序独立配置的可插入背书和验证策略实施。
业内普遍认为,没有“一个区块链可以统治所有人”。Hyperledger Fabric 可以通过多种方式进行配置,以满足多个行业用例的不同解决方案需求。

许可与非许可区块链

在无需许可的区块链中,几乎任何人都可以参与,而且每个参与者都是匿名的。在这种情况下,除了区块链的状态在一定深度之前是不可变的之外,没有其他信任。 另一方面,许可区块链在一组已知、已识别且经常经过审查的参与者之间运行区块链,这些参与者在产生一定程度信任的治理模型下运行。许可区块链提供了一种方法来保护具有共同目标但可能彼此不完全信任的一组实体之间的交互。通过依赖参与者的身份,经过许可的区块链可以使用更传统的崩溃容错 (CFT) 或拜占庭容错 (BFT) 共识协议,这些协议不需要昂贵的挖掘。 此外,在这种许可的情况下,参与者通过智能合约故意引入恶意代码的风险会降低。首先,参与者彼此了解,并且所有操作,无论是提交应用程序交易、修改网络配置还是部署智能合约,都按照为网络和相关交易类型建立的背书策略记录在区块链上。不是完全匿名,而是可以很容易地识别有罪的一方,并根据治理模型的条款处理事件。

智能合约

智能合约,或 Fabric 称之为“链码”的东西,充当受信任的分布式应用程序,从区块链和对等方之间的底层共识中获得安全/信任。它是区块链应用程序的业务逻辑。 适用于智能合约的三个关键点,尤其是应用于平台时:
  • 许多智能合约在网络中同时运行,
  • 它们可以动态部署(在许多情况下由任何人部署),并且
  • 应用程序代码应该被视为不受信任的,甚至可能是恶意的。
大多数现有的支持智能合约的区块链平台都遵循 订单执行架构,其中共识协议:
  • 验证和排序交易,然后将它们传播到所有对等节点,
  • 然后每个对等点按顺序执行交易。
订单执行架构几乎可以在所有现有的区块链系统中找到,范围从 以太坊(具有基于 PoS 的共识)等公共/无许可平台到Tendermint、 Chain和Quorum等许可平台。 在使用订单执行架构运行的区块链中执行的智能合约必须是确定性的;否则,可能永远无法达成共识。为了解决非确定性问题,许多平台要求智能合约以非标准或特定领域的语言(例如Solidity)编写,以便消除非确定性操作。这阻碍了广泛采用,因为它需要开发人员编写智能合约来学习一门新语言,并可能导致编程错误。 此外,由于所有交易都由所有节点顺序执行,因此性能和规模受到限制。智能合约代码在系统中的每个节点上执行的事实要求采取复杂的措施来保护整个系统免受潜在恶意合约的影响,以确保整个系统的弹性。

一种新方法

Fabric 引入了一种新的事务架构,我们称之为 execute-order-validate。它通过将交易流分为三个步骤来解决订单执行模型面临的弹性、灵活性、可扩展性、性能和机密性挑战:
  • 执行交易并检查其正确性,从而认可它,
  • 通过(可插入的)共识协议订购交易,以及
  • 在将交易提交到分类账之前根据特定于应用程序的背书策略验证交易
这种设计从根本上背离了订单执行范式,因为 Fabric 在就订单达成最终协议之前执行交易。 在 Fabric 中,特定于应用程序的背书策略指定了哪些对等节点或其中有多少对等节点需要担保给定智能合约的正确执行。因此,每个事务只需要由满足事务背书策略所必需的对等节点子集执行(背书)。这允许并行执行提高系统的整体性能和规模。第一阶段还消除了任何不确定性,因为可以在订购前过滤掉不一致的结果。 因为我们已经消除了非确定性,Fabric 是第一个支持使用标准编程语言的区块链技术。

隐私和保密

正如我们所讨论的,在一个利用 PoW 作为其共识模型的公共、无许可区块链网络中,交易在每个节点上执行。这意味着合同本身及其处理的交易数据都不会保密。每个事务以及实现它的代码对网络中的每个节点都是可见的。在这种情况下,我们用合约和数据的机密性换取了 PoW 交付的拜占庭容错共识。 对于许多商业/企业用例来说,这种保密性的缺乏可能会带来问题。例如,在供应链合作伙伴网络中,某些消费者可能会获得优惠价格,以此作为巩固关系或促进额外销售的一种方式。如果每个参与者都可以看到每一份合同和交易,那么在一个完全透明的网络中维护这样的业务关系就变得不可能了——每个人都会想要优惠的价格! 作为第二个例子,考虑证券行业,其中建立头寸(或处置头寸)的交易员不希望她的竞争对手知道这一点,否则他们将寻求参与游戏,削弱交易员的策略。 为了解决为满足企业用例需求而缺乏隐私和机密性的问题,区块链平台采用了多种方法。所有人都有自己的权衡取舍。 加密数据是提供机密性的一种方法;然而,在利用 PoW 达成共识的无许可网络中,加密数据位于每个节点上。如果有足够的时间和计算资源,加密可能会被破解。对于许多企业用例,他们的信息可能受到损害的风险是不可接受的。 零知识证明 (ZKP) 是正在探索解决此问题的另一个研究领域,这里的权衡是,目前计算 ZKP 需要大量时间和计算资源。因此,这种情况下的权衡是保密性能。 在可以利用替代形式的共识的许可上下文中,人们可能会探索将机密信息的分发仅限于授权节点的方法。 Hyperledger Fabric 作为一个许可平台,通过其通道架构和私有数据 功能实现机密性。在通道中,Fabric 网络上的参与者建立了一个子网络,其中每个成员都可以看到一组特定的交易。因此,只有那些参与通道的节点才能访问智能合约(链代码)和交易数据,从而保护两者的隐私和机密性。私有数据允许在通道上的成员之间进行收集,允许与通道相同的保护,而无需创建和维护单独通道的维护开销。
性能和可扩展性
区块链平台的性能会受到许多变量的影响,例如事务大小、块大小、网络大小,以及可用的硬件资源,例如 CPU、内存、磁盘空间、磁盘和网络 I/O。

结论

任何对区块链平台的认真评估都应该在其候选名单中包括 Hyperledger Fabric。 结合起来,Fabric 的差异化功能使其成为一个高度可扩展的许可区块链系统,支持灵活的信任假设,使该平台能够支持从政府、金融、供应链物流到医疗保健等广泛的行业用例多得多。 Hyperledger Fabric 是 Hyperledger 项目中最活跃的。围绕该平台构建的社区正在稳步增长,每次连续发布所带来的创新都远远超过任何其他企业区块链平台。

发布

Fabric 提供具有新功能和改进的定期版本。此外,某些版本被指定为长期支持 (LTS) 版本。重要修复将反向移植到最新的 LTS 版本,并在 LTS 版本重叠期间移植到之前的 LTS 版本。有关详细信息,请参阅LTS 策略

当前的 LTS 版本:

之前的 LTS 版本:

  • v2.2.x(维护到 2023 年 12 月)

历史 LTS 版本:

  • v1.4.x(随着 v1.4.12 的交付,维护于 2021 年 4 月结束)

除非另有说明,否则所有版本都可以从之前的次要版本升级。此外,每个 LTS 版本都可以升级到下一个 LTS 版本。

Fabric 版本和发行说明可以在GitHub 版本页面上找到。

请访问带有 Epic 标签的 GitHub 问题,了解我们的发布路线图。

文档、入门和开发人员指南

请访问我们的在线文档,了解有关使用结构、SDK 和链代码开始使用和开发的信息:

建议初次使用的用户先阅读文档的入门部分,以便熟悉 Hyperledger Fabric 组件和基本交易流程。

执照

Hyperledger 项目源代码文件在 Apache 许可证 2.0 版 (Apache-2.0) 下提供,位于LICENSE文件中。Hyperledger 项目文档文件根据 Creative Commons Attribution 4.0 国际许可 (CC-BY-4.0) 提供,可从http://creativecommons.org/licenses/by/4.0/获取。

社区

超级账本社区

Hyperledger 邮件列表和档案

Hyperledger Discord 聊天

Hyperledger Fabric 问题跟踪(GitHub 问题)

Hyperledger Fabric 维基

超级账本维基

超级账本行为准则

社区日历

[/hidecontent]

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
拥抱元宇宙,数字分身释放“无限可能”
工业互联网赋能企业升级增效,栾城区推进产业数字化创新发展
国产动漫一哥!《斗破苍穹年番》2024年播放量28.05亿夺冠
“互联网+”背景下的基层卫生管理创新
产业观察|贵州:答好数字经济“算”数题

首页

分类

定制方案

消息

我的