blockchain : Flux de transactions Bitcoin de bout en bout


Ma compréhension de la technologie blockchain Bitcoin après avoir parcouru quelques articles ces derniers jours. Je ne suis pas sûr que ma compréhension soit correcte à 100%. J'écris pour que quelqu'un puisse me corriger, ce qui sera également utile aux autres nouveaux arrivants.

Cas : A veut envoyer 10 BTC à B

  • A créé une adresse qui est un hachage (SHA 256) de plusieurs mots. Similaire pour B. C'est le Clé privée; validateur de propriété du montant Bitcoin. En utilisant une clé privée, Clé publique est généré. Portefeuille offre d'applications mots-semences qui génère une adresse privée par hachage avec SHA256 afin que même la clé privée soit perdue, elle puisse être soulagée des mots de départ secrets. Cette clé publique est connue de tous mais la clé privée est secrète et ne doit pas être partagée. Il n'est pas possible d'obtenir la clé privée à partir de la clé publique. La clé privée est la preuve mathématique que A a le droit de dépenser une certaine quantité de BTC. Cela prouve la propriété de l’argent. Supposons que A ait actuellement plus de 10 BTC.
  • A envoie 10 BTC à la clé publique de B. La clé publique est « l'adresse à » de la transaction. Le message (A envoie 10 BTC à B) est signé à l'aide de la clé privée de A. C'est signature numérique pour la transaction. Ce message de transaction est diffusé à tout le monde (à l'ensemble des nœuds du réseau blockchain). La signature numérique confirme que le véritable propriétaire a créé la transaction.
  • Les mineurs sélectionneront cette transaction ainsi que d’autres transactions en attente et tenteront de créer le prochain bloc de la blockchain. Toutes les transactions sont ouvertes à tous. Pour l'exemple de cas de transaction, les mineurs valideront la transaction si A possède réellement plus de 10 BTC en vérifiant la base de données complète de la blockchain (tous les blocs terminés de la chaîne). Dans le cas contraire, la transaction sera rejetée et ne sera pas ajoutée au bloc où il tentera de résoudre l'énigme.
  • Les mineurs valideront le nombre de transactions parmi les transactions en attente (les transactions qui ne sont encore ajoutées à aucun bloc de la blockchain).
  • Différents mineurs peuvent prendre différents nombres de transactions valides pour former un bloc. Mais le mineur qui remporte le casse-tête mathématique, son bloc créé sera ajouté comme prochain bloc à la blockchain. Ce puzzle consiste à obtenir du hachage (SHA 256) selon la version actuelle difficulté (19 zéros non significatifs du hachage au format hexadécimal). Il s'agit d'un processus basé sur des essais et des erreurs pour obtenir le hachage souhaité comportant 19 zéros. La fonction de sortie de hachage ressemble à ci-dessous –
  • SHA256 (horodatage + hachage du bloc précédent + MarkleRootHash (toutes les transactions valides effectuées dans ce bloc) + occasionnel)

    blockchain : Flux de transactions Bitcoin de bout en bout

    Les mineurs changent occasionnellement (nombre entier) chaque fois qu'il essaie d'obtenir le hachage souhaité selon le format de génération de hachage mentionné ci-dessus. Cela nécessite énormément d’essais, donc une énorme puissance de calcul pour résoudre le puzzle. Supposons qu’un mineur reçoive un hachage comportant 19 zéros. Notez que la transaction « A envoie 10 BTC à B » est valide et existe dans cet exemple de bloc dont le hachage vient de trouver avec 19 zéros non significatifs.

  • Le mineur a obtenu le hachage souhaité avec une valeur occasionnelle chanceuse. En utilisant cette valeur occasionnelle, n'importe qui peut valider le hachage de 19 zéros en sortie ; c'est donc le bloc réussi. Cette valeur occasionnelle est en fait la preuve de travail. Lorsque la majorité des mineurs valideront le nonce et obtiendront du succès dans leur travail, cela gagnera consensus. Ensuite, le bloc est ajouté à la base de données blockchain.
  • Comme ce bloc contient la transaction « A envoie 10 BTC à B ». Cette transaction est également réalisée avec succès. B obtient 10 BTC. La propriété de ces 10 BTC appartient à B car B possède la clé privée de la clé publique utilisée comme « adresse » de l'exemple de transaction.