超级账本 Fabric 2.x 是如何演进的?

32 篇文章 0 订阅
30 篇文章 3 订阅

超级账本 Fabric 是最流行的企业分布式账本实现,由 IBM、DAH 等企业于 2016 年初贡献到社区,目前在全球范围内得到了广泛的应用。

Fabric 提出了许多先进的理念和设计,包括多通道、身份证书机制、隐私保护、无限扩展的网络结构、运维管理接口等。目前,Fabric 可以满足不同场景下的性能需求,如虚拟机部署场景下可以达到 3500 tps 的吞吐量和小于 1 秒的延迟(参考《Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains》),更多物理资源情况下可以达到更大的(10 K+)的吞吐量。

Fabric 首个主版本 1.0.0 于 2017 年 7 月发布,该版本根据之前测试版的应用反馈,在架构上进行了重新设计,在可扩展性和可插拔性方面都有了不少改进。后续版本基本上按照每季度一个小版本的节奏发布。重点对性能和安全性、隐私性进行了完善和提升。

首个长期支持(Long-Term Support,LTS)版本 1.4 于 2019 年 1 月发布;第二个长期支持版本 2.2 于 2020 年 7 月发布。各个版本的新特性和改进如下表所示。

版本发布时间新特性增强和改进
1.0.02017-07-11重新设计架构,支持多通道、Kafka 共识机制、系统链码、分角色节点大幅度提升性能和可扩展性
1.1.02018-03-15Node.Js 链码,链码加密库,链码中基于证书属性的访问控制,节点之间的双向 TLS,Fabric CA 中对 CRL 的支持。部分实验特性,如 sideDB、idemix、细粒度的权限控制。大幅优化了性能,某些场景下可提升一个数量级;提供基于通道的事件通知模型
1.2.02018-07-04正式支持私密数据库(Private Data),提供可插拔的 ESCC 和 VSCC,细粒度访问控制,服务自动发现提高了稳定性和易用性
1.3.02018-10-11正式支持 Java 链码;提供细粒度的基于状态的背书策略;支持 idemix 增强隐私保护部分重构链码生命周期管理;通过分页机制优化链码中对大量数据的查询
1.4.02019-01-09提供运维相关的 RESTful API(统计、健康检查、日志级别);使用新的日志控制环境变量增强私密数据:新 Peer 自动获取缺失私密数据,客户端层面对私密数据的权限控制;开始支持新的 RAFT 排序机制
2.0.02020-01-29新的面向通道的链码生命周期管理;独立 shim 库等增强私密数据支持(仅成员写操作、内嵌隐式集合);增强排序服务;改进性能
2.1.02020-04-15提供对服务的访问速率限制增强私密数据支持(Peer 可指定隐式集合属性;发现服务支持集合层面的背书策略);升级到 Go 1.14
2.2.02020-07-09提供对已批准链码定义的查询 peer lifecycle chaincode queryapproved支持 TLS 1.3;修正 Raft 模式下可能无法选举的 bug

Fabric 网络中存在四种不同角色的服务节点,彼此协作完成整个区块链系统的记账功能:

  • 背书节点(Endorser Peer):一些特殊的 Peer 节点,对交易提案(Transaction Proposal)进行检查,执行智能合约计算交易执行结果(读写集合)并对其进行背书;

  • 记账节点(Committer Peer):负责维护账本的 Peer 节点,检查排序后交易结果合法性,并更新到本地账本。目前所有 Peer 默认都是记账节点;

  • 排序节点(Orderer):排序节点负责接收交易,并对网络中所有交易进行排序,整理为区块结构。记账节点会从排序节点拉取新区块并提交到本地账本;

  • 证书节点(CA):提供标准的 PKI 服务,负责对网络中所有的证书进行管理,包括签发和撤销。不参与网络中的交易过程。

节点角色划分是 Fabric 设计的一个特色。根据性能和安全需求,不同的节点可以由不同组织分别管理,共同构建联盟链。

此外,网络支持多个账本,每个账本对应一个独立通道(Channel)。每个通道内的成员可以共享账本,不同通道的账本彼此隔离。客户端可以向通道发送交易,经过共识后被通道内的 Peer 节点接收并更新到本地账本。

更多关于企业区块链和超级账本内容,可以参考刚面世的《区块链原理、设计与应用》第二版,讲解超级账本 Fabric 2.x 版本实现内幕。

 

===== 关于 TechFirst 公众号 =====

专注金融科技、人工智能、数据科学相关领域的热门技术与前瞻方向。欢迎投稿!

如果你喜欢公众号内容,欢迎鼓励一杯 coffee~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值