L’expression trilemme de la blockchain (en anglais « blockchain trilemma ») a été proposé par Vitalik Buterin, le créateur d’Ethereum pour traduire l’incompatibilité entre trois facteurs majeurs du déploiement massif d’une chaîne de blocs : la sécurité, la décentralisation et la scalabilité (anglicisme désignant l’extensibilité de la technologie).
Le trilemme de la blockchain
Comprendre le trilemme de la blockchain
La technologie blockchain est considérée comme une révolution dans la conception des échanges économiques. Au cœur de cette vision repose deux concepts clés : la décentralisation et la sécurité.
La décentralisation représente la possibilité d’échanger sans une autorité centrale chargée de garantir la sécurité (une banque dans le cas d’un virement, ou un serveur Facebook en ce qui concerne l’échange de messages par exemple). L’information transite alors par plusieurs membres du réseau (système peer-to-peer) et le protocole rédigé pour régir les échanges garantit la sécurité.
La scalabilité ou extensibilité désigne quant à elle, la capacité à étendre le nombre d’utilisateur de la technologie sans en diminuer drastiquement ses propriétés (vitesse de transaction, coûts de transaction, débit, etc.).
Trilemme de la blockchain : quel choix réaliser ?
Le trilemme de la blockchain renvoie à l’idée que les trois composantes ne peuvent être atteinte simultanément : une des trois composantes (scalabilité, sécurité, décentralisation) doit être nécessairement sacrifiée dans le but de développer de façon optimale les deux autres. Aussi deux types de blockchain peuvent être distingués :
- Celle qui sacrifie la scalabilité, ce qui rend leur utilisation massive presque impossible, mais garantit la sécurité et la décentralisation du réseau (le Bitcoin par exemple).
- Celle qui sacrifie la décentralisation, ce qui a le mérite d’augmenter la scalabilité, mais qui en soit va à l’encontre de l’idée derrière cette révolution.
Trilemme de la blockchain : l’origine de l’incompatibilité
- Le défi de la scalabilité
L’utilisation massive d’un réseau de blockchain nécessite l’augmentation du nombre de nœuds (les utilisateurs chargés de vérifier l’information, de la stocker et de la transférer) dans un système décentralisé. L’augmentation du nombre de nœuds résulte en l’augmentation du temps de propagation de l’information, ce qui entraîne à la réduction du débit.
Le réseau perd par conséquent de la résistance aux attaques de type DDOS ; à terme le système devient congestionné et les frais de transaction augmentent puisque les transactions à frais plus importants sont prioritaires. En outre, la rémunération des membres du réseau est fonction des frais de transaction. Aussi, plus il y a de flux d’informations, plus il y a de nœuds, plus les frais sont élevés. Face au défi que pose la scalabilité, les développeurs peuvent diminuer la sécurité du réseau (hypothèse inenvisageable car cela rendrait la technologie complètement inutile) ou diminuer la décentralisation du réseau.
- Diminuer la décentralisation
La réduction de la décentralisation du réseau consiste à la diminution du nombre de nœuds. Cette option a été implémentée par des blockchains telles que Tezos qui possède un peu moins d’une vingtaine de nœuds ou encore Cardano qui en possède environ mille nœuds de réseau.
Outre la dénaturation de la clé de voûte de la technologie, ce choix peut entraîner des conséquences dramatiques sur le réseau. La sécurité dépend en partie du degré de décentralisation. En dehors des différentes formes de consensus (proof-of-work, proof-of-stake, etc), la résistance de la blockchain aux attaques extérieurs et à une contrefaçon du protocole réside dans l’obligation pour l’hacker de posséder 51% de la capacité de validation d’un bloc. En d’autres termes, le hacker devrait surpasser la capacité de validation de la moitié des nœuds du réseau, ce qui est d’autant plus facile que le nombre de nœuds de validations est bas.
Lire plus : Qu’est-ce qu’une attaque des 51% ?
Comment les développeurs contournent le trilemme de la blockchain ?
Face à l’impossible résolution du trilemme de la blockchain et la nécessité de maintenir la décentralisation, plusieurs voies de contournement sont envisagées par les développeurs :
- Les solutions dites « on-chain »
Il s’agit de mécanismes implémentés directement sur la blockchain principale. Il peut s’agir d’un changement de consensus (c’est le cas d’Ethereum avec The Merge) ou encore du Sharding (partitionnement d’un ensemble de données venant d’une même base de données en sous-groupe dans l’optique de fluidifier le flux de passage de ces dernières).
- Les solutions dites « off-chain »
Il s’agit d’un mécanisme implémenté en dehors du réseau principal qui reste néanmoins plus ou moins lié à ce dernier. Cette méthode nécessite la création d’un layer 2, une couche au-dessus de la chaîne du réseau principale. Comme exemple de layer 2, on peut citer le projet Polygon dont l’ambition est d’améliorer la scalabilité du réseau Ethereum ou encore le projet Lightning network dont l’objectif est d’améliorer la scalabilité du réseau bitcoin.