1、HyperledgerFabric介绍
简介
Hyperledger介绍
超级账本(Hyperledger)项⽬是⾸个⾯向企业应⽤场景的开源分布式账本平台。由linux基⾦会牵头,包括 IBM 等 30家初始企业成员共同成⽴的。
Hyperledger Fabric是什么
该项⽬定位是⾯向企业的分布式账本平台,引⼊权限管理,设计上⽀持可插拔、可扩展,是⾸个⾯向联盟链场景的开源项⽬。
Fabric 基于 Go 语⾔实现,主要包含 Fabric CA、Fabric SDK 多个相关的⼦项⽬。
与其它区块链系统最⼤的不同点在于HyperLedger Fabric是私有的,⽽且是被许可的。但并不允许未知⾝份来参与HyperLedger Fabric ⽹络(要求协议验证事务并确保⽹络的安全),HyperLedger Fabric组织的成员可以通过⼀个Membership Service Provider(成员服务提供者即MSP)来注册。
Hyperledger Fabric提供了⼀个独特的可伸缩、可扩展的架构,这也是Hyperledger Fabric与其他区块链解决⽅案的显著区别。假如你正在计划部署具备完整审查机制以及开源架构的企业级区块链,Hyperledger Fabric是你的⼀个不错的起点。
对于初学者,推荐⾸先阅读下⽂中的简介,以便于理解区块链的⼯作原理、具有的主要特点以及Hyperledger Fabric中包含的组件。
HyperLedger Fabric也提供了创建通道(channel)的能⼒,允许⼀组参与者创建⼀个单独的共同维护的交易账本。所以这对于其它竞争对⼿的⽹络来说,这是很重要的选择,例如:他们向特定的⼀组参与者提供了⼀个特别的价格,其它参与者享受不到这个特别价格。但是如果两个参与者在同⼀个通道(channel),那么这些参与者,以及其他参与者,都有该渠道的分类帐本。
什么是分布式账本
⼀个区块链⽹络的核⼼是⼀个分布式账本,在这个账本中记录了⽹络中发⽣的所有交易信息。
区块链账本通常被定义为去中⼼化,这是因为在整个⽹络中,每个参与者都保存着⼀个区块链账本的副本,所有参与者通过协作共同维护着账本。接下来我们会看到,去中⼼化与协作这两个特点在现实世界的商业货物交易和商务服务中展现出的显著优点。
除了去中⼼化与协作,区块链的另⼀个显著特点是信息在只能以“附加”的⽅式记录在区块链中,同时使⽤加密技术保障了交易⼀旦被添加进账本中,就⽆法被篡改。区块链的这种不可篡改性使得信息来源的确认变得异常容易,这是由于参与者可以肯定信息⼀旦被写⼊区块链中就⼏乎不可被篡改。这也是为什么区块链常常也被称为证明的系统的原因。
什么是智能合约
HyperLedger Fabric的智能合约是⽤Chaincode编写的,为了持续的进⾏信息的更新,以及对账本进⾏管理(写⼊交易,进⾏查询等),区块链⽹络引⼊了智能合约来实现对账本的访问和控制。
智能合约不仅仅可⽤于在区块链⽹络中打包信息,它们也可以被⽤于⾃动的执⾏由参与者定义的特定交易操作。
例如,买卖双⽅可以定义⼀个智能合约,以保证当卖⽅发货的商品运送到达时,买⽅⽀付的货款会⾃动转账给卖⽅。
什么是隐私
根据⽹络的需要,企业对企业(B2B)⽹络的参与者可能对他们所共享的信息⾮常敏感。对其他⽹络来说,隐私不会成为⾸要关注的问题。HyperLedger Fabric⽀持需要将隐私(使⽤通道)作为关键操作需求的⽹络,同时也是相对开放的⽹络。
什么是共识
保持⽹络中所有账本交易的同步流程,就是共识。共识保证了账本只会在交易双⽅都确认后才进⾏更新。同时在账本更新时,交易双⽅能够在账本中的相同位置,更新⼀个相同的交易信息。
这是⼀个经过彻底研究的计算机科学领域,有很多⽅法可以实现它,每⼀个都有不同的权衡。例如:PBFT(拜占庭容错)可以为⽂件副本提供⼀种机制,使其能够相互通信,从⽽保持每个副本的⼀致性。或者,在⽐特币中,排序是通过⼀个名为“挖矿”的过程来实现的,在这个过程中,竞争的计算机竞相解决⼀个加密难题,该难题定义了所有流程随后构建的顺序。
关于HyperLedger Fabric共享机制,它⽬前包括SOLO和Kafka,并将很快扩展到SBFT(简化的拜占庭容错)
区块链为什么切实可⾏
当前的记录系统
⾃从商业数据记录⽹络系统诞⽣以来,直到今天的交易⽹络并没有发⽣太⼤的变化。在商业⽹络中的成员进⾏相互交易时,他们各⾃维护着⾃⼰独⽴的交易记录。同时,⼈们交易的物品——⽆论是16世纪佛兰德的挂毯,还是现代的有价证券——都仍然需要在每次卖出交易过程中提供来源信息,以确保卖⽅拥有所出售商品的所有权。
当前的商业⽹络就像下图描述的⼀样:
随着科技的进步,上图中的交易流程不断演化发展,经历了从使⽤⽯碑、使⽤纸质账本、使⽤硬盘存储器直到使⽤云计算平台的不同阶段,但流程的底层架构并没有发⽣任何变化。并不存在⼀个可以统⼀管理⽹络参与者⾝份的系统,确认商品来源⼗分费劲,常常会耗费数天的时间明确证券的交易(包含数以万计美元的数量)。⼈们必须签订合约并⼿动执⾏,每⼀个系统中的数据库都包含着独⽴的信息并最终代表⼀个单点的错误。
在今天的信息和过程共享断裂的⽅法中,建⽴⼀个跨越商业⽹络的记录系统是不可能的,尽管可见性和信任的需求是明确的。
区块链的不同点go语言开发环境搭建
那我们为什么不⽤“现代”的交易系统来替代这种效率低下的⽹络?新的商业⽹络可以具有标准的⽅法建⽴⾝份信息,执⾏交易,并且存储数据。为什么不建⽴⼀个可信的交易链条记录?通过查询这个链条上的所有交易,来确定交易商品来源,并且这个链条上的信息⼀旦被写⼊,就⽆法被再次篡改。
以上描述的商业⽹络就如下图所⽰:
这就是区块链⽹络。在区块链⽹络中,每⼀个参与者都保有⼀份账本的副本。在区块链⽹络中,不仅仅是账本信息会被共享,更新账本的流程也是共享的。不同于⽬前的系统——参与者使⽤私有的程序对私有的账本进⾏更新,⽽区块链系统使⽤共享的程序对共享的账本进⾏更新。
通过使⽤共享账本协调整个商业⽹络,区块链⽹络能够减少时间、成本以及隐私信息泄露的风险,并且能使流程更加可信和透明。
现在你已经明⽩了什么是区块链以及它的⽤途。同时还有许多其他的内容也⾮常重要,他们是信息与流程共享的基础知识。
其它团队贡献的Fabric项⽬
Hyperledger Sawtooth
该项⽬由Intel 等企业发起和贡献的分布式账本平台,基于 python 语⾔实现,包含诺韦尔共识算法,计时验证(PoET), 它针对的是以最⼩的资源消耗处理⼤量的分布式验证器。
Hyperledger Iroha
该项⽬定位是分布式账本平台框架,基于 C++ 语⾔的实现,设计上类似 Fabric,同时提供了基于 C++ 的区块链开发环境,并考虑了移动端和web端的⼀些需求。
Hyperledger Burrow
该项⽬提供了⽀持以太坊虚拟机的智能合约区块链平台,并⽀持pos共识机制和权限管理
Hyperledger Indy
该项⽬致⼒于打造⼀个基于区块链和分布式账本技术的数字中⼼管理平台。该平台⽀持去中⼼化,⽀持跨区块链和跨应⽤的操作,可实现全球化的⾝份管理。
Hyperledger ⼯具篇
Hyperledger Cello
该项⽬的定位为区块链管理平台,提供区块链即服务实现区块链环境的快速部署,以及对区块链平台的运⾏时管理。
Hyperledger Composer
Composer 是⼀个协同⼯具,⽤以创建区块链业务⽹络,加速智能合约及其跨分布式账本部署的发展。
Hyperledger Explorer
该项⽬定位是区块链平台的浏览器,基于 Nodejs 语⾔实现,提供 web 操作界⾯。⽤户可以使⽤它来快速查看底层区块链平台的运⾏信息,如区块个数、交易情况、⽹络状况等。

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