区块链技术 | Fabric架构演变之路

本文探讨了Hyperledger Fabric从v0.6到v1.4的主要架构变化,包括共识算法、节点角色、Fabric CA、多通道技术、服务发现和隐私保护等方面,展示了其在功能、性能和灵活性方面的提升。
摘要由CSDN通过智能技术生成

Hyperledger Fabric是目前主流的开源联盟链产品之一,自2016年5月12日开辟代码仓库之日起,已有快4年的时间了,产品趋于稳定,功能也越来越完善,正在适配不同业务场景下的需求。

纵观Fabric的发布历程,在v0.6.1-preview版本至v1.0.0的版本迁移过程中架构发生了明显的变化,在v1.0.0之后每个小版本中加入了一些新的feature,来支持不同的业务场景以及完善相应的功能。接下来从个人角度来谈谈Fabric架构变迁过程中的一点思考。

Fabric v0.6

v0.6版本的技术架构在整个发展过程中停留的时间较短,相对目前v1.x版本来说,不太稳定,适合做poc阶段的测试。

在v0.6版本中,主要分为Membership、Consensus、Chaincode、Ledger、P2P、Event Stream等核心模块。

-Membership:负责签发相应的E-cert、T-cert、TLS-cert等证书。

-Consensus:负责整个区块链的共识,统一交易顺序,保证区块链的一致性。

-Chaincode:即链码(Fabric中的智能合约),用于执行区块链网络中的交易。

-Ledger:用于存储Transaction log以及交易中的Key-Value。

-P2P:基于Google的Grpc框架的底层网络通信层。

-Event Stream:事件订阅发布组建,用于接收交易及区块事件。

在Fabric v0.6中采用的共识算法是PBFT算法(Practical Byzantine Fault Tolerance),可以在信任程度较低的场景下避免拜占庭问题。但是由于算法本身特性限制,n>=3f+1,才能容忍一个拜占庭节点,因此在v0.6版本下,vp节点数量至少是4个。在v0.6版本中,节点角色分为VP(Validating Peer)、NVP(None validating Peer)以及用于签发证书的Membership节点3种。当然Fabric从第一个版本v0.6.0-preview开始就采用基于docker的运行时环境,为部署减少了许多麻烦,屏蔽了操作系统的差异。当然最主要的一点也许是由于Chaincode的设计机制导致的,整套生产环境的链码的部署和运行都是基于docker的,也许是出于docker稳定以及相对安全的运行环境的考量。Fabric的智能合约设计理论上可以支持任何开发语言,只要实现了相应的接口。因为它是基于Peer节点和链码容器的一个双向通信完成相应的交互的。

在这张图中包含了VP和NVP 2种角色,NVP在这里会分担VP的部分工作,接收来自客户端发过来的交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值