Isaac Sheff

Isaac Sheff

Principal Research Scientist

Heliax

Biography

The future is distributed, cross-domain, full of complex trust and failure tolerance, and that's where I want to be. My research is primarily in distributed systems, with emphasis on security and heterogeneous trust. I design distributed protocols and algorithms with strong guarantees, real implementations, and broad applications from medical privacy to blockchains.

I am a Principal Research Scientist working with Heliax, on advanced protocols for tracking and maintaining integrity in cross-domain applications. My current research includes heterogeneous broadcast and consensus protocols enabling atomic transactions across state machines with overlapping (but distinct) trust models. I am also working on a technique for tracking (and boosting) the integrity of unique objects as they transfer between trust domains: Controller Tags with Attestations.

Interests

  • Distributed Systems
  • Consensus
  • Heterogeneous Trust
  • Programming Languages

Education

  • Ph.D. in Computer Science, 2019

    Cornell University

  • MSc in Computer Science, 2016

    Cornell University

  • BSc in Computer Science, 2012

    California Institute of Technology

Experience

Principal Research Scientist

Heliax

February 2022 – PresentRemote
I study distributed protocols in heterogeneous trust settings. I work with mathematicians and engineers to open new doors for product development, and ensure products provide strong, well-defined guarantees for customers.

Postdoctoral Researcher

The Max Planck Institute for Software Systems

September 2019 – February 2022Saarbrü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 ProofLoc 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 2017Burlington, 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 2019Ithaca, 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

Google

June 2012 – August 2012Los 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 2011Pasadena, 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.

Publications In Progress

Consistent histories: enforcing linearity and excluding double-spending amongst collaborating controllers

In a distributed system, a linear resource (such as a token or permission) fundamentally requires some state machine to define its current state (including whether or not it has been consumed). Interoperable applications benefit from moving resources between these state machines, which we call controllers. Here we develop a mathematical formalization of controllers, and a new primitive called attestation, in which one controller checks another. With this framework, we tag resources that move between controllers, so users can know if some collection of resources violate linearity (contain the results of both sides of a double-spend). Our technique generalizes existing practices, such as token wrapping. The focus of this work is on the mathematical framework and theorems that ensure the safety properties of resource tags.

Cross-Domain Integrity With Controller Tags and Attestation

Here we design rules and procedures for a multi-controller ecosystem, featuring mutable digital objects that move between controllers. Each object carries a tag, with which users can judge whether the object’s history is serializable, based on their own trust assumptions. These generalize token wrapping for arbitrary computation objects. In a sense, these tags represent a distributed taint tracking or dynamic information flow control solution. The challenge is to produce a tagging system that is composable (requires only local information to create or update an object using others), and voids a state explosion (or state that must grow in size with history). A key feature is the ability to reduce tags, to remove the need to trust a controller in to know the object is serializable. Our reduction technique is local, non-blocking, and the bulk of the work can be amortized.

Heterogeneous trust in reliable broadcast via modal logic and history structures

We develop a novel modal logic and semantics for specifying and proving properties of distributed full-information-transfer protocols (protocols that broadcast state to all participants in a distributed system). We use this to design and prove correctness of novel generalisations of Bracha’s ‘reliable broadcast’ algorithm to a heterogeneous trust setting (where distinct participants may have distinct trust assumptions); and the maths has been mechanically formalised and checked.

ProofLoc: Robust Location Proofs in Hindsight

ProofLoc infers a bounded area within which a device must have been at a given time, with no deployed infrastructure. It uses uploaded movement trajectories, short-range radio (BLE) contacts with nearby devices, and transportation-network constraints. Crucially, ProofLoc defends against attacks where an adversary creates fake devices and fake trajectories to corroborate false claims: it builds a graph of device encounters and uses random-walk-based methods (specifically, a variant of TrustRank) to distinguish fake devices from real ones. This relates to questions 1 and 2 of my MPI-SWS work.

Technical Reports

Anoma State Architecture

I designed a state layout for the Anoma virtual machine, designed to maximize concurrency for serializable transactions. It facilitates both transparent and shielded updates using general-purpose anoma resource machine resources. It is intended to be used with the proposed Typhon replicated state machine system.

Heterogeneous Narwhal and Paxos

We explore generalizing the Narwhal Mempool for a heterogeneous setting using a learner graph, and achieve total ordering using Heterogeneous Paxos.

A Web of Blocks

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

