Rollups : Le Saint Graal de la scalabilité d'Ethereum

Initialement publié en anglais par StarkWare le 28 Mars, 2023

Les marchés haussiers florissants font resurgir les problèmes de scalabilité d’Ethereum

Il existe trois propriétés souhaitables que les blockchains essaient d'atteindre : sécurité, décentralisation et scalabilité. Toutefois, un trilemme bien connu dans le domaine de la blockchain stipule qu'il est possible d'atteindre simultanément seulement deux de ces propriétés au sein d'un même système, avec un compromis sur le troisième. Sur Ethereum, la sécurité et la décentralisation sont prioritaires par rapport à la scalabilité.

L'augmentation du nombre d'utilisateurs d'Ethereum a créé un goulot d'étranglement des transactions qui ralentit la vitesse des transactions et augmente les prix du gaz. Ce cycle entrave l'adoption d'Ethereum à grande échelle. Augmenter simplement le nombre de transactions par bloc signifierait réduire la décentralisation, car cela deviendrait plus coûteux pour les personnes de gérer les nœuds Ethereum (copies indépendantes de l'historique des transactions Ethereum). De plus, des tailles de blocs très importantes pourraient déstabiliser le consensus, compromettant la sécurité.

Pour relever ces défis, des solutions scalabilité appelées Rollups ont été développées.

Que sont les Rollups ?

Les rollups sont considérés comme l'une des solutions de scalabilité les plus prometteuses disponibles, et ont été approuvés par Vitalik Buterin, co-fondateur d'Ethereum. Ils fonctionnent en déplaçant les calculs des transactions off-chain tout en stockant les données des transactions sur le mainnet Ethereum (L1). Cela permet aux rollups de bénéficier de la sécurité native d'Ethereum, tout en reposant sur sa décentralisation.

Voici comment cela fonctionne : des milliers de transactions sont regroupées en un lot. Toutes les transactions du lot sont traitées off-chain. Les informations de ces transactions sont ensuite regroupées en une seule transaction et envoyées pour être soumises on-chain.

Les rollups sont capables de produire des gains significatifs en matière de scalabilité car ils déplacent les calculs off-chain, tout en soumettant des données compressées des transactions au mainnet Ethereum.

Les deux types de Rollups

Il existe deux types de rollups : les rollups Optimistes et les rollups de Validité, qui diffèrent par leur méthode de traitement des calculs off-chain.

Rollups Optimistes

Les rollups optimistes partent du principe que toutes les transactions d'un lot sont valides et ne réalisent donc aucune computation par défaut. Une fois que les transactions ont été exécutées off-chain, le rollup publie un lot contenant les données de ces transactions sur Ethereum.

Transaction invalide : Une période de contestation d'une semaine environ est mise en place, pendant laquelle n'importe qui peut contester une transaction. Pour ce faire, il faut générer une preuve de fraude. Si cette preuve est validée, la transaction contestée est réexécutée et l'état du rollup est mis à jour en conséquence.

Validité via des incitations économiques : Le séquenceur responsable de la transaction erronée est pénalisé, ce qui assure la sécurité du protocole grâce aux incitations économiques.

Latence : Si aucune transaction n'est contestée, une fois la période de contestation terminée, les données du lot sont considérées comme valides. Il est possible de continuer à construire sur un bloc rollup non confirmé, mais il existe un risque que les transactions soient inversées si elles sont basées sur une transaction invalide publiée précédemment.

Données postées on-chain : Les données postées on-chain contiennent toutes les données de la transaction.

Compatibilité EVM : Les rollups optimistes sont entièrement compatibles avec la machine virtuelle Ethereum (EVM), ce qui leur permet d'utiliser les outils natifs d'Ethereum pour développer sur les rollups optimistes.

De plus, les transactions sur les rollups optimistes sont rapides en raison de l'absence de computation. En revanche, la finalité des transactions sur Ethereum est lente en raison de la période de contestation pendant laquelle les transactions peuvent être contestées. Par exemple, les utilisateurs doivent attendre la fin de la période de contestation avant de retirer leurs fonds.

Rollups de validité

Également connus sous le nom de rollups à connaissance nulle, les Rollups de validité regroupent les transactions en lots et les traitent off-chain. Ensuite, le prouveur off-chain crée une preuve de validité pour les transactions du lot. La preuve de validité est une assurance cryptographique que le changement d'état proposé par le rollup est bien le résultat de l'exécution d'un certain lot de transactions. Une fois le processus off-chain terminé, le système continue avec le processus on-chain: les opérateurs du rollup publient un résumé des modifications décrivant toutes les transactions du lot, accompagné de la preuve de validité. Les preuves de validité sont très faciles à vérifier, et cette vérification est effectuée on-chain.

Validité par les mathématiques : Alors que les rollups optimistes supposent par défaut que les transactions sont valides et ne les vérifient que si elles sont contestées, les rollups de validité utilisent des preuves mathématiques pour garantir automatiquement l'intégrité des transactions et sécuriser le protocole. Cela permet d'obtenir une finalité rapide. Par exemple, il n'y a pas de retards dans les retraits d'un rollup de validité, car les transactions de sortie sont exécutées une fois la preuve de validité vérifiée.

Publication des données on-chain: La preuve de validité garantit que toutes les transactions du lot sont valides, ce qui évite de devoir examiner toutes les informations de toutes les transactions. Cela permet un avantage économique car la mise à jour de l'état envoyée pour être soumise on-chain contient uniquement le solde final résultant de toutes les transactions.

Compatibilité EVM : Les rollups ZK ne sont pas compatibles avec l'EVM par défaut, bien qu'avec Warp* et Kakarot, il existe des compilateurs pour les rollups de validité sur Starknet. De plus, produire une preuve de validité, bien qu'elle soit effectuée off-chain où la computation est bon marché, nécessite un effort et un temps de calcul significatifs.

Un autre point de critique pour certains rollups à connaissance nulle est l'utilisation des preuves SNARKs, qui nécessitent des hypothèses de confiance et utilisent la cryptographie à courbes elliptiques, qui n'est pas sécurisée contre les attaques des ordinateurs quantiques.

Starknet et StarkEx sont des rollups de validité qui utilisent les STARKs au lieu des SNARKs, et ce choix de conception présente de nombreux avantages. Les STARKs ne nécessitent pas d'hypothèses de confiance, sont sécurisés contre les ordinateurs quantiques et offrent également une plus grande scalabilité que les SNARKs.

Les cas d'utilisation des rollups sur Ethereum

  • Les rollups offrent un débit supérieur comparé à une blockchain monolithique, à moins que la blockchain monolithique ne soit centralisée, ce qui n'est pas le cas pour Ethereum. L'augmentation du nombre de transactions par seconde améliore considérablement l'expérience utilisateur.

  • Tous les cumuls de validité s'installant sur Ethereum deviendront finalement composables de manière transparente et atomique, ce qui améliore la composabilité d'Ethereum.

  • Les rollups héritent de la sécurité de la couche de règlement, les rendant presque aussi sécurisés qu'Ethereum lui-même.

  • Les rollups sont totalement polyvalents, et on peut même exécuter un EVM à l'intérieur d'un rollup, comme Kakarot sur Starknet. Cette fonctionnalité permet aux applications Ethereum existantes de migrer vers des rollups avec un besoin minimal de rédaction de nouveau code. De plus, des transpileurs comme Warp simplifient le processus de déploiement des contrats intelligents Solidity d'Ethereum sur Starknet.

Résumé

Ethereum tente de privilégier la sécurité et la décentralisation, mais des problèmes de scalabilité surviennent lorsque le nombre d'utilisateurs augmente. Les rollups sont la solution la plus prometteuse pour relever ces défis, car ils améliorent la scalabilité, sans compromettre la sécurité et la décentralisation d'Ethereum.

*L’arrêt du développement de Warp a été annoncé par l’équipe Nethermind, plus d’informations ici même

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.