金色观察|一文读懂Hyperledger联盟链解决方案

2021-10-11 18:46:15 作者:金色财经

Hyperledger目前是联盟链领域应用最广泛的开发框架和最大的开源协作组织。其本身是一项开源协作项目,由Linux基金会主办,合作方包含金融、银行、物联网、供应链、制造和技术领域的领导者。

官方资料提及到,其旨在推进跨行业区块链技术。目前已包含6个成型的开源项目和10个仍在孵化中的开源项目。

分别为Hyperledger Aries、Hyperledger Besu、Hyperledger Fabric、Hyperledger Indy、Hyperledger Iroha、Hyperledger Sawtoothh和Hyperledger Avalon、Hyperledger Burrow、Hyperledger Cactus、Hyperledger Caliper、Hyperledger Cello、Hyperledger Explorerr、Hyperledger Firefly、Hyperledger Grid、Hyperledger Transactt、Hyperledger Ursa。

本文中,我们将综合所有的项目信息。为读者建立对Hyperledger全套联盟链解决方案的了解。

Hyperledger Aries

Hyperledger Aries提供了一个可共享、重复使用、可互操作的工具包,它定义了消息传递协议,专为创建、传输和存储可验证数字凭证的解决方案设计。它是基于区块链的点对点交互基础设施。该项目使用Hyperledger Ursa提供安全的加密管理和分散的密钥管理功能。

主要特点

用于创建、签署和读取区块链交易的区块链接口层:

包含一种加密存储元素,可用于安全存储加密机密、可验证凭据和其他用于构建客户端以交换(颁发、证明)可验证凭据的信息。

包含一种基于去中心化标识符(DID)的加密点对点消息传递系统(称为DIDComm),支持使用多种传输协议的这些客户端之间的账外交互。

支持以多种格式交换(颁发和证明)可验证凭证,包括使用Ursa中的ZKP原语实现支持ZKP的可验证凭证。

包含一系列更高级别的协议和这些协议的一个子集版本化“Aries互操作配置文件”,以支持可互操作的Aries代理的独立实施和部署。

包含一组生产就绪(和多个概念证明)Aries框架实现支持不同的用例和部署。这些框架依赖于Aries代理的用例特定实现,例如移动钱包、企业可验证凭证颁发者/验证者等。

包含一个代理测试工具,用于对代理和代理框架进行持续的互操作性测试。

Hyperledger Besu

Hyperledger Besu是在Apache2.0许可下开发并用Java编写的开源以太坊客户端。它可以在以太坊公共网络或私有许可网络上运行,也可以在Rinkeby、Ropsten和Görli等测试网络上运行。Hyperledger Besu包括多种共识算法,包括PoW、PoA和IBFT,并具有专为在联盟环境中使用而设计的全面许可方案。

Hyperledger Besu实现了企业以太坊联盟(EEA)规范。EEA规范的建立是为了在以太坊内的各种开源和闭源项目之间创建通用接口,以确保用户不会被供应商锁定,并为构建应用程序的团队创建标准接口。Besu实施符合EEA客户端规范的企业功能。

Hyperledger Besu的功能包括:

以太坊虚拟机(EVM):EVM是图灵完备的虚拟机,允许通过以太坊区块链内的交易部署和执行智能合约。

共识算法:Hyperledger Besu实现了各种共识算法,这些算法涉及交易验证、区块验证和区块生产(即工作量证明中的挖掘)。它们包括:权威证明、BFT2.0、Clique、工作量证明(Ethash)。

存储:Hyperledger Besu使用RocksDB键值数据库在本地保存链数据。这些数据分为:区块链、世界状态。

P2P网络:Hyperledger Besu实现了以太坊的devp2p网络协议,用于客户端间通信和IBFT2的附加子协议。

面向用户的API:Hyperledger Besu通过HTTP和WebSocket协议以及GraphQLAPI提供主网Ethereum和EEAJSON-RPCAPI。

监控:Hyperledger Besu允许您监控节点和网络性能。节点性能使用Prometheus或debug_metricsJSON-RPCAPI方法进行监控。网络性能由Alethio工具(例如BlockExplorer和EthStatsNetworkMonitor)进行监控。

