English

Practical Low Latency Proof of Work Consensus

Distributed, Parallel, and Cluster Computing 2023-02-20 v3 Cryptography and Security Networking and Internet Architecture

Abstract

Bitcoin is the first fully-decentralized permissionless blockchain protocol to achieve a high level of security, but at the expense of poor throughput and latency. Scaling the performance of Bitcoin has a been a major recent direction of research. One successful direction of work has involved replacing proof of work (PoW) by proof of stake (PoS). Proposals to scale the performance in the PoW setting itself have focused mostly on parallelizing the mining process, scaling throughput; the few proposals to improve latency have either sacrificed throughput or the latency guarantees involve large constants rendering it practically useless. Our first contribution is to design a new PoW blockchain Prism++ that has provably low latency and high throughput; the design retains the parallel-chain approach espoused in Prism but invents a new confirmation rule to infer the permanency of a block by combining information across the parallel chains. We show security at the level of Bitcoin with very small confirmation latency (a small constant factor of block interarrival time). A key aspect to scaling the performance is to use a large number of parallel chains, which puts significant strain on the system. Our second contribution is the design and evaluation of a practical system to efficiently manage the memory, computation, and I/O imperatives of a large number of parallel chains. Our implementation of Prism++ achieves a throughput of over 80,000 transactions per second and confirmation latency of tens of seconds on networks of up to 900 EC2 Virtual Machines.

Keywords

Cite

@article{arxiv.1909.11261,
  title  = {Practical Low Latency Proof of Work Consensus},
  author = {Lei Yang and Xuechao Wang and Vivek Bagaria and Gerui Wang and Mohammad Alizadeh and David Tse and Giulia Fanti and Pramod Viswanath},
  journal= {arXiv preprint arXiv:1909.11261},
  year   = {2023}
}
R2 v1 2026-06-23T11:25:00.951Z