Stehlen Sie die Proof-of-Work-Antwort von einem Miner [Duplikat]

Ist es möglich, die Proof-of-Work-Antwort von einem Miner zu stehlen, der eine unsichere Maschine hat? Stellen Sie sich einen Bergmann vor, der auf einer unsicheren Maschine die richtige Antwort auf einen Arbeitsnachweis gefunden hat und ein Gegner diese stiehlt und an das gesamte Netzwerk sendet, um die entsprechende Belohnung zu erhalten . Ist es möglich? und wenn ja, was ist die lösung? Ich meine nicht "Block versiegeln", sondern "Nonce stehlen", dh die Antwort von pow für einen "einzigartigen Block". Consicer zwei Bergleute (rational und ehrlich) arbeiten an demselben Block. Wenn ein ehrlicher Bergmann die richtige Nonce finden kann, dann stiehlt Rational diese Nonce und verbreitet sie im gesamten Netzwerk.

Ich meine nicht "Block versiegeln", sondern "Nonce stehlen", dh die Antwort von pow für einen "einzigartigen Block". Consicer zwei Bergleute (rational und ehrlich) arbeiten an demselben Block. Wenn ein ehrlicher Bergmann die richtige Nonce finden kann, dann stiehlt Rational diese Nonce und verbreitet sie im gesamten Netzwerk.
@Murch Ich meine nicht "Sealing Block", sondern ich meine "Stealing Nonce", also die Antwort von pow für einen "Unique Block". Consicer zwei Bergleute (rational und ehrlich) arbeiten an demselben Block. Wenn ein ehrlicher Bergmann die richtige Nonce finden kann, dann stiehlt Rational diese Nonce und verbreitet sie im gesamten Netzwerk.
Gleiches Problem: Die Nonce ist nur im Zusammenhang mit einem bestimmten Blockkandidaten die richtige Lösung. Und der Blockkandidat enthält eine Coinbase-Transaktion, die für den Miner spezifisch ist, da er die Belohnung an den Miner auszahlt. Sie können die Nonce nicht stehlen, da sie Ihren Blockkandidaten nicht löst, der die Belohnung selbst senden würde.

Antworten (1)

Der Beweis für die Arbeit ist die Tatsache, dass der Hash des Blocks eine niedrige Zahl ist, wenn Sie den Hash als lange 256-Bit-Zahl interpretieren. Wenn Sie etwas im Block ändern, ändert sich der Hash und es ist sehr unwahrscheinlich, dass er niedrig genug ist (unter dem Ziel), sodass der Proof-of-Work weg ist. Und ganz richtig, Sie haben keine Arbeit geleistet, um diesen modifizierten Block zu erstellen.

Sie können den Block also nicht ändern, nachdem er abgebaut wurde, was bedeutet, dass Sie die Bitcoin-Adresse, an die dieser Block sein Miner-Einkommen (neue Münzen und Transaktionsgebühren) sendet, nicht ändern können.

Sie können das Miner-Einkommen nicht aus einem Block stehlen, nachdem der Block abgebaut wurde.

Wenn jedoch ein Mining-Pool-Server unsicher ist, können Sie sich in ihn hacken und den Mining-Pool dazu bringen, Blöcke abzubauen, die Ihre Bitcoin-Adresse anstelle ihrer eigenen bezahlen.

Sie könnten statt sich selbst auch einzelne Miner in einer Poolmine für sich erstellen. Sie müssten nicht einmal ein unsicheres System haben. BGP-Routing-Angriffe wurden bereits früher verwendet, um Miner zu entführen, sodass sie sich mit dem Server des Hackers verbinden, anstatt mit dem Mining-Pool-Server, mit dem sie sich verbinden möchten. Siehe https://www.wired.com/2014/08/isp-bitcoin-theft/ Dies könnte durch die Verwendung von TLS gemildert werden, genau wie Webserver TLS (https-Adressen) verwenden.

Es gibt also mehrere Möglichkeiten, Miner zu stehlen, aber etwas mit einem bereits abgebauten Block zu tun, gehört nicht dazu.

