Hyperledger 是一个开源社区,致力于构建一系列稳定的框架、工具和库,这些工具专为许可制的企业级区块链部署而设计。作为一个全球性合作项目,其成员涵盖金融、银行、物联网、供应链、制造业和技术等多个领域的领先组织。Hyperledger 的子项目包括 Hyperledger Fabric、Cello、Besu 和 Caliper 等。
什么是 Hyperledger 协议?Hyperledger 是一个全球性的企业区块链倡议,旨在为各行业提供构建开源区块链及相关应用所需的框架、标准、指南和工具。通过全球合作,Hyperledger 开发了基于分布式账本技术的框架和高性能区块链。它的创建初衷是推动基于区块链技术的分布式账本的开发,并提供多种企业级的许可制区块链平台。
Hyperledger 的项目涵盖了多种企业级的许可制区块链平台和即插即用的选项。这些项目由 Hyperledger 基金会负责支持、维护和托管。自 2016 年由 Linux 基金会发起以来,Hyperledger 项目得到了包括 IBM、英特尔、三星、微软、Visa、美国运通等公司,以及 Blockforce 等区块链企业的贡献。
Hyperledger 平台能够根据企业的特定运营需求开发区块链服务。与其他区块链软件开发平台相比,Hyperledger 具备建立个性化和安全区块链网络的优势。
基于 Hyperledger 的技术使用了以下这些层:
共识层:负责在区块中就交易的顺序达成一致,并验证其准确性。智能合约层:授权并处理交易请求。通信层:管理点对点 (P2P) 消息的传输。API 接口:使其他应用程序能够与区块链进行通信。身份管理服务:负责验证用户和系统的身份。
Hyperledger 协议的背景Hyperledger 项目由位于加利福尼亚州旧金山的 Linux 基金会于 2015 年 12 月发起,最初有 30 家会员公司参与,如今已扩展到大约 140 家会员公司。Brian Behlendorf 被任命为执行董事,他明确表示,Hyperledger 项目不会开发自己的加密货币。2016 年,该项目开始接受孵化代码库和其他关键技术的提案。Hyperledger Fabric 和 libconsensus 是最早被接受的区块链框架代码库之一,随后,英特尔的分布式账本 Sawtooth 也进入了孵化阶段。
2018 年,生产就绪的 Sawtooth 1.0 正式发布。2019 年,推出了具有长期支持的 Hyperledger Fabric 版本。2021 年 10 月,Daniela Barbosa 接替 Behlendorf 成为执行董事。同月,为了在组织和各个 Hyperledger 项目之间建立更明确的区分,Hyperledger 更名为 Hyperledger 基金会。
Hyperledger 协议如何工作?Hyperledger 类似于开源的 Linux 操作系统,可以在网络、计算机、笔记本电脑或其他设备上运行。与 Linux 类似,Hyperledger 使用户能够根据其需求确定偏好。因此,用户可以利用现有的 Hyperledger 项目来构建一个专为特定目的设计的系统,并通过添加各种模块来满足用户的不同需求。
Hyperledger 作为一个中心平台,汇集了各种分布式账本框架和库。开发者使用包含这些框架和工具的 Hyperledger Greenhouse 来创建商业区块链项目。网络中的所有参与者彼此熟识,并可以参与共识建立过程。Hyperledger 的运行方式允许应用程序发起合约需求。可以通过以下示例来理解这种工作原理:
假设 Peer A 通过基于 Hyperledger 的网络将约定的产品发送给 Peer B。接着,应用程序会查询 Peer B 的网络地址,并通过查询成员服务来验证 Peer B 的会员身份。
之后,Hyperledger 将为与该协议相关的交易在两个节点之间建立直接连接。为了验证交易,双方的结果必须一致。然后,共识云会接收结果进行验证和排序。在验证通过后,产品将交付给 Peer B,交易记录也会被记录在账本中。
可以这样表述:直接参与交易的节点会被连接,它们的账本是唯一会根据交易更新的部分。只有在交易过程中提供支持的第三方会根据网络的规定获取精确且必要的信息。
Hyperledger Peers 的职责在 Hyperledger 网络中,节点(Peers)被分为三种不同的角色,并在两种运行时环境下执行任务。这种独特的网络特性使得 Hyperledger 具备高度的个性化,能够带来显著的变化。这三种节点职责如下:
提交者(Committer):负责将验证过的交易追加到相应的账本中。交易只有在共识者返回后才会被添加到指定的账本中。背书者(Endorser):背书节点负责在其网络中模拟独特的交易,并防止非确定性和不可靠的交易发生。虽然所有的背书者都是提交者,但提交者是否为背书者则取决于网络的限制。共识者(Consenter):共识者的职责是验证希望进行交易的关联节点所生成的结果,以确保交易的有效性。与提交者和背书者在同一运行时环境下操作不同,共识者的职责更加特殊,需要在单独的运行时环境中执行。他们的任务是决定交易应提交到哪个账本中。
Hyperledger 协议的优势安全性:Hyperledger 优先考虑安全性,提供加密、身份管理和访问控制功能。这使其成为需要高安全性的企业应用程序的理想选择。
灵活性:Hyperledger 提供高度的模块化和灵活性,使开发者能够根据特定需求定制和配置平台。
可扩展性:Hyperledger 专为支持大规模企业应用而设计,能够处理每秒数千笔交易。
互操作性:Hyperledger 提供了一个统一的平台,用于开发区块链应用程序,并促进与其他系统和应用程序的集成。
隐私性:Hyperledger 支持建立私有、许可制的区块链网络,确保只有授权实体才能访问网络中的数据。
Hyperledger 协议的劣势复杂性
Hyperledger 的安装和操作可能比较复杂,尤其对于刚接触区块链技术的组织而言。这可能需要相当高的技术能力和资源支持。
中心化
Hyperledger 是一个许可制的区块链平台,这意味着只有经过授权的参与者才能加入网络。虽然这可以增强安全性和隐私性,但也意味着该网络的去中心化程度低于公共区块链平台。
受限的智能合约功能
与其他区块链平台相比,Hyperledger 的智能合约功能较为受限。虽然这对某些应用可能已经足够,但对于需要更复杂智能合约功能的组织来说,这可能会成为一个缺点。
Hyperledger 项目Hyperledger 提供了多种项目和工具,其中最著名的两个框架是 Hyperledger Fabric 和 Sawtooth,虽然还有其他众多项目。
Hyperledger Fabric
Hyperledger Fabric 是一个专为企业设计的开源许可制分布式账本技术 (DLT) 平台。它具有一些独特功能,使其与其他主流的分布式账本或区块链平台区别开来。
Fabric 是一个分布式账本平台,它支持使用通用编程语言(如 Java、Go 和 Node.js)编写智能合约,而不是使用受限的领域特定语言 (DSL)。与公共的、无需许可的网络(其中用户是匿名且不完全可信的)不同,Fabric 平台是一个许可制网络,用户彼此熟知,从而建立了更高的信任度。
Hyperledger Fabric 模型Hyperledger Fabric 结合了关键的设计元素,有效地实现了其成为企业全面且灵活的区块链解决方案的承诺。其包含的主要项目有:
资产(Assets):在 Hyperledger Fabric 中,资产被表示为一组键值对,任何状态的变化都被记录为通道账本上的交易。资产可以用二进制格式或 JSON 格式表示。链码(Chaincode):链码是定义一个或多个资产的软件,并提供通过交易更改这些资产的指令。链码的执行与交易排序是分离的,这减少了不同节点之间的信任和验证需求,从而提升了网络的可扩展性和性能。账本(Ledger):账本包括一个区块链,用于按顺序存储不可更改的记录,每个记录都被存储在区块中。此外,账本还包括一个状态数据库,用于跟踪 Fabric 的当前状态。每个通道都有一个账本。这个不可更改且集体可访问的记录存储了每个通道的所有交易记录,并且具有类似 SQL 的查询功能,便于审计和解决争端。隐私(Privacy):通过使用通道和私有数据集合来确保隐私,这有助于在竞争企业之间以及在受监管行业中实现机密交易,这些企业和行业在共享网络上交换资产。安全和会员服务(Security and Membership Services):许可制会员身份确保了建立一个可靠的区块链网络,其中的参与者知道授权的监管者和审计员可以识别并追踪所有交易。共识机制(Consensus Mechanism):共识机制为实现组织所需的灵活性和可扩展性提供了一种独特的方法。
Hyperledger SawtoothHyperledger Sawtooth 是由英特尔推出的区块链平台,具有许可制和模块化特性。它采用灵活的模块化架构,将核心系统与应用领域分离。这种设计使得智能合约能够定义应用程序的业务规则,而无需了解核心系统的底层设计。Hyperledger Sawtooth 提供多种共识方法,如实用拜占庭容错 (PBFT) 和经过时间证明 (PoET),旨在实现多样性和可扩展性。
Sawtooth 能够支持许可制和无需许可的部署。它引入了一种新颖的共识机制,称为经过时间证明 (PoET),该机制旨在有效地让众多分散的验证者参与,同时保持较低的资源消耗。交易的业务逻辑与共识层分离,并组织成交易家族,这些家族可以具有受限或不受限的语义。
Hyperledger Sawtooth 的特性Hyperledger Sawtooth 的特性包括:
动态共识(Dynamic Consensus):支持在网络运行时切换共识机制,提供灵活性。交易家族(Transaction Families):允许定义和使用不同的交易家族,各自具有特定的业务逻辑和规则。经过时间证明(Proof of Elapsed Time, PoET):一种特定的共识方法,旨在有效利用资源并广泛吸引分散的验证者参与。并行交易执行(Parallel Transaction Execution):支持形成独立的链,提升交易处理效率。私密交易(Private Transactions):提供私密性,确保交易内容仅在授权参与者之间可见。以太坊智能合约的执行:支持运行以太坊智能合约,使得 Sawtooth 能够兼容现有的以太坊应用。
此外,Sawtooth 提供了多种编程语言的开发工具包(SDK),包括 Python、Go、JavaScript、Rust、Java 和 C++,以满足企业对许可制和可适应区块链平台的需求。
其他 Hyperledger 项目Hyperledger IrohaHyperledger Iroha 是一个区块链平台,旨在与现有网络无缝集成。它还被设计得简洁易用,适合需要分布式账本技术的基础设施或物联网 (IoT) 项目。
Hyperledger Iroha 以其简洁明确的架构、模块化和领域驱动的 C++ 设计、专注于客户端应用程序开发,以及引入了一种名为 YAC(Yet Another Consensus)的新共识方法而著称。YAC 提供了在系统崩溃时的容错能力。Hyperledger Iroha 主要应用于金融服务、医疗保健和教育等领域。
Hyperledger IndyHyperledger Indy 是一个旨在实现去中心化身份的框架。该产品包含多个组件、工具集和库。此外,它还涵盖了自我主权(self-sovereignty)的概念,这意味着可以安全存储与个人身份相关的所有文件。
Hyperledger BesuHyperledger Besu 是一个公开可访问的以太坊代码库,可以在私有、许可平台和以太坊公共网络上使用。该系统包括以太坊虚拟机(EVM)、共识方法、用户接口API以及监控功能。
Hyperledger CelloHyperledger Cello 是一个区块链即服务(BaaS)工具包,用于创建、终止和管理区块链服务。它充当区块链的操作仪表板,简化了建立、管理和使用区块链的过程。Cello 提供了一个功能性界面,用于高效管理区块链并在裸机、虚拟机和其他容器平台等基础设施上运行。
Hyperledger BevelHyperledger Bevel 是一个促进分布式账本技术(DLT)实施的催化剂。Bevel 促进了 DLT 的建立、实施和与新组织的集成。
Hyperledger FireFlyHyperledger FireFly 是首个开源的超级节点,提供了一个全面的框架,帮助企业构建和扩展安全的 Web3 应用程序。FireFly API 提供了增强的速度,用于在主流链和协议上构建生产级应用程序,包括数字资产、数据流和区块链交易。
Hyperledger CactiHyperledger Cacti 是一个框架,通过建立连接并促进不同账本之间的交易来实现互操作性。
Hyperledger SolangSolang 是一个用 Rust 编写的 Solidity 编译器。它使用 llvm 作为后端,并且可以为 Substrate 和 Solana 编译 Solidity 代码。
Hyperledger AriesHyperledger Aries 是一套工具,用于创建、传输和存储数字凭证,并管理去中心化密钥。
Hyperledger AnoncredsHyperledger Anoncreds 是一个独立于任何特定账本或记账系统的可验证认证工具。
Hyperledger CaliperHyperledger Caliper 是一个评估和测量区块链系统性能与能力的工具。Caliper 用于评估区块链部署的效率。
结论Hyperledger 是一个在 Linux 基金会旗下的开源协作项目,致力于开发适用于商业用途的区块链框架和技术。企业可以为各种应用建立机密的、许可的区块链网络。Hyperledger 因其在供应链管理和智能合约方面的模块化和适应性解决方案而备受认可。