Grim et Beam, les apprentis sorciers de MimbleWimble (3/3)
Un protocole, plusieurs Horcruxes. – Voilà que notre série dédiée à MimbleWimble touche à sa fin, après deux articles ayant permis une présentation de ce cryptogrimoire ainsi que de son contenu.
Il n’aura bien évidemment pas fallu longtemps avant que des factions diverses d’apprentis sorciers ne se décident à mettre les mains dans le cambouis et à réfléchir à une application pratique de ce désormais fameux protocole.
Résumons au mieux les forces en présence dans cette bataille de Poudlard cryptomonétaire, qui en soi n’en est même pas vraiment une.
Permettez-moi cependant de m’appesantir pour l’heure préférentiellement sur la première variante, GRIN, qui présente un caractère plus novateur à mes yeux que la seconde, pour les raisons que l’on détaillera plus tard dans cet article.
GRIN : le Journal Intime de Tom Jedusor
Un premier groupe de développeurs s’étant lancé dans l’aventure met en commun ses forces afin de déployer son coin cartomancien : GRIN. L’espace GitHub de GRIN est disponible juste ici, tandis que le canal des développeurs l’est là.
L’équipe de GRIN
L’équipe est hétéroclite, mais partage un trait avec le créateur vaporeux du protocole Mimblewimble, à savoir un goût marqué pour les pseudonymes en lien avec l’univers potteresque. En effet, si une partie de l’équipe n’hésite pas à s’afficher dans les médias ou lors d’événements à venir pour fêter le lancement de la chaîne, l’initiateur du projet a pris le nom de plume d’Ignotus Peverell, en référence au premier possesseur de la cape d’invisibilité dans la saga de J. K. Rowling.
D’autres influences extérieures existent cependant. L’ombre de Blockstream plane ainsi en toile de fond, par exemple avec l’apport de l’expertise d’Andrew Poelstra, lequel a déjà détaillé lors d’interventions publiques certaines des particularités de Mimblewimble.
Le projet est donc mené à priori dans un état d’esprit assez cypherpunk, puisqu’il n’est pas question ici de mener un ICO pour lancer un programme de cryptopoints de fidélité d’un parc à thèmes Studios Harry Potter.
GRIN est actuellement développé en langage Rust.
Le mining du GRIN
Les spécificités techniques de GRIN ne s’arrêtent pas là : la blockchain fonctionnera sur un modèle de Proof-Of-Work, mais là encore avec ses particularités. Là où l’on assiste souvent à des batailles philosophiques entre tenants de cryptomonnaies principalement entretenues par des ASIC et opposants espérant développer des solutions ASIC-résistantes, GRIN va chercher à allier les deux intelligemment.
GRIN, qui tourne déjà actuellement sur un Testnet, va donc déployer un réseau principal Mainnet scindé en deux algorithmes de Proof-of-Work : à la fois un algorithme ASIC-friendly d’office, mais aussi un algorithme qui tâchera de lutter dans un premier temps contre les ASIC, de manière à rester accessible aux petits joueurs du minage et surtout à favoriser une certaine décentralisation du minage au démarrage.
Conçu pour être “plus égalitariste et minimiser les différences de rendement entre les différentes architectures hardware”, cet algorithme nécessite toujours de trouver un résultat mathématique à un problème de plus en plus complexe. Mais l’on pourrait en donner l’image poétique (mais grossière) qu’au lieu de résoudre des sudokus de façon compulsive comme dans le PoW de Bitcoin, les mineurs devraient identifier des patterns sous-jacents dans des graphes pseudo-aléatoires. Si à l’échelle de l’utilisateur, c’est peu ou prou la même, le détail technique présente un intérêt certain pour les curieux.
GRIN implantera donc deux variantes de ce Cuckoo Cycle : une version primaire dite Cuckatoo31+, ASIC-friendly ; ainsi qu’une version secondaire dite CuckARoo29 pour les GPU, voulue ASIC-resistant.
L’alliance des deux sera un équilibrium constant, avec chaque bloc trouvé dans la chaîne primaire qui accroîtra de façon adaptative la probabilité qu’un bloc soit trouvé dans la chaîne secondaire ; et inversement. Au lancement, la chaîne secondaire devrait ainsi représenter 90% des blocs minés, et la chaîne primaire ASIC 10%. A terme cependant, il est attendu une transition en douceur vers une chaîne unique soutenue quasi intégralement par des ASIC.
Initialement, cette progression devait se faire en trois phases notables.
- La phase Cuckatoo-31, actuelle, où la chaîne secondaire dédiée aux GPU représente 81% du hashrate total, les 19% restants étant produits par des ASIC ;
- Le passage ensuite à une phase Cuckatoo-32, devant être implémentée prochainement, est censée permettre une transition vers un réseau sécurisé à 55% par des ASIC,
- Une phase finale dite Cuckatoo-33, prévue pour 2023, doit voir le réseau être intégralement soutenu par des ASIC.
Il semblerait pour autant que cette roadmap soit sujette à de possibles modifications par l’équipe de développeurs, selon la réponse de l’écosystème GRIN, les divers producteurs d’ASIC et les développeurs travaillant sur le projet.
Notons également que MimbleWimble, et plus particulièrement GRIN, repose sur les signatures de Shnorr, et qu’une version adaptée de Dandelion est intégrée à GRIN, BIP initialement utilisé pour agréger les transactions de telle sorte que moins d’informations transactionnelles permettant de remonter aux IP d’utilisateurs ne fuitent. Des améliorations sont prévues concernant cette implémentation de Dandelion dans une prochaine version.
Les caractéristiques cryptomonétaires du GRIN
En termes de politique cryptomonétaire, GRIN est construit sur l’idée d’un intervalle inter-bloc de 1 minute, avec une génération de 60 GRIN à chaque bloc, et sans cap maximum et de façon perpétuelle. Ainsi, le pari est fait que l’inflation diminuera mécaniquement dans le temps long, sans prendre le risque d’une disparition du bloc reward. Ce point a notamment donné lieu à des discussions, mais cette mécanique est présentée comme une solution pour ne pas craindre de faire de GRIN une crypto foncièrement transactionnelle.
Déjà lancé initialement dans l’aventure d’un Testnet appelé Floonet (relancé suite à un petit souci d’initiation), GRIN a réussi son déploiement Mainnet le 15 janvier 2019, avec un premier bloc miné à 16h01.
BEAM : le Médaillon de Serpentard
Dans le coin opposé du ring, un projet plus classique visant également à développer un mimblewimble-coin : BEAM.
Le GitHub du projet est disponible ici. Le projet a également dévoilé un position paper ainsi que des FAQs pour se faire une première idée à son sujet.
L’équipe de BEAM
Géré par une équipe bien plus traditionnelle, ce coin présente bien des caractéristiques propres, en ce que leur alliage est plus firm-driven : BEAM est développé initialement par une société tout ce qu’elle a de plus classique, avec un CEO répondant au nom d’Alexander Zaidelson, entrepreneur. L’équipe agit également à visage totalement découvert, et outre les développeurs l’on retrouve les désormais éternels conseillers (advisors) que l’on sait tellement nécessaires au bon lancement d’une cryptomonnaie. Le détail de l’équipe est disponible ici.
Le mining du BEAM
On sait que le projet est développé en C++ et qu’à contrario de GRIN, le modèle de PoW est lui aussi classique et défendu par l’équipe : il s’agira de miner en mode Equihash.
Le fonctionnement sera assez similaire à celui de Zcash (ZEC), avec un founder reward (récompense des fondateurs) de 20% du bloc reward pour les 5 premières années, avant de s’éteindre. Théoriquement, la compagnie derrière BEAM aura alors transitionné vers un modèle de fondation, à but bien évidemment non lucratif, comme on l’imagine.
Les caractéristiques cryptomonétaires du BEAM
Concernant l’émission cryptomonétaire, là non plus rien que de l’éprouvé, avec un cap maximum de 262 millions de coins, et un premier halving passé la première année, puis à nouveau après 5 ans, et enfin un halving récurrent tous les 4 ans en suivant jusqu’à un arrêt de production monétaire après 133 ans de vie de la blockchain.
En termes de fonctionnalités, l’équipe envisage d’inclure notamment la possibilité d’émettre et d’utiliser des confidential assets, tout en s’appuyant comme GRIN sur le mécanisme du bulletproof par exemple déployé sur Monero (XMR), les rangeproofs en question permettant de valider que toutes les valeurs utilisées dans les perdesen commitments sont bien positives, c’est-à-dire que la somme entrante dans un bloc MimbleWimble est bien identique à celle qui en ressort.
Le lancement Mainnet de ce frère ennemi de GRIN a eu lieu le 3 janvier 2019.
Les wallets WimbleMimble : Gringotts a encore du travail
Arrêtons-nous un instant sur les difficultés relatives rencontrées par les deux équipes de développeurs, liées à la génération de leurs wallets respectifs. En effet, dans ce terrain de jeu où tant les sommes d’une transaction que ses parties prenantes sont cachées de la façon bien particulière que nous avons présenté dans les articles précédents, il n’existe pas d’adresses à proprement parler comme l’on en connaît dans Bitcoin, par exemple.
Ainsi, des travaux supplémentaires ont été nécessaires pour régler certains aspects de cette problématique par les deux camps.
Par exemple, un point d’accroche momentané fut de permettre du trading P2P en vérifiant que les échanges crypto ont bien eu lieu. BEAM comme GRIN ont depuis évolués et sont intégrés sur les premiers crypto-exchanges.
A propos des wallets en tant que tels, les deux projets ont également eu maille à partir avec des vulnérabilités ou détails de code, mais la différence principale réside dans leur moment de survenue.
Du côté de BEAM, l’équipe a annoncé le 10 janvier avoir repéré (et corrigé) une faille critique, une fois lancé dans le grand bain du mainnet, à priori sans dommage pour les utilisateurs.
Concernant GRIN, et alors qu’un des développeurs fournissait un travail conséquent d’amélioration des wallets alors que le réseau n’était encore qu’en testnet, il a détecté et corrigé un bug qui aurait pu rendre certains outputs difficilement récupérables et donc perturber le bon fonctionnement du wallet.
Depuis, les développements suivent leurs cours sans heurts notables pour les deux projets.
Nagini
Pour apporter un peu de légèreté et aérer la fin de cet article compact, signalons également l’existence d’une supposée troisième implantation sous forme de canular du protocole Wimbleminble : WINK. Ne nous étalons pas plus sur cette version très hypothétique du protocole (mais qui sait, après tout ?), si ce n’est pour signaler qu’elle prévoit humoristiquement l’émission de dix cryptocoins différents, obéissants (ou non ?) à toute une variété de règles (ou pas) d’émission monétaire sans lien aucun, dans un style d’expérimentation joyeusement bordélique. Applaudissons donc en coeur la naissance fortement hypothétique du WINK dont il ne viendrait à exister à terme que 42 unités (allez savoir pourquoi), ou encore la mise en circulation fantasmée du SIMPER dont l’intervalle inter-bloc serait alors de un an. Un bien beau programme caricatural d’assets confidentiels, que l’on doit au propriétaire du compte Twitter @grinMW, et qui aura le mérite de vous rappeler ce qu’est l’audace blockchainisée !
Si des remarques émergent sur les potentiels inconvénients ou faiblesses du protocole Mimblewimble, il n’en reste pas moins qu’il s’agit pour le moins d’une approche originale et novatrice dans un paysage sévèrement ICO-fragmenté après les deux années écoulées.
Notons que les contributeurs du projet GRIN ont pris le temps de lister les attaques ou faiblesses potentielles dudit protocole ici. Le statut d’expérimentation est donc clairement assumé.
Au final, la question peut se poser néanmoins de savoir si le protocole Mimblewimble aurait suscité autant d’intérêt s’il avait simplement émergé par exemple sous le visage du coin BEAM et les traits d’une équipe clairement identifiable. Quelle part l’anonymat actuel de son vaporeux créateur Tom Elvis Jedusor joue-t-il dans cette crypto-fascination, lui qui s’écria “voilà!” dans son Livre Blanc fondateur laissant penser qu’il put peut-être être français ? Quelle(s) identité(s) se cache(nt) derrière ce nouveau vagabond masqué ?
Et quels seront les impacts et la portée de l’implémentation effective des principes de Mimblewimble dans des cryptomonnaies pour ce paysage en mouvement permanent ?
Espérons que nos chroniques potteresques vous auront permis d’y voir plus clair dans le brouillard de ce protocole MimbleWimble, perdu quelque part entre les pierres tombales de Little Hangleton, mais en passe d’atteindre rapidement notre monde moldu et d’y faire son nid.