Shadow-Bitcoin: Scalable Simulation via Direct Execution of Multi-Threaded Applications
Abstract
We describe a new methodology that enables the direct execution of multi-threaded applications inside of Shadow, an existing parallel discrete-event network simulation framework. Our methodology utilizes function interposition and an application-layer thread library to emulate the ordinary thread interface to the application. Using this methodology, we implement a new Shadow plug-in that directly executes the Bitcoin reference client software. To demonstrate the usefulness of this tool, we present novel denial-of-service attacks against the Bitcoin software that exploit low-level implementation artifacts in the Bitcoin reference client; our deterministic simulator was helpful in developing and demonstrating these attacks. We describe optimizations that enable scalable execution of thousands of Bitcoin nodes on a single machine, and discuss how to model the Bitcoin network for experimental purposes.
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 10, 2015
- Accession Number
- AD1014820
Entities
People
- Andrew Miller
- Rob Jansen
Organizations
- United States Naval Research Laboratory