paper: FastFabric: Scaling Hyperledger Fabric to 20,000Transactions per Second
这篇论文对Fabric的设计做了一些优化,将TPS从3,000提高到了20,000。
目前区块链技术存在的问题:
- 吞吐量上不去(throughput)
- 扩展性不好(scalability)
- 延迟较高(latency)
本篇论文基于Fabric对第一个问题做了优化。
Intro
公有链(permissionless blockchains)依赖于PoW/PoS、或者BFT等共识算法,极大的限制了其吞吐量。
而联盟链(permissioned blockchains)降低了对共识算法的依赖,但共识算法仍然是系统的瓶颈。
目前很多的研究都在改进共识算法,本文的作者们选择了超级账本进行了架构级别的优化,将其吞吐量提高了7倍,同时降低了延迟。
核心贡献在于:
- 将元数据分离出来:共识层只需要TX的id就可以决定TX的顺序
- 并行&缓存:重新设计了fabric的validation模块
- 将存放world state的数据库换成了内存哈希表
- 将committer与endorser分离到不同的硬件
所有的优化都没有修改fabric的API,没有改变fabric的模块化设计。
Fabric架构
作者的工作是基于Fabric