Une conversation honnête sur les L2s
Que sont les Layer 2s ?
Aujourd'hui, les Layer 2s (L2s) sont présentés comme l'un des grails sacrés des solutions de mise à l'échelle, pourtant beaucoup de gens ne réalisent pas que les L2s sont en fait des blockchains séparées utilisées pour compresser les données afin d'intégrer plus de transactions dans chaque bloc L1. Pour maximiser l'impact d'un L2, vous pouvez utiliser jusqu'à 100% de l'espace de bloc L1 pour le L2. Cependant, le goulot d'étranglement fondamental reste la mise à l'échelle de la quantité de données propagées au niveau L1. La même compression et le même regroupement de transactions des L2s peuvent être appliqués à une chaîne beaucoup plus performante qu'Ethereum pour le même pourcentage d'augmentation de performance appliqué à des blocs beaucoup plus grands. Ainsi, une conversation sur le potentiel des L2s est aussi une conversation sur la conception L1.
Les L1s et L2s partagent les mêmes composants (ce sont toutes deux des blockchains), ce qui signifie que nous devrons optimiser pour les bonnes fonctionnalités afin d'atteindre les propriétés et performances désirées de chacune. Pour comprendre les L2s et leur impact, nous examinerons certains des compromis qu'ils impliquent et comment ceux-ci impactent l'expérience utilisateur et développeur, éléments critiques sur le chemin vers l'adoption de masse.
Imaginez qu'une fois par seconde un camion de déménagement s'arrête devant votre maison, fait une pause d'une seconde, puis repart. Un autre camion prend ensuite sa place et le cycle se répète sans arrêt. Vous pouvez considérer chaque camion comme un bloc qui est rempli de données avant d'être soumis à tous les nœuds pour approbation. Les concepteurs de blockchains de nouvelle génération ont le défi intéressant d'écrire des logiciels pour empaqueter les blocs avec des données en une seconde ou moins. Mais que se passe-t-il quand les blocs commencent à se remplir ? Entrent les Layer 2s (L2s).
Les L2s sont des blockchains séparées qui étendent la couche de base et héritent de ses garanties de sécurité, permettant au L1 d'utiliser l'espace de bloc rare plus efficacement en regroupant ou en rassemblant de nombreuses transactions en une seule avant de la soumettre au L1, utilisant moins de données et réduisant significativement les frais de gas.
Nous soulignons que les L2 sont, en fait, des blockchains séparées car à mesure que les L2 continuent de se décentraliser en ajoutant plusieurs séquenceurs, vous devrez établir un quorum et un consensus entre eux.
En fait, les L2 ont leur propre environnement d'exécution, propagation de données, algorithme de consensus, et potentiellement stockage comme toute autre blockchain en raison du quorum.
La façon la plus simple d'expliquer le rôle des L2 (aussi appelés "rollups") est qu'ils agissent comme une compression de données comme illustré dans le diagramme ci-dessous :