Blockchains offer a useful abstraction: a trustworthy, decentralized log of totally ordered transactions. Traditional blockchains have problems with scalability and efficiency, preventing their use for many applications. These limitations arise from the requirement that all participants agree on the total ordering of transactions. To address this fundamental shortcoming, we introduce Charlotte, a system for maintaining decentralized, authenticated data structures, including transaction logs. Each data structure – indeed, each block – specifies its own availability and integrity properties, allowing Charlotte applications to retain the full benefits of permissioned or permissionless blockchains. In Charlotte, a block can be atomically appended to multiple logs, allowing applications to be interoperable when they want to, without inefficiently forcing all applications to share one big log. We call this open graph of interconnected blocks a blockweb. We allow new kinds of blockweb applications that operate beyond traditional chains. We demonstrate the viability of Charlotte applications with proof-of-concept servers running interoperable blockchains. Using performance data from our prototype, we estimate that when compared with traditional blockchains, Charlotte offers multiple orders of magnitude improvement in speed and energy efficiency.

Distributed Protocols and Heterogeneous Trust

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

The robustness of distributed systems is usually phrased in terms of the number of failures of certain types that they can withstand. However, these failure models are too crude to describe the different kinds of trust and expectations of participants in the modern world of complex, integrated systems extending across different owners, networks, and administrative domains. Modern systems often exist in an environment of heterogeneous trust, in which different participants may have different opinions about the trustworthiness of other nodes, and a single participant may consider other nodes to differ in their trustworthiness. We explore how to construct distributed protocols that meet the requirements of all participants, even in heterogeneous trust environments. The key to our approach is using lattice-based information flow to analyse and prove protocol properties. To demonstrate this approach, we show how two earlier distributed algorithms can be generalized to work in the presence of heterogeneous trust: first, Heterogeneous Fast Consensus, an adaptation of the earlier Bosco Fast Consensus protocol; and second, Nysiad, an algorithm for converting crash-tolerant protocols to be Byzantine-tolerant. Through simulations, we show that customizing a protocol to a heterogeneous trust configuration yields performance improvements over the conventional protocol designed for homogeneous trust.

Webcomic Author Identification

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 present a method for identifying the authorship of online visual media. Leveraging webcomics as a source of large numbers of images from the same author, we train learning algorithms to classify imagery from ten different webcomics. We propose a set of hand-coded image features, motivated by the various artistic elements, from color palette to line style, that are considered by the author. In so doing, we aim to learn classifications that robustly generalize to new samples of the same comics and which capture similar judgments of style as are made by human viewers. We evaluate the accuracy of our system using various learning algorithms, finding that it successfully classifies novel samples with up to 94% accuracy. To test whether the judgments of our system correspond to human perceptions of composition and style, we use our trained system to classify imagery from untrained webcomics and qualitatively evaluate the similarity of the untrained comics to their returned classifications.

Stable Paxos

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

Paxos is a family of widely adopted distributed, crash-failure tolerant consensus protocols. While it can be proven correct, it is by not guaranteed to operate at a steady rate. While it is true that no fault-tolerant deterministic consensus protocol can be sure to arrive at any decision in finite time, certain real-world concessions are often made to at least bound delays. Under certain conditions, however, an otherwise reliable and speedy implementation of Paxos can delay dramatically. For example, if a small group of “acceptor” processes acts slower than the majority, they can find themselves with a backlog of old inputs to process should they ever be needed for a quorum. If the delay is in the line of communication, a such backlog is avoidable by replacing traditional FIFO channels (such as TCP) with channels more likely to deliver recent requests, even while older ones are in transit. If the acceptors themselves are queueing up information to process, a leader can increase the speed and stability of the protocol by sending proposals first to a quorum of acceptors which have been fastest recently, and to the remainder only if necessary. We provide a theoretical basis for quantifying these problems, as well as a test implementation demonstrating such delays as well as these solutions.

Branching Messaging for Anonymous Communication

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

We consider anonymous communication between pairs of nodes in the presence of an adversary who can observe all network traffic. Existing schemes involve partially trusted central servers, a large amount of cover traffic, or high latency. We propose a scheme which improves upon the trade-off, in which messages require only logarithmic time to deliver, as well as computational time to send. In this scheme, any node receiving a message applies a private decryption key to discover content, or instructions to forward the message to zero or more other nodes. Furthermore, when a node applies its decryption key to a message not encrypted with that node’s encryption key, the result is indistinguishable from a message with forwarding instructions. A sender wraps a message in an onion route of logarithmic length, branching (forwarding to multiple nodes) at random points, resulting in a tree of forwarded messages. Nodes wait to initiate messages of their own until they have received a message, so it is indistinguishable whether they are sending or forwarding. Through analysis and simulation, we show this system preserves a high degree of sender and receiver anonymity, as well as unlinkability between communicating pairs.

