Ich habe angefangen, einige Nachforschungen über das Bitcoin-Protokoll und die Blockchain anzustellen. Ich versuche, alle Abschnitte im Bitcoin-Whitepaper zu verstehen. Bisher konnte ich nicht verstehen, welchen Nutzen das Hinzufügen der Transaktions-Merkel-Baumwurzel zum Block-Header hat. Ja, ich weiß, dass es getan wird, um Platz zu sparen, wie es in der Zeitung stand. Aber wann braucht es jemand?
Wenn Miner beispielsweise einen neuen Block erhalten, erhalten sie dann nur den Block-Header oder den Block-Header mit der Transaktion? Bedeutet, ist die Blockchain eine Kette von Header-Blöcken?
Wenn Satoshi im Abschnitt 8 – Vereinfachte Zahlungsüberprüfung sagte:
Es ist möglich, Zahlungen zu verifizieren, ohne einen vollständigen Netzwerkknoten zu betreiben. Ein Benutzer muss nur eine Kopie der Blockheader der längsten Proof-of-Work-Kette aufbewahren, die er durch Abfragen von Netzwerkknoten erhalten kann, bis er überzeugt ist, dass er die längste Kette hat, und den Merkle-Zweig erhalten, der die Transaktion mit dem Block verknüpft es ist mit einem Zeitstempel versehen. Er kann die Transaktion nicht selbst überprüfen, aber indem er sie mit einer Stelle in der Kette verknüpft, kann er sehen, dass ein Netzwerkknoten sie akzeptiert hat, und Blöcke, die danach hinzugefügt werden, bestätigen weiter, dass das Netzwerk sie akzeptiert hat.
Wie kann der Benutzer den Merkle-Zweig erhalten, der die Transaktion mit dem Block verknüpft, in dem sie mit einem Zeitstempel versehen ist?
Bisher konnte ich nicht verstehen, welchen Nutzen das Hinzufügen der Transaktions-Merkel-Baumwurzel zum Block-Header hat.
Um sicherzustellen, dass die Transaktionen im Block vom Block-Hash übernommen werden.
Der Block-Hash ist nicht wirklich der Hash des gesamten Blocks, sondern der Hash des Block-Headers. Wenn es keine Merkle-Root gäbe, würde der Block-Header nichts enthalten, was sicherstellt, dass die Transaktionen, die Teil des Blocks sind, tatsächlich Teil des Blocks sind. Indem alle Transaktionen zusammen in die Merkle-Root gehasht und in den Block-Header eingefügt werden, müssen die empfangenen Blöcke alle ihre Transaktionen enthalten, damit der Block-Header gültig ist.
John Karimov
Andreas Chow
Andreas Chow