Il est important de noter que, bien que les L2 vous permettent de faire rentrer plus de données dans un bloc, ils ne permettent pas un espace de bloc illimité. Autrement dit, si un L2 compresse les données et que 100% de l'espace de bloc L1 est utilisé pour le L2, l'espace de bloc global est utilisé plus efficacement mais la quantité brute de données au niveau L1 reste inchangée. Ce concept est illustré ci-dessous avec diverses tailles de blocs compressées par 500x
Blockchain A : bloc de 1,3MB * 500 devient effectivement 650MB
Blockchain B : bloc de 100MB * 500 devient effectivement 50 000MB ou 50GB
Les blockchains A et B propagent toujours respectivement des blocs de 1,3MB et 100MB au niveau de la couche de base.
Ce concept est vraiment très puissant. Cette technique peut même être répliquée dans une autre couche au-dessus du L2, avec un L3, permettant une couche additionnelle de compression de données se réglant vers le L2, et finalement se réglant vers le L1. Cependant, cela ne ferait qu'amplifier davantage certains des aspects négatifs des L2 que nous aborderons dans cet article.
Quel rôle jouent les L2 dans l'adoption massive ?
Si les L2 sont une technologie si innovante et qu'elles augmentent la performance du L1 sous-jacent, pourquoi ne pas simplement ajouter une L2 séparée à chaque chaîne et en finir ? En réalité, peu de compromis sont sans coût, et les L2 ne font pas exception. Cet article disséquera certaines des nuances derrière les L2 dans le contexte de l'expérience utilisateur et développeur, qui sont deux éléments clés sur le chemin vers l'adoption de masse.
Afin d'intégrer des millions ou des milliards d'utilisateurs habitués à une expérience Web2 transparente, les points de friction du Web3 doivent être abstraits. Cette abstraction par des ingénieurs astucieux crée une couche fluide et auto-explicative construite pour le plus petit dénominateur commun d'utilisateurs. Pour tous leurs mérites, les L2 introduisent des frictions et fragmentent l'expérience utilisateur à un moment où nous devrions chercher à réduire les points de résistance, non pas les créer.
Quels sont certains des inconvénients des L2 du point de vue de l'utilisateur et du développeur ?
Le bridging est lourd et risqué
La "finalité" n'est finale que sur la couche de base
Une latence élevée équivaut à un mauvais design et UX
Les couches créent une expérience fragmentée
La perte de composabilité nuit au cumul d'innovation
Pour effectuer des transactions sur le L2, il faut d'abord transférer des fonds d'une autre blockchain vers la Layer 2 via un bridge. Le bridging est actuellement l'une des activités les plus risquées de tout l'écosystème crypto, Chainanalysis rapportant qu'environ 2 milliards de dollars ont été perdus dans des exploits de bridges cross-chain en 2022 seulement. Quiconque a utilisé un bridge peut convenir que c'est un processus lourd et douloureux, qui implique généralement des minutes d'attente pour que les fonds arrivent, croiser les doigts pour ne pas perdre son argent, et ajouter un compte de token pour que les fonds apparaissent (déduction faite de frais élevés !) dans un portefeuille non-custodial tel que Metamask.
Si cela ne suffisait pas, des étapes supplémentaires de déballage de tokens sont souvent nécessaires en utilisant un dex (échange décentralisé) ou la fonction d'échange d'un portefeuille pour finalement obtenir la pièce ou le token désiré. En bref, ce processus en plusieurs étapes laisse beaucoup à désirer et est compliqué à expliquer même à un utilisateur Web3 natif crypto, sans parler de quelqu'un qui n'a aucune idée de ce que sont les confirmations ou un explorateur de blocs...
Du côté des développeurs, imaginez la complexité d'écrire un contrat impliquant l'initiation d'une transaction qui commence sur la L1, transfère des actifs vers la L2, effectue une opération là-bas, puis redescend vers la L1. Cette complexité supplémentaire pour les développeurs et les utilisateurs ne devrait être réservée que pour une situation où aucune autre alternative n'existe, en dernier recours, et non comme l'offre standard pour la grande majorité des transactions comme certains pourraient le suggérer.
De plus, une transaction ne peut pas être considérée comme complètement finalisée tant qu'elle ne redescend pas vers la L1 et n'est pas confirmée. Ethereum produit un bloc toutes les ~12 secondes, ce qui signifie qu'une transaction L2 pourrait prendre 12s ou plus pour être finalisée. Pour de nombreux utilisateurs, ceux qui effectuent des actions non critiques ou non sensibles au temps, c'est peut-être un temps de finalité (TTF) acceptable.
Imaginez un trader à effet de levier qui est à quelques secondes de la liquidation, incapable de fermer sa position à temps, cela pourrait être un facteur décisif dans sa décision d'opter pour une chaîne plutôt qu'une autre. Encore une fois, la portée et l'étendue de ce que les ingénieurs produit et application peuvent concevoir sont handicapées par une finalité lente. C'est indéniablement l'un des aspects de l'expérience utilisateur que les gens ressentent le plus vivement.
Un autre effet de l'utilisation d'une L2 est la latence élevée qui est directement associée à une mauvaise expérience utilisateur. Une faible latence réseau est primordiale pour l'adoption de masse. Comment pouvons-nous espérer rivaliser avec les jeux multijoueurs de masse grand public et les expériences virtuelles quand chaque action a un délai ressenti ou un « lag » avant d'être terminée. Des expériences plus rapides et plus synchronisées sont meilleures, dans pratiquement toutes les situations imaginables.
Construire une bonne technologie est difficile, mais construire une couche sociale durable peut être un défi encore plus grand. Que signifie fragmenter l'activité des utilisateurs à travers diverses L2 pour la construction organique de communauté requise pour créer un écosystème sain ? Et si au lieu de construire des ponts entre les dApps, les projets NFT et leurs communautés, les L2 construisaient des murs ? Cet effet ne devrait pas être ignoré.
Pour les développeurs, en tant que blockchains complètement séparées, les L2 ont des dépendances en amont vers la L1. Cela signifie que tout changement dans la L1 sous-jacente doit être reflété dans la L2. Imaginez devoir constamment déboguer et vérifier votre code parce qu'une mise à jour mineure a été poussée sur la L1. Cela devient fastidieux et épuisant, et la possibilité d'erreurs négligentes est presque infinie.
Le rasoir d'Occam dicte que la solution la plus simple avec le moins de pièces mobiles est généralement la meilleure, et les blockchains ne font pas exception.
De plus, que signifie la perte de composabilité entre L1 et L2 pour les développeurs, qui sont incapables d'utiliser nativement les ressources existantes comme blocs de construction et de les programmer dans des applications d'ordre supérieur ? La perte de composabilité entre L1 et L2 est extrêmement préjudiciable pour l'expérience développeur et cela peut avoir des effets secondaires massifs sur la composition à long terme de l'innovation dans un écosystème.