Decentralized Thoughts is a group blog on decentralization, by decentralized thinkers, for decentralized thoughts, of decentralized matters. Decentralized Thoughts is a group blog on decentralization, by decentralized thinkers, for decentralized thoughts, of decentralized matters.

Flavours of State Machine Replication

State Machine Replication is a fundamental approach in distributed computing for building fault tolerant systems. This post is a followup to our basic post on Fault Tolerant State Machine Replication. [Read More]
Tags: SMR

Flavours of Broadcast

What is the difference between broadcast, crusader broadcast, gradecast, weak broadcast, detectable broadcast, and broadcast with abort? This post is a follow up to our basic post on: What is Broadcast? [Read More]

Consensus for State Machine Replication

We introduced definitions for consensus, Byzantine Broadcast (BB) and Byzantine Agreement (BA), in an earlier post. In this post, we discuss how consensus protocols are used in State Machine Replication (SMR), a fundamental approach in distributed computing for building fault-tolerant systems. We compare and contrast this setting to that of traditional BB and BA. A follow-up post discusses the reductions from one abstraction to the other in the omission failure... [Read More]
Tags: consensus SMR

Flavours of Partial Synchrony

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]
Tags: dist101 models

Dont Trust. Verify. and Checkpoint?

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]
Tags: blockchain

Byzantine Agreement is Impossible for $n \leq 3 f$ if the Adversary can Simulate

The Fischer, Lynch, and Merritt, 1985 lower bound states that synchronous Byzantine agreement is impossible if the adversary controls $f>n/3$ parties. It is well known that this lower bound holds in the unauthenticated setting and does not hold in a setting with a PKI setup. Naively, one might think that the lower bound always holds if there is no PKI setup, but Nakamoto consensus shows that this is not the... [Read More]
Tags: lowerbound

What is Consensus?

Consensus broadly means different parties reaching agreement. In distributed computing, Consensus is a core functionality. In this post, we define the consensus problem and its variants. [Read More]
Tags: consensus101

The threshold adversary

In addition to limiting the adversary via a communication model synchrony, asynchrony, or partial synchrony, we need a way to limit the adversary’s power to corrupt parties. [Read More]
Tags: dist101 models

The power of the adversary

After we fix the communication model, synchrony, asynchrony, or partial synchrony, and a threshold adversary there are still five important modeling decisions regarding the adversary’s power: [Read More]
Tags: dist101 models

Where do I even start?

I have been wanting to start a blog for a long time. Here we go!