Publié le 20.04.2022
L'heure des choix
Malgré les impressionnants volumes échangés sur les plateformes (DeFi, exchanges, marketplaces, NFTs...), les TRD (Technologies à Registres Distribués) sont encore loin d'être adoptées par le grand public et l'économie globale. Mais que manque-t'il vraiment pour y arriver?
La cryptomonnaie, que les banques centrales le veuillent ou non, est en passe de devenir une réserve de valeur majeure de l'Humanité. Ce fait à lui seul apportera de profonds changements dans la justice économique et la répartition des richesses. Mais qu'en est-il des merveilleuses perspectives d'optimisation, de justice et d'efficience économique, apparues avec la mise en application du concept des smart contracts, pour la première fois en 2015 (il y a une éternité!) avec le lancement de la chaîne Ethereum ?
Pourquoi ne pouvons nous toujours pas souscrire nos assurances, louer une voiture ou un appartement, avoir le contrôle de nos données médicales, ou ne serait-ce que voter, en utilisant ces fameux smart contracts ?
Un problème peut en cacher un autre
Le premier problème à résoudre, comme nous l'avons déjà évoqué, est celui de l'expérience utilisateur, et le défi de rendre utilisable par tout un chacun des plateformes utilisant des opérations cryptographiques complexes.
Une fois ce problème résolu (et en particulier lorsqu'il est très bien résolu, comme l'a montré l'épisode des CryptoKitties fin 2017), survient très rapidement celui de la scalabilité.
Au plus fort du pic de fin 2017, la chaîne Ethereum a affiché un nombre de transactions quotidiennes qui est monté à près de 1,3 million. En mai 2021, ce record a été battu avec plus de 1,7 million de transactions par jour, et depuis, la moyenne se situe autour de 1,2 million de transactions quotidiennes, et ce malgré une adoption qui a continué à croître.
Pour "permettre" à la chaîne d'absorber une telle demande, si l'on résume grossièrement, il n'y a pour le moment qu'une solution très dissuasive, dans tous les sens du terme: le prix du gas.
Si ces prix sont acceptables pour les applications DeFi, ou marketplaces comme OpenSea, qui par nature sont utilisées à des fins lucratives, ils deviennent immédiatement prohibitifs sur toute application qui n'aurait qu'un objectif de traçabilité, gouvernance, ou n'importe quelle autre opération qui ne permet pas d'avoir un ROI (!!) qui permette d'absorber significativement le prix de la transaction effectuée.
Au final, le problème est bel et bien à résoudre par les développeurs des protocoles en question. Si l'on compare avec un des réseaux de transactions financiers les plus utilisés au monde, le réseau Visa qui affiche actuellement près de 180 millions de transactions par jour (et qui affirme pouvoir supporter jusqu'à 2 milliards de transactions quotidiennes), les chaînes de blocs actuelles sont encore bien loin d'arriver à ce débit, même théorique.
Un problème de taille
De taille de transaction en l'occurence. Ou plutôt de poids.
Car simplement comparer le nombre de transactions quotidiennes n'est pas suffisant. Il faut comprendre qu'une transaction de transfert de valeur, comme c'est le cas des transactions sur le réseau Visa, ou lors d'un simple transfert de cryptomonnaie native (BTC, ETH, DOT, ICP, etc), est bien moins "lourde" qu'un exécution liée à un smart contract, qui sera forcément plus complexe, contiendra des données et autres arguments, demandera plus de calculs pour sa validation, etc.
De l'éducation pour de l'adoption
Presque 7 ans après le lancement de la première chaîne de blocs à smart contracts de l'Histoire, avec Bitcoin ayant commencé à préparer le terrain déjà bien avant (Pour rappel: 2009!), il existe toujours une grande partie de la population qui tourne pratiquement de l’œil si on leur évoque qu'ils vont devoir interagir avec une blockchain. Néanmoins la situation a bien évolué, et demander d'installer un Metamask n'est déjà plus autant considéré comme une hérésie qu'il y a 5 ou 6 ans.
Il est aujourd'hui clair qu'il ne s'agit plus là de l'obstacle principal à l'adoption.
Des contraintes juridiques
Du côté légal, les choses n'ont pratiquement pas évolué, et une DAO est toujours aussi peu considérée comme un potentiel acteur économique et sociétal à part entière, pour le moment. Tout au plus un outil décisionnel, et encore, car si on prend l'exemple de la loi sur les Associations, la seule forme de signature reconnue pour un vote, est la signature manuscrite...
Un choix de plateforme
Pour NEDAO, comme pour d'autres DAO en attente d'une possibilité viable d'ouvrir à ses utilisateurs, il s'agit maintenant de faire un choix. Le problème est pratiquement le même pour tout le monde à ce stade, excepté, comme cité plus haut, les projets DeFi, etc. Car la grande majorité des projets ont été développés autour de ce qui est devenu un quasi-standard, en termes de stack technique, pour ce qui concerne le développement des dApps en général:
- Solidity pour les smart contracts
- HTML5 avec beaucoup de Javascript et s'appuyant sur un wallet local (comme Metamask) pour le front-end et l'UX
- IPFS pour l'hébergement du front-end (En tous cas pour les dApps qui sont réellement décentralisées, et il y en a peu en réalité...)
- Une chaîne EVM-compatible
EVM? Pour Ethereum Virtual Machine. Soit une machine virtuelle (qui tournera concrètement dans chacun des noeuds de la chaîne en question) capable d'exécuter ces fameux smart contracts, et qui est justement devenue un quasi-standard pour ces applications.
Un aspect important qui n'est pas couvert par les comparatifs ci-dessous, est celui du niveau de décentralisation et des compromis à faire en termes de sécurité, garanties de pérennité, etc. On aura très certainement l'occasion d'y revenir.
Comparatif des chaînes EVM-compatibles
Le tableau ci-dessous liste et résume les caractéristiques principales des chaînes qui pourraient accueillir et faire tourner les smart contracts du projet, tels qu'ils ont été développés et sans changements importants à réaliser.
Nom | Type / description | Consensus principal | Block time | TPS | TRL | Evaluation¹ |
---|---|---|---|---|---|---|
Ethereum | Ethereum main net | Proof-of-Work | 13 s | 15 | 8 | |
Aurora (NEAR) | ETH Bridge + EVM on NEAR (sharding + validators rotation) | Proof-of-Stake | 1.2 s | 100'000 (< 10) |
5 | |
Avalanche | X-Chain / C-Chain / P-Chain + ETH Bridge | Avalanche (PoS) on X-Chain, Snowman on C-Chain & P-Chain | 2 s | 4'500 (< 20) |
4 | |
BNB Chain | Standalone EVM (ex Binance Smart Chain) | Proof-of-Stake | 3 s | 65 | 8 | |
Ethereum2.0 | Beacon chain + shard chains running the EVM | Proof-of-Stake | 12 s | 1000 - 5000 |
6 | |
Harmony | Beacon chain + shards | Proof-of-Stake | ~2.22 | ~2'000 ? (<35) |
4 | |
Moonbeam (Polkadot) | ETH Bridge + EVM on Polkadot | Proof-of-Stake | 12.5 s | +10'000 - 100'000 |
4 | |
Neon (Solana) | EVM chain on Solana | Proof-of-History | 0.6 s | 50'000 (~2'000) |
3 |
On pourrait encore en citer d'autres, qui n'ont pas pu être évaluées faute de temps, pour le moment:
- xDAI Chain (Gnosis chain)
- Astar (sur Polkadot)
- Fantom (Opera Chain)
Chaînes non-EVM ?
On peut bien entendu envisager d'autres types de chaînes, capables de faire tourner des smart contracts mais avec un autre standard. Ceci implique par contre de ré-écrire les contrats dans un autre langage, et adapter les front-ends en conséquence.
La plupart de ces plateformes sont souvent très "jeunes", et ne bénéficient que de très peu d'adoption, et du coup les ressources, tant en termes d'outils de développement que pour l’usabilité sont très limitées. À commencer par la disponibilité de wallet / extension de navigateur permettant d’interagir avec ces plateformes.
Il en existe néanmoins qui sont si prometteuses sur certains aspects, qu’une migration, totale ou partielle, vaut la peine d’être considérée.
L’une d’elles est Dfinity. Car l’Internet Computer dispose de caractéristiques très intéressantes, comme notamment :
- Internet Identity native, et permettant d’interagir avec des dApps sans devoir installer de wallets, extension de navigateur ou tout autre logiciel supplémentaire
- Canisters (équivalent des smart contracts) capables d’héberger et servir le front-end nativement
- L’utilisateur ne paye plus de frais de transactions ! Mais par contre l’entité qui déploie le canister devra le provisionner en CYCLES pour qu’il fonctionne. Le jour où il n’en a plus, il s’arrête de fonctionner, ce qui change totalement la façon d’envisager la pérennité des dApps.
- La roadmap prévoir une intégration native des chaînes Bitcoin et Ethereum à tous les canisters (on-chain cryptography) !
Ceci dit, il existe encore de nombreuses interrogations sur la maturité du protocole, des outils de développement, et de la pérennité sur le long terme.
De plus, même si les performances affichées pour le moment semblent elles aussi extrêmement prometteuses, il n’y a, comme pour toutes les autres chaînes, qu’elles soient EVM ou pas, encore jeunes, aucune garantie que ces performances restent consistantes une fois que la charge aura atteint des niveaux équivalents ou supérieurs à ceux actuels sur Ethereum par exemple.
Solutions off-chain
Une autre possibilité de réduire les frais de transaction, est de diminuer au maximum les opérations devant être inscrites sur la chaîne.
S’il semble difficile de développer un modèle d’identité décentralisée, capable d’interagir avec une DAO, sans tenir un registre on-chain, les votes par exemple, pourraient être comptabilisés selon d’autres techniques, comme par exemple le propose Snapshot.
Cette solution représenterait probablement le moyen le plus sûr de voir, dans les mois à venir, l’ensemble de la plateforme NEDAO ouverte au grand public, avec les votes off-chain, la gestion des fonds on-chain, et la possibilité pour la DID (identité décentralisée) de soit rester sur la chaîne Ethereum, soit utiliser le concept d’Internet Identity (Dfinity) cité plus haut par exemple.
Conclusion
Le projet NEDAO a été lancé il y a maintenant plus de 2 ans. Avec une pandémie qui n’a pas vraiment aidé, ainsi que des technologies encore naissantes malgré les années d’existence d’Ethereum. Néanmoins une part importante de la plateforme est déjà prête à être déployée depuis près d'un an. En particulier la DID.
Il s’agira dans les semaines et mois à venir, de trouver le compromis idéal, entre usabilité et travail d'adaptation ou de migration éventuelle, pour que les résidents Neuchâtelois puissent commencer à utiliser cette plateforme pour des projets concrets.
La solution de facilité serait de simplement attendre le lancement opérationnel d'Ethereum2.0, pour l'instant prévu officiellement "~Q3/Q4 2022". Mais à ce stade rien ne garanti que sur le long terme, le problème des frais de transaction sera définitivement résolu par cette mise à jour.
Il y aura un pari à faire c’est certain. Mais probablement que tout ça aide déjà à remplir un des objectifs principaux du projet : l’éducation et la formation d’un pôle de compétences régional.