隐私:Hyperledger Besu中的隐私是指在相关方之间保持交易私密的能力。其他方无法访问交易内容、发送方或参与方列表。Besu使用PrivateTransactionManager来实现隐私。

许可:许可网络通过在网络上启用节点许可和/或帐户许可,只允许指定的节点和帐户参与。

Hyperledger Fabric

作为开发模块化架构应用程序或解决方案的基础。Hyperledger Fabric允许诸如共识和会员服务之类的组件即插即用。其模块化和多功能设计可满足广泛的行业用例。它提供了一种独特的共识方法,可以在保护隐私的同时实现大规模性能。

主要特点

是高性能、安全、许可的区块链网络。使用Go编写代码,可以用Go、Javascript或Java编写智能合约,有Node.js、Java、Go、REST和Python的SDK。

Hyperledger Indy

提供工具、库和可重用组件,用于提供根植于区块链或其他分布式账本的数字身份,以便它们可以跨管理域、应用程序和任何其他孤岛进行互操作。Indy可以与其他区块链互操作,也可以单独使用,为身份的去中心化提供动力。

Hyperledger Iroha

Iroha是一个分布式账本项目,旨在提供一个开发环境,让C++和移动应用程序开发人员可以为Hyperledger做出贡献。该项目旨在补充Fabric、Sawtooth和其他潜在项目,成为一个具有预定义命令、权限和查询集的框架,可与各种客户端库一起使用,以轻松创建适用于桌面和移动平台的应用程序。也可使用到物联网项目中。

主要特点

许可网络,使用C++编写,拥有Java、Python、JS、Swift客户端库,使用BFT共识算法YetAnotherConsensus(YAC);即用型命令和查询集,多重签名交易。

Hyperledger Sawtoothh

提供了一种灵活的模块化架构,将核心系统与应用程序域分离,因此智能合约可以为应用程序指定业务规则,无需了解核心系统的底层设计。Hyperledger Sawtoothh支持多种共识算法,包括实用拜占庭容错(PBFT)和经过时间证明(PoET)。

Sawtooth最初由英特尔提供,是一个专为多功能性和可扩展性而设计的区块链套件。用例从物联网到金融。Sawtooth支持许可和无许可部署。它包括一种新颖的共识算法,即经过时间证明(PoET)。PoET以最少的资源消耗为目标,针对大型分布式验证器群体。

主要特点

可插拔共识算法(通过交易即时更改共识)、经过时间证明(PoET)共识、用几乎任何语言可编写智能合约、通过Hyperledger Burrow集成支持以太坊合约、开箱即用的供应链示例、并行事务执行以增加吞吐量。

Hyperledger Avalon

是企业以太坊联盟发布的可信计算规范的独立实现。它旨在使区块链转移到安全的专用计算资源中。帮助开发人员获得计算信任。

Hyperledger Burrow

是一个完整的单二进制区块链发行版,它支持基于EVM和WASM的智能合约,并通过Tendermint算法使用BFT共识。它有一个复杂的事件系统,可以维护链上数据的关系数据库映射。治理和许可是内置的,可以通过链上提案交易进行修改。它针对公共许可的股权证明用例进行了优化,也可用于私有/联盟网络。

Hyperledger Cactus

Cactus是一个可插拔的企业级框架,可以在多个分布式账本上进行交易,而无需引入另一个竞争性区块链。Cactus旨在为区块链网络和区块链网络之间提供去中心化、适应性强和安全的集成。这是旨在覆盖尽可能多的协议,尽可能通过一个可扩展的插件架构,其中新的协议或功能可以通过创建新的插件添加。

Hyperledger Caliper

Caliper是一个区块链基准测试框架,它允许用户使用一组预定义的用例来衡量特定区块链实现的性能。Caliper将生成包含许多性能指标的报告,例如TPS(每秒交易数)、交易延迟、资源利用率等。目的是将Caliper结果用作支持选择适合区块链实施的参考。特定于用户的用例。鉴于区块链配置、网络设置以及特定用例的多样性,它不打算作为权威的性能评估,也不用于简单的比较目的。

Hyperledger Cello

