Hyperledger:分布式账本实现
机构媒体
Hyperledger:分布式账本实现

Hyperledger,目前国内译作“...

广告也精彩

Hyperledger,目前国内译作“超级账本”,是由Linux基金会主导的一个开源计划,由若干跨行业的分布式账本技术(Distributed ledger technologies, AKA DLT)开源技术框架项目组成。

该计划目前由Linux基金会主导运营,创立于2016年,由30个创始公司会员和一套技术和组织治理机构组成。

Hyperledger成立之初,其技术指导委员会接受了两个商业区块链框架代码库进行孵化,Hyperledger Fabric和Hyperledger Sawtooth。前者是Digital Asset、Blockstream的libconsensus、IBM的OpenBlockchain共同的作品,后者是由Intel的孵化小组所开发。

Hyperledger最值得关注的一点在于,其成立后受到了业界的普遍关注,大量各行业的巨头加入该项目中,成为该项目的会员。

其高级会员包括:埃森哲、空客、美国运通、百度、思科、戴姆勒、富士通、日立、IBM、Intel、J.P.Morgan、NEC等,普通会员中比较知名的包括:小米、博世、招商银行、民生银行、中信、德勤、华为、甲骨文、普华永道、三星、Redhat、Vmware等。

Hyperledger目前包括5个技术框架,3+1个工具包(1个尚未发布)。所有项目一般都需要经历提案(Proposal)、孵化(Incubation)、活跃(Active)、退出(Deprecated)、终结(End of Life)等 5 个生命周期。

任何希望加入到 Hyperledger 社区中的项目,必须首先由发起人编写提案。描述项目的目的、范围、参与者和开发计划等重要信息,并由全球技术委员会来进行评审投票,评审通过则可以进入到社区内进行孵化。项目成熟后可以申请进入到活跃状态,发布正式的版本。项目不再活跃后可以进入维护阶段,最终结束生命周期。

这6个技术框架分别是:

- Hyperledger Sawtooth

Sawtooth是一个潜在应用方向为物联网、生产、金融以及企业的区块链框架。Sawtooth支持多种需求,包括许可和非许可部署(permission and permission less deployments),以及一种可插拔(pluggable)共识算法。该框架也提供了一种革命性的共识算法:流逝时间证明(Proof of Elapsed Time,PoET)。这种算法使得对多种解决方案的多功能性以及规模化称为可能。

该项目的定位也是分布式账本平台,基于 Python 语言实现。目前目前处于 Active 阶段,核心项目的贡献者超过 70 人,提交次数已经超过 8000 次。Sawtooth 项目利用 Intel 芯片的专属功能,实现了低功耗的 Proof of Elapsed Time(PoET)共识机制,并支持交易族(Transaction Family),方便用户使用它来快速开发应用。

- Hyperledger Iroha

Iroha最初是由Soramitsu,Hitachi(日立),NTT Data以及Colu贡献的,它被设计为能够简单方便的整合到需要使用分布式账本技术(DLT)的基础项目中。Iroha的主要特点是简单的结构、现代并且领域驱动C++设计,强调移动应用的开发以及采用了YAC共识算法。Iroha最重要的特点就是聚焦于提供移动库(mobile libraries,即服务于在移动设备上开发的库)。Iroha的主要目标之一就是创造一个能够被应用轻松调用的分布式账本系统。为了实现这一点,Iroha为iOS,Android以及Javascript都提供了开源软件库。该项目的定位是分布式账本平台框架,基于 C++ 语言实现。目前目前处于 Active 阶段,贡献者超过 50 人,提交次数已经超过 7000 次。

- Hyperledger Fabric

作为最早加入到超级账本项目中的顶级项目,Fabric 由 IBM、DAH 等企业于 2015 年底联合贡献到社区。项目在 Github 上地址为 https://github.com/hyperledger/fabric。该项目的定位是面向企业的分布式账本平台,其创新地引入了权限管理支持,设计上支持可插拔、可扩展,是首个面向联盟链场景的开源项目。

Fabric 项目基于 Go 语言实现,贡献者超过 200 人,总提交次数已经超过 15000 次,核心代码数超过 15 万行。

是一个许可网络,这意味着仅仅那些获得许可的参与者才能接入网络。为了处理网络成员资格以及身份,成员资格服务提供者(membership service providers, AKA MSP)管理用户ID,并且认证网络中的所有参与者。一个Fabric区块链网络可以被一个或多个MSP管理。这提供了成员资格操作的模块化以及在不同的成员资格标准和架构之间的跨领域操作性。

- Hyperledger Burrow

Burrow最初由Monax贡献,同时由Intel联合赞助。Burrow提供了一个模块化的带有许可智能协议解释器的区块链客户端,部分是根据以太坊虚拟机evm开发的。该项目的前身为 eris-db,基于 Go 语言实现的以太坊虚拟机,目前贡献者超过 20人,提交次数已经超过 2000 次。

Burrow 项目提供了支持以太坊虚拟机的智能合约区块链平台,并支持 Proof-of-Stake 共识机制(Tendermint)和权限管理,可以提供快速的区块链交易。

- Hyperledger Indy

Indy是一个用于去中心化身份的分布式账本。它提供了工具、库以及可服用的组件,用于创造和使用基于区块链或者其他分布式账本的独立数字身份,从而使他们可以实现跨领域/跨应用进行操作。该项目主要由 Python 语言开发,包括服务节点、客户端和通用库等。目前处于 Active 阶段,贡献者超过 60人,已有超过 5000 次提交。

- Hyperledger Grid

