Fabric是一种开源区块链实现,部署环境可以是私有服务器,也可以直接部署在公有云上,部署方式可传统可docker化,共识算法插件化,支持用Go和JavaScript开发智能合约,尤以企业级的安全机制和CA机制为特色。Fabric之于区块链,很可能正如Hadoop之于大数据。经过在Hyperledger超级账本将近一年的孵化,社区计划在3月发布1.0的预览版本。本文将重点对Fabric 1.0(alpha&beta)的重点架构升级 - 1)账本 2)数据库 整体的设计思路进行一些介绍。
一、设计目标
总体的思路是1)提升性能 2)提升可拓展性 3)提供更丰富的查询功能 4)更多模块的可插拔
二、账本的组成
最大的不同是增加了对基于文件系统的区块链账本的支持,可以更好地支持不可篡改的特性。
三、完整交易步骤
鉴于Consenter部分还没完全完工,从目前的交易执行过程来看,对节点角色的功能拆分,解决了Fabric0.6的拓展性问题。
四、交易流程图
五、传递的消息结构
六、使用智能合约数据的方式
依托可插拔特性引入的CouchDB数据库,提供了基于JSON数据格式的多种数据查询能力,丰富了合约代码可以实现的功能。
未完待续,下一部分更新数据库的具体改变。
最后,为了实现Fabric V1.0 的设计目标,依然有大量Todo工作需要广大技术人士支持,感兴趣的可关注如下JIRA未关闭问题,对代码进行开源贡献。