NuSIM

Contributions to the simulator used to compensate for the effect of thermal variations on the NuSTAR space telescope.

The NuSTAR (Nuclear Spectroscopic Telescope ARray) spacecraft, set to launch in February 2012, will be capable of performing some of the most detailed X-Ray astronomical observations ever made in the 5-80 keV energy range. The source positioning accuracy of the telescope is limited by the ability to correct for thermal distortions and movement of the optics relative to the focal plane, as well as the overall aspect of the optics bench. These are more than average for space-based observatories, because a ten meter deployable mast, utilized to reduce the size of the launch vehicle, allows for significant thermal distortions. In order to predict the on-orbit performance of the instrument, the NuSTAR team has developed NuSIM, a software based simulation of NuSTAR. My SURF has consisted mainly of the generation of parametrically-changing databases of the mast geometry in order to interrogate the robustness of the on-orbit accuracy of the science system’s data reconstruction algorithms within NuSIM. This method has been used to test the Finite Element Model (FEM) simulation results of the observatory’s structure, by using a conceptual model of the mast geometry. Furthermore, I have explored additional possible sources of error, such as calculating light scattering from the simulated optics. This project has contributed to the verification of key science requirements of NuSTAR in advance, most notably the level one requirement on localization of a point source in celestial coordinates.

Lunar Web Registry Service Under OpenGIS Specifications

Tools for converting between lunar coordinate systems for a JPL lunar satellite data server.

Talks

Controller Tags for Cross-Chain Integrity

A work-in-progress talk for our controller tags research.
10 December 2025Anoma Day
Controller Tags for Cross-Chain Integrity

Store, Order, Execute

A proposed next-generation architecture for blockchains with high throughput and unlimited concurrency, supporting serializability for (mostly) arbitrary state machines.
8 March 2025Anoma Research Day
Store, Order, Execute

Chimera Chains: Cross-Domain Atomic Commits Using Heterogeneous Paxos

Chimera Chains are a technique for cross-domain atomic transactions making use of Heterogeneous Consensus. Chimera chains do not have the liveness blocks or multi-round requirements of multi-phase commits. Instead they use overlapping trust assumptions to commit directly to multiple state machines simultaneously.
Chimera Chains

Typhon, Chimera Chains, and Multi-Chain Atomic Transactions

A work-in-progress talk laying out the vision for our Typhon ordering and execution stack, and how chimera chains can enable cross-chain atomic transactions between chains using Typhon.
28 July 2022Nebular SummitParis
Typhon, Chimera Chains, and Multi-Chain Atomic Transactions

Heterogeneous Paxos

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

In distributed systems, a group of learners achieve consensus when, by observing the output of some acceptors, they all arrive at the same value. Consensus is crucial for ordering transactions in failure-tolerant systems. Traditional consensus algorithms are homogeneous in three ways:

  • all learners are treated equally,
  • all acceptors are treated equally, and
  • all failures are treated equally.

These assumptions, however, are unsuitable for cross-domain applications, including blockchains, where not all acceptors are equally trustworthy, and not all learners have the same assumptions and priorities. We present the first consensus algorithm to be heterogeneous in all three respects. Learners set their own mixed failure tolerances over differently trusted sets of acceptors. We express these assumptions in a novel Learner Graph, and demonstrate sufficient conditions for consensus. We present Heterogeneous Paxos: an extension of Byzantine Paxos. Heterogeneous Paxos achieves consensus for any viable Learner Graph in best-case three message sends, which is optimal. We present a proof-of-concept implementation, and demonstrate how tailoring for heterogeneous scenarios can save resources and latency.

Heterogeneous Paxos

Multi-Chain Transactions (with Demo)

With Charlotte, we can append one block onto multiple blockchains, solving the atomic commit problem.

With Charlotte, we can append one block onto multiple blockchains, solving the atomic commit problem. In this brief demo, we append a block to two chains, each running a 4-participant byzantine consensus algorithm. This demo uses our Heterogeneous Consensus algorithm.

Multi-Chain Transactions

S.C.A.I.f. Block-Webs with Charlotte

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

Scalability, Confidentiality, Availability, & Integrity for Block-Webs with Charlotte

