Bitcoin sicher, wenn ECDSA kaputt ist?

Ich habe gelesen, dass ein Grund für die Verwendung einer neuen Adresse für jede Transaktion darin besteht, dass der Pubkey hinter einem Hash versteckt wird, sodass selbst wenn ECDSA defekt ist und jemand meinen Privkey von meinem Pubkey ableiten kann, es immer noch unmöglich wäre, ihn auszugeben die Ausgabe der Transaktion, da sie in der Lage sein müssten, den Hash nicht nur umzukehren, sondern ihn in einen gültigen Pubkey umzuwandeln. Unter der Annahme, dass dies unmöglich ist, und unter der Annahme, dass die Leute für jede Transaktion eine neue Adresse verwenden, was wären die vollständigen Auswirkungen auf die Sicherheit von Bitcoin, wenn ECDSA gebrochen würde? Wie viel Schutz bietet das Hashing des Pubkeys vor Broken-ECDSA-Angriffen?

Antworten (1)

Erstens, wenn ECDSA kaputt wäre, würden viele andere Dinge kaputt gehen, wie ssh, https und eine Menge anderer Dinge, einschließlich Banking-Websites.

Zweitens, wenn niemand Adressen wiederverwendet, dann ja, Bitcoin wäre durch SHA256 und RIPEMD160 geschützt. Es gibt derzeit keine bekannte Möglichkeit, ein Preimage eines Hashs zu erhalten, der von einer dieser Funktionen verwendet wird, damit Ihr Bitcoin sicher wäre. Auch hier wird davon ausgegangen, dass niemand Adressen wiederverwendet.

Wie viel Schutz dies bietet, ist schwer zu sagen, da dies von dem Exploit abhängt, der zum Brechen von ECDSA verwendet wird.

Ich denke, ich frage nur, gibt es andere Dinge, für die ECDSA im Netzwerk verwendet wird, wo es nicht durch einen Hash geschützt ist?
Außerdem glaube ich, dass Sie sich irren ... die Person, die mir die Transaktion geschickt hat, kennt meinen Pubkey. Wenn also ECDSA kaputt wäre, könnte sie die Bitcoins an sich selbst zurücksenden, nachdem ich ihnen eine Dienstleistung erbracht oder ihnen ein Produkt gegeben habe.
Nein, es gibt keine anderen Dinge, die ECDSA verwenden, außer dem Signieren. Und nein, die Person, die Ihnen die Transaktion sendet, kennt den Pubkey NICHT, es sei denn, Sie sagen es ihr außerhalb des Bandes. Sie kennen nur den Hash160 des Pubkeys, der in Ihrer Bitcoin-Adresse verschlüsselt ist.
Oh, das stimmt! Was ist dann der Sinn der Unterzeichnung? Warum kann ich dem Netzwerk nicht einfach mitteilen: "Ich kann beweisen, dass diese Transaktion an mich gesendet wurde, da ich den Hash umkehren kann. Jetzt senden Sie bitte die Coins an Adresse X."
Um zu beweisen, dass Sie das Urbild eines Hashs haben, müssten Sie das Urbild selbst preisgeben. Sobald jemand ein Preimage hat, kann er seine eigene Transaktion erstellen, um seine eigene zu ersetzen. Miner könnten dann beispielsweise Transaktionen ändern, um sich die Bitcoins zu geben. Sie benötigen Public-Key-Kryptographie, um diese Art von Manipulation zu stoppen.
Ok, Hashing reduziert also nur die Zeit, die ein Angreifer braucht, um Ihren Pubkey zu brechen, solange Sie die Coins haben, auf die Zeit, die eine Transaktion benötigt, um verifiziert zu werden. Also, was ist der Sinn? Wenn es einen Angriff gäbe, der einen öffentlichen Schlüssel in einer Stunde knacken könnte, würden wir uns sowieso von ECDSA entfernen, also warum kümmern, ob der Angreifer ein Jahr oder nur eine Stunde Zeit hat?