Blockchain. Popularisé avec l’explosion des crypto-monnaies, Bitcoin en tête, le terme est depuis peu repris par nombreuses entreprises pour assurer la traçabilité de leurs produits, sécuriser des transactions, entre autres applications. Dans cet article, nous allons présenter le mode de fonctionnement et les notions fondamentales de la blockchain pour comprendre cette technologie.
Un point sur les notions fondamentales
Deux notions spécifiques sont nécessaires à la constitution d’une blockchain, dont le nom signifie en français, chaîne de blocs. Ce sont celles de transaction et de bloc. Ce dernier est composé d’un ensemble de transactions horodatées et validées. Comme la blockchain a fait son apparition dans le monde des crypto-monnaies, les échanges ont commencé par des transactions monétaires, mais au-delà de l’utilisation financière, une transaction peut contenir des données arbitraires. Pour garantir leur authenticité et leur intégrité, la blockchain s’appuie sur des outils cryptographiques. Le chiffrement des données constitue le point commun entre toutes les blockchains.
Les outils liés à la blockchain
Le hachage demeure la base d’une blockchain. C’est un algorithme de cryptographie à sens unique utilisé pour convertir des données de toute taille en une chaîne de caractères de taille fixe. Les fonctions de hachage cryptographique sont largement exploitées dans la sécurité informatique. Comme par exemple les signatures numériques et les codes d’authentification de message. Chaque bloc dispose d’un identifiant, une empreinte cryptographique unique, issue du hachage des données qu’il contient. Ceci assure ainsi l’intégrité du bloc.
Le chiffrement asymétrique
La blockchain s’appuie également sur le chiffrement asymétrique pour assurer l’identité des parties prenantes. Chaque participant est muni d’une adresse, d’une paire de clés, l’une privée et l’autre publique (elles sont différentes d’où le terme asymétrique). Le processus de chiffrement asymétrique fonctionne avec ces deux sésames. La clé publique permet ainsi de chiffrer le message et la clé privée, de le déchiffrer. Ce processus garantit l’authenticité du message et sa confidentialité.
Signature numérique
La signature numérique, composée de deux étapes, prouve que le message n’a pas été modifié (intégrité). Elle garantit notamment la source du message (authentification) et s’assure que la signature numérique est véridique et ne peut pas être révoquée. Les deux étapes sont constituées par le couple signature et vérification. Dans la blockchain, après le hachage de la transaction, l’expéditeur la signe avec sa clé privée. La signature numérique garantit que seul le propriétaire disposant des fonds est en mesure de signer une transaction. Pour la vérification, le destinataire contrôle la validité de la transaction utilisant la clé publique correspondante (fournie par le signataire).
Une autre notion spécifique à la blockchain est celle du consensus. Il signifie notamment que tous les nœuds du réseau doivent s’entendre sur une version identique de la blockchain. De plus, il est similaire à un audit interne et automatique du réseau. Il s’agit d’ajouter ou non, une transaction ou un bloc au réseau. Ce protocole essentiel remplit deux fonctions. Il permet à la blockchain d’être mise à jour tout en s’assurant que chaque bloc de la chaîne est valide. Les personnes participant à la validation des blocs (les « nœuds » du réseau) sont incitées, généralement sous la forme d’une récompense pécuniaire, à s’impliquer dans la sécurité du réseau. Enfin, il empêche qu’une seule et même entité puisse contrôler l’ensemble du réseau et garantit ainsi sa décentralisation.
Par ailleurs, les smart contracts assurent la régulation de la blockchain. Ce sont des clauses entre parties qui sont écrites en code exécutable sur la blockchain. Le fonctionnement de cette dernière est autorégulé par le code et par les règles édictées au travers des smart contracts. C’est à l’aide de ces clauses que les applications sont développées sur la blockchain.
Comment est-ce qu’une blockchain fonctionne ?
Le premier bloc d’une blockchain, appelé bloc de genèse, contient des transactions qui, une fois ajoutées, vérifiées et validées, produisent un hachage unique, une sorte de code. Les blocs suivants sont donc créés en utilisant le hach du dernier bloc et en résolvant le hachage du nouveau bloc. Une fois qu’un bloc est ajouté, il est ensuite vérifié par des nœuds sur la blockchain dans un système décentralisé et verrouillé. Ce hachage et toutes les nouvelles transactions en cours de traitement sont ensuite utilisés comme entrées pour créer un tout nouveau hachage qui est utilisé dans le bloc suivant de la chaîne.
Les différents types de blockchains
Comme avec la technologie cloud, il existe trois types de blockchains : les publiques, les privées et les hybrides dits à consortium. Les blockchains les plus connues sont publiques, ouvertes à tous, comme la première, Bitcoin ou Ethereum. Apparues en 2014, elles sont conçues pour des applications décentralisées et régulées par les contrats intelligents (“smart contracts”). La blockchain privée conserve le même mécanisme de décentralisation, mais au lieu d’utiliser des acteurs inconnus, elles créent un réseau interne pour maîtriser les différents composants de la chaîne. Elles se limitent à un certain nombre d’acteurs. Enfin, les blockchains à consortium se situent à la frontière entre chaînes publiques et privées, combinant des éléments des deux côtés. La différence la plus notable par rapport à chaque système peut être observée au niveau du consensus.
Merci à Eya qui a co-écrit cet article !
Mes sujets préférés sont les données, les besoins métier et… le Développement Durable! Croyez-moi les 3 s’associent très bien!
N’hésitez pas à me contacter sur LinkedIn et me faire un retour sur cet article!
Timothée