We present RAINBLOCK, a public blockchain that achieves high transaction throughput without modifying the proof-of-work consensus. The chief insight behind RAINBLOCK is that while consensus controls the rate at which new blocks are added to the blockchain, the number of transactions in each block is limited by I/O bottlenecks. Public blockchains like Ethereum keep the number of transactions in each block low so that all participating servers (miners) have enough time to process a block before the next block is created. By removing the I/O bottlenecks in transaction processing, RAINBLOCK allows miners to process more transactions in the same amount of time. RAINBLOCK makes two novel contributions: the RAINBLOCK architecture that removes I/O from the critical path of processing transactions (txs), and the distributed, multi-versioned DSM-TREE data structure that stores the system state efficiently. We evaluate RAINBLOCK using workloads based on public Ethereum traces (including smart contracts). We show that a single RAINBLOCK miner processes 27.4K txs per second (27× higher than a single Ethereum miner). In a geo-distributed setting with four regions spread across three continents, RAINBLOCK miners process 20K txs per second.
RainBlock: Faster Transaction Processing in Public Blockchains
Tue Sep 13 | 1:00pm
Location:
Fremont A/B
Abstract
Learning Objectives
- I/O bottlenecks limit transaction processing rates in public blockchains
- Minimizing I/O bottlenecks helps increase overall throughput of public blockchains
- RainBlock proposes a new architecture for Ethereum-like public blockchains and outperforms Ethereum by 20x in geo-distributed settings
- RainBlock alleviates I/O bottlenecks
- RainBlock architecture introduces I/O parallelism
---
Soujanya Ponnapalli
The University of Texas at Austin
Related Sessions