Mikhail Nesterenko

2papers

2 Papers

1.0DCMay 8
QUANTAS 2 An Abstract, Concrete and Byzantine Simulator

Mikhail Nesterenko, Joseph Oglio

We present QUANTAS 2: a new distributed algorithm simulator and quantitative performance analysis tool. We use the original QUANTAS as a foundation. QUANTAS 2 can perform fast abstract exploration, concrete validation, and adversarial fault injection while preserving a compact implementation model for distributed algorithm researchers. The original QUANTAS was designed as an abstract, round-based simulator, which allows researchers to separate algorithmic behavior from the artifacts of a particular operating system, network stack, or physical deployment. QUANTAS 2 extends that design in two directions. First, QUANTAS 2 supports a concrete socket-based execution mode, allowing the same algorithm implementations and JSON experiment descriptions to run across local or distributed computers. Second, QUANTAS 2 adds a reusable Byzantine-fault interface in which Byzantine behavior is encoded as composable fault strategy that substitutes correct sends, receives, and local computation. This allows researchers to simulate crash, equivocation, selfish-mining, and other adversarial behaviors without rewriting the simulated algorithm. We demonstrate the resulting platform on blockchain, consensus, distributed hash table, and reliable data link algorithms. We perform parasite-chain sweeps for proof-of-work blockchains, PBFT equivocation experiments, Raft crash experiments, and Chord/Kademlia scale experiments over both abstract and concrete modes.

DCJul 30, 2019
Blockguard: Adaptive Blockchain Security

Shishir Rai, Kendric Hood, Mikhail Nesterenko et al.

We consider the problem of varying the security of blockchain transactions according to their importance. This adaptive security is achieved by using variable size consensus committees. To improve performance, such committees function concurrently. We present two algorithms that allow adaptive security by forming concurrent variable size consensus committees on demand. One is based on a single joint blockchain, the other is based on separate sharded blockchains. For in-committee consensus, our algorithms may use various available byzantine-robust fault tolerant algorithms (BFT). We implement synchronous BFT, asynchronous BFT and proof-of-work consensus. We thoroughly evaluate the performance of our adaptive security algorithms.