Une blockchain est une base de données distribuée qui est décentralisée, anonyme, open source et immuable. Une fois confirmées, les transactions on-chain sont stockées de manière permanente et ne peuvent être modifiées. Alors qu'est-ce qui rend les données on-chain immuables ?
En termes simples, une blockchain est constituée de blocs et de chaînes.
Un bloc est composé d'un en-tête et d'un corps, où l'en-tête contient les informations de base sur le bloc, telles que l'horodatage, les numéros de version, le hachage aléatoire, le hachage du bloc précédent, le hachage de la racine de Merkle et la difficulté de minage. À l'intérieur du corps du bloc se trouvent les transactions emballées, qui sont les données signées par les utilisateurs du portefeuille avec leurs clés privées. En d'autres termes, il s'agit d'un transfert d'actifs entre utilisateurs, mais en plus des utilisateurs, il y a une autre transaction qui appartient au mineur, et le montant de la transaction est la somme de la récompense du bloc plus les frais payés par tous les négociants du bloc.
Chaque en-tête de bloc contient le hachage de l'en-tête de bloc précédent et est relié entre eux par des horodatages et des numéros de version pour former la blockchain.
L'immuabilité de la blockchain signifie que les enregistrements des transactions qui ont eu lieu ne peuvent pas être modifiés. Après avoir connu la composition de la blockchain, on peut la séparer comme l'immuabilité de l'en-tête et du corps du bloc.
L'en-tête du bloc enregistre la valeur de hachage aléatoire du bloc précédent, qui est générée par l'algorithme de hachage à partir des informations de transaction et de l'horodatage du bloc précédent. À ce stade, les mineurs du réseau calculent le hachage de l'en-tête du bloc en utilisant leur puissance de calcul, et celui qui le calcule en premier peut regrouper la transaction et la synchroniser à l'ensemble du réseau par diffusion. Si les données du bloc précédent changent, elles seront incompatibles avec la valeur de hachage du bloc original et ne seront pas confirmées par le bloc suivant.
L'immuabilité du corps du bloc est déterminée par la fonction de hachage. Le corps contient un grand nombre de transactions qui sont reliées par des arbres de Merkle. Tout changement dans l'une des transactions modifiera la valeur de hachage de la racine de Merkle, entraînant à son tour le changement de l'en-tête du bloc suivant. La fonction de hachage utilisée par Bitcoin est l'algorithme SHA-256.
On peut en déduire que l'altération des données de transaction dans la blockchain entraînera directement la modification de la racine de l'arbre de Merkle, puis la valeur de hachage de l'en-tête de bloc suivant changera également,qui deviendra illégitime et nécessitera un nouveau calcul du hachage du nouvel en-tête de bloc. Une modification de la valeur de hachage du nouvel en-tête de bloc entraînera à son tour une modification de l'en-tête du bloc suivant, ce qui entraînera un effondrement des données qui ne seront pas acceptées par l'ensemble du réseau.
En théorie, il faut plus de 51 % de la puissance de calcul du réseau pour altérer les données, mais dans un réseau suffisamment robuste, une attaque à 51 % est essentiellement impossible et n'est pas dans l'intérêt de l'attaquant.
Dans le réseau centralisé, la base de données est manipulée par une autorité centrale où les nouvelles émissions, la modification des enregistrements et le gel de la circulation peuvent tous être manipulés. La banque centrale peut ajouter de la monnaie fiduciaire chaque année et geler les avoirs bancaires de quiconque. Et un réseau centralisé ne nécessite qu'une seule chaîne de code pour modifier les données par rapport à une base de données distribuée.
Dans la blockchain, tout le monde participe à la tenue des comptes, tous les enregistrements des transactions sont synchronisés à l'ensemble du réseau en temps voulu, et les mêmes données sont enregistrées dans le grand livre entre les mains de tout le monde, alors qu'il n'y a aucune organisation centralisée pour les manipuler. Par conséquent, si quelqu'un tripote le grand livre dans sa main, cela n'affectera pas les registres du grand livre des autres personnes. Dans le même temps, l'ensemble du réseau suit le principe de la majorité obéissant à la minorité, de sorte que les données ne seront pas altérées.
Par exemple, Bob emprunte 500 $ à Tom. Afin d'empêcher Bob d'être en défaut de paiement, Tom invite Nancy, l'intermédiaire, à témoigner. Cependant, Bob dit à Nancy qu'il lui donnera 200 $ si elle l'aide à tricher. Nancy est d'accord par intérêt. Dans ce cas, Tom n'a pas d'autre preuve ou certificat que d'admettre sa défaite, et Nancy joue ici le rôle d'intermédiaire.
Si l'ensemble du processus est synchronisé avec tout le monde sous forme de diffusion, tout le monde se souviendra que Bob doit 500 $ à Tom, et que Bob n'a aucun moyen de le nier.
En raison de sa nature immuable, la blockchain est utilisée dans de nombreux domaines, notamment l'identité électronique, la chaîne d'approvisionnement, le transfert d'argent et la remise de fonds. Dans l'identité électronique, les informations d'authentification de toutes les personnes peuvent être inscrites directement dans la blockchain et diffusées à tous les nœuds, de sorte que l'authenticité et la certitude des informations peuvent être garanties et qu'aucune modification ne peut être apportée. Il en va de même pour la chaîne d'approvisionnement, où les problèmes d'opacité, de faible efficacité, de fraude à l'information, etc. peuvent être bien résolus.
L'immuabilité de la blockchain résout les problèmes de fraude, de falsification et d'opacité des données dans le réseau traditionnel, et a également été largement appliquée. Toutefois, il convient de noter que cela n'est pas vrai pour tous les réseaux de blockchain, tels que les chaînes d'alliance ou les chaînes privées. En raison du petit nombre de participants et de la gouvernance semi-décentralisée ou centralisée, les données de ces chaînes ne peuvent être absolument immuables et transparentes.
Une blockchain est une base de données distribuée qui est décentralisée, anonyme, open source et immuable. Une fois confirmées, les transactions on-chain sont stockées de manière permanente et ne peuvent être modifiées. Alors qu'est-ce qui rend les données on-chain immuables ?
En termes simples, une blockchain est constituée de blocs et de chaînes.
Un bloc est composé d'un en-tête et d'un corps, où l'en-tête contient les informations de base sur le bloc, telles que l'horodatage, les numéros de version, le hachage aléatoire, le hachage du bloc précédent, le hachage de la racine de Merkle et la difficulté de minage. À l'intérieur du corps du bloc se trouvent les transactions emballées, qui sont les données signées par les utilisateurs du portefeuille avec leurs clés privées. En d'autres termes, il s'agit d'un transfert d'actifs entre utilisateurs, mais en plus des utilisateurs, il y a une autre transaction qui appartient au mineur, et le montant de la transaction est la somme de la récompense du bloc plus les frais payés par tous les négociants du bloc.
Chaque en-tête de bloc contient le hachage de l'en-tête de bloc précédent et est relié entre eux par des horodatages et des numéros de version pour former la blockchain.
L'immuabilité de la blockchain signifie que les enregistrements des transactions qui ont eu lieu ne peuvent pas être modifiés. Après avoir connu la composition de la blockchain, on peut la séparer comme l'immuabilité de l'en-tête et du corps du bloc.
L'en-tête du bloc enregistre la valeur de hachage aléatoire du bloc précédent, qui est générée par l'algorithme de hachage à partir des informations de transaction et de l'horodatage du bloc précédent. À ce stade, les mineurs du réseau calculent le hachage de l'en-tête du bloc en utilisant leur puissance de calcul, et celui qui le calcule en premier peut regrouper la transaction et la synchroniser à l'ensemble du réseau par diffusion. Si les données du bloc précédent changent, elles seront incompatibles avec la valeur de hachage du bloc original et ne seront pas confirmées par le bloc suivant.
L'immuabilité du corps du bloc est déterminée par la fonction de hachage. Le corps contient un grand nombre de transactions qui sont reliées par des arbres de Merkle. Tout changement dans l'une des transactions modifiera la valeur de hachage de la racine de Merkle, entraînant à son tour le changement de l'en-tête du bloc suivant. La fonction de hachage utilisée par Bitcoin est l'algorithme SHA-256.
On peut en déduire que l'altération des données de transaction dans la blockchain entraînera directement la modification de la racine de l'arbre de Merkle, puis la valeur de hachage de l'en-tête de bloc suivant changera également,qui deviendra illégitime et nécessitera un nouveau calcul du hachage du nouvel en-tête de bloc. Une modification de la valeur de hachage du nouvel en-tête de bloc entraînera à son tour une modification de l'en-tête du bloc suivant, ce qui entraînera un effondrement des données qui ne seront pas acceptées par l'ensemble du réseau.
En théorie, il faut plus de 51 % de la puissance de calcul du réseau pour altérer les données, mais dans un réseau suffisamment robuste, une attaque à 51 % est essentiellement impossible et n'est pas dans l'intérêt de l'attaquant.
Dans le réseau centralisé, la base de données est manipulée par une autorité centrale où les nouvelles émissions, la modification des enregistrements et le gel de la circulation peuvent tous être manipulés. La banque centrale peut ajouter de la monnaie fiduciaire chaque année et geler les avoirs bancaires de quiconque. Et un réseau centralisé ne nécessite qu'une seule chaîne de code pour modifier les données par rapport à une base de données distribuée.
Dans la blockchain, tout le monde participe à la tenue des comptes, tous les enregistrements des transactions sont synchronisés à l'ensemble du réseau en temps voulu, et les mêmes données sont enregistrées dans le grand livre entre les mains de tout le monde, alors qu'il n'y a aucune organisation centralisée pour les manipuler. Par conséquent, si quelqu'un tripote le grand livre dans sa main, cela n'affectera pas les registres du grand livre des autres personnes. Dans le même temps, l'ensemble du réseau suit le principe de la majorité obéissant à la minorité, de sorte que les données ne seront pas altérées.
Par exemple, Bob emprunte 500 $ à Tom. Afin d'empêcher Bob d'être en défaut de paiement, Tom invite Nancy, l'intermédiaire, à témoigner. Cependant, Bob dit à Nancy qu'il lui donnera 200 $ si elle l'aide à tricher. Nancy est d'accord par intérêt. Dans ce cas, Tom n'a pas d'autre preuve ou certificat que d'admettre sa défaite, et Nancy joue ici le rôle d'intermédiaire.
Si l'ensemble du processus est synchronisé avec tout le monde sous forme de diffusion, tout le monde se souviendra que Bob doit 500 $ à Tom, et que Bob n'a aucun moyen de le nier.
En raison de sa nature immuable, la blockchain est utilisée dans de nombreux domaines, notamment l'identité électronique, la chaîne d'approvisionnement, le transfert d'argent et la remise de fonds. Dans l'identité électronique, les informations d'authentification de toutes les personnes peuvent être inscrites directement dans la blockchain et diffusées à tous les nœuds, de sorte que l'authenticité et la certitude des informations peuvent être garanties et qu'aucune modification ne peut être apportée. Il en va de même pour la chaîne d'approvisionnement, où les problèmes d'opacité, de faible efficacité, de fraude à l'information, etc. peuvent être bien résolus.
L'immuabilité de la blockchain résout les problèmes de fraude, de falsification et d'opacité des données dans le réseau traditionnel, et a également été largement appliquée. Toutefois, il convient de noter que cela n'est pas vrai pour tous les réseaux de blockchain, tels que les chaînes d'alliance ou les chaînes privées. En raison du petit nombre de participants et de la gouvernance semi-décentralisée ou centralisée, les données de ces chaînes ne peuvent être absolument immuables et transparentes.