Le monde des crypto-monnaie se cherche un second souffle à travers de nouvelles mécaniques de consensus. Celles exploitant la capacité de stockage de nos machines ont le vent en poupe. Mais si elles ont un intérêt du point de vue énergétique, elles sont encore loin de résoudre tous les problèmes.
Si vous suivez de près ou de loin le sujet des crypto-monnaies, vous avez entendu parler de Chia Network, un projet principalement connu pour être porté par Bram Cohen, déjà à l'origine du protocole BitTorrent. Il y travaille depuis quelques années déjà, cherchant à utiliser le stockage de données comme source de consensus plutôt que la puissance de calcul. Une volonté d'alternative au « Proof of Work » (PoW) qu'il n'est pas le seul à promouvoir.
Notamment parce que le « minage » qui sert à générer des bitcoins ou des ethers par exemple, est critiqué en raison de l'énergie qu'il consomme au niveau mondial. Chacun y va donc de sa solution maison, avec ses avantages et ses inconvénients. L'idée de miser sur le stockage est d'ailleurs loin d'être nouvelle ou même spécifique à Chia.
Comme souvent dans le domaine des crypto-monnaies, l'attention générée attise les convoitises. Et le lancement de Chia Network, plutôt réussi médiatiquement, met déjà en exergue les faiblesses de ce modèle. Tout en ajoutant une couche de tension sur l'approvisionnement de composants informatiques... qui n'avait pas besoin de ça.
Blockchains, consensus et capacité de stockage
Un petit rappel avant de commencer : les cryptomonnaies reposent en général sur une blockchain publique, sorte de grand livre de transactions. Dans le cas de Bitcoin, elles ressemblent à ça. La blockchain est stockée et accessible de manière distribuée, au sein d'un ensemble de machines constituant un réseau informatique.
Autre spécificité : à la différence du système bancaire classique, une transaction n'est pas certifiée valide par un ou quelques acteurs de manière centralisée, mais par une mécanique de consensus. C'est-à-dire que les machines au sein du réseau, se « mettent d'accord » pour indiquer si une transaction est légitime ou non. La méthode diffère selon les cas. Pour Bitcoin ou Ehtereum (en attendant sa v2.0), il s'agit d'une preuve de travail (Proof of Work, PoW).
Ainsi, pour valider une transaction, des machines doivent effectuer une série de calculs complexes. C'est cela que l'on appelle le minage. Cette action nécessitant de mettre à disposition de la puissance de calcul, elle est rémunérée, via deux sources principales : les frais payés lors de chaque transaction au sein du réseau et la mécanique de création monétaire, organisée le plus souvent de manière régulière.
Les transactions sont ainsi organisées en blocs à miner. Dans les cas de Bitcoin, chaque bloc permet de récupérer 6,25 BTC, le protocole impliquant une division par deux cette valeur tous les 4 ans, jusqu'à un maximum de 21 millions en 2140. Le dernier halving (c'est le nom de cette procédure), date de mai 2020. Les blocs étant gros et complexes, il faut énormément de puissance informatique pour en venir à bout, les mineurs s'organisant en pools pour chercher les meilleurs blocs et se répartir le butin. La difficulté technique évoluant à travers le temps.
Elle suit en général la montée du cours des crypto-monnaies, qui est à l'origine ces derniers mois d'une véritable course à l'armement participant à la pénurie mondiale de puces graphiques. Car l'une des crypto-monnaies les plus rentables et les plus populaires du moment, Ethereum, se mine principalement avec des GPU.
Les fermes de minage se situant pour une bonne partie en Chine, où l'électricité est peu chère mais très carbonée, de nombreux acteurs sont montés au créneau ces dernières années pour critiquer l'impact écologique du PoW. Des alternatives ont été recherchées et trouvées, menant chacune à de nombreuses cryptomonnaies.
On pense par exemple à la preuve d'enjeu (Proof of Stake, PoS) vers laquelle Ethereum se tourne avec sa v2.0 et la Beacon chain. Le consensus est obtenu par des membres du réseau détenant une certaine quantité de monnaie (les validateurs), qui sont sélectionnés aléatoirement pour créer des blocs ou valider ceux qu'ils n'ont pas créés, et sont rémunérés pour cela (on parle alors de staking). La puissance de calcul nécessaire à ces opérations est faible.
Des mécaniques de répartition et de sélection aléatoire sont en général mise en place pour éviter que certains ne cherchent à « prendre le pouvoir », ce qui nécessiterait de détenir 51 % de la monnaie existante.
Pour sa v2.0, Ethereum mise sur le staking : vous devez détenir 32 ethers ou passer par un pool
Ces dernières années, une autre solution a séduit les développeurs, consistant à utiliser la capacité de stockage pour générer du consensus. Une solution perçue au départ comme moins coûteuse et plus économe en énergie, puisque les SSD/HDD consomment peu et peuvent avoir une très grande densité.
À travers le temps, cela a pris différentes formes, comme la preuve de capacité (Proof of Capacity, PoC) de BurstCoin, la preuve de stockage (Proof of Storage, PoS) Sia, puis la preuve d'espace et de temps (Proof of Space and Time, PoST) conceptualisée par Tal Moran et Ilan Orlov et en partie reprise par Filecoin ou Chia.
Dans ces trois cas, des données sont stockées sur la machine de l'utilisateur, avec des différences subtiles. Le PoS permet par exemple de créer des systèmes de stockage décentralisés : les membres du réseau stockent des portions de données de tiers contre rémunération, ce que propose Sia. BurstCoin et son PoC précalculent des « Plots » utilisés pour valider des blocs. Plus vous disposez de capacité de stockage par rapport à la taille du réseau, plus vous avez de chance d'être sélectionné pour la lecture de vos plots, ce qui donne droit à une rémunération.
L'illustration des notions de Proof of Space (en haut) et Proof of Time (en bas) par Chia Network
Les spécificités de Chia et ses aspects négatifs
Chia y ajoute la notion de preuve de temps (Proof of Time) qui consiste à exiger qu'une fonction séquentielle, nécessitant qu'une étape soit terminée avant de passer à la suivante, a été exécutée un certain nombre de fois. Cela permet d'éviter qu'elle ne soit traitée très rapidement par un ASIC, un CPU à plusieurs cœurs ou un GPU.
Dans le cas de Chia, cela passe par les Verifiable Delay Functions (VDF). Cette étape étant nécessaire pour valider un bloc, Chia s'assure de ne pas favoriser les machines les plus rapides. Ainsi, si un SSD performant et une bonne quantité de mémoire sont conseillés dans la phase de précalcul, la performance de la machine importe peu.
Cela demande néanmoins quelques heures pour un simple plot de 100 Go (facteur de taille k = 32) avec le client officiel, même avec des SSD rapides. Pour la phase de mise à disposition des données permettant de valider des blocs (nommée farming), un simple Raspberry Pi suffit selon les développeurs.
Pour autant, cela ne veut pas dire que tout est rose. Chia ayant été lancée à grand renfort de communication, nombreux sont ceux qui se sont jetés sur le marché des SSD pour monter des machines en masse. On a également vu de premières cartes mères spécialement adaptées au stockage à très grosse densité.
Les cellules des SSD s'usant rapidement lorsque les écritures sont intensives, leur durée de vie pourrait d'ailleurs ne pas être très longue. Les développeurs conseillent ainsi de se tourner vers des modèles pensés pour un usage dans des datacenters à l'endurance élevée, plutôt que des modèles TLC/QLC grand public à bas coût.
Résultat : plusieurs sociétés nous ont confirmé qu'il est presque impossible d'acheter du stockage actuellement, ou alors à des prix délirants. Les approvisionnements vont prendre des mois, ce qui ne sera sans doute pas sans effet sur certains marchés où la capacité de stockage est un élément clé. Avec parfois des hausses de tarif si cela dure.
Un projet aux contours encore flous
Et pour les « fermiers », quel espoir de gains ? Ils sont assez faibles, à moins d'être très patient. Le réseau Chia compte déjà près de 6 exaoctets de données. Si vous y stockez quelques To en passant par le client officiel, il vous sera annoncé que vous mettrez, au mieux, un an avant de pouvoir éventuellement valider un bloc. Et cela ne devrait pas s'arranger avec le temps, surtout que le réseau de Chia (Mainnet) n'a été lancé que le 17 mars dernier.
Certains regretteront d'autant plus la situation que toute cette capacité de stockage n'est pas mobilisée pour des données « utiles » comme avec d'autres solutions, mais uniquement pout des éléments cryptographiques servant à valider des blocs... sur un réseau où il ne se passe pour le moment pas grand-chose, puisque les usages de Chia ne sont pas encore réellement développés. Ainsi, l'aspect « green » du réseau, largement mis en avant dans la communication, semble avoir pris le pas par rapport à la question de l'utilité concrète d'un tel réseau.
Il n'y aussi que très peu de « pools » permettant de mieux répartir les gains, 64 Chia récompensant le réseau toutes les 10 minutes au rythme actuel. Cette valeur sera réduite de moitié tous les 3 ans pour les 12 prochaines années. Ensuite, le réseau restera à 4 chia toutes les dix minutes. Pour le moment, cette monnaie n'est échangeable que sur quelques rares plateformes. C'est donc un pur pari sur l'avenir, comme souvent.
L'équipe semble assumer ces choix, évoquant la volonté de voir les chia utilisés pour des transactions plus que pour la spéculation, cherchant à réduire la volatilité, ce qui ne manquera sans doute pas d'arriver tout de même à terme. Il faudra de toute façon d'abord arriver à construire un écosystème qui perdurera au fil des mois, même lorsque l'effet d'annonce sera passé. Pour cela l'équipe compte proposer de la location de chia, distribuer des actions à ses partenaires, investir dans des startups qui miseront sur Chia, etc. Elle espère ainsi entrer en bourse à terme.