Ich studiere über den Princeton-Kryptokurs etwas über Bitcoin- und Blockchain-Technologie, und es wird erwähnt, dass vollständige Knoten die folgenden Prüfungen durchführen:
i) Transaktion ist mit der aktuellen Blockchain gültig,
ii) ob die Skripte mit der Whitelist übereinstimmen,
iii) Transaktion wurde noch nie zuvor gesehen und
iv) kollidiert nicht mit anderen, es wird weitergeleitet (um doppelte Ausgaben zu vermeiden) .
Der Dozent erwähnte jedoch auch, dass diese Überprüfungen auf einem Knoten nicht erzwungen werden. Nehmen wir an, ein vollständiger Knoten hat möglicherweise einen vollständigen Satz von UTXO, entscheidet sich aber dennoch dafür, eine Transaktion weiterzuleiten, die zuvor ausgegeben wurde (und ignoriert effektiv die Tatsache, dass sich der TX nicht im UTXO-Pool befindet), und schließlich wird dieser TX weitergeleitet und ausgeführt es in einen Block. Da die Bergleute diesen Knoten vertrauen, um Transaktionen zu verifizieren, würde der TX nicht in die Konsenskette aufgenommen werden?
Ich verstehe, dass der Mining-Prozess (POW) und die daraus resultierende Blockbelohnung nur beansprucht/gesammelt werden können, wenn der Block auf dem langfristigen Konsenszweig landet, aber dies schützt das böswillige Node-Verhalten nicht, wie ich erklärt habe, da Miner dies nicht tun. Überprüfen Sie nicht auf doppelte Ausgaben.
Da die Bergleute diesen Knoten vertrauen, um Transaktionen zu überprüfen, ... da die Bergleute nicht auf doppelte Ausgaben prüfen.
Was lässt Sie das denken? Bergleute sind auch Knoten; Sie sind eine Teilmenge von Knoten. Bergleute erhalten und verifizieren immer noch alle Transaktionen, sie vertrauen nicht einfach blind dem, was ihnen ein anderer Knoten gegeben hat. Miner werden dazu angeregt, Transaktionen zu überprüfen, da das Einbeziehen ungültiger Transaktionen bedeutet, dass der Block ebenfalls ungültig ist und daher von den anderen Knoten und Minern im Netzwerk abgelehnt wird.
Wenn ein Miner eine ungültige Transaktion erstellt (z. B. durch Einbeziehen einer doppelten Ausgabe), wird der Block als ungültig betrachtet. Miner bestimmen nicht, was gültig und ungültig ist, Knoten tun dies. Wenn also die Knoten im Netzwerk diesen ungültigen Block erhalten, lehnen sie ihn als ungültig ab und fügen ihn nicht zu ihrer Blockchain hinzu. Da Bergleute auch Knoten sind, werden andere Bergleute den Block ablehnen und sie werden daher nicht darüber abbauen.
Wenn Miner auf dem ungültigen Block minen, wird es einen Blockchain-Fork geben. Die Knoten im Netzwerk werden sich weigern, einer Kette zu folgen, die einen ungültigen Block enthält, selbst wenn sie mehr Arbeit hat. Sie folgen nur der gültigen Kette mit der größten Arbeit, und ein ungültiger Block macht diese Kette ungültig.
Bergleute, die nicht auf doppelte Ausgaben prüfen, verbinden sich nur mit Knoten, denen sie voll und ganz vertrauen. Und dafür gibt es einen guten Grund – jeder nicht defekte Knoten ignoriert einen ungültigen Block. Wenn also ein Miner jemals einen Block schürfen würde, der doppelte Ausgaben enthielt, würde jeder andere Knoten diesen Block ignorieren und er würde niemals Teil der Sichtweise der Konsenskette werden.
pebwindkraft