Hyperledger 架构2025 年 5 月 30 日 | 阅读 12 分钟 引言客户必须获得权限才能使用私有区块链,通常称为许可链,它由网络管理器管理。因为一个或多个实体控制网络,所以需要第三方交易。交易是私密的,因为没有人可以访问它们,只有参与方才知道它们。本教程的主要重点是 Hyperledger 架构。 什么是 Hyperledger?开源 Hyperledger 项目的目的是在多个行业中开发 区块链技术。Hyperledger 是一种软件开发方法论,它提供了透明性、持久性、互操作性和支持,从而加速了区块链的采用。 Hyperledger 的历史- Hyperledger 于 2016 年由三十位创业者创立。
- Linux Foundation 创建了 Hyperledger 平台,使开发人员和企业能够协作创建区块链基础。
- 目前有超过 200 家企业使用 Hyperledger,包括百度、思科、IBM、英特尔和 SAP。
- 英特尔的 Hyperledger 建立在 Linux Foundation 创立的 70 多个免费组织之上。
Hyperledger 设计理念这是灵活且可扩展的方法之一,对于实现企业区块链开发至关重要。本文详细介绍了可能影响公司技术使用的策略。这包括一系列模块和部分,它们的功能和交互被优先考虑。 - 模块化: 每个框架组件可以互换的概念称为模块化。下面展示了 Hyperledger 项目任务的一些元素
- 高度安全: 这一理念涵盖了安全,不仅在加密抽象层面,而且在管理网络元素之间通信的架构以及授权区块链的授权性质方面。
- 互操作性: 此原则涉及向后兼容性,而不是 Hyperledger 项目支持的不同区块链系统之间的互操作性。网络连接的人应拥有业务策略的控制权。提供应用程序通信的点对点网络易于处理。
- 易于使用的 API: 此原则侧重于确保区块链系统能够访问企业网络、新系统和现有参与者,而不会暴露基于区块链的企业网络的复杂性。
Hyperledger 架构 Hyperledger 架构 共识层- 就排序达成共识,并确认构成区块的交易数据库的准确性。
- 共识层通过通信层与客户端和其他网络节点进行通信。
- 验证拟议区块内的所有交易是否符合批准和共识规则。
- 与智能合约层交互,然后依赖它来确认区块交易数据库序列的准确性。
- 它们也常用于去中心化网络的数据同步以及交易的完整性和透明性。
智能合约层- 无效交易将被拒绝,并且可能不会包含在区块中。智能合约层验证每笔交易,以确保其符合合同和交易策略。
- 智能合约分为两种类型。
- 网络部署后,验证者将受到已安装智能合约的业务逻辑的影响。
- 链上智能合约是通过已提交的交易实现的,这些交易随后由其他交易触发,用于实现业务规则。链上智能合约的账本包含解释业务策略的程序。
- 负责完成交易请求并使用业务逻辑确定交易的合法性。
- Chaincode 是在 Hyperledger Fabric 中用作智能合约的程序。Chaincode 可以使用 Java 和其他编程语言(如 Node.js、Go、JavaScript)创建,这些语言指定了预定义的接口。链代码在安全的 Docker 包中运行,独立于批准节点方法。
通信层- 在共享账本的示例中,通信层控制网络之间的点对点消息交换。
- 通信层是共识层与客户端和其他网络节点交互的方式。
- 算法必须以原子方式一次执行每笔交易,其功能与单节点系统完全相同。
- 如果通信不失败,提交的每笔交易最终都会到达每个运行正常的节点。
- TLS 用于 Fabric 节点之间的安全通信。TLS 通信允许双向(服务器和客户端)和单向(仅服务器)身份验证。
数据存储抽象- 允许其他模块使用其他数据库。除了已授权、排序并添加到每个节点账本的秘密数据的哈希之外,实际的私有数据存储在授权组织节点上的私有数据库中,并且可以被这些节点上的链代码访问。
- Hyperledger Fabric 提供 LevelDB 和 CouchDB 作为状态数据库。代表链代码数据的键值对存储在作为节点活动内置的默认状态数据库 LevelDB 中。
- 外部状态数据库 CouchDB(可选)提供查询功能,允许在将链代码数据建模为 JSON 时对 JSON 内容进行丰富查询。
- 在成功的部署事务之后,链代码将被放入区块链。
加密抽象- 允许使用各种加密技术或模块,而不会影响其他模块。
- 作为 Fabtoken,Hyperledger Fabric 版本 2.0(alpha)中的一项新功能,它允许创建本地代币或加密货币。
- Hyperledger Besu 是基于以太坊代码库的开源软件,可以在各种许可平台或以太坊公共网络上使用。它包括 EVM、共识协议、用户界面 API 和评估器。
- 通过命令行选项,Hyperledger Besu 可以支持 CPU 和 GPU 挖矿。使用 Stratum+TCP 和 Getwork 协议已通过 Ethminer 测试了 GPU 挖矿支持。
- 不支持比特币和其他加密货币,但它通过提供开发其他基于区块链的企业应用程序和系统的基础设施和标准来运行。
身份管理- 在区块链示例的设置中,在网络执行期间注册和注册的用户或系统组件,以及处理修改(如添加、删除和撤销),从而能够建立一个可信的根。此外,它提供身份验证和授权。
- 智能合约层使用身份服务层来验证和授权尝试执行智能合约的实体,同时管理交易。
- Hyperledger Fabric 提供了一个个人身份服务,通过管理用户 ID 并验证每个网络用户,从而促进了许可网络。可以通过使用访问控制列表来批准特定的网络操作,从而添加更高级别的授权。
- 证书颁发机构 (CA) 负责管理证书。Hyperledger 证书颁发机构是 Fabric CA。
策略服务- 策略服务负责管理系统的各种策略,包括背书、共识和成员资格策略。它依赖并与不同的模块交互以执行各种规定。
- 它反映在 Fabric 策略中,参与者如何同意接受或拒绝网络路由或智能合约的修改。当通道首次启动时,其成员会选择其策略,但随着通道的增长,它们也可以更改。
- Hyperledger Fabric 的策略是其区别于以太坊或比特币等其他区块链的一个特点。在这些系统中,任何网络节点都有能力生成和验证交易。
API它使得区块链与应用程序和客户端之间的通信成为可能。Hyperledger 使用的 API 有三种类型。 - 管理 API: 此类为 Hyperledger Composer 运行时管理创建了一个链接。之后,您可以使用 URL 安装和禁用业务网络定义。通过 ping 它并刷新业务网络定义来验证运行时是否正常运行。将包含连接配置文件的文档保存在连接配置文件存储中。
- 通用 API: 这包括创建新事件、交易、参与者和资产的 API。它还包括有关您所属的业务网络的数据的检索 API。它还通过 API 提供对这些资源的访问。
- 运行时 API: 所有事务函数都可以访问运行时 API。API 访问允许您建立和开发查询、发出事件、创建所有类型的注册表、获取当前参与者并指示序列化从 JavaScript 对象生成资源。它还允许您发出 RESTful HTTP 请求。
合作- 促进各种区块链实例之间的通信。
- 互操作性,在广泛的数据和交易协议的支持下,对于使这项技术最有效至关重要。为了支持产品可见性和食品安全的应用,食品行业在利用数据标准方面取得了重大进展。
- 目前区块链领域最紧迫的问题是集成和互操作性。
Hyperledger 项目使用概述以下是一些 Hyperledger 项目的列表 Hyperledger Burrow- 与以太坊虚拟机类似,Hyperledger Burrow 通过自适应的区块链消费者提供基于许可链的解释器。最初由 Monax 贡献,英特尔联合赞助。
- Burrow 的公开目标是支持公开的许可网络。Burrow 的许可方法在网络参与方面存在许多细微之处。
Hyperledger Iroha- Hyperledger Iroha 的主要关注点是移动应用程序开发和 Sumeragi,一种创新的基于链的 BFT 共识方法。Colu、NTT Data、日立和 Soramitsu 都参与了这个项目。
- 对于分布式账本基础设施项目,它是一个企业 区块链网络。该平台可用于创建国家身份证和其他身份管理系统。
Hyperledger Indy- 它是一个专门为去中心化身份开发的分布式账本。所有人都将 Indy 代码库提供给了 Soverin 基金会。
- 它提供了可重用的框架、工具和组件,用于开发和实施基于分布式账本(如区块链)的自我管理的数字身份。
Hyperledger Fabric- 在 Hyperledger Fabric 方面,IBM 处于领先地位。这是一个即插即用的区块链系统,具有可配置的许可结构。安全且私有的区块链基础设施由 Linux Foundation 管理。
- Hyperledger Fabric 是一个基于架构的分布式账本操作框架,它既可扩展又灵活。其目的是促进各种组件的可插入版本,并管理金融生态系统的复杂性。
Hyperledger Grid- 应用程序开发人员可以选择最适合其市场或业务的组件,这要归功于 Hyperledger Grid 这一框架、库和技术的生态系统。嘉吉公司正在进行财务投资以推动该项目。
- 使用 Hyperledger Grid 平台的供应链解决方案包含分布式账本组件。越来越多的工具可用于支持增加供应链智能合约的实施以及用户界面。这里既没有实现分布式账本,也没有实现客户端应用程序。
Hyperledger Sawtooth- Hyperledger Sawtooth 是一个用于构建、实施和管理分布式账本的灵活平台,它采用了创新的经过时间证明(Proof of Elapsed Time)共识技术。这种共识对于大型分布式验证器组非常有效,并且消耗的资源很少。
- 英特尔正在研究这个项目。Hyperledger Sawtooth 是一个免费的工业区块链即服务系统,无需理解核心系统的底层架构即可执行自定义智能合约。
Hyperledger 工具以下是一些 Hyperledger 工具的列表。 Hyperledger Composer- Hyperledger Composer 通过促进通过分布式账本创建和实施智能合约,从而促进区块链业务网络的开发。
- Composer 是一个软件开发平台,可以简化和加快创建 Hyperledger Fabric 区块链应用程序的速度。技术专业知识有限的开发人员可以与业务人员合作,使用 Hyperledger Composer 设计特定功能。
Hyperledger Cello- 其目的是将按需服务(as-a-service)概念应用于区块链,以减少建立、管理和关闭区块链所需的工作量。IBM、Soramitsu、华为和英特尔是首批加入该项目的公司。
- Hyperledger Cello 是一个区块链配置和操作解决方案,可有效管理区块链网络。Cello 是 Linux Foundation 的 Hyperledger 项目之一,它是一系列区块链模块。
Hyperledger Explorer- 它开发了一个易于使用的 Web 应用程序,使用户能够查看、启动、部署和查询账本上存储的区块及各种相关数据。DTCC、IBM 和英特尔最初支持了这项工作。
- Hyperledger Explorer 是一个开源的区块链实用程序模块,允许用户查询各种区块链创新和构件。它特别设计用于 Hyperledger 系列的区块链系统。
Hyperledger Calliper- Hyperledger Calliper 是一个区块链基准测试工具,它允许用户将区块链实现的性能与一组预先建立的用例进行比较。Hyperledger 项目开发了一个性能基准测试工具 Hyperledger Calliper,Oracle Hyperchain 和华为都为此做出了贡献。
Hyperledger Ursa- Hyperledger Ursa 是一个分布式 加密架构,帮助人员和项目避免重复加密工作。Fabric、Indy 和 Sawtooth 的开发人员正在就该项目进行协作。
- Project Ursa 提供的模块化签名和对称密钥原语的大型集合允许开发人员在设置过程中在不同的加密技术之间切换,而无需进行代码更改。
Hyperledger 库- Hyperledger Aries: 该架构基于区块链促进点对点通信。它允许区块链用户拥有一个共享的加密钱包(安全存储技术,而非用户界面)以及一种用于用户之间链下交易的通信协议。该项目利用 Hyperledger Ursa 的加密功能,提供安全的秘密管理和去中心化的密钥管理。
- Hyperledger Quilt: 这是一个 Java 相关的应用程序,它使得集成透明和开放的系统更加容易,并执行 ILP 进行原子交换。虽然 Interledger 协议允许账本之间的交易,但 ILP 协议在分布式和非分布式账本之间转移价值。维护 Interledger 协议标准和规范的开源社区由全球互联网联盟监督。
- Hyperledger Ursa: Project Ursa 提供的模块化签名和对称密钥原语的庞大集合使开发人员能够在设置过程中切换不同的加密技术,而无需重写代码。Ursa 的基础库现在包括现代加密技术,如阈值配对签名和聚合签名。
- Hyperledger Transact: 无论使用何种 DLT,Transact 都将通过提供创建新智能合约语言或引擎的灵活方法来实现智能合约。因此,每个智能合约引擎都涉及一个操作系统或智能合约解释器。
Hyperledger 架构的优点- 生产力提升: Hyperledger 通过采用分工技术加速项目开发。它确定每个人的独特优势,并将其分配到相应的专业领域。
- 知识产权管理: Hyperledger 通过将全球供应商、开发人员和客户汇集在一个平台上,充当区块链的温室。
- 按需了解数据: 区块链的数据拆分功能可保护个人数据隐私。它提供了敏感数据的物理隔离。Hyperledger 兼容的通道允许将信息与需要它的相关人员共享。
- 丰富的查询能力: 它由一个键值 数据库组成。另一个选择是 CouchDB。此文档数据库的内容为 JSON 格式。这使得基本数据库查询成为可能。它与数据模型和当前使用的键值编程方法兼容。
- 匿名性: 网络只能传输签名读写集。这可以保护匿名性,因为只有交易的节点和用户才能看到它们。
Hyperledger 架构的缺点- 缺乏开发人员: 由于其受欢迎程度,以太坊拥有更多的开发人员,而由于其早期阶段,它缺乏高素质的程序员。
- 缺乏应用程序: 发现应用程序不足,这是对技术、其应用以及缺乏具备必要 IT 和商业技能的员工的理解不足的迹象。
- 复杂的架构: 尽管拥有复杂的设计,但由主要 IT 公司支持的 Hyperledger 只关注企业交易型应用程序。
- 最低 APK: API 减少了客户端应用程序与 Hyperledger Fabric 区块链智能合约通信所需的 API 数量。
- 最低容错性: 拜占庭容错确保每个参与者在其账本上拥有相同的交易集,但将其用于网络不合适。
Hyperledger 应用- 金融: 它可以用于提高透明度、增强流动性,并通过消除对特定支付平台上的昂贵账户的需求来加速交易。
- 医疗保健: Hyperledger 可应用于医疗保健领域,以改善患者护理、降低成本并增加数据可访问性。
- 供应链: 组织可以使用 Hyperledger 创建程序,跟踪零部件和服务的来源,并尝试减少市场上的假冒商品数量。
- 保险: 保险提供商可以使用 Hyperledger 查看保存在账本上的交易数据。此外,Hyperledger Fabric 可以使用链代码来自动化付款以及加快索赔流程。
- 数字支付: 金融行业可能会通过利用 Interledger 和其他 Hyperledger 技术的应用程序而发生革命。更重要的是,它可以完全改变两个方之间的跨境支付。
结论与基于货币的区块链系统不同,Hyperledger 的战略目标是开发商业解决方案。Hyperledger Fabric 的可扩展性使其能够创建几乎任何类型的商业网络,这是其主要优势之一。社区可以审查、修改和共享代码,无论他们认为如何。欢迎来自世界各地的用户参加和贡献源代码开发过程。每个参与者的身份都已确认。此外,只有经过身份验证的成员才能访问账本。在银行业和保险业等客户信息必须保密的行业中,这一优势非常有帮助。
|