Accroître l'observabilité de la censure des attesteurs - Censorship.wtf

Source : https://www.youtube.com/watch?v=_7PtU1IiOoY

Accroître l'observabilité de la censure des attesteurs - Censorship.wtf

Pourquoi la censure importe ?

  • La résistance à la censure protège contre les attaques économiques comme les liquidations pour les protocoles DeFi.
  • Elle permet une crédibilité neutre, c'est-à-dire l'absence de contraintes d'une juridiction.
  • La "méta-résistance à la censure" signifie que les développeurs construisant de nouvelles dApps sur la plateforme ne peuvent pas être censurés.
  • Personne ne peut empêcher de nouveaux smart contracts d'être utilisables. Si les opérateurs de rollup ou les nœuds bloquaient de nouveaux déploiements ou des appels de contrats, cela violerait cette méta résistance à la censure.

La résistance à la censure est importante non seulement pour les utilisateurs finaux, mais pour débloquer l'innovation ouverte des développeurs construisant sur la plateforme. La surveillance du système pour détecter d'éventuels problèmes préserve cette qualité.

Les outils d'observabilité aident à détecter si une censure se produit en surveillant les transactions et en identifiant les anomalies.

Temps de résistance à la censure

La résistance à la censure n'est pas binaire. Au lieu de parler de transactions censurées ou non, nous préférons parler de "temps de résistance à la censure (TCR)".

Le temps nécessaire pour qu'une transaction honnête et correctement payée soit incluse est important :

  • Des "challenges periods" raccourcies peuvent expirer avant la confirmation d'une transaction censurée.
  • Le temps de confirmation a un impact sur l'efficacité économique - comme les exigences en capital pour les rollups optimistes pendant le délai de settlement.
  • Cela affecte les paramètres de risque comme les facteurs de surcollatéralisation pour les émetteurs de stablecoin basés sur les délais de liquidation.

La dimension temporelle de la résistance à la censure a des implications larges pour l'utilisabilité, l'innovation, la crédibilité neutre et l'efficacité économique.

Difficulté à punir la censure

L'objectif d'Ethereum est d'être résilient au-delà de la confiance majoritaire - pas de simplement faire confiance au fait qu'une majorité de validateurs sera honnête. Dans un monde pseudonyme, il n'est pas robuste de supposer qu'une majorité de validateurs sera honnête puisque leurs identités sont inconnues.

Il y a deux aspects clés dans la construction de systèmes distribués résilients :

  • Sécurité (les transactions confirmées ne doivent pas être inversées)
  • Absence de censure (validateurs colludant pour empêcher des transactions)

Pour punir les validateurs qui colludent pour attaquer la sécurité du protocole, Ethereum utilise le slashing et cela est facilement attribuable.

Cependant, la censure par collusion est beaucoup plus difficile à identifier et à attribuer de manière concluante. Il n'y a pas de moyen clair pour le protocole de savoir de manière définitive si une collusion et une censure se sont produites.

Types de censure

Censure du proposeur

La censure du proposeur est facile à résoudre. Il suffit que 5% des proposeurs de blocs honnêtes suivent le protocole pour inclure les transactions. Cela fournit suffisamment de débit résistant à la censure, même s'il est réduit.

D'où l'accent mis par la communauté Ethereum sur les Solo Stakers - même quelques validateurs honnêtes peuvent résoudre la censure des proposeurs.

Censure de l'attesteur

La censure de l'attesteur est plus difficile à résoudre. Si 33% des validateurs colludent et refusent de s'appuyer sur des blocs avec certaines transactions, ils peuvent effectivement censurer ces transactions en ne permettant pas à cette chaîne de se développer.

Cela est fait intentionnellement pour diverses raisons. Il y a des blocs "oncles" qui sont créés mais qui ne parviennent pas à la chaîne principale.

Mmm...Que pouvons-nous faire ?

Le protocole LMDGhost d'Ethereum offre une certaine observabilité d'une censure potentielle en ayant une couche de vivacité (Liveness) et de sécurité.

On peut voir un schéma de blocs oncles ne recevant pas d'attestation. Cependant, on ne sait pas si cela est dû à une censure intentionnelle ou juste à une latence réseau.

Donc la censure reste difficile à attribuer et à traiter on-chain

"Revere", un outil pour résoudre la censure des attesteurs

Comment ça marche

Un mécanisme proposé appelé "Revere" vise à résoudre la censure des attesteurs dans Ethereum.

Cela implique une règle d'inclusion de transaction : lors de la proposition d'un bloc, les validateurs doivent inclure les transactions valides récentes des blocs oncles/non attestés qui n'ont pas déjà été incluses.

En observant si ces transactions finissent par être incluses, les nœuds peuvent déduire si une censure s'est produite ou si un bloc oncle était simplement dû à une latence réseau :

  • Si la transaction est finalement incluse, probablement juste une latence
  • Si la transaction n'est pas incluse par la suite, cela indique une censure intentionnelle des attesteurs

Cette règle d'inclusion impose un consensus social qui permet de détecter la censure en observant la structure de la blockchain.

Les clients légers améliorent l'observabilité

Pour propager cette information, il faut améliorer les clients légers pour échantillonner les blocs non attestés/oncles en plus des blocs de la chaîne principale.

Cela permet à la plupart des nœuds d'observer les schémas de proposition de blocs et d'identifier une censure potentielle, même sans données de transaction.

Une fois que les nœuds légers témoignent qu'une censure se produit, le consensus social permet de slasher les validateurs qui ont voulu censurer

Ainsi, les clients légers peuvent aider à surveiller les biens communs et à s'assurer que les validateurs suivent le comportement attendu, en plus de simplement vérifier la validité pour eux-mêmes.

Retour au TCR

Si une transaction est censurée au-delà d'une certaine durée, les validateurs/attesteurs responsables devraient faire face à des pénalités de slashing.

Avec l'hypothèse qu'une certaine fraction des proposeurs de blocs est honnête, cette approche permet de fournir des garanties économiques sur la résistance à la censure.

Si la censure persiste au-delà d'un certain point, il est possible de faire un slashing groupé sur une majorité de validateurs effectuant une collusion

Cela s'aligne avec la vision d'Ethereum dans laquelle la construction de blocs peut se centraliser mais la proposition de blocs peut rester décentralisée.

Même si la plupart des proposeurs se centralisent, le fait d'avoir des clients légers hautement décentralisés agissant comme garde-fous garantit que les mauvais acteurs et les tentatives de censure peuvent être pénalisés via le slashing