日前,我们发布了FISCO BCOS的最新版本: FISCO BCOS v2.2.0。该版本主要从协议、存储两方面进行优化,优化后的性能较v2.1.0有了大幅提升,具体优化点如下:
协议优化
为了降低网络带宽对网络规模的限制,构建树状拓扑进行区块同步。
【构建树状拓扑进行区块同步】请参考:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/sync/sync_block_optimize.html#id1
优化PBFT消息转发策略,在PBFT消息包中加入断连节点信息,作为下一次转发目标,保障PBFT消息包尽量到达所有节点的同时,减少了网络中冗余的PBFT消息。
【优化PBFT消息转发策略】请参考:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/consensus/pbft_optimize.html#id1
优化PBFT共识消息Prepare包的结构,Prepare消息包内的区块仅包含交易哈希,其他节点收到Prepare包后,优先从本地交易池内获取命中交易,缺失的交易则向Leader请求。
【优化PBFT共识消息Prepare包的结构】请参考:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/consensus/pbft_optimize.html#prepare
为降低SDK直连节点的出带宽、降低交易转发引起的大量冗余消息包,实现了交易广播优化策略和交易转发优化策略。
【交易广播优化策略】请参考:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/sync/sync_trans_optimize.html#id2
【交易转发优化策略】请参考:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/sync/sync_trans_optimize.html#id3
存储优化
为缩短数据落盘耗时,直接以二进制方式对区块数据和nonce数据进行编码存储。
为加快区块共识效率,移除对部分表的排序和hash计算。
此外,在功能方面,v2.2.0构建了区块中交易和回执的默克尔树,提供了一种基于SPV的证明方式。
【交易和回执的默克尔树】请参考:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/merkle_proof.html
上述优化及功能所涉及的最新代码和技术文档已在github和readthedoc上同步更新,欢迎体验和star支持。
https://github.com/FISCO-BCOS/FISCO-BCOS
技术文档:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/community.html
用户如需体验v2.2.0,在升级已有版本或首次搭建节点前,可参考:
《兼容性描述》文档:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/change_log/2_2_0.html
《安装》文档:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html
过去一年,FISCO BCOS 历经9个版本的更新迭代,在功能、性能、用户体验方面均有大幅提升,感谢FISCO BCOS开源社区的所有成员。
2020年,我们将继续推出更好用的版本,实现数据治理、跨链、隐私保护。请继续向我们提供反馈,继续参与FISCO BCOS相关讨论。(参与讨论或反馈请添加小助手微信:fiscobcosfan)。
FISCO BCOS的代码完全开源且免费
下载地址↓↓↓
https://github.com/FISCO-BCOS/FISCO-BCOS