Senior Research Scientist


February 2022 – Present Remote
I am product lead on Typhon, a next-generation heterogeneous consensus protocol.

Postdoctoral Researcher

The Max Planck Institute for Software Systems

September 2019 – February 2022 Saarbrücken, Germany

I am working with Peter Druschel on the future of distributed systems.

I worked with Peter Druschel, Deepak Garg, Roberta De Viti, and many others on the ProLoc and CoVault projects, which seek to answer 4 questions:

  1. If we somehow had access to all GPS data and bluetooth encounters of modern smartphones, what useful applications could we create, beyond contact tracing?
  2. How do we prevent malicious devices from defrauding those applications?
  3. Precisely what queries / data accesses do we need to allow these applications and fraud protections?
  4. How do we implement these queries without a privacy nightmare?

Research Intern

Oracle Labs East

June 2016 – August 2017 Burlington, Massachusetts, USA
I worked with Mark Moir, Harold Carr, Maurice Herlihy, and others on experimental sharded blockchains using Haskell and the Tangaroa byzantine consensus algorithm.

Ph.D. Candidate

Cornell University

August 2012 – August 2019 Ithaca, New York, USA
While most of my time as a Ph.D. Student was devoted to research, I have also participated in teaching both undergraduate and masters students.

Software Engineering Intern


June 2012 – August 2012 Los Angeles, California, USA
I worked with Eric Wood, and the Active View team to keep Google-supported ads off policy-violating sites,gaining experience with MapReduce, Internet-Scale Datasets, C++, and large codebases.

Summer Undergraduate Research Fellow

The California Institute of Technology

June 2009 – August 2011 Pasadena, California, USA
I was awarded a $6,000 research fellowship three years running, and conducted research at Caltech and JPL in Astrophysics and Computer Science.


We present Charlotte, a framework for composable, Authenticated Distributed Data Structures (ADDSs), like blockchains, git, bittorrent, etc.

This report represents an earlier prototype implementation of the Charlotte framework.

We use the Decentralized Label Model to show how distributed algorithms, like Bosco and Nysiad, can be generalized from more complex trust environments.

With novel, carefully tuned features, neural nets, and SVMs, we were able to determine the author of samples from a group of ten webcomic artists with 94% accuracy.

We investigate some potential “slowdown” cases of the classic multi-Paxos algorithm, and developed some new variants to avoid them.

Since a message decrypted with the “wrong” key is pseudorandom, we build pseudorandom trees using onion routing with multiple forwarding addresses.

Contributions to NuSIM, a simulator for the NuSTAR space telescope, concerning how to compensate for thermal fluctuations in NuSTAR’s mast.

OpenGIS uses the EPSG registry to convert coordinate systems used by maps of Earth. Making something similar for the moon proved deceptively difficult.


The first consensus algorithm with heterogeneous failures, heterogeneous acceptors, and heterogeneous learners.

A work in progress talk about Scalability, Confidentiality, Availability, and Integrity for Block-Webs with the Charlotte Framework.

A work-in-progress talk about our Heterogeneous Consensus algorithm.

When not all data has the same security properties, distributed ACID transaction scheduling has surprising security consequences.

We present a successfully implemented attack on traditional atomic commit methods across trust domains.

We’ve been looking at modeling distributed system failures with information flow tools, and expressing heterogeneous trust.