Flavours of Partial Synchrony
Posted on September 13, 2019, by Ittai Abraham
This is a follow-up post to the post on Synchrony, Asynchrony and Partial synchrony. The partial synchrony model of DLS88 comes in two flavors: GST and Unknown Latency. In this post we discuss:
[Read More]
Dont Trust. Verify. and Checkpoint?
Posted on September 13, 2019, by Ittai Abraham
Imagine that that Aliens land on earth with a new superfast SHA256 machine. Imagine this machine always gives them more than 51% of the current world Bitcoin hash power (but not enough hash power to completely break SHA256). Suppose they decide to build a chain from the Bitcoin Genesis block that is longer than any other chain on earth and put only empty blocks on it. Could they erase all...
[Read More]
The Dolev and Reischuk Lower Bound: Does Agreement need Quadratic Messages?
Posted on August 16, 2019, by Kartik Nayak, Ittai Abraham
How scalable is Byzantine agreement? Specifically, does solving agreement require the non-faulty parties to send a quadratic number of messages (in the number of potential faults)? In this post, we highlight the Dolev and Reischuk lower bound from 1982 that addresses this fundamental question.
[Read More]
Byzantine Agreement is Impossible for $n \leq 3 f$ if the Adversary can Simulate
Posted on August 2, 2019, by Kartik Nayak, Ittai Abraham
The Fischer, Lynch, and Merritt, 1985 lower bound states that Byzantine agreement is impossible if the adversary controls $f>n/3$ parties. It is well known that this lower bound does not hold if there is a PKI setup.
[Read More]
The Trusted Setup Phase
Posted on July 19, 2019, by
co-authored with Avishay Yanai
[Read More]
Do Bitcoin and Ethereum have any trusted setup assumptions?
Posted on July 18, 2019, by Ittai Abraham, Alin Tomescu, Avishay Yanai
What is Consensus?
Posted on June 27, 2019, by Kartik Nayak, Ittai Abraham
We all broadly understand “consensus” as the notion of different parties agreeing with each other. In distributed computing, Consensus is one of the core functionalities. In this post, we define the consensus problem and discuss some variants and their differences.
[Read More]
Byzantine Agreement is impossible for $n \leq 3 f$ under partial synchrony
Posted on June 25, 2019, by Kartik Nayak, Ittai Abraham
Lower bounds in distributed computing are very helpful. Obviously, they prevent you from wasting time trying to do impossible things :-). Even more importantly, understanding them well often helps in finding ways to focus on what is optimally possible or ways to circumvent them by altering the assumptions or the problem formulation.
[Read More]
What is the difference between PBFT, Tendermint, SBFT and HotStuff ?
Posted on June 23, 2019, by Ittai Abraham
In this post I will try to compare four of my favorite protocols for Byzantine Fault Tolerant (BFT) State Machine Replication (SMR):
[Read More]
The threshold adversary
Posted on June 17, 2019, by Ittai Abraham
In addition to limiting the adversary via a communication model synchrony, asynchrony, or partial synchrony, we need some way to limit the power of the adversary to corrupt parties.
[Read More]
The power of the adversary
Posted on June 7, 2019, by Ittai Abraham
After we fix the communication model, synchrony, asynchrony, or partial synchrony, and a threshold adversary we still have 5 important modeling decisions about the adversary power:
[Read More]
Synchrony, Asynchrony and Partial synchrony
Posted on June 1, 2019, by Ittai Abraham
In the standard distributed computing model, the communication uncertainty is captured by an adversary that can control the message delays. The communication model defines the limits to the power of the adversary to delay messages.
[Read More]
Where do I even start?
Posted on May 31, 2019, by Ittai Abraham
I have been wanting to start a blog for a long time. Here we go!