[论文解读] Rainblock: Faster Transaction Processing in Public Blockchains
RainBlock 提出了一种新颖的区块链架构,通过将 I/O 从关键路径中解耦并采用定制化存储设计减少 I/O 放大,从而加速公共区块链中的交易处理。它引入了分布式分片默克尔树(DSM-Tree),在不改变共识机制或区块生成速率的前提下,实现了高吞吐量、安全且可扩展的交易执行,使地理分布部署下的交易处理速度达到每秒 20,000 笔。
Public blockchains like Ethereum use Merkle trees to verify transactions received from untrusted servers before applying them to the blockchain. We empirically show that the low throughput of such blockchains is due to the I/O bottleneck associated with using Merkle trees for processing transactions. We present RAINBLOCK, a new architecture for public blockchains that increases throughput without affecting security. RAINBLOCK achieves this by tackling the I/O bottleneck on two fronts: first, decoupling transaction processing from I/O, and removing I/O from the critical path; second, reducing I/O amplification by customizing storage for blockchains. RAINBLOCK uses a novel variant of the Merkle tree, the Distributed Sharded Merkle tree (DSM-TREE) to store system state. We evaluate RAINBLOCK using workloads based on public Ethereum traces (including smart contracts) and show that RAINBLOCK processes 20K transactions per second in a geo-distributed setting with four regions spread across three continents.
研究动机与目标
- 解决以太坊等公共区块链中因 I/O 瓶颈导致的交易吞吐量受限问题,尽管其计算能力很高。
- 克服基于 RocksDB 的默克尔树状态存储中因随机 I/O 和 I/O 放大导致的性能下降。
- 将交易处理与本地 I/O 解耦,以提高并行度和吞吐量,同时不损害安全性。
- 设计一种可扩展、安全且高效的存储抽象——DSM-Tree,支持跨分片的高吞吐量交易执行。
- 在不增加区块生成速率的前提下,实现每区块更高的交易打包量,从而在保持去中心化和安全性的同时提升整体区块链吞吐量。
提出的方法
- 通过将状态访问卸载到远程内存存储节点,将 I/O 从关键路径中移除,使矿工在无需本地磁盘 I/O 的情况下执行交易。
- 引入分布式分片默克尔树(DSM-Tree),这是一种针对区块链工作负载优化的默克尔树变体,显著降低了 I/O 放大。
- 采用分片存储模型,将系统状态分区存储在多个远程存储节点上,实现并行访问并减少争用。
- 通过认证数据结构保持密码学完整性,确保即使在跨分布式分片的情况下,证明依然紧凑且可验证。
- 采用无状态执行模型,矿工从远程存储获取状态,处理交易,并异步更新存储节点。
- 通过不修改区块生成或共识逻辑,保持与现有共识协议(如 Nakamoto 共识)的兼容性,确保向后安全保证。
实验结果
研究问题
- RQ1能否在不损害安全性或去中心化的情况下,消除基于默克尔树的区块链存储中的 I/O 瓶颈?
- RQ2将 I/O 从交易处理关键路径中解耦,能在多大程度上提升公共区块链中的交易吞吐量?
- RQ3定制化的分片默克尔树设计(DSM-Tree)在降低 I/O 放大和实现高吞吐量交易执行方面的有效性如何?
- RQ4所提出的架构在地理分布部署中是否能保持低延迟和高吞吐量?
- RQ5在新的存储与执行模型下,系统是否仍能维持强安全保证(如不可篡改性、真实性)?
主要发现
- RainBlock 在使用真实以太坊工作负载的跨三大洲四个区域的地理分布部署中,实现了每秒 20,000 笔交易的处理速率。
- 与以太坊基于 RocksDB 的默克尔树相比,系统将 I/O 放大减少了 10 倍以上,将每区块随机 I/O 操作从超过 10,000 次显著减少。
- 通过将本地 I/O 从关键路径中移除,RainBlock 实现了更高的并行度,并消除了 I/O 作为交易执行性能瓶颈。
- DSM-Tree 设计支持对分片区块链状态的高效、可扩展且经过认证的访问,证明大小最小化且延迟低。
- 该架构维持了强安全保证,并与现有共识协议(如 Nakamoto 共识)完全兼容,且未改变区块生成速率。
- 原型实现表明,无需对区块链本身进行分片,即可实现高吞吐量,同时保持全局一致性和可审计性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。