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.

Open PDF

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

Tags

Communities of Interest

  • Cyber

DTIC Thesaurus Topics

  • Accuracy
  • Application Software
  • Blockchain
  • Computations
  • Computing System Architectures
  • Denial Of Service Attack
  • Lessons Learned
  • Measurement
  • Models
  • Network Protocols
  • Network Topology
  • Networks
  • North America
  • Operating Systems
  • Simulations
  • Simulators
  • Topology

Fields of Study

  • Computer science

Readers

  • Computational Modeling and Simulation
  • Cybersecurity.
  • Parallel and Distributed Computing.