为什么80%的码农都做不了架构师?>>>
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前景和未来,可以拭目以待 !!!