Decentralized ThoughtsDecentralized thoughts about decentralization
https://decentralizedthoughts.github.io
What are Blockchains Useful for, Really?
Blockchains, or the decentralized ledger, are touted as the next big disruptive technology, as big as the Internet was in the 90s. What are these blockchains useful for, really? While there are relevant use cases, many examples people use that are either far too academic to be useful or are...
Thu, 12 Jan 2023 00:00:00 -0500
https://decentralizedthoughts.github.io/2023-01-12-what-are-blockchains-useful-for-really/
https://decentralizedthoughts.github.io/2023-01-12-what-are-blockchains-useful-for-really/Pairing-based Anonymous Credentials and the Power of Re-randomization
David Chaum wrote in 1985: Large-scale automated transaction systems are imminent. The architecture chosen for these systems may have a long-term impact on the centralization of our economic system, on some of our basic liberties, and even on our democracy. The initial choice of direction will gather economic and societal...
Sun, 08 Jan 2023 04:00:00 -0500
https://decentralizedthoughts.github.io/2023-01-08-re-rand-cred/
https://decentralizedthoughts.github.io/2023-01-08-re-rand-cred/Player Replaceability - Towards Adaptive Security and Sub-quadratic Communication Simultaneously (Part II)
This is part II of a two-part post on player-replaceability. Part I can be found here. Towards Adaptive Security for a Committee-based Protocol The protocol described in the previous post achieved sub-quadratic communication. At a high-level, the key idea is to randomly sample an appropriate number parties in a committee,...
Thu, 05 Jan 2023 00:00:00 -0500
https://decentralizedthoughts.github.io/2023-01-05-player-replaceability-II/
https://decentralizedthoughts.github.io/2023-01-05-player-replaceability-II/Player Replaceability - Towards Adaptive Security and Sub-quadratic Communication Simultaneously (Part I)
This is part I of a two-part post on the concept of player-replaceability. In Nakamoto consensus, proof-of-work (PoW) provides us with an interesting set of properties with respect to the adaptivity of the adversary: Unpredictability. Block winners are elected uniformly at random proportional to their computation power, thus, an adversary...
Thu, 05 Jan 2023 00:00:00 -0500
https://decentralizedthoughts.github.io/2023-01-05-player-replaceability-I/
https://decentralizedthoughts.github.io/2023-01-05-player-replaceability-I/Responsiveness under omission failures
In this post, we discuss log replication responsiveness in the context of omission failures. We show how to transform the protocol in our previous post to a multi-shot version of Paxos for omission faults. The Byzantine failure case uses similar ideas and is covered in the next post of this...
Tue, 27 Dec 2022 08:00:00 -0500
https://decentralizedthoughts.github.io/2022-12-27-responsiveness-omission/
https://decentralizedthoughts.github.io/2022-12-27-responsiveness-omission/Set Replication - fault tolerance without total ordering
While state machine replication is the gold standard for implementing any (public) ideal functionality, its power comes at the cost of needing to totally order all transactions and as a consequence solve (Byzantine) agreement. In some cases this overhead is unnecessary. In the non-byzantine setting, the fundamental observation that sometimes...
Tue, 27 Dec 2022 04:00:00 -0500
https://decentralizedthoughts.github.io/2022-12-27-set-replication/
https://decentralizedthoughts.github.io/2022-12-27-set-replication/What is Responsiveness?
In asynchronous protocols, latency to commit is a function of the actual maximum network delay $\delta$. In synchronous protocols, message delay is bounded by $\Delta$, and for $n/3 \leq f < n/2$, the $\Delta$ bound is used to obtain both safety and liveness. In partial synchrony, message delay is bounded...
Sun, 18 Dec 2022 04:00:00 -0500
https://decentralizedthoughts.github.io/2022-12-18-what-is-responsiveness/
https://decentralizedthoughts.github.io/2022-12-18-what-is-responsiveness/What about Validity?
Perhaps the architipical trilemma is consensus - it requires three properties: agreement, liveness, and validity. Getting any two is easy, but all three together is what makes consensus such a facinating problem that continues to create new challenges even after 40 years of research. A lot of research focuses on...
Mon, 12 Dec 2022 04:00:00 -0500
https://decentralizedthoughts.github.io/2022-12-12-what-about-validity/
https://decentralizedthoughts.github.io/2022-12-12-what-about-validity/Two Round HotStuff
In the first part of this post we describe a single-shot variation of Two Round HotStuff (see HotStuff v1 paper, march 2018 and this march 2018 post) using Locked Broadcast that follows a similar path as our previous posts on Paxos and Linear PBFT. In the second part, we describe...
Thu, 24 Nov 2022 04:00:00 -0500
https://decentralizedthoughts.github.io/2022-11-24-two-round-HS/
https://decentralizedthoughts.github.io/2022-11-24-two-round-HS/On PBFT from Locked Broadcast
PBFT is a foundational multi-year project lead by Barbara Liskov and her students, obtaining major advances in both the theory and practice of Byzantine Fault Tolerance. The PBFT conference version, journal version, Castro’s thesis, Liskov’s talk, and follow up work on BASE are all required reading for anyone who wants...
Sun, 20 Nov 2022 04:00:00 -0500
https://decentralizedthoughts.github.io/2022-11-20-pbft-via-locked-braodcast/
https://decentralizedthoughts.github.io/2022-11-20-pbft-via-locked-braodcast/From Single-Shot Agreement to State Machine Replication
In this post we explore the path from Single-Shot Agreement, via Write-Once Registers, to Log Replication, and finally to State Machine Replication. We begin by defining all four problems assuming minority omission failures and partial synchrony. This post continues our previous posts on Paxos from Recoverable Broadcast and on State...
Sat, 19 Nov 2022 04:00:00 -0500
https://decentralizedthoughts.github.io/2022-11-19-from-single-shot-to-smr/
https://decentralizedthoughts.github.io/2022-11-19-from-single-shot-to-smr/On Paxos from Recoverable Broadcast
There are so many ways to learn about the Paxos protocol (see Lampson, Cachin, Howard Howard 2, Guerraoui, Kladov, Krzyzanowski, Lamport, Wikipedia and many more), this post is one more way. The emphasis of this post is on a decomposition of Paxos for omission failures that will later help when...
Fri, 04 Nov 2022 05:00:00 -0400
https://decentralizedthoughts.github.io/2022-11-04-paxos-via-recoverable-broadcast/
https://decentralizedthoughts.github.io/2022-11-04-paxos-via-recoverable-broadcast/Provable Broadcast
We explore a family of broadcast protocols in the authenticated setting in which a designated sender wants to create a delivery-certificate of its input value. After describing the base protocol we call Provable Broadcast ($PB$), we explore the surprising power of simply running $PB$ two times in a row, then...
Sat, 10 Sep 2022 08:00:00 -0400
https://decentralizedthoughts.github.io/2022-09-10-provable-broadcast/
https://decentralizedthoughts.github.io/2022-09-10-provable-broadcast/What is a Blockchain?
TLDR: a Blockchain is a trusted coordination mechanism; Of course, the answer depends on who you ask :-) My 7-word answer: a blockchain is a trusted coordination mechanism. What is your definition of a blockchain? Reply with your 7-word answer on Twitter. My answer to this question evolved over the...
Mon, 05 Sep 2022 00:00:00 -0400
https://decentralizedthoughts.github.io/2022-09-05-what-is-a-blockchain/
https://decentralizedthoughts.github.io/2022-09-05-what-is-a-blockchain/Dining Cryptographers and the additivity of polynomial secret sharing
David Chaum’s dining cryptographer problem is a pioneering work on the foundations of privacy. It shows the amazing power of information-theoretic Secure Multi Party Computation. The original paper from 1988 is super accessible and fun to read. Many systems in the last 20 years for anonymity and privacy-preserving communication are...
Thu, 25 Aug 2022 08:00:00 -0400
https://decentralizedthoughts.github.io/2022-08-25-dining-cryptographers-additive/
https://decentralizedthoughts.github.io/2022-08-25-dining-cryptographers-additive/The BGW Verifiable Secret Sharing Protocol
In this post, we present the classic Ben-or, Goldwasser, and Wigderson, 1988 (BGW) Verifiable Secret Sharing protocol (VSS) with the simplifications of Feldman, 1988. The analysis and notation in this post are based on the full proof of the BGW MPC protocol of Asharov and Lindell. This post is a...
Wed, 24 Aug 2022 08:00:00 -0400
https://decentralizedthoughts.github.io/2022-08-24-BGW-secret-sharing/
https://decentralizedthoughts.github.io/2022-08-24-BGW-secret-sharing/Polynomial Secret Sharing with crash failures
We continue our series on polynomial secret sharing. In the previous post of this series we discussed secret sharing with a passive adversary. In this post we assume crash failures and in later posts we will extend to malicious failures. As before, we must assume parties have private channels: the...
Wed, 17 Aug 2022 08:00:00 -0400
https://decentralizedthoughts.github.io/2022-08-17-secret-sharing-with-crash/
https://decentralizedthoughts.github.io/2022-08-17-secret-sharing-with-crash/A new Dolev-Reischuk style Lower Bound
In a previous post we discussed Crusader Broadcast and showed a $O(n^2)$ words, $O(1)$ time solution for $f<n$ and assuming a PKI. In this post, we overview a new Dolev-Reischuk style bower bound (see our full paper): Theorem AS22: In any deterministic protocol solving Crusader Broadcast with $f<n$ Byzantine failures...
Sun, 14 Aug 2022 08:00:00 -0400
https://decentralizedthoughts.github.io/2022-08-14-new-DR-LB/
https://decentralizedthoughts.github.io/2022-08-14-new-DR-LB/He-HTLC - Revisiting Incentives in HTLC
Hashed Time-locked Contracts (HTLC) find many useful applications in the L2 Layer such as the lightning network and atomic swaps. In this post, we will focus on discussing protocols for implementing HTLC when taking into consideration incentives for parties in the system. We will discuss a line of work —...
Fri, 12 Aug 2022 01:00:00 -0400
https://decentralizedthoughts.github.io/2022-08-12-hehtlc/
https://decentralizedthoughts.github.io/2022-08-12-hehtlc/DAG Meets BFT - The Next Generation of BFT Consensus
This post explains in simple words a recent development in the theory and practice of directed acyclic graph-based (DAG-based) Byzantine Fault Tolerance (BFT) consensus, published in three prestigious peer-reviewed conferences, and currently being implemented by several Blockchain companies, e.g., Aptos, Celo, Mysten Labs, and Somelier. DAG-Rider: All You Need Is...
Tue, 28 Jun 2022 08:00:00 -0400
https://decentralizedthoughts.github.io/2022-06-28-DAG-meets-BFT/
https://decentralizedthoughts.github.io/2022-06-28-DAG-meets-BFT/