Leigh Prather - stock.adobe.com
Quelle différence entre une blockchain et les technologies de registres distribués (DLT) ?
La blockchain et les technologies de registre distribué sont similaires, mais pas tout à fait synonymes. Voici leurs différences et la manière dont elles pourront être utilisées, y compris ensemble, pour des transactions ou stocker stockage des données.
Nombreux sont ceux qui pensent que la blockchain et la technologie des registres distribués (DLT) sont une seule et même chose. Mais ce n’est pas tout à fait le cas.
Car si les DLT sont un des éléments essentiels de la blockchain, un DLT peut utiliser d’autres types de technologies peer-to-peer pour stocker ses données.
Comprendre les fondamentaux de la blockchain
La blockchain est une technologie peer-to-peer (P2P) fondée sur le principe de consensus, dans laquelle les données sont stockées de manière immuable et identique entre un grand nombre d’ordinateurs. Chaque ordinateur du réseau blockchain, appelé nœud, héberge des copies identiques de cette blockchain.
Les transactions soumises par les utilisateurs sont transformées en blocs et ajoutées à la blockchain par un nœud donné. Une fois qu’un bloc est ajouté à la blockchain d’un nœud, il se propage à tous les autres nœuds du réseau de la blockchain. Pour ajouter un bloc à une blockchain, les nœuds de la chaîne doivent parvenir à un consensus sur le fait que le bloc peut être ajouté (voir la figure 1 ci-dessous).
Ce consensus peut être obtenu de différentes manières. Chaque blockchain prend en charge un algorithme de consensus particulier ; deux exemples courants sont la preuve de travail (PoW) et la preuve d’enjeu (PoS).
Une fois qu’une donnée est stockée dans la blockchain, elle ne peut plus être modifiée. En outre, aucun nœud n’est la seule source de vérité pour les données de la blockchain. Si un ordinateur d’un réseau blockchain tombe en panne, d’autres qui stockent les mêmes données assurent le service. Un réseau blockchain peut être public ou privé, bien que le champ d’application habituel d’une blockchain soit public.
Pour conceptualiser une blockchain, considérons une feuille de calcul qui serait distribuée à l’identique de manière P2P. Dans cette analogie, chaque ligne de la feuille de calcul distribuée équivaut à un bloc de la blockchain. Une fois qu’une ligne est ajoutée à la feuille de calcul, elle ne peut plus être supprimée et ses données ne peuvent plus être modifiées. Il en va de même pour un bloc ajouté à une blockchain.
Outre le stockage de données, certaines blockchains ont la capacité de stocker et d’exécuter des « smart contracts ». Dans la section suivante, nous verrons comment ces « contrats intelligents » ajoutent beaucoup de puissance et de flexibilité à la technologie blockchain.
Utilisation de la blockchain avec un DLT
La technologie de registre distribué adopte une approche décentralisée du stockage des données, sans serveur de base de données central ni administrateur système.
Certaines blockchains prennent aussi en charge l’hébergement de « smart contracts », qui sont des logiques programmées et stockées à une adresse particulière sur la blockchain et exécutées sur celle-ci. Voyez un smart contract comme une procédure stockée qui s’exécute sur une base de données centralisée. Ethereum et Solana sont deux exemples de blockchains qui supportent les « contrats intelligents ».
La plupart des blockchains ont un composant de type machine virtuelle pour aider les développeurs à interagir avec une blockchain donnée. Voyez cette « machine virtuelle de blockchain » comme l’équivalent de la bonne vielle JVM en Java, qui est une couche intermédiaire entre une application et le système d’exploitation sous-jacent d’un ordinateur. De la même manière, une machine virtuelle de blockchain est l’intermédiaire entre une application et la blockchain sous-jacente (voir figure 2).
Certaines blockchains prennent en charge une machine virtuelle commune, souvent celle d’Ethereum (EVM). L’EVM est ainsi supportée par Ethereum (évidemment), mais aussi par Hedera, Polygon ou encore Binance Smart Chain, pour n’en citer que quelques-uns. La prise en charge d’une EVM commune ne facilite pas seulement l’écriture d’applications distribuées pour une blockchain donnée, elle aide les développeurs à écrire des applications qui interagissent avec plusieurs blockchains.
Malgré toute la valeur qu’une blockchain apporte à une DLT, il existe un problème majeur de latence. La validation et l’ajout d’un bloc nécessitent des activités de consensus et de distribution qui prennent beaucoup de temps. Certains DLT qui utilisent une blockchain tentent de résoudre ce problème de latence avec ce que l’on appelle la technologie de la couche 2 (L2), qui augmente la vitesse et le coût du traitement des transactions. La L2 fonctionne off chain, mais conjointement avec la blockchain, pour prendre en charge certaines tâches qui demandent beaucoup de ressources, de sorte que la blockchain n’effectue que les travaux essentiels et exclusifs à la chaîne (voir la figure 2).
Technologies de stockage alternatives pour la DLT
La blockchain est malgré tout devenue la technologie de stockage la plus répandue pour les DLTs. Il n’en reste pas moins que ce n’est pas la seule façon pour une DLT de stocker des données. Voici quelques alternatives.
Par définition, la technologie du registre distribué n’a pas d’autorité centrale. Tous ses composants fonctionnent sur une base P2P. Par conséquent, toute technologie de stockage de données utilisée par un DLT doit également prendre en charge une architecture P2P (voir figure 3).
Voici des alternatives P2P à l’architecture blockchain, classées par ordre alphabétique, qui peuvent être utilisées avec une DLT (ce ne sont que quelques exemples).
BitTorrent
Créé en 2001, BitTorrent est le grand-père des bases de données peer-to-peer. Au départ, il s’agissait d’un moyen de partager des fichiers vidéo et audio, mais aujourd’hui, BitTorrent est utilisé par des organisations publiques et privées. Par exemple, le Combined Online Information System du Royaume-Uni partage des informations sur les dépenses du gouvernement et, depuis 2010, Facebook utilise BitTorrent pour envoyer des mises à jour à son serveur. Bien que BitTorrent ne soit pas exclusivement une technologie de base de données, il peut constituer le mécanisme de stockage sous-jacent d’un DLT.
Gun
La caractéristique intéressante de Gun est que le nœud hébergeant une instance de Gun détermine les données à partager avec les autres nœuds du réseau. Gun utilise le Daisy-chain Ad-hoc Mesh-network (DAM) comme algorithme de réseau P2P. Gun est conçu pour fonctionner dans un navigateur, sur un serveur Node.js ou sur un appareil mobile à l’aide de React Native.
OrbitDB
OrbitDB utilise le InterPlanetary File System (IPFS) comme composant de stockage et Libp2p Pubsub pour synchroniser les données entre les pairs opérant sur le réseau.
Tableland
Tableland est une base de données cloud, open source, et sans permission. Elle est construite sur SQLite et utilise un langage de requêtage de type SQL pour exécuter des transactions et interroger les données sous-jacentes. Un DLT peut utiliser Tableland comme base de données autonome ou en conjonction avec des smart contracts stockés sur une blockchain compatible EVM. Les utilisateurs doivent disposer d’un portefeuille comme MetaMask pour y accéder via un navigateur.
Conclusion
La blockchain et les registres distribués ont parcouru un long chemin depuis leur début en tant que, respectivement, technologie sous-jacente pour le bitcoin et d’applications distribuées pour les jeux en ligne.
Aujourd’hui, tous les grands acteurs du cloud proposent des produits blockchain : Managed Blockchain et Quantum Ledger Database chez AWS, Blockchain Node Engine chez Google et Confidential Ledger dans Azure (Microsoft), pour n’en citer que quelques-uns (on pourrait également évoquer IBM, SAP, Oracle, R3, etc.).
Ces technologies vont rester. Pour aller de l’avant, il faut les utiliser de manière appropriée et en toute sécurité. Cela signifie qu’il faut bien comprendre la différence entre les technologies de la blockchain et les DLT et savoir quand et comment les utiliser, ensemble ou séparément.