Bitcoin was the first decentralized consensus protocol, but it was different from traditional Byzantine fault-tolerant (BFT) protocols. Bitcoin prioritized decentralization and liveness over safety, allowing for forks and probabilistic finality. BFT protocols, on the other hand, prioritize safety and typically stop producing blocks in the event of a network split. Bitcoin's consensus is achieved through mining and the longest chain rule. Safety in consensus means that participants agree on a chain of blocks, while liveness ensures that new blocks can be produced. BFT protocols are of interest in the blockchain context due to Bitcoin's limited transaction capacity. In this part of the conversation, Mathieu explains the security and speed considerations in Bitcoin and BFT protocols. He discusses how increasing the size of blocks in Bitcoin can degrade security and the annoyance of probabilistic finality. He also highlights the high energy consumption of Bitcoin mining. Mathieu then explains the difference between crash-resistant protocols like Paxos and Raft and BFT protocols like PBFT. He discusses the assumptions made in BFT protocols and the trade-offs between safety and liveness. Mathieu also explains the different network models, including asynchronous, synchronous, and partially synchronous, and their impact on the protocols. Finally, he provides an overview of reliable broadcast and consensus protocols, including the role of leaders and the importance of certificates. The conversation explores the complexity of view changes in consensus protocols and the renaissance of asynchronous protocols. It discusses the use of leader rotation and locking values in consensus protocols. The conversation also delves into the concept of user chains and microchains in the Linear framework, highlighting the benefits of parallel chains for scalability and fast reading from the blockchain. It touches on the idea of consensus as a service and the potential applications of Linear as a layer 2 solution. The conversation concludes with a discussion on the need for consensus in blockchains and the use of FastPay for payments and atomic swaps.
keywords: Bitcoin, consensus protocol, decentralized, BFT protocols, safety, liveness, mining, longest chain, probabilistic finality, network split, transaction capacity, Bitcoin, BFT protocols, security, speed, block size, probabilistic finality, mining, crash-resistant protocols, Paxos, Raft, BFT, network models, asynchronous, synchronous, partially synchronous, reliable broadcast, consensus protocols, leaders, certificates, view changes, consensus protocols, asynchronous protocols, leader rotation, locking values, user chains, microchains, Linear framework, parallel chains, scalability, fast reading, consensus as a service, layer 2, FastPay, payments, atomic swaps
00:00 Introduction
01:30 Bitcoin: The First Decentralized Consensus Protocol
12:14 Consensus in Bitcoin: Mining and the Longest Chain Rule
18:29 The Trade-Off Between Safety and Liveness in Bitcoin
21:20 Understanding Safety and Liveness in BFT Protocols
24:19 BFT Protocols: A Solution for Blockchain's Transaction Capacity
26:53 The Security Considerations in Bitcoin
31:12 The Difference Between Crash-Resistant and BFT Protocols
37:24 The Impact of Network Models on BFT Protocols
54:36 Reliable Broadcast and Consensus Protocols
01:04:35 The Role of Leaders and View Change in BFT Protocols
01:08:21 Exploring the Complexity of View Changes and Leader Rotation in Consensus Protocols
01:10:20 The Renaissance of Asynchronous Protocols and the Use of Leader Rotation
01:15:05 User Chains and Microchains: Scalability and Fast Reading from the Blockchain
01:17:59 Linear as a Layer 2 Solution and Consensus as a Service
01:24:26 FastPay: A Simple and Decentralized Payment System
01:30:25 Atomic Swaps and Escrowed Assets in Linear