Skip to content

Rust implementation of the Prism consensus protocol

License

Notifications You must be signed in to change notification settings

richmiles/prism-rust

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prism: Scaling Bitcoin by 10,000x

Build Status

Rust implementation of the Prism consensus protocol.

Paper

Prism: Scaling Bitcoin by 10,000x [full text]

Lei Yang (MIT CSAIL), Vivek Bagaria 📧 (Stanford University), Gerui Wang (UIUC) 📧, Mohammad Alizadeh (MIT CSAIL), David Tse (Stanford University), Giulia Fanti (CMU), Pramod Viswanath (UIUC)

Abstract: Bitcoin is the first fully decentralized permissionless blockchain protocol and achieves a high level of security: the ledger it maintains has guaranteed liveness and consistency properties as long as the adversary has less compute power than the honest nodes. However, its throughput is only 7 transactions per second and the confirmation latency can be up to hours. Prism is a new blockchain protocol which is designed to achieve a natural scaling of Bitcoin's performance while maintaining its full security guarantees. We present an implementation of Prism which achieves a throughput of 70,000 transactions per second and confirmation latencies of tens of seconds.

Build

This project requires Rust nightly because some of our dependencies rely on nightly-only features like inline assembly.

To build the binary, run cargo build --release. The first build could take several mintues, mostly due to building RocksDB.

Testbed and Reproducing

The scripts used in the evaluation section of the paper are located in /testbed. /testbed/README.md provides instructions for running the experiments and reproducing the results. Or, watch the screencast for a quick demo

asciicast

About

Rust implementation of the Prism consensus protocol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 71.6%
  • Go 11.8%
  • Shell 8.1%
  • JavaScript 4.7%
  • Python 3.5%
  • HTML 0.3%