Der Bitcoin-Miner schürft einen Block, der ohne Arbeitsnachweis nicht an das Netzwerk übermittelt werden kann. Und der neue Block enthält alle neuen Transaktionen. Daher fungiert der neue Block als Sicherheitsmaßnahme und Autorität.
Mein Rätsel ist folgendes: In dem Szenario, das ich gerade beschrieben habe, hat der Miner des neuen Blocks in gewissem Sinne die neuen Transaktionen als wahr autorisiert. Doch der Miner hat sich nie mit der neuen Transaktion befasst, die er gerade autorisiert hat.
Dies bezieht sich irgendwie auf verwaiste Blöcke und die längste Kette (?)
Links, die ich nützlich fand, um mir beim Verständnis zu helfen:
Ein Miner kann Transaktionen entweder selbst verifizieren oder davon ausgehen, dass eine Transaktion gültig ist, da einige Nodes ihn wissen lassen, dass sie sie verifiziert haben.
In beiden Fällen kann der Miner die Transaktion in dem Block eingeben, an dem er gerade arbeitet. Beachten Sie, dass beim Pool-Mining der Pool entscheidet, welche Transaktionen enthalten sind, während beim Solo-Mining Ihr eigener Bitcoin-Client dies tut.
Wichtig zu wissen ist, dass Miner nur versuchen, einen Nachfolgeblock für einen Block zu erstellen, den sie für gültig halten. Das bedeutet, wenn ein Miner einen Block mit einer ungültigen Transaktion auf einem gültigen Block generiert, werden andere Miner den neuen Block nicht akzeptieren. Sie werden es ignorieren und weiterhin versuchen, einen Block auf dem letzten Block aufzubauen, den sie für gültig halten.
Diese Arbeitsweise führt zu einer Situation, in der das Akzeptieren ungültiger Transaktionen und das Senden ungültiger Blöcke eine Verschwendung von Ressourcen ist, da Ihre Blöcke verwaist sind und Sie von vorne beginnen müssen.
Der Miner prüft die Transaktionen, sofern sie digital signiert wurden. Dies ist eine Kryptografiepaarung aus öffentlichem Schlüssel und privatem Schlüssel, die die Rolle Ihrer Unterschrift bei einer Überprüfung übernimmt. Ohne diese digitale Signatur gilt eine Transaktion nicht als gültig und wird nicht in die Blockberechnung aufgenommen.
Die Aufgabe des Miners besteht dann darin, Transaktionen zu sammeln, die seit der Berechnung des letzten Blocks stattgefunden haben, und einen neuen Block zu generieren. Es gibt mehrere Elemente, die den alten Block und den neuen Block miteinander verbinden und sicherstellen, dass die Transaktionen des neuen Blocks auf den Schultern der vorherigen Transaktionen stehen und die Integrität der gesamten Blockkette garantieren.
Wenn ein Mining-Pool oder Solo-Miner einen Block an Peers freigibt, überprüft jeder Peer, der Bitcoin-Qt/bitcoind ausführt, die Transaktionen im Block, bevor er den Block weiterleitet.
Der SHA256-Block-Hash wird als erstes verifiziert. Der SHA256-Hash, der jeden Block identifiziert, wird aus den Feldern einer Struktur berechnet, einschließlich Version, prev_block, merkle_root, Zeitstempel, Bits, Nonce und Standard-SHA256-Padding. Wenn dieser Block-Hash ungültig ist oder unter dem Mindestschwierigkeitsgrad liegt, wird der Block abgelehnt und nicht weitergeleitet.
Wenn es dann eine Transaktion gibt, die nicht verifiziert werden konnte, wird der Block abgelehnt und aus diesem Grund auch nicht weitergeleitet.
Es gibt also mehrere Regeln, die befolgt werden müssen, damit ein Block akzeptiert und dann weitergeleitet wird.
So verstehe ich es:
Die Mining-Anwendung (z. B. Phoenix Miner, Poclbm) erfordert, dass Daten von einem Bitcoin-Knoten an sie übergeben werden. Die Rolle des Knotens besteht darin, die unbestätigten Transaktionen mit der Blockchain zu verifizieren und, falls gültig, dem Miner einen Hash davon bereitzustellen.
dh es ist nicht die Aufgabe des Miners, Transaktionen zu verifizieren; es ist der Knoten.
Wenn Sie Pool-Mining betreiben, wird der Knoten vom Pool betrieben. Beim Solo-Mining wird in der Regel Bitcoin verwendet.
Stefan Gornik