
How Bitcoin Rewired a Classic Computer Science Problem (ft. Tim Roughgarden and Ittai Abraham)
Audio Summary
AI Summary
En 2007, un atelier avait pour but d'évaluer la praticité de la tolérance aux pannes byzantines, mais il y avait deux principales critiques : le manque de besoin perçu et les performances jugées horribles. La question n'était pas de savoir si les protocoles de consensus étaient pratiques, mais plutôt si une robustesse face à des pannes imprévisibles était réellement nécessaire, par opposition à de simples plantages.
Satoshi Nakamoto a compris cela, affirmant que l'aspect technique fondamental du Bitcoin réside dans la résolution de l'accord byzantin. De fait, toutes les grandes chaînes que nous connaissons utilisent une forme de tolérance aux pannes byzantines, notamment les protocoles de preuve d'enjeu (proof-of-stake).
Ces protocoles n'étaient pas très efficaces, avec des blocs toutes les 10 minutes. Pour servir des milliards de personnes ou gérer de grandes économies, il faut un "mode guerre" et un "mode paix". En mode paix, il n'y a pas de pannes. L'important est de pouvoir passer en mode guerre en cas d'attaque, pour surmonter une tentative massive de corruption du système.
Tim Roughgarden, responsable de la recherche chez a16z crypto et professeur à l'Université de Columbia, lance une série "First Principles" sur les racines scientifiques de la technologie blockchain. Cette série explore la convergence entre théorie et pratique, en traçant les idées fondatrices des systèmes distribués, de la confiance sans autorité centrale et de la vérification des calculs.
L'un des fils conducteurs est le consensus distribué : comment plusieurs machines peuvent-elles s'accorder sur un état partagé, même en présence de pannes et de comportements adverses ? Des concepts comme l'accord byzantin et la réplication d'état, développés il y a des décennies, sont au cœur de la blockchain moderne.
Ittai Abraham, chercheur chez a16z crypto et expert en protocoles de consensus byzantins, rejoint l'émission. Il a cofondé le projet blockchain de VMware et est l'auteur du blog "Decentralized Thoughts". Ensemble, ils exploreront le travail de Barbara Liskov et Leslie Lamport, des pionniers que l'on entendra dans les prochains épisodes.
Le travail de Lamport et Liskov, datant des années 80 et 90, bien avant Bitcoin (2008-2009), est fondamental. Bitcoin, en tant que protocole de consensus, a révolutionné le calcul distribué, l'économie et la cryptographie. Il a fallu des années pour que la communauté réalise que Bitcoin résolvait un problème académique central : l'accord byzantin, étudié depuis 40 ans. Nakamoto lui-même en était conscient.
Les protocoles de Liskov et Lamport sont des protocoles d'accord byzantin. Bitcoin résout ce problème dans un cadre différent, sans permission, avec une configuration plus petite, et orienté vers la cryptomonnaie et la cryptoeconomie. Mais fondamentalement, ils résolvent le même problème d'accord : des parties multiples avec des entrées différentes doivent s'accorder, même si une fraction d'entre elles agit de manière malveillante.
Dans le protocole Bitcoin, les mineurs doivent s'accorder. Ils font avancer le protocole en générant de nouveaux blocs via la preuve de travail. Certains mineurs peuvent tenter de subvertir le protocole, par exemple par une attaque de double dépense, créant des vues divergentes de la blockchain. Le consensus Nakamoto garantit une vue cohérente du registre, même si une fraction des mineurs est corrompue. C'est précisément ce qui a été étudié il y a 40 ans avec la réplication d'état et la tolérance aux pannes byzantines.
La réplication d'état est liée à l'accord. Le problème central est de s'accorder sur le contenu d'un journal (log), qui peut être une abstraction d'une blockchain. Chaque bloc contient un ensemble de commandes. L'objectif n'est pas seulement d'enregistrer, mais aussi d'exécuter ces commandes pour voir le résultat. C'est là qu'interviennent les langages de contrats intelligents ou de script comme Bitcoin script.
L'abstraction puissante de la réplication d'état, introduite par Leslie Lamport, permet aux clients d'interagir comme s'ils utilisaient une seule machine à états. Une machine à états est un système unique qui met à jour son état en réponse à des commandes. Dans le contexte d'une blockchain, l'état inclurait les soldes des cryptomonnaies et le stockage local des contrats intelligents. Par exemple, dans Bitcoin, l'envoi d'un paiement modifie l'état en supprimant un jeton pour l'expéditeur et en créant un nouveau sous la clé publique du destinataire.
Pendant longtemps, la recherche en calcul distribué (45 ans d'ancienneté) et la technologie blockchain (depuis 2009) ont évolué en parallèle. Cependant, ces deux domaines ont convergé ces cinq dernières années. Bitcoin a été une révolution, mais sa nature de solution à un problème académique difficile n'a été comprise que des années plus tard. Cette prise de conscience, vers 2016-2017, a conduit à relier Bitcoin au travail classique.
Les premiers protocoles comme Tendermint ont appliqué les protocoles classiques de tolérance aux pannes byzantines à la preuve d'enjeu. C'est la transition des protocoles basés sur la preuve de travail vers ceux basés sur la preuve d'enjeu qui a permis de mimer les effets de Bitcoin. Casper, le gadget de finalité d'Ethereum, apparu vers 2017, en est un autre exemple.
La preuve de travail et la preuve d'enjeu sont des mécanismes de résistance aux attaques sybilles. La preuve de travail (Bitcoin) est incompatible avec les techniques classiques de Lamport et Liskov. La preuve d'enjeu, pour des raisons environnementales ou d'évolutivité, débloque ces techniques. La transition d'Ethereum vers la preuve d'enjeu en 2022, sept ans après sa conception, montre la difficulté de ce problème.
L'idée que Bitcoin résolvait un problème académique bien établi d'une manière inédite a marqué la communauté. Il a fallu du temps pour que la tolérance aux pannes byzantines soit reconnue comme le cœur des blockchains. Depuis 2017, la recherche dans ce domaine a explosé, et aujourd'hui, toutes les grandes chaînes utilisent une version de la tolérance aux pannes byzantines.
La technologie blockchain a insufflé une nouvelle vie et des ressources à de nombreux domaines de l'informatique, comme les SNARKs, qui sont passés de concepts théoriques à des implémentations efficaces. Les protocoles de consensus, bien que toujours considérés comme pratiques, ont été "surboostés" par les blockchains, qui constituent une application de très grande valeur.
En 2007, un atelier se demandait si la tolérance aux pannes byzantines était pratique. À l'époque, des entreprises comme Google utilisaient des versions non byzantines (protocoles de type Paxos), jugées plus efficaces. On pensait que la tolérance byzantine était trop lente et coûteuse. Cependant, les performances se sont améliorées de manière exponentielle.
Ces cinq dernières années, la communauté blockchain a apporté des innovations notables dans les protocoles de consensus, visant un débit plus élevé et une latence plus faible. Un débit élevé est nécessaire pour accommoder de nombreuses transactions à faible coût, tandis qu'une faible latence assure des exécutions quasi instantanées.
Les premiers protocoles de Bitcoin (2009) ou même de preuve