Charlotte is a framework for block-based distributed systems, such as Blockchains. The core idea is to separate Storage from Consensus: not all servers need store all blocks. By nature, when blocks refer to each other by hash, they form a DAG, but most applications want a more specific data structure than any old DAG (for example, a chain). Each data structure therefore requires a set of Integrity servers to decide which blocks belong. References to blocks contain attestations from storage servers that they are available, as well as attestations from Integrity servers. Charlotte provides the flexibility to make block-webs more scalable, confidential, available, and trustworthy than any one blockchain.

Charlotte

Heterogeneous Consensus

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

The Heterogeneous Consensus project has invented and implemented a Consensus algorithm in which not all participants agree on who may fail, and how. It is the first consensus with:

  • Heterogeneous Failures: mixed Crash and Byzantine failures.
  • Heterogeneous Participants: not all participants are symmetric (notf out of n participants”).
  • Heterogeneous Observers: not everyone agrees on the acceptable failure conditions (although there are definitely limits).

We in some ways resemble the Stellar project, but our algorithm tolerates mixed Byzantine and Crash failures, one message-send lower latency, and a different model of Observers and Participants. This talk is for a blockchain audience, and discusses private, consortium-based blockchain applications for Heterogeneous Consensus.

Heterogeneous Consensus

Safe Serializable Secure Scheduling

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

Modern applications often operate on data in multiple administrative domains. In this federated setting, participants may not fully trust each other. These distributed applications use transactions as a core mechanism for ensuring reliability and consistency with persistent data. However, the coordination mechanisms needed for transactions can both leak confidential information and allow unauthorized influence.

By implementing a simple attack, we show these side channels can be exploited. However, our focus is on preventing such attacks. We explore secure scheduling of atomic, serializable transactions in a federated setting. While we prove that no protocol can guarantee security and liveness in all settings, we establish conditions for sets of transactions that can safely complete under secure scheduling. Based on these conditions, we introduce staged commit, a secure scheduling protocol for federated transactions. This protocol avoids insecure information channels by dividing transactions into distinct stages. We implement a compiler that statically checks code to ensure it meets our conditions, and a system that schedules these transactions using the staged commit protocol. Experiments on this implementation demonstrate that realistic federated transactions can be scheduled securely, atomically, and efficiently.

Safe Serializable Secure Scheduling

Abort Channels

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

This is an earlier, and more detailed version of our CCS Talk.

Modern applications often operate on data in multiple administrative domains. In this federated setting, participants may not fully trust each other. These distributed applications use transactions as a core mechanism for ensuring reliability and consistency with persistent data. However, the coordination mechanisms needed for transactions can both leak confidential information and allow unauthorized influence.

By implementing a simple attack, we show these side channels can be exploited. However, our focus is on preventing such attacks. We explore secure scheduling of atomic, serializable transactions in a federated setting. While we prove that no protocol can guarantee security and liveness in all settings, we establish conditions for sets of transactions that can safely complete under secure scheduling. Based on these conditions, we introduce staged commit, a secure scheduling protocol for federated transactions. This protocol avoids insecure information channels by dividing transactions into distinct stages. We implement a compiler that statically checks code to ensure it meets our conditions, and a system that schedules these transactions using the staged commit protocol. Experiments on this implementation demonstrate that realistic federated transactions can be scheduled securely, atomically, and efficiently.

Abort Channels

Secure Distributed Transactions

An earlier, work-in-progress version of our CCS Talk.

This is an earlier, work-in-progress version of our CCS Talk.

Modern applications often operate on data in multiple administrative domains. In this federated setting, participants may not fully trust each other. These distributed applications use transactions as a core mechanism for ensuring reliability and consistency with persistent data. However, the coordination mechanisms needed for transactions can both leak confidential information and allow unauthorized influence.

We explore secure scheduling of atomic, serializable transactions in a federated setting. While we prove that no protocol can guarantee security and liveness in all settings, we establish conditions for sets of transactions that can safely complete under secure scheduling. Based on these conditions, we introduce staged commit, a secure scheduling protocol for federated transactions. This protocol avoids insecure information channels by dividing transactions into distinct stages.

17 August 2015Cornell PL RetreatHighland Lodge, Trumansburg
Secure Distributed Transactions

Distributed Protocols and Heterogeneous Trust

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

This work-in-progress talk explores richer notions of failure expressible using the Decentralized Label Model for Availability and Integrity. We generalize failure tolerance to encompass mixed failures, survivor and failure-prone sets, and participants with different trust assumptions.

16 May 2014Cornell PL RetreatHighland Lodge, Trumansburg
Distributed Protocols and Heterogeneous Trust