La technologie Blockchain est une chose magique. Pour de nombreux techniciens, ce n'est qu'un chef-d'œuvre. Pour une chose aussi puissante, savez-vous quel est le principe de la blockchain ? Ci-dessous, l'éditeur analysera et analysera quel est le principe de la blockchain est un concept important du Bitcoin ? La monnaie est connectée au laboratoire de finance Internet de la PBC School of Finance de l'Université Tsinghua. , Sina Technology a publié le « Rapport de recherche sur le développement mondial du Bitcoin 2014-2016 » et a mentionné que la blockchain est la couche inférieure du Bitcoin. technologie et infrastructures.
Blockchain est essentiellement la technologie sous-jacente du Bitcoin, c'est un système de base de données décentralisé. La blockchain utilise la technologie de cryptage pour générer une série de blocs de données. Chaque bloc de données contient des informations sur une transaction sur le réseau Bitcoin, qui sont utilisées pour vérifier la validité de la transaction et générer le bloc de données suivant.
Quel est son principe ?
En voyant différentes définitions de la blockchain, j'ai commencé à réaliser que mon interprétation précédente de ce concept se limitait toujours au Bitcoin. La définition de la blockchain n’est pas unique et claire. Ici, j'aimerais partager certaines de mes idées personnelles sur les caractéristiques de la « blockchain » basées sur des articles de recherche :
Utiliser une structure de données sous la forme d'une « chaîne de hachage » pour sauvegarder les données sous-jacentes (décrite ci-dessous)
Multiple nœuds participants Le fonctionnement du système (distribué)
atteint un consensus (protocole/algorithme de consensus) via un protocole ou un algorithme spécifique pour assurer la cohérence des données de base.
Bitcoin est l'une des applications les plus représentatives et les plus influentes de la technologie blockchain. En comprenant comment Bitcoin utilise la blockchain, nous pouvons plus facilement comprendre d’autres types d’applications blockchain.
Avant de parler de l'application, le plus important est de comprendre sa nature technique. Toutes les réponses à la blockchain mentionnent d'abord les caractéristiques intangibles de la blockchain, donc la première chose à comprendre est comment elle est mise en œuvre ?
Connaissances essentielles ; Nature à sens unique de la fonction cryptographique Hash() : Hash(x) = y, c'est difficile de trouver y pour x
Chaîne de hachage : si maintenant il y a des blocs de données A, B, C en séquence. Ensuite, nous pouvons calculer une valeur de hachage comme celle-ci. Notez l'épissage "||"
H0 = Hash(A)
H1 = Hash(B || h0)
H2 = Hash(C || h1) H2 est l'en-tête de hachage que nous avons calculé. Maintenant, pourquoi appelons-nous cela une chaîne de hachage, car la valeur de h2 dépend du contenu de la série de données précédente et de l'ordre de calcul. Si vous connaissez h2 maintenant et que quelqu'un d'autre détient A, B, C, peu importe s'il modifie l'un des éléments A, B, C ou l'ordre de A, B, C, vous ne pouvez pas calculer à nouveau le h2 correct.
Eh bien, en fait, le concept de blockchain a ici un peu de sens. N'est-ce pas ? « Blockchain word » est la traduction de blockchain en anglais. Pris au sens littéral, un bloc de données « composé » de chaînes suffit à expliquer sa signification fondamentale. La blockchain Bitcoin est en fait une variante d'une chaîne de hachage (notez que Bitcoin a ajouté les règles pour les nonces et les exigences spéciales pour les nonces décrites ci-dessous pour mettre en œuvre un mécanisme de consensus de preuve de travail). , plutôt qu'une fonctionnalité nécessaire de la blockchain). Comment changer ? Ajouter un nombre aléatoire (Nonce)
Supposons maintenant qu'il y ait des blocs de données A, B, C générés séquentiellement. Calculons l'en-tête de hachage comme ceci. Notez l'épissage "||"
H0 = Hash(A || Nonce0)
H1 = Hash(B || h0 || Nonce1)
H2 = Hash(C || h1 || Nonce2)
Ici, nous ajoutez également une exigence supplémentaire selon laquelle h0, h1, h2 doivent tous commencer par les 0 chiffres spécifiés, par exemple, chaque valeur de hachage doit commencer par 5 0, puis h0, h1, h2 cela devrait être comme ceci de (00000 **** ***************)
Après avoir ajouté cette exigence, h0, h1, h2 ne sont pas si faciles à calculer car vous ne pouvez pas inverser l'entrée en fonction de la forme de la sortie, et étant donné A, B, C, il ne peut modifier en permanence le Nonce que pour effectuer des calculs détaillés, puis trouver la valeur du Nonce qui répond aux exigences, de sorte que h0, h1 et h2 répondent aux exigences.
Tout le monde sait ce que font les soi-disant mineurs, qui acceptent des blocs de données diffusés, puis calculent la tête de la chaîne de hachage actuelle. Une fois qu’un hachage réussi a été calculé, tout le monde en sera informé. Je l'ai trouvé moi-même et j'ai laissé quelqu'un d'autre calculer le prochain en-tête de hachage. En fait, la nature de la blockchain est presque la même ici. Si tous les membres du réseau utilisent par défaut le protocole et ne calculent le nouvel en-tête qu'après la chaîne de hachage la plus longue, alors tout va bien, mais si quelqu'un veut le faire de la même manière, il doit disposer de plus de puissance de calcul. Lorsque les gens honnêtes suivent les règles, ils peuvent calculer une série de fourchettes, voire calculer directement une nouvelle chaîne, afin que tout le monde puisse l'admettre.
Quant à la preuve de cette difficulté, Satoshi Nakamoto a établi un modèle de probabilité de la distribution de Poisson, en supposant que la probabilité d'un nouvel en-tête de hachage calculée par un nœud honnête et la probabilité q d'un nouvel en-tête de hachage calculé par un nœud malhonnête. , calculez la valeur N.
La signification de cette valeur N est qu'après avoir calculé le nouvel en-tête de hachage h1, puis ajouté N en-têtes (h2, h3, h4....), le réseau doit reconnaître le nouvel en-tête. H1. Car à ce moment-là, si l'attaquant veut réussir à lancer une attaque, il doit calculer au moins une branche d'une longueur supérieure à N. Cette possibilité est difficile à réaliser lorsque l’attaquant ne dispose pas de 50 % de la puissance de calcul totale du réseau.
Il est donc clair ici que la blockchain est une application intelligente d'outils cryptographiques. Bien sûr, les possibilités de la blockchain ne sont pas seulement celles que j'ai mentionnées. Des géants de divers secteurs, notamment l'assurance, l'audit, les soins médicaux, etc., explorent son potentiel si vous avez de bonnes idées et pensez que la blockchain peut apporter des avantages qui l'emporteront de loin. effets, vous pouvez donc l'essayer.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!