Hyperledger Fabric 实战(一):什么是 Hyperledger Fabric ?

原创
2019/01/04 16:36
阅读数 2.2K

Hyperledger Fabric 是一个区块链框架实现,是Linux基金会托管的 Hyperledger 项目之一。作为开发具有模块化架构的应用程序或解决方案的基础,Hyperledger Fabric允许组件(例如共识和成员服务)即插即用。Hyperledger Fabric 利用容器技术来托管称为“链代码”的智能合约,其中包含系统的应用程序逻辑。Hyperledger Fabric最初由 Digital Asset 和 IBM 提供。

目前,主要使用其** 1.0 **以上的版本,该版本相关概念:

● Orderer:提供共识服务的网络节点,例如,使用Kafka或PBFT。

● Peer:维护账本的网络节点,通常在Hyperledger Fabric架构中存在各种角色,有leader,endorser,committer和anchor。

● Channel:通道,Orderer 服务提供Peer节点供订阅的主题(如发布-订阅消息队列),每个主题是一个通道。 peer可以在订阅多个通道,并且只能访问订阅通道上的交易。

● Ledger:账本保存 Orderer 提交经节点确认的交易记录也是区块链的世界状态。

● Sdk client:访问和使用账本的网络节点。

● Chaincode:链码,用于运行具体业务的智能合约,支持 golang、nodejs、 java等语言,多为图灵完备。

● Organization:组织,整个区块链网络的参与方。

● Transaction:交易,每次区块链数据改变都会发生交易。

Fabric 1.0 架构

● Orderer (共识结点)使用kafka共识排序

● CA  (认证节点) 登记和注册身份并认证身份

● SDK Client(App 客户端) 发起交易

● Endorser Peer(背书结点) 交易背书

● Leader Peer(主节点) 接受orderer广播的区块并在组织内部同步。可以强制设置,也可以选举产生

● Committer Peer(记账节点) 记账,最基础的功能,每peer节点必定是记账节点

● Anchor Peer(锚节点)在一个channel上可以被所有其他peer发现的peer,channel上的每个成员都有一个anchor Peer(或多个anchor peer 来防止 单点故障),允许属于不同成员的peer发现channel上的所有现有peer。

数据流转流程:

客户端 App 向 CA 登记和注册身份,身份认证后向 Endorser peer 提交交易提案, Endorser peer 运行 chaincode 模拟结果然后背书返回交易给客户端,客户端提交交易到 Orderer 排序打包成区块,然后将区块广播到 每个组织的的 Leader Peer , Leader peer 向组织其他节点同步区块和更新账本。

**Hyperledger Fabric **称为联盟链,是分布式账本技术(DLT),采用模块化架构来提供高度机密性,伸缩性,灵活性和可扩展性。 它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性和复杂性。但是大公司很多都加入其社区。

这是其中一部分还有很多公司,足以证明潜力,并且目前主流的BAAS平台无非是基于Hyperledger Fabric 或者借鉴它来改造的。区块链是一套完整的通过密码学和计算机科学解决信任的技术,联盟链是多中心化的。不但实现了信息透明,不可篡改,还能防止作恶。当然现阶段都在积极探索的阶段,落地的场景将不断的增加。应该就在不久的将来会迎来一波联盟链项目的爆发。

hyperledger fabric前景和未来,可以拭目以待 !!!

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部