@Dr.Haribo, ich meine nicht "Sealing Block", sondern ich meine "Stealing Nonce", dh die Antwort von pow für einen "Unique Block".
Ohne den Rest des Blocks ist die Nonce nur eine 32-Bit-Zahl. Völlig wertlos. Sicher, man kann es die Antwort für einen Block nennen. Die Antwort für einen Block, der jemand anderen bezahlt, nicht Sie.
@Dr.Haribo, aber ich habe den Rest blockiert. Betrachten Sie mich und Sie suchen nach einer verwandten Nonce für Block „b“ (also haben wir beide Block „b“ und Block „b“ ist der Kopf der Blockchain), dann können Sie die richtige Nonce vor mir finden, aber Ihre Maschine ist es unsicher und so überwache ich Ihre Maschine. Dadurch kann ich Ihre Nonce im gesamten Netzwerk ausstrahlen. (pow-Ungleichung ist: if (Hash von "b" + nonce) < T then pow war erfolgreich)
Sie können keine Nonce senden, nur einen ganzen Block. Und der Block, mit dem die Nonce arbeitet, sagt "Pay DrHaribo". Wenn Sie den Block ändern, um "pay sas" zu sagen, ist der Block nicht mehr gültig.
Du kannst nicht den Schlüssel deines Nachbarn stehlen, um eine Bank auszurauben. Ihr Schlüssel funktioniert nur an ihrer Tür, nicht an der Bank.
@ Dr.Haribo' Ich stehle Ihre Nonce, wenn Sie sie finden und wenn Nonce nicht signiert ist. Bitte erläutern Sie Ihre Antworten klarer. Ich ändere Block "b", dh den Kopf der Blockchain, und Ihre Nonce wird basierend auf dem Hash von Block "b" erstellt.
Nonces sind nicht signiert, sie sind nur 32-Bit-Zahlen
@ Dr.Haribo, ich ändere Block "b", dh den Kopf der Blockchain, und Ihre Nonce wird basierend auf dem Hash von Block "b" erstellt.
Rechts. Sie ändern den Block, der Hash ist nicht mehr unter dem Ziel. Ungültiger Block. Sie senden es, aber niemand will es.
@ Pieter Wuille, stimmst du mir zu?
@ Dr.Haribo, Entschuldigung, aber ich spüre, dass Sie Ihre Sätze wiederholen. Betrachten Sie die pow-Ungleichung als dh Wenn Hash von ("b" + nonce) < T, dann war pow erfolgreich.
Ich baue einen Block und stelle einige Transaktionen zusammen. In der ersten Transaktion (der Coinbase) lege ich fest, dass das Miner-Einkommen an meine Bitcoin-Adresse gezahlt werden soll. Ich versuche, Teile des Blocks (die Nonce oder andere Teile) zu modifizieren, um einen Hash zu erhalten, der unter dem Ziel liegt. Ich finde einen. Ich habe jetzt einen gültigen Block, der mich bezahlt. Wenn du den Block bekommst, kannst du damit nichts anfangen. Wenn Sie irgendeinen Teil ändern, befindet sich der Hash über dem Ziel, sodass der Block ungültig ist.
Also sicher, Sie können meine Blockdaten stehlen, aber wenn Sie den Teil ändern, wo der Block sagt, wohin das Miner-Einkommen gehen soll, dann ist es kein gültiger Block mehr. Sie müssen jetzt von vorne beginnen, die Nonce oder andere Teile ändern und versuchen, einen Hash unter dem Ziel zu finden. Du hast nichts erreicht.
@ Dr. Haribo, Sie meinen also: "Für eine einzigartige Blockchain, in der das Netzwerk einen Konsens hat, gibt es keine einzigartige Nonce und jeder findet eine andere Antwort", richtig?
Jeder versucht, seine eigenen Blöcke zu bauen, indem er die Daten zusammenstellt, die er in den Block einfügen möchte. Sie probieren jede Sekunde viele Milliarden Variationen des Blocks aus. Nicht nur die Nonce zu ändern, das würde nur den Bruchteil einer Sekunde dauern. Sie bauen Milliarden von Blöcken pro Sekunde und prüfen, ob einer von ihnen einen Hash unterhalb des aktuellen Ziels im Bitcoin-Netzwerk hat. Das ist Bergbau.
@ Dr.Haribo, also müssen wir die Ungleichung von PoW ändern: Wenn Hash von ("b" + nonce) < T ?
Der Beweis für die Arbeit ist die Tatsache, dass ich einen Block gefunden habe, in dem hash("pay drharibo" + nonce + other-stuff) < target ist. Wenn Sie IRGENDEINEN Teil der gehashten Daten ändern, sind sie nicht mehr < Ziel. Sie haben also keinen Arbeitsnachweis mehr.
@sas - Dr. Haribo war in seinen Erklärungen ziemlich klar. Vielleicht sollten Sie etwas mehr darüber lesen, wie Bitcoin funktioniert? Das Wiki ist eine gute Quelle dafür - en.bitcoin.it/wiki .