旨在充当区块链的操作仪表板,从而减少创建、管理和使用区块链所需的工作量。此外,它还可以用于促进创建区块链即服务。Cello提供了一个操作控制台,用于高效管理区块链并在各种基础设施之上运行,例如裸机、虚拟机和各种容器平台。

Cello有助于降低区块链用户/应用程序开发人员的运营和管理成本。它的目标是区块链和分布式账本的操作系统。

主要特点

高效、自动地部署、管理和操作区块链。

支持Fabric等区块链平台。

支持各种基础设施,如裸机、vm平台和容器云(例如,Swarm、Kubernetes)。

支持系统状态和分类帐行为的高级操作分析。

Hyperledger Explorer

是一个用户友好的Web应用程序工具,用于查看、调用、部署或查询区块、交易和相关数据、网络信息(名称、状态、节点列表)、链码和交易集,以及任何其他相关的存储在分类帐中的信息。

Hyperledger Firefly

是一个用于企业数据流的多方系统,由区块链提供支持。它解决了位于低级区块链和高级业务流程和用户界面之间的所有复杂层。FireFly使开发人员能够专注于业务逻辑而不是基础设施,从根本上更快地为企业构建区块链应用程序。

Hyperledger Grid

旨在提供以供应链为中心的数据类型、数据模型和基于智能合约的业务逻辑的参考实现,所有这些都基于现有的开放标准和行业最佳实践。它以真实和实用的方式展示了如何将Hyperledger堆栈中的组件组合成一个有效的业务解决方案。

Hyperledger Transactt

旨在通过提供一个标准接口来执行与分布式账本实现分离的智能合约,从而减少编写分布式账本软件的开发工作。Hyperledger Transactt采用一种可扩展的方法来实现称为“智能合约引擎”的新智能合约语言,该语言实现了处理智能合约的虚拟机或解释器。

Hyperledger Ursa

是一个共享加密库,能够避免重复其他加密工作,并有望提高过程中的安全性。该库是一个选择加入的存储库(用于Hyperledger和非Hyperledger项目)来放置和使用加密。Hyperledger Ursa由子项目组成,这些子项目是密码代码或密码代码接口的聚合实现。

随着Hyperledger的成熟,Hyperledger中的各个项目开始发现需要复杂的加密实现。Hyperledger Ursa认为与其让每个项目实现自己的加密协议,不如在共享库上进行协作。这样做的原因有很多:

避免重复:众所周知,加密实现很难正确,通常需要大量工作才能以高安全级别完成。该库可能允许项目共享加密实现,避免不必要的重复和额外的工作。

安全性:将大部分(或全部)加密代码放在一个位置将大大简化对Hyperledger加密部分的安全分析。此外,没有重复意味着维护会更容易。

专家审查:Hyperledger Ursa认为在Hyperledger中集中加密专家将有助于我们将未来的风险降至最低。

跨平台互操作性:如果两个项目使用相同的加密库,它将简化(在某些情况下)跨平台互操作性,因为加密验证将涉及双方的相同协议。

模块化:一个成功的加密库可以鼓励和推动更多的模块化活动。

新项目:如果新项目能够轻松访问实施良好的模块化加密组建,那么它们将更容易启动。

写在最后

为什么Hyperledger能具备如此多的开发框架和产品,主要因为Hyperledger一直在举办开发者黑客松活动,并且有单独的组织协调框架开发。

这个工作组称为Hyperledger架构工作组(AWG),是一个技术工作组,专注于为企业级分布式账本开发架构框架,以实现模块化架构的融合。这包括识别通用和关键组件,将企业区块链堆栈功能分解为组件层和模块,规范组件之间的接口以及分类账之间的互操作性。

AWG也是一个跨项目论坛,供来自Hyperledger社区的架构师和技术人员交流想法和探索替代架构选项、讨论权衡并捕捉选择背后的推理。AWG为Hyperledger孵化组下的项目提供建议和架构指导,并鼓励它们在模块化架构上融合。还邀请个别Hyperledger项目进行架构和设计审查,以从社区的专业知识中受益,并塑造Hyperledger整体的架构方向。

查看更多

相关推荐

图文推荐