超级账本(Hyperledger)

摘要

超级账本(Hyperledger)是linux基金会下的众多项目中的一个。是由IBM、因特尔,还有金融公司,GP摩根以及其他联合机构于2015年提出来的区块链项目,超级账本还包括5个框架项目:Sawtooth、Iroha、Fabric、Burrow、Indy和3个工具项目:Blockchain explorer、Cello、Composer。其中广为人知的是Fabric。当前成员大约140个,其中1/4来自中国,现在中国技术组由万达、华为、IBM担任主要负责,负责中国会员和中国需求的提供,以及推进代码。下图是项目之间的逻辑关系图:
这里写图片描述
Hyperledger Fabric:
区块链技术的一个实现,它的目标是成为开发应用和解决方案的基础,设计为模块化架构,允许组件如共识和成员服务模块,可以插入即用。
Hyperledger Sawtooth:高度模块化的分布式账本平台,Hyperledger Sawtooth是一个模块化平台,用以创建、部署和运行分布式账本。Hyperledger Sawtooth包含诺韦尔共识算法,计时验证(PoET), 它针对的是以最小的资源消耗处理大量的分布式验证器。
Hyperledger Iroha:轻量级分布式账本,侧重于移动。Hyperledger Iroha 是一个业务区块链框架,用于简单和容易地并入需要分布式账本技术的基础设施项目。
Hyperledger Burrow:智能合约客户端,是一个可以许可的智能合同机。Burrow发布于2014年12月,首次提供了一个模块化的、带经过许可的智能合约解释器的区块链客户端,它采用了部分以太坊虚拟机(EVM)的技术规范。
Hyperledger Indy:Hyperledger Indy 提供了工具、程序库和可重复使用的组件,用于提供基于区块链或者其它分布式账本的数字身份,从而让它们跨管理域、跨应用和其他silo进行互操作。
Hyperledger Explorer:展示和查询区块链块、事务和相关的Web应用。Hyperledger Explorer 可以查看、调用、部署或者查询区块、事务和相关数据、网络信息、链码和事务序列,以及任何其它保存在账本中的相关信息。
**Hyperledger Cello:**Bass工具集,帮助创建、管理、终止区块链。Hyperledger Cello 的目标是将按需的 “即服务” 部署模式带给区块链生态系统,减少创建、管理和终止区块链所需要的工作量。
**Hyperledger Composer:**Hyperledger Composer 是一个协同工具,用以创建区块链业务网络,加速智能合约及其跨分布式账本部署的发展。
什么是超级账本?

对于超级账本Hyperledger官方网站上的描述是:
1.创建企业级的、开源的、分布式账本框架和代码库,支持商业事务。
2.通过技术和业务的治理,为市场提供一个中立的、开放的和社区驱动的基础设施。
3.创建技术社区, 开发区块链和共享账本的POC、应用案例、现场试验和部署。
4.教育公众, 为区块链技术争取市场机会。
5.推广我们社区内各子社区, 用我们的带多个平台和框架的工具箱方法 总结起来可以理解为:项目的目标是发展一个跨行业的开放式标准以及开源代码开发库,允许企业创建自定义的分布式账本解决方案,以促进区块链技术在商业当中的应用。
我的理解是超级账本Fabric是一门编程语言,可以是Go,Java,C/C++等,它定义了编程标准,函数库等基础规则,允许企业使用这门语言开发出适合自己的应用。或者再深入一层,超级账本Fabric是区块链的驱动程序,通过它实现将区块链类业务逻辑解释给开发平台,再把平台实现方式反馈给业务逻辑,从而将不同企业区块链各种应用打包成为可行的解决方案。