Grid是一个用于构建包含分布式分类帐组件的供应链解决方案的平台。它提供了一套不断增长的工具,可加速供应链智能合约和客户端界面的开发。此项目不是分布式分类帐或客户端应用程序的实现。相反,Hyperledger Grid提供以供应链为中心的库,数据模型和软件开发工具包(SDK)作为模块化,可重用的组件。Grid 项目为开发基于区块链的供应链场景应用提供框架支持和参考实现,包括智能合约、数据模型、领域模型、样例应用等。 ,主要基于 Python 语言实现,并使用 Sabre(基于 WebAssembly/WASM 的智能合约引擎)来运行智能合约。目前贡献者超过 40人,提交次数超过 5000 次。

7个工具包分别是:

- Hyperledger Aries

Aries是Linux基金会托管的Hyperledger项目之一。Hyperledger Aries提供了一个共享,可重用,可互操作的工具包,专为创建,传输和存储可验证数字凭证的计划和解决方案而设计。它是基于区块链的点对点交互的基础设施。它包括用于区块链客户端的共享加密钱包以及用于允许这些客户端之间的分类账交互的通信协议。该项目使用Hyperledger Ursa提供的加密支持,以提供安全的秘密管理和分散的密钥管理功能。Hyperledger Aries最初由来自Sovrin Foundation,不列颠哥伦比亚省政府和其他Indy社区开发者的开发人员提供。Aries 项目希望能为客户端提供共享的密码学钱包和相关的代码库(包括零知识证明),以及对于链下交互的消息支持,以简化区块链客户端的开发。

- Hyperledger Caliper

区块链基准测试工具,通过使用一组预定义的用例来测量任何区块链的性能。Caliper 项目希望能为评测区块链的性能(包括吞吐、延迟、资源使用率等)提供统一的工具套装,主要基于 Node.js 语言实现,支持对 Fabric、Sawtooth、Burrow 等项目进行性能测试。目前贡献者超过 20人,提交次数超过 400 次。

- Hyperledger Cello

Cello是一个区块链模块工具。Cello目标是为区块链生态带来按需的“BAAS”(Blockchain-as-a-service)部署模型。Cello最初由IBM贡献,其他赞助者包括Soramitsu,华为和Intel。该项目的定位为区块链网络的操作系统,实现区块链网络自动化部署,以及对区块链网络的运行时管理。使用 Cello,可以让区块链应用人员专注到应用开发,而无需关心底层平台的管理和维护。已有一些企业基于 Cello 项目代码构建了区块链即服务(Blockchain-as-a-Service)平台。

Cello 的主要开发语言为 Python 和 JavaScript 等,底层支持包括裸机、虚拟机、容器云(包括 Swarm、Kubernetes)等多种基础架构。目前贡献者超过 40 人,提交次数超过 1000 次。

- Hyperledger Composer

Composer是一组建造区块链商业网络的协作工具。它使得业主和开发者可以简单快速的创造智能合约和区块链应用来解决商业问题。Composer本身用Javascript写成,还是用了现代化工具包括node.js,npm,CLI以及流行的编辑器。该项目主要由 Node.Js 语言开发,贡献者超过 80人,已有超过 5000 次提交。该项目已经成熟,处于 Deprecate 阶段,仅考虑修正可能的严重缺陷。

- Hyperledger Explorer

Explorer是一个区块链模块,目标是创造一个用户友好的网页应用。Explorer可以查看、调用、部署或者查询区块、交易以及相关数据、网络信息(名字、状态、节点列表)、链代码、交易家族以及任何其他存储在账本中的相关信息。Explorer最初由IBM、Intel以及DTCC贡献。该项目的定位是区块链平台的浏览器,基于 Node.js 语言实现,提供 Web 操作界面。用户可以使用它来快速查看底层区块链平台的运行信息,如区块个数、交易情况、网络状况等。

- Hyperledger Quilt

一组通过实施ILP提供互操作性的工具,ILP主要是旨在跨分布式和非分布式分类帐传输价值的支付协议.Quilt 项目前身为 W3C 支持的 Interledger 协议的 Java 实现,主要试图为转账服务提供跨多个区块链平台的支持。目前贡献者超过 10人,提交次数已经超过 100 次。

- Hyperledger Ursa

项目前身为加密实现库项目,由 Fujitsu、Sovrin、Intel、DFINITY、State Street、IBM、Bitwise IO 等企业的开发者于 2018 年 11 月正式贡献到社区。核心代码在 Github 上地址为 https://github.com/hyperledger/ursa。Ursa 项目希望提供一套方便、安全的密码学软件库(包括加解密、零知识证明等),为实现区块链平台实现提供便利。主要基于 Rust 语言实现,目前包括两个子组件(基础密码实现库 Base Crypto 和零知识证明库 Z-Mix)。参与贡献者超过 10人,提交次数超过 400 次。

其他项目还有:

Besu 提供对以太坊协议的支持,由 Java 实现。

Avalon 项目由 Intel、IEX、IBM 和 Consensys 等公司于 2019 年 9 月正式贡献到社区。主要提供链下的安全计算支持,重点考虑了安全性和可扩展性。

Transact 项目由 Bitwise IO、Cargill、Intel、IBM、HACERA 等公司于 2019 年 5 月提交到社区。Transact 项目为区块链提供交易执行的平台和代码库,其他的框架性项目可以基于 Transact 来管理交易的执行过程和状态。Transact 项目试图打造一个通用的智能合约引擎来支持包括 EVM、WebAssembly 等合约的运行。目前包括 transact、transact-rfcs、transact-contrib 等子项目。

相关导航

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注