Une définition économique de la résistance à la censure - Censorship.wtf
Source : https://www.youtube.com/watch?v=mX0VGeqtcLQ
Intro (0:00)
Traditionnellement, la résistance à la censure signifiait que les transactions valides finissaient par être ajoutées à la blockchain. Mais pour certaines transactions comme celles des oracles ou des arbitragistes, l'inclusion éventuelle ne suffit pas - elles doivent arriver rapidement sur la chaîne pour être utiles.
Mallesh argue que nous avons besoin d'une nouvelle définition de la résistance à la censure : une qui garantit l'inclusion en temps opportun des transactions, pas seulement l'inclusion éventuelle. Cela permettrait de nouveaux mécanismes comme les enchères on-chain. Cela pourrait aussi aider les rollups et améliorer les protocoles de blockchain en général.
Vitalik en a déjà parlé en 2015, mais Mallesh préconise que la communauté revisite le sujet maintenant, car l'inclusion opportune des transactions débloque de nouvelles capacités.
Une expérience de pensée (2:30)
Prenons l'exemple d'une "option européenne", un contrat financier où un utilisateur accepte de payer la différence entre un prix de référence (disons 50$) et le prix du marché d'un actif à une date future (bloc X), si le prix du marché est plus élevé.
Au bloc X, si le prix est de 60$, l'utilisateur doit au détenteur 10$ (la différence entre le prix au bloc X et le prix de référence). Le détenteur serait prêt à payer jusqu'à 10$ pour faire inclure la transaction dans la blockchain afin d'exercer l'option. Mais l'utilisateur a également intérêt à payer jusqu'à 10$ pour censurer la transaction et éviter de payer.
À la date d'expiration, il y a une incitation pour les deux parties à payer des frais élevés soit pour exécuter soit pour censurer la transaction. Cela crée une enchère implicite pour l'espace dans le bloc où la transaction finira par aller à celui qui est prêt à payer plus en frais.
Le côté obscur du PBS (4:20)
Le modèle d'enchère de frais existant permet la censure. En payant des frais élevés, vous pouvez bloquer des transactions valides sans que les autres le sachent.
Ce n'est pas seulement théorique, car le Special Mechanisms Group a démontré le problème quelques semaines avant la présentation : en achetant un bloc qui ne contenait que leur propre transaction promotionnelle, ils auraient pu censurer silencieusement les autres en incluant certaines transactions valides mais pas toutes.
Les problèmes clés :
- Les options et autres transactions DeFi sensibles au temps créent des incitations pour que les participants s'engagent dans des guerres d'enchères de blocage/censure. Cela extrait de la valeur plutôt que d'en créer.
- Le modèle d'enchère de frais existant permet l'extraction de valeur par le biais d'une censure silencieuse en omettant des transactions sans que cela soit visible.
Définition économique de la résistance à la censure (5:50)
Mallesh introduit le concept de "tableau d'affichage public" pour modéliser abstraitement la résistance à la censure de la blockchain. Ce modèle a deux opérations :
- Lire : Toujours réussi, pas de coût. Vous permet de lire le contenu du tableau.
- Écrire : Prend des données et un pourboire "t". Réussi et coûte t, ou échoue et ne coûte rien.
La résistance à la censure est définie comme une fonction de frais, c'est-à-dire le coût pour un censeur de faire échouer une écriture. Des frais plus élevés indiquent une plus grande résistance.
Quelques exemples (7:45)
- Bloc désigné unique : Le frais de censure est d'environ t. Un censeur peut surenchérir le pourboire de transaction pour le bloquer.
- EIP-1559 : Résistance potentiellement pire puisque les frais de base sont brûlés. Le censeur n'a besoin que de surenchérir t-b où b est le frais de base.
L'objectif est d'atteindre des frais de censure élevés quelle que soit la valeur de t, grâce à une meilleure conception de blockchain, comme des emplacements consécutifs multiples.
Meilleure résistance à la censure (9:15)
Avoir plusieurs créneaux consécutifs avec différents producteurs augmente les frais de censure.
Un censeur doit payer chaque producteur pour bloquer une transaction, ce qui coûte k*t pour k créneaux au pourboire t. Mais cela augmente également la latence de lecture - on doit attendre k blocs.
Enchères On-Chain (10:45)
Une faible résistance à la censure limite les mécanismes on-chain comme les enchères. Par exemple, considérons une enchère au deuxième prix en 1 bloc avec N+1 enchérisseurs :
- Les enchérisseurs 1 à N sont honnêtes, soumettent des offres b_i et des pourboires t_i
- L'enchérisseur 0 est un censeur. Il attend les offres, fais une offre de censure au producteur p pour exclure certaines offres.
- Le producteur voit toutes les offres/pourboires, et l'offre de censure p. Il décide quelles transactions inclure.
- L'enchère s'exécute sur les offres incluses.
Un censeur peut perturber l'enchère en bloquant les offres. Cela exploite la faible résistance à la censure d'un seul bloc.
Échauffement (13:50)
Supposons une enchère au deuxième prix avec seulement 1 enchérisseur honnête et 1 enchérisseur censeur :
- L'enchérisseur honnête mise sa valeur v. Son pourboire t doit être < v, sinon il paie trop même s'il gagne.
- Le censeur voit que t est inférieur à v, donc il censurera à chaque fois que sa valeur w > t. Il paie légèrement plus que t au producteur pour exclure l'offre de l'enchérisseur honnête.
- Sachant cela, l'enchérisseur honnête choisit t pour maximiser son profit, résultant en une formule reliant t à v.
Avec N+1 enchérisseurs :
Les enchérisseurs honnêtes enchérissent leur valeur mais ont un faible pourboire en raison du risque de censure. Le censeur trouve souvent profitable d'exclure toutes les autres offres et de gagner gratuitement.
En conséquence, le revenu de l'enchère s'effondre : le censeur obtient l'article à bas prix. S'il y a plusieurs censeurs, le producteur qui dirige l'enchère extrait la plupart de la valeur.
Solution proposée : Plusieurs proposants de blocs concurrents (18:00)
Mallesh propose une solution au problème de censure de la blockchain en utilisant plusieurs producteurs de blocs concurrents plutôt qu'un producteur monopoliste.
Avoir k producteurs de blocs qui peuvent tous soumettre des blocs simultanément. La blockchain contient l'union de tous les blocs.
Les pourboires sont conditionnels : petit pourboire t si inclus par plusieurs producteurs, gros pourboire T si inclus par un seul.
Cela crée un "dilemme du prisonnier" pour les producteurs - inclure est une stratégie dominante pour obtenir plus de pourboires.
Le coût de l'inclusion est faible (kt) mais la résistance à la censure est élevée (kT) avec le bon t et T. Par conséquent, un censeur trouve que soudoyer tous les producteurs est trop cher et les enchérisseurs honnêtes peuvent participer équitablement.
Réflexions finales (20:20)
Avantages :
- Supprime le pouvoir monopolistique du producteur sur la censure.
- Réduit les exigences de pourboire pour l'inclusion.
- Permet plus de mécanismes on-chain comme les enchères résistant aux attaques de censure.
Mais la communauté doit réfléchir à ce qu'elle veut adopter/prioriser/optimiser.