主要概念
Anchor(锚点)
一般指作为刚启动时候的初始联络元素或与其它结构的沟通元素。如刚加入一个 channel 的节点,需要通过某个锚点节点来快速获取 channel 内的情况(如其它节点的存在信息)。
Auditability(审计性)
在一定权限和许可下,可以对链上的交易进行审计和检查。
Block(区块)
代表一批得到确认的交易信息的整体,准备被共识加入到区块链中。
Blockchain(区块链)
由多个区块链接而成的链表结构,除了初始区块,每个区块头部都包括前继区块内容的 hash 值。
Chaincode(链码)
区块链上的应用代码,扩展自“智能合约”概念,支持 golang、nodejs 等语言,多为图灵完备。
Channel(通道)
Fabric 网络上的私有隔离。通道中的 chaincode 和交易只有加入该通道的节点可见。同一个节点可以加入多个通道,并为每个通道内容维护一个账本。
Committer(提交节点)
1.0 架构中一种 peer 节点角色,负责对 orderer 排序后的交易进行检查,选择合法的交易执行并写入存储。
Commitment(提交)
提交节点完成对排序后交易的验证,将交易内容写到区块,并更新世界观的过程。
Confidentiality(保密)
只有交易相关方可以看到交易内容,其它人未经授权则无法看到。
Endorser(推荐节点或背书节点)
1.0 架构中一种 peer 节点角色,负责检验某个交易是否合法,是否愿意为之背书、签名。
Endorsement
背书过程。按照 chaincode 部署时候的 endorsement 策略,相关 peer 对交易提案进行模拟和检查,决策是否为之背书。如果交易提案获得了足够多的背书,则可以构造正式交易进行进一步的共识。
Invoke(调用)
一种交易类型,对 chaincode 中的某个方法进行调用,一般需要包括调用方法和调用参数。
Ledger(账本)
包括区块链结构(带有所有的交易信息)和当前的世界观(world state)。
Member(成员)
代表某个具体的实体身份,在网络中有用自己的根证书。节点和应用都必须属于某个成员身份。同一个成员可以在同一个通道中拥有多个 peer 节点,其中一个为 leader 节点,代表成员与排序节点进行交互,并分发排序后的区块给属于同一成员的其它节点。
MSP(Member Service Provider,成员服务提供者)
抽象的实现成员服务(身份验证,证书管理等)的组件,实现对不同类型的成员服务的可拔插支持。
Non-validating Peer(非验证节点)
不参与账本维护,仅作为交易代理响应客户端的 REST 请求,并对交易进行一些基本的有效性检查,之后转发给验证节点。
Orderer(排序节点)
1.0 架构中的共识服务角色,负责排序看到的交易,提供全局确认的顺序。
Permissioned Ledger(带权限的账本)
网络中所有节点必须是经过许可的,非许可过的节点则无法加入网络。
Privacy(隐私保护)
交易员可以隐藏交易的身份,其它成员在无特殊权限的情况下,只能对交易进行验证,而无法获知身份信息。
System Chain(系统链)
由对网络中配置进行变更的配置区块组成,一般可以用来作为组成网络成员们形成的联盟约定。
Transaction(交易)
执行账本上的某个函数调用或者部署 chaincode。调用的具体函数在 chaincode 中实现。
Transactor(交易者)
发起交易调用的客户端。
Validating Peer(验证节点)
维护账本的核心节点,参与一致性维护、对交易的验证和执行。
World State(世界状态)
即最新的全局账本状态。Fabric 用它来存储历史交易发生后产生的最新的状态,可以用键值或文档数据库实现。
逻辑架构(1.0)
这里写图片描述
BlockChain区块服务:负责节点间的共识管理、账本的分布式计算、账本的存储以及节 点间的P2P协议功能的实现,是区块链的核心组成部分,为区块 链的主体功能提供了底层支撑。
Membership成员管理:会员注册、身份保护、内容保密、交易审计功能,以保证平台访问的安全性。
**Chaincode:**ChainCode的集成平台,为ChainCode提供安全的部署、运行的环境。
Event:贯穿于其他各个组件中 间,为各个组件间的异 步通信提供了技术实现
运行时架构(1.0)
这里写图片描述
设计目标
1、chaincode信任的灵活性:支持多个ordering服务节点,增强共识的容错能力和对抗orderer作恶的能力。
2、扩展性: 将endorsement和ordering进行分离,实现多通道(实际是分区)结构,增强系统的扩展性;同时也将chaincode执行、ledger、state维护等非常消耗系统性能的任务与共识任务分离,保证了关键任务(ordering)的可靠执行。
3、保密性:新架构对于chaincode在数据更新、状态维护等方面提供了新的保密性要求,提高系统的业务、安全方面的能力。
4、共识服务的模块化:支持可插拔的共识结构,支持多种共识服务的接入和服务实现。
架构特点
Hyperledger fabirc 1.0 版本的在0.6版本基础上,针对安全、保密、部署、维护、实际业务场景需求等方面进行了很多改进,特别是Peer节点的功能分离,给系统架构具备了支持多通道、可插拔的共识的能力。Hyperledger Fabric 在 1.0 中,架构已经解耦为三部分:
1. fabric-peer:主要起到 peer 作用,包括 endorser、committer 两种角色;
2. fabric-ca:即原先的 membersrvc,独立成一个新的项目。
3. fabric-order:起到 order 作用。
其中,fabric-peer 和 fabric-order 代码暂时都在 fabric 项目中,未来可能进一步拆分。
源代码结构
实现 fabric 功能的核心代码,包括:
accesscontrol包:实现对 chaincode 的权限管理和属性校验等;
common包:一些通用的模块;
core包:大部分核心实现代码都在本包下。其它包的代码封装上层接口,最终调用本包内代码;
events包:支持 event 框架;
examples包:包括一些示例的 chaincode 代码;
flogging包:封装 go-logging,提供日志支持;
gossip包:实现 gossip 协议;
metadata包:版本信息等;
msp包:Member Service Provider 包;
order包:order 服务相关的入口和框架代码;
peer包:peer 的入口和框架代码;
protos包:包括各种协议和消息的 protobuf 定义文件;

