Si tu veux créer ta blockchain pour t’amuser, tu peux le faire en PHP ou JS sans souci. Il est essentiel de connaître quelques bases théoriques pour choisir les paramètres de ta blockchain, cependant. Pour cela, j’avais lu le livre Mastering Blockchain: A deep dive into distributed ledgers, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more qui est un peu lourd, mais y’a tout le nécessaire théorique dès les premiers chapitres là-dedans, sans se perdre dans des détails mathématiques complexes.
J’avais fait une blockchain/cryptomonnaie en Python qu’on avait utilisé avec deux amis pour rigoler. Le design était le même que pour Bitcoin, sauf que le Proof of Work était moins difficile (il fallait trouver un double sha256 avec moins de 0 que pour BTC afin que Python puisse en trouver un en ~10–15 min max). Comme base de données pour chaque node, SQLite faisait l’affaire.
Pas besoin d’apprendre Rust ou Go, donc (sauf si tu as envie). Tu peux juste faire en sorte que le PoW soit faisable en PHP/JS en un temps raisonnable. Par ailleurs, toutes les blockchains n’ont pas besoin d’avoir un Proof of Work basé sur le calcul arbitraire d’un hash. D’autres designs permettent de miner des blocs d’une autre façon sans nécessiter de la grosse puissance de calcul, donc sans justifier d’avoir recours à des langages comme Rust, Go, C++, … (je te laisse faire tes recherches sur le Proof of Stake).
En revanche, je n’ai pas vraiment développé l’aspect P2P réseau (tout les nodes devaient tourner dans le même LAN), mais c’est peut-être pas le plus intéressant de toute façon, quand on veut surtout comprendre la mécanique d’une blockchain.
Donc apprendre le développement Blockchain c’est une occasion d’apprendre un nouveau langage (et donc de devenir un meilleur développeur), et la Blockchain est visiblement l’avenir du web.
Je ne sais pas si c’est l’avenir du Web (bien que IPFS/FileCoin semble prometteur sur la papier), mais c’est intéressant dans l’absolu d’un point de vue technique, du moins. Même si c’est pas l’avenir du Web ou de la finance, on finira bien par trouver un use-case intéressant.