Vous avez envoyé une transaction sur un réseau de couche 2 (Layer 2) et vous attendez qu'elle soit irréversible. Combien de temps faut-il attendre ? Deux minutes ? Une heure ? Ou peut-être sept jours ? La réponse dépend entièrement du type de Rollup que vous utilisez. Contrairement à la blockchain principale d'Ethereum où la finalité est relative mais prévisible, les solutions de mise à l'échelle comme les rollups introduisent une complexité supplémentaire. Comprendre cette différence n'est pas seulement une question technique ; c'est une nécessité pour protéger vos fonds et concevoir des applications décentralisées (dApps) robustes.
Dans cet article, nous allons décortiquer ce qu'est vraiment la finalité dans le contexte des rollups, pourquoi elle varie autant entre les différentes architectures, et comment cela impacte votre expérience utilisateur ainsi que la sécurité de vos actifs.
Qu'est-ce que la finalité des transactions ?
Avant de parler de rollups, il faut définir clairement la notion de finalité. Dans le monde de la blockchain, la finalité signifie le moment précis où une transaction devient irréversible. Une fois atteinte, la transaction ne peut plus être annulée, modifiée ou rejetée par le réseau sous des conditions normales. C'est le point de non-retour.
Sur Ethereum principal (Layer 1), grâce au mécanisme Proof-of-Stake (Preuve d'Enjeu), la finalité est atteinte lorsqu'un bloc est "validé" par le consensus des validateurs. Cela prend environ 12,8 minutes en moyenne. Cependant, lorsque vous utilisez un Rollup, qui est une solution de couche 2 conçue pour traiter les transactions hors chaîne tout en utilisant la sécurité d'Ethereum pour le règlement final, le processus change radicalement. La finalité n'est plus un événement unique, mais souvent un processus en plusieurs étapes.
Les deux types de Rollups et leurs impacts sur la finalité
Tous les rollups ne fonctionnent pas de la même manière. Il existe principalement deux grandes familles, chacune avec sa propre approche de la vérification et donc de la finalité :
- Optimistic Rollups (comme Optimism et Arbitrum) : Ils supposent que les transactions sont valides par défaut. Si quelqu'un pense qu'une transaction est frauduleuse, il doit soumettre une "preuve de fraude" (fraud proof) pendant une période de contestation.
- ZK-Rollups (comme zkSync et StarkNet) : Ils utilisent des preuves cryptographiques appelées "preuves à divulgation nulle de connaissance" (Zero-Knowledge Proofs) pour prouver mathématiquement la validité des transactions avant même qu'elles ne soient publiées sur Ethereum.
Cette différence architecturale fondamentale crée un écart immense en termes de temps de finalité.
La finalité dans les Optimistic Rollups : Le délai de contestation
Dans les Optimistic Rollups, la confiance est placée dans l'honnêteté des séquenceurs (les entités qui ordonnent les transactions). Pour garantir la sécurité, ces réseaux imposent une période de contestation, également appelée fenêtre de défi. Pendant cette période, quiconque peut vérifier les transactions et signaler une erreur.
Cela signifie que la finalité complète peut prendre jusqu'à 7 jours. Oui, vous avez bien lu. Une transaction sur Optimism ou Arbitrum n'est considérée comme définitivement réglée sur Ethereum que si personne ne la conteste durant cette semaine. Bien sûr, dans la pratique, la plupart des transactions ne sont jamais contestées, mais le risque théorique reste présent tant que la fenêtre n'est pas close.
Pourtant, les développeurs et les utilisateurs ont besoin de réponses plus rapides. C'est pourquoi l'OP Stack (l'architecture derrière Optimism) distingue trois états de finalité :
- Insecure (Insécure) : La transaction est incluse dans un bloc du séquenceur, mais les données ne sont pas encore sur Ethereum. Délai : quelques secondes.
- Safe (Sûr) : Les données de la transaction ont été postées sur Ethereum. À ce stade, la transaction est très probablement valide car il serait coûteux et complexe de réorganiser la chaîne Ethereum pour la rejeter. Délai : 5 à 10 minutes.
- Finalized (Finalisé) : Le bloc Ethereum contenant les données a atteint la finalité via le consensus Proof-of-Stake. Délai : environ 12,8 minutes après l'état "Safe".
Il est crucial de noter que même l'état "Finalized" dans un Optimistic Rollup ne garantit pas la finalité économique absolue tant que la période de contestation de 7 jours n'est pas écoulée, car une preuve de fraude pourrait toujours être soumise.
La finalité dans les ZK-Rollups : La vitesse de la cryptographie
Les ZK-Rollups prennent une approche différente. Au lieu d'attendre qu'une fraude soit signalée, ils génèrent une preuve mathématique (ZK-proof) qui atteste que toutes les transitions d'état dans un lot de transactions sont correctes selon les règles du protocole.
Une fois cette preuve générée et vérifiée sur Ethereum, la finalité est atteinte presque instantanément par rapport aux standards de la blockchain. Selon StarkWare, créateur de StarkNet, la finalité peut être atteinte en moins de 10 minutes, voire quelques secondes dans certaines implémentations futures. De même, zkSync Era vise une finalité en 5 à 15 minutes selon la congestion du réseau Ethereum.
L'avantage ici est évident : pas de période de contestation longue. Si la preuve est valide, la transaction est valide. Cela offre une sécurité supérieure et une expérience utilisateur beaucoup plus fluide, surtout pour les applications financières où chaque seconde compte.
| Caractéristique | Optimistic Rollups (ex: Optimism, Arbitrum) | ZK-Rollups (ex: zkSync, StarkNet) |
|---|---|---|
| Mécanisme de sécurité | Preuves de fraude (Fraud Proofs) | Preuves de validité (Validity Proofs / ZK-Proofs) |
| Temps de finalité complète | Jusqu'à 7 jours (période de contestation) | Minutes (souvent < 15 min) |
| État "Safe" (données sur L1) | 5-10 minutes | Variable selon la génération de preuve |
| Complexité de calcul | Faible pour les validateurs | Élevée (nécessite du matériel spécialisé pour les preuves) |
| Risque de reorganisation | Modéré avant la fin de la contestation | Très faible une fois la preuve vérifiée |
Pourquoi la finalité importe-t-elle pour les développeurs ?
Si vous construisez une application décentralisée, ignorer la finalité est une erreur coûteuse. En août 2023, l'entreprise de sécurité Trail of Bits a découvert des vulnérabilités critiques dans plusieurs clients de couche 2. Certains logiciels utilisaient simplement un délai basé sur le nombre de blocs pour déterminer si une transaction était finale, ce qui est insuffisant face aux attaques par réorganisation de chaîne.
Pour les développeurs, cela signifie qu'il ne suffit pas de regarder le numéro de bloc. Vous devez écouter les événements de consensus d'Ethereum. Par exemple, dans l'écosystème Optimism, il est recommandé d'utiliser la méthode `isFinalized()` de l'SDK plutôt que de comparer les hauteurs de bloc. Cela permet de distinguer correctement entre un état "safe" et un état "finalized", évitant ainsi les risques de double dépense ou de pertes de fonds lors de ponts (bridges) inter-chaînes.
De plus, la complexité cognitive est réelle. Un sondage de ConsenSys auprès de développeurs Ethereum a révélé que 63 % considéraient le temps de finalité comme une préoccupation majeure sur les Optimistic Rollups, contre seulement 22 % pour les ZK-Rollups. Gérer plusieurs états de finalité ajoute du code et de la logique métier qui pourraient être évités avec une architecture plus simple.
Impact sur les utilisateurs et les échanges
Pour l'utilisateur lambda, la différence se ressent surtout lors des retraits vers Ethereum principal ou vers des exchanges centralisés. Les plateformes comme Binance ou Coinbase adaptent leurs politiques en fonction de la finalité perçue.
Par exemple, certains exchanges exigent une période d'attente de plusieurs heures pour les retraits depuis des Optimistic Rollups, par prudence face à la période de contestation. À l'inverse, les retraits depuis des ZK-Rollups peuvent parfois être traités plus rapidement car la preuve cryptographique offre une garantie immédiate. Cette friction utilisateur est un frein majeur à l'adoption massive, notamment pour les jeux vidéo ou les micro-transactions où l'impatience est la norme.
Avenir et évolutions technologiques
L'écosystème ne stagne pas. Des initiatives comme le "Retro PGF" d'Optimism visent à réduire la période de contestation de 7 jours à 1 ou 2 jours grâce à des systèmes de preuves de fraude améliorés. Du côté des ZK-Rollups, la technologie d'agrégation de preuves promise par StarkWare pourrait réduire la finalité à moins de 5 minutes d'ici peu.
Le consensus général parmi les experts, y compris Vitalik Buterin, est que la finalité multi-niveaux est un compromis nécessaire entre vitesse et sécurité aujourd'hui, mais que la tendance va vers une convergence vers des fenêtres de finalité de 5 à 10 minutes, avec les ZK-Rollups qui risquent de devenir la norme pour les transactions à haute valeur.
Quelle est la différence entre un état "safe" et "finalized" dans un Optimistic Rollup ?
L'état "safe" signifie que les données de la transaction ont été publiées sur Ethereum (généralement après 5-10 minutes), ce qui rend la réorganisation très difficile mais pas impossible. L'état "finalized" signifie que le bloc Ethereum contenant ces données a atteint la finalité via le consensus Proof-of-Stake (environ 12,8 minutes supplémentaires). Cependant, ni l'un ni l'autre ne clôt la période de contestation de 7 jours spécifique aux Optimistic Rollups.
Pourquoi les ZK-Rollups ont-ils une finalité plus rapide ?
Les ZK-Rollups utilisent des preuves cryptographiques (ZK-proofs) pour valider mathématiquement les transactions avant leur publication. Une fois la preuve vérifiée sur Ethereum, la transaction est considérée comme valide sans attendre de période de contestation, contrairement aux Optimistic Rollups qui supposent la validité et attendent qu'une fraude soit signalée.
Combien de temps dure la période de contestation sur Optimism ou Arbitrum ?
La période de contestation standard sur la plupart des Optimistic Rollups, y compris Optimism et Arbitrum, est de 7 jours. C'est durant cette fenêtre que les validateurs peuvent soumettre une preuve de fraude si une transaction invalide a été incluse.
Est-ce que je peux perdre de l'argent si ma transaction n'est pas finalisée ?
Oui, c'est possible, surtout dans le cas de ponts (bridges) ou d'échanges. Si vous transférez des fonds en supposant qu'ils sont sécurisés alors qu'ils ne sont qu'à l'état "unsafe" ou "safe", une réorganisation de chaîne ou une attaque par fraude pourrait permettre de récupérer ces fonds ailleurs. Il est crucial de respecter les délais de finalité recommandés par la plateforme utilisée.
Quel type de Rollup est le meilleur pour les applications DeFi ?
Les ZK-Rollups sont généralement préférés pour les applications DeFi nécessitant une finalité rapide et une sécurité élevée, car ils réduisent le risque de liquidation forcée due à des délais de confirmation. Les Optimistic Rollups restent populaires pour les NFT et les applications sociales où la vitesse de finalité ultime est moins critique que le coût des transactions.