超级账本新增十一名新成员

超级账本强劲的增长紧随第二个里程碑 - 区块链框架项目Hyperledger Sawtooth1.0就绪

旧金山 -2018年2月27日- 超级账本(Hyperledger),跨行业推进区块链技术,今日宣布11个新组织加入该项目。超级账本集多项目及多方参与者于一身, 已孵化出9个商用区块链和分布式账本技术,包括Hyperledger Fabric、Hyperledger Iroha、Hyperledger Indy、Hyperledger Burrow、Hyperledger Quilt和Hyperledger Sawtooth等等。

「Hyperledger项目从两年前开始至2018年,Hyperledger的势头仍在继续,这令我们感到非常欣慰!社区的发展促使我们发布了两个已准备就绪的框架项目,现时我们的成员也突破了200名。成员们为我们的生态系统贡献了巨大的价值,我期待着在今年更多的生产部署成型,及各组织成员能够做出贡献。」
超级账本执行董事Brian Behlendorf

超级帐本旨在通过创建企业级、开源分布式账本框架和代码库,协助组织扩展、建立行业专属的应用程序、平台和硬件系统来支持他们各自的交易业务。它是一个全球跨行业领导者合作项目,成员超过200名,包括金融、银行、物联网、供应链、制造和技术等。最新加入的普通会员包括: 8Common、ArcBlock、Data Deposit Box、FORFIRM、ForgeRock、浪潮 、Nexiot、~sedna GmbH 和Smart Block Laboratory。

超级账本支持开放的社区且重视来自不同实体的贡献和参与。同样,经过核准的非营利组织、开源项目和政府实体可以免费加入为超级账本成为准會员 (Associate Member)。新加入的准成员包括:北京大学和ShareIT.io。

新会员语录:

8Common

「8Common非常高兴加入超级账本这个大家庭,我们期待着为区块链解决方案的设计、开发和运营贡献自己的经验。我们的核心业务expense8在澳大利亚是一个领先的政府和大型企业平台,涵盖信用卡、旅行和费用管理,充分利用区块链来保持我们平台的竞争力,并与其他超级账本会员合作,提供新的平台。」

8common 执行总裁NicLim

ArcBlock

「加入超级账本是ArcBlock迈出的重要一步。这不但让ArcBlock的企业级平台就绪,并加速客户的生产进程。我们向超级账本承诺将致力帮助企业级区块链技术的采用,使客户能够通过我们创新的ArcBlock平台在最具需求的应用程序中不断创新。」
ArcBlock集团创始人兼首席执行官 Robert Mao

Data Deposit Box

「我们很高兴加入超级账本社区,並期待一起协作达成我们的目标,为全球的合作伙伴和客户提供创新的区块链解决方案。加入这个多元化且人才济济的社区是很重要的,尤其是我们需要以如此快的速度进行创新。我们的合作伙伴和客户依赖于应用程序来使用共同的接口,这样他们就可以在不需要实行更改的情况下在区块链服务器之间进行选择。S3花了很多年才被广泛接受为存储的标准接口。我们了解超级账本将会是核心,我们希望在
SBS(simple blockchain service)的革新道路上出一分力 。」 Data Deposit Box首席执行官 Tim
Jewell

FORFIRM

「我们很荣幸成为超级账本的会员。我们与超级账本积极共事了一段时间,这一决定反映了我们把参与度提升到更高水平,并成为基金会的参与者和贡献者。FORFIRM已经建立了一个区块链专家的欧洲网络,目前正与跨行业的客户们合作,探索这种颠覆性技术并将其交付。」
FORFIRM 区块链领导者Gaspare Corona

ForgeRock

「ForgeRock非常高兴加入超级账本。超级账本拥有很多优势,比如性能、可伸缩性、模块化架构、以及强大的密码学等特性,这些特性为ForgeRockIdentity平台达到
“连接、保护和尊重” 的目标产生了许多协同作用­ — 它构建可信的数码关系,与客户、移动设备和智能设备进行交互。」
ForgeRock联合创始人兼首席技术官Lasse Andresen

浪潮

「区块链作为一项革命性的技术,它将给各行各业带来巨大的变化。浪潮非常兴奋能成为超级账本的一员。目前,浪潮集团在区块链的基础上正在构建一个多方参与、互联互通、共治共享的质量提升生态体系,以促进
‘质量中国’ 战略的实施。」 浪潮 副总裁 肖雪

Nexiot

「Nexiot提供了一个端到端的物流平台,为供应链带来了透明度和可靠性。我们很自豪地加入了超级账本社区,并视之为物流行业提供区块链企业级解决方案的重要一步。我们的技术通过提供实时的资产可见性、智能事件处理和高级数据扩充来支持一套独特的用例。我们期待着与多元化的超级账本社区和商业伙伴合作,推进高端行业进程自动化、技术创新和投资回报率最大化。」
Nexiot 首席技术官 Tzvetan Horozov

~sedna GmbH

「我们很高兴能够成为超级账本和Linux基金会的成员。将我们的解决方案整合到混合的企业网络中,并为多渠道内容发布和播放创建稳定和安全的托管服务,包括生命周期管理和分布式位置的p2p解决方案,这是我们未来工作的关键部份,我们期待与其他成员一起为超级账本社区做出贡献。」
〜sedna GmbH创始人Rolf Maurer和Guido Matzer

Smart Block Laboratory

「我们很高兴能够加入超级账本,并且为能够为分布式账本技术创建开放标准而感到自豪!Smart Block
Laboratory作为IBM的业务合作伙伴,我们相信区块链是数据存储和共享的下一个革新方向,我们期待与这个多元化的社区合作。超级账本会员资格为我们最新且基于CRYPTOENTER区块链的支付系统和IoTNet平台带来第一波浪潮,该平台采用HyperledgerFabric区块链技术。」
Smart Block Laboratory创始人兼首席执行官Pavel Lvov

猜你喜欢

转载自blog.csdn.net/ooo123lll/article/details/79639915