Le dilemme des l’Optimitic Rollups

Initialement publié en anglais par StarkWare le 8 octobre, 2020

Efficacité du capital ou sécurité

Note : on définit dans cet article Optimitic Rollup par OR

RÉSUMÉ

  • Nous affirmons que les fournisseurs de liquidité préféreront nécessairement un ZKR-Uniswap (Uniswap par rapport à un ZK-Rollup) à un OR-Uniswap (Uniswap par rapport à un Optimistic Rollup), car le ZKR-Uniswap sera de loin plus efficace en termes de capital.
  • Améliorer l'efficacité du capital d'une OR nécessite de raccourcir son délai de règlement des litiges (DTD), ce qui rend moins coûteuse une attaque de type Fraude+Censure sur L1.
  • C'est le dilemme fondamental des OR entre l'efficacité du capital et la sécurité :
    Améliorer l'efficacité du capital doit diminuer la sécurité.

Contexte

L'augmentation du prix du gaz sur Ethereum au cours des derniers mois a suscité un grand intérêt pour les solutions de mise à l'échelle, et en particulier pour les solutions de mise à l'échelle de layer 2 (L2). Celles-ci peuvent être grossièrement divisées en deux familles : Les preuves de validité (Validity Proofs) et les preuves de fraude (Fraud Proofs).

Nous les avons comparées précédemment ici et ici.

Les preuves de validité comprennent les ZK-Rollups (disponibilité des données on-chain) et Validium (disponibilité des données off-chain). Plusieurs systèmes de ce type sont déjà déployés sur le Mainnet d'Ethereum, y compris le notre StarkEx.

Les preuves de fraude incluent les Optimistic Rollups (OR), et certains d'entre eux approchent des réseaux de test publics. Les OR sont la dernière génération de conceptions de preuve de fraude, et ils suivent les traces de Lightning et Plasma. Les OR sont attrayants pour tout développeur de dApp souffrant de congestion sur Ethereum, car ils promettent la possibilité de prendre le code Solidity "tel quel", et de déplacer le dApp vers un OR évolutif et peu coûteux.

Le concept de base derrière OR : seules les données tx sont envoyées à la chaîne principale. Les calculs et le stockage ne sont plus effectués sur la chaîne principale ; ils sont déplacés vers le Rollup, où les producteurs et les validateurs de blocs effectuent ce travail de calcul. L'intégrité du système est assurée en supposant qu'au moins un utilisateur détectera et signalera la fraude à la chaîne principale en temps voulu, c'est-à-dire dans le délai de contestation (DTD) d'un bloc. Une fois le DTD terminé, le bloc est considéré comme finalisé.

Analyse

Ci-dessous, nous allons analyser OR du point de vue des fournisseurs de liquidité (LP) et des utilisateurs.

Supposons qu'une application aussi importante qu'Uniswap migre vers un OR de manière transparente, en portant facilement son code Solidity existant. Considérons ce bloc du point de vue des fournisseurs de liquidité et des utilisateurs.

Fournisseurs de liquidité (LP)

Comme mentionné ci-dessus, les blocs d'opérations définissent un délai de règlement des litiges (DTD), pour permettre de détecter et de signaler les fraudes. Les délais de retrait doivent s'étendre au-delà du DTD, sinon le système pourrait facilement devenir insolvable à la suite d'un vol.

Des considérations de sécurité motivent l'extension de la DTD, afin de rendre plus coûteuses des attaques telles que celle qui suit :

  1. Un validateur OR détecte une fraude, et envoie un tx fraud_detected au mempool. Il est censé avoir rempli son rôle : la fraude a été détectée et "signalée". Mais pour être vraiment rapportée, fraud_detected doit être minée.
  2. Un attaquant loue une puissance de hachage suffisante (actuellement estimée à 300 000 dollars/heure) pour la durée de la DTD. L'attaquant travaille à extraire des blocs de manière à remplacer tout bloc présenté qui inclut fraud_detected. Il s'agit d'une attaque silencieuse contre fraud_detected. Pourquoi silencieuse ? Parce que du point de vue d'un spectateur innocent, le réseau semble plus calme que jamais - il n'y a pas eu de tx $B minés, et certainement pas de tx inversés.

Nous affirmons qu'il existe un compromis entre l'efficacité du capital et la sécurité. Nous décrirons pourquoi il existe et expliquerons ses implications. Nous supposerons que la durée du DTD est d'une semaine (une proposition pour un DTD de seulement 4,5 heures a été faite ; certains considèrent que c'est dangereusement court) - notre analyse est valable que le DTD soit d'un jour ou de deux semaines - cela se traduit simplement par un point différent dans la courbe de compromis entre la sécurité et l'efficacité du capital. En fonction de la durée de la DTD, l'attaquant devra dépenser entre $Ms et $10Ms. Le montant qu'il devra dépenser ne dépend pas directement de la prime que l'attaquant cherche à obtenir - si l’OR vaut $Bs, dépenser $Ms pour une attaque est une chose rationnelle à faire.

Le coût d'opportunité a un impact considérable sur les applications numériques, en raison des actions des LP - nous avons vu des liquidités passer d'Uniswap à SushiSwap, et inversement, en quelques jours. Comparez OR-Uniswap, Uniswap sur un OR, à ZKR-Uniswap, un Uniswap-fork sur un ZK-Rollup voisin. Un LP a maintenant le choix de bloquer ses fonds dans OR-Uniswap pendant une semaine, ou dans ZKR-Uniswap pendant environ 30 minutes (le cycle de génération de la preuve). ZKR-Uniswap a un avantage fondamental, que les tokenomics ou autres incitations auront du mal à battre sur le long terme.

On nous demande souvent : Les retraits rapides ne résoudraient-ils pas le problème ? Cela ne mettrait-il pas sur un pied d'égalité OR et ZK-Rollups ?

Non. Ils amélioreraient simplement l'interface utilisateur en raccourcissant le temps de retrait, sans améliorer l'efficacité du capital : des fonds suffisants devraient être bloqués dans un smart contract L-1 pour financer tout retrait prévu pendant toute la durée du DTD.

En outre, les retraits rapides ne peuvent être utilisés que pour les actifs fongibles, et non pour les NFT. Même pour les jetons fongibles, le coût d'opportunité d'un jeton en demande pourrait être prohibitif. En fait, le coût d'opportunité est élevé exactement lorsque de nombreuses personnes veulent échanger un actif fongible en pénurie : imaginez le coût de provisionner suffisamment de YFI pour une semaine de retraits, pendant cette semaine où tout l'espace DeFi espère les échanger. Si on vous proposait de bloquer vos YFI pour cette semaine de pic d'intérêt, quel rendement attendriez-vous ?

Certains pourraient prétendre que les LP ne devraient pas s'inquiéter, car tout DeFi gravitera simplement vers un seul OR, permettant aux utilisateurs d'y faire des retraits peu fréquents et d'y effectuer des transactions à peu de frais.
Notez que cela suppose fortement qu'aucune dApp ne vivra en dehors de ce bloc : pas sur L1, pas sur les ZK-Rollups, etc.

Nous soutenons que même dans ce scénario, la sécurité de l'OR diminue à mesure que son débit augmente. Pourquoi ? Considérons la situation du point de vue d'Alice, un utilisateur.

Utilisateurs

  • Trust (confiance) : Alice peut avoir confiance dans le bloc d'opérations, ou plus précisément, dans le fait qu'il y a au moins une partie qui valide l'état actuel du bloc d'opérations. Cela signifie que du point de vue d'Alice, le bloc opératoire est essentiellement un système de confiance. Les systèmes de confiance fonctionnent à une échelle étonnante et sont souvent la base d'entreprises très précieuses (par exemple Coinbase, Binance et les banques conventionnelles) - ces entreprises travaillent dur pour ne pas trahir la confiance, car leur réputation est en jeu.
  • Trustless (sans confiance) : Alice peut valider elle-même l'état de l'OR. Malheureusement, le coût de la validation d'un OR évolue de façon linéaire avec son débit : si l'OR augmente Ethereum de 20X, par exemple, la charge de calcul pour valider l'état de l'OR augmentera également de 20X, tout comme le coût de la validation. La validation d'un bloc opératoire à haut débit deviendra un exercice réservé aux riches et aux personnes intéressées. Ce n'est pas une préoccupation abstraite, même aujourd'hui : la validation d'Ethereum est actuellement une activité altruiste. Certains considèrent que les coûts de validation actuels d'Ethereum sont non négligeables, au point qu'ils nuisent à la décentralisation : moins de participants au réseau valident son intégrité en raison de ces coûts. En d'autres termes, la réduction de la décentralisation et de la sécurité est à cet égard une réelle préoccupation.

Conclusion

Les OR sont confrontées à un dilemme : elles ne peuvent pas égaler l'efficacité capitalistique des ZK-Rollups, car cela nuirait à la sécurité de l’OR. Il s'agit d'un problème inhérent aux OR, et non d'un détail de conception. Pour cette raison, toute application confrontée au choix de fonctionner sur un OR ou un ZK-Rollup, préférera ce dernier, car c'est là que ses fournisseurs de liquidité iront.

Merci à Dan Robinson pour ses commentaires sur une version préliminaire de cet article.

Avihu Levy & Uri Kolodny

Traduction faite par Valentin Negro

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.