超级账本(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(锚点)
peer⼀般指作为刚启动时候的初始联络元素或与其它结构的沟通元素。如刚加⼊⼀个 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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。