前言
官网:https://github.com/hyperledger/fabric
fabric作为联盟链底层的基础设施已经发展几年,也陆续在一些场景中落地。在发展过程中,也在不断完善。从最早fabric0.6版本到现在1.4,1.X版本后面会停止更新,会切换到2.0版本。本文就从fabric发展历程,把几个版本主要的特性做一下总结,也可从中发现商业落地对社区发展的一些推动。
fabric主要版本特点
fabric0.6
fabric0.6算是最早的一个release版本,peer节点承担记账和共识功能,peer节点压力比较大,系统性能和扩展性不好,难以商业落地。其共识算法采用的是PBFT算法。PBFT算法的最大容错节点数量是(n-1)/3, pbft 算法支持容错故障节点之外,还需要支持容错作恶节点。另外,其他各个模块的耦合性也比较大。在商业落地应用时,特别是互联网环境,网络环境恶劣情况下,容易出现区块不同步的问题,后面1.0版本进行了拆分,节点拆分成peer+orderer节点,peer主要负责验证,记账功能,orderer节点负责共识功能,共识算法改成zk+kafka,提高了交易性能。
fabric1.0
-
节点拆分:peer+orderer
系统更加模块化,扩展性,性能均有提高,提高了商业落地的可能性。 -
共识:zookeeper+kafka
fabric1.0采用了