Serializability and Heterogeneous Trust from Two Phase Commit to Blockchains
Sheff, Isaac Cameron
As distributed systems become more federated and cross-domain, we are forced to rethink some of our core abstractions. We need heterogeneous systems with rigorous consistency and self-authentication guarantees, despite a complex landscape of security and failure tolerance assumptions. I have designed, built, and evaluated heterogeneous distributed algorithms with broad applications from medical privacy to blockchains. This dissertation examines three novel building blocks for this vision. First, I show that serializable transactions cannot always be securely scheduled when data has different levels of confidentiality. I have identified a useful subset of transactions that can always be securely scheduled, and built a system to check and execute them. Second, I present Charlotte, a heterogeneous system that supports composable Authenticated Distributed Data Structures (like Git, PKIs, or Bitcoin). I show that Charlotte produces significant performance improvements compared to a single, universally trusted blockchain. Finally, I develop a rigorous generalization of the consensus problem, and present the first distributed consensus which tolerates heterogeneous failures, heterogeneous participants, and heterogeneous observers. With this consensus, cross-domain systems can maintain ADDSs, or schedule transactions, without the expensive overhead that comes from tolerating the sum of everyone’s fears.
transactions; Distributed systems; blockchain; Computer science; Security; consensus; Programming Languages
Myers, Andrew C.
Van Renesse, Robbert; Falk, Oren
Ph.D., Computer Science
Doctor of Philosophy
Attribution 4.0 International
dissertation or thesis
Except where otherwise noted, this item's license is described as Attribution 4.0 International