FastFabric: 提高超级账本的TPS

文章目录

  • Intro
  • Fabric架构
  • 设计
    • Orderer
    • Peer
  • 实验结果

paper: FastFabric: Scaling Hyperledger Fabric to 20,000Transactions per Second
这篇论文对Fabric的设计做了一些优化,将TPS从3,000提高到了20,000。

目前区块链技术存在的问题:

  1. 吞吐量上不去(throughput)
  2. 扩展性不好(scalability)
  3. 延迟较高(latency)

本篇论文基于Fabric对第一个问题做了优化。

Intro

公有链(permissionless blockchains)依赖于PoW/PoS、或者BFT等共识算法,极大的限制了其吞吐量。
而联盟链(permissioned blockchains)降低了对共识算法的依赖,但共识算法仍然是系统的瓶颈。

目前很多的研究都在改进共识算法,本文的作者们选择了超级账本进行了架构级别的优化,将其吞吐量提高了7倍,同时降低了延迟。

核心贡献在于:

  1. 将元数据分离出来:共识层只需要TX的id就可以决定TX的顺序
  2. 并行&缓存:重新设计了fabric的validation模块
  3. 将存放world state的数据库换成了内存哈希表
  4. 将committer与endorser分离到不同的硬件

所有的优化都没有修改fabric的API,没有改变fabric的模块化设计。

Fabric架构

作者的工作是基于Fabric v1.2,这部分不再介绍。

设计

For these reasons, the goal of our work is not to improve orderer performance using better BFT consensus algorithms, but to mitigate new issues that arise when the consensus is no longer the bottleneck.

Orderer

序号 Fabric v1.2 改进
Opt1 将整个tx发送给Kafka集群进行排序 只发送txID给Kafka集训进行排序,减低communication overhead
Opt2 orderer顺序的对收到的tx进行验证后再发往Kafka集训 orderer对收到的每个tx都创建一个线程,并行验证后发往Kafka

FastFabric: 提高超级账本的TPS_第1张图片

Peer

序号 Fabric v1.2 改进
Opt3 world state存放在数据库中(LevelD/CouchDB) world state存放到内存中(hashing table),加快MVCC时对world state的访问速度
Opt4 将账本存储在每一个peer上 将账本存储到单独的cluster中,每台server存一部分(不过试验中只使用了一台server)
Opt5 每个peer都需要对block做validation,endorser压力很大 分离endorset和committer,committer验证完block后直接发给endorser,endorser不再需要单独做validation
Opt6 block validation顺序进行,慢 每一个block从pool中取一个go-routine,并行验证
Opt7 unmarshaling & marshaling 增加缓存?避免gRPCmarshaling导致的频繁的内存分配/回收

FastFabric: 提高超级账本的TPS_第2张图片

实验结果

  1. 测量了包含不同tx数量的block gRPC的TPS
    FastFabric: 提高超级账本的TPS_第3张图片

  2. 测量了orderer的TPS,分别是原版、加上Opt1优化、再加上Opt2优化。
    FastFabric: 提高超级账本的TPS_第4张图片

  3. 测量了peer的latency和TPS

FastFabric: 提高超级账本的TPS_第5张图片

FastFabric: 提高超级账本的TPS_第6张图片
FastFabric: 提高超级账本的TPS_第7张图片

  1. 并发线程的数量对TPS的影响
    FastFabric: 提高超级账本的TPS_第8张图片

  2. block中的tx数量对TPS的影响
    FastFabric: 提高超级账本的TPS_第9张图片

  3. e2e TPS

FastFabric: 提高超级账本的TPS_第10张图片

你可能感兴趣的:(the,evening,paper,区块链,区块链,Fabric,超级账本,吞吐量)