Wenn SHA256 und/oder RIPEMD-160 defekt wären, wären dann alle Bitcoin-Adressen kompromittiert?

Wenn nicht, was wäre sonst noch nötig, um alle Gelder von allen Menschen zu stehlen und Bitcoin vollständig zu brechen?

Ich wette, einige werden sagen, ECSDA gibt Bitcoin eine zusätzliche Schutzebene. Ich entgegne dem, indem ich sage, dass ECSDA von einer Hash-Funktion wie SHA256 abhängig ist. Also werde ich das auch fragen: Welche Art von ECSDA verwendet Bitcoin und wäre es immer noch geschützt, wenn SHA256 kaputt wäre?

Ja, ich weiß, ich illustriere ein unwahrscheinliches Szenario, aber ich glaube trotzdem, dass wir wissen sollten, was passieren wird.

Wenn Sie andere Hash-Funktionen in Bezug auf SHA256 erwähnen möchten, können Sie dies tun. Fühlen Sie sich frei zu erklären, wie RIPEMD-160 Bitcoin im Falle eines SHA256-Exploits schützen würde.

Antworten (2)

Bitcoin verwendet SHA256, gefolgt von RIPEMD-160, die ich gemeinsam HASH160 nennen werde.

Gute Hashes haben 4 Eigenschaften:

  1. Es ist einfach, den Hash-Wert für eine beliebige Nachricht zu berechnen
  2. Es ist nicht möglich, eine Nachricht mit einem bestimmten Hash zu generieren
  3. Es ist nicht möglich, eine Nachricht zu ändern, ohne den Hash zu ändern
  4. Es ist unmöglich, zwei verschiedene Nachrichten mit demselben Hash zu finden

Quelle: Wikipedia

Wir kümmern uns um die Eigenschaften 1, 2 und 3. Wir wissen mit Sicherheit, dass Eigenschaft 1 für HASH160 wahr ist – wir können sie bewerten. Wenn die Eigenschaften 2 oder 3 falsch wären, könnten Sie Bitcoins stehlen. Nicht gut.

Es ist eine gute Sache, dass die Skriptsprache so flexibel ist und es den Benutzern ermöglichen würde, zu einem anderen Adresstyp zu wechseln, ohne alle zu einem Upgrade zu zwingen.

Dies ist ein aktuelles Bitcoin-Transaktionsskript:

 OP_DUP OP_HASH160 09432ab39083b5098b6f09432ab39083b5098b6f OP_EQUALVERIFY OP_CHECKSIG

So könnte sich das ändern, wenn HASH160 kaputt wäre:

OP_DUP OP_HASH256 09432ab39083b5098b6f09432ab39083b5098b6f09432ab39083b5098b6f826496 OP_EQUALVERIFY OP_CHECKSIG

Beachten Sie, dass wir HASH160 gegen HASH256 ausgetauscht haben. Oder, vorausgesetzt, beide waren kaputt:

<pubKey> OP_CHECKSIG

Jetzt verzichten wir ganz auf Hash-Funktionen und setzen den ECDSA-Schlüssel explizit ein. Dies würde Bitcoin-Adressen jedoch zu einer Länge von etwa hundert Zeichen machen.

Könnten Sie erläutern, was erforderlich wäre, um „zu einem anderen Adresstyp zu wechseln“, was Benutzer mit Bitcoins auf dem alten Adresstyp tun müssten, um zu wechseln. Müsste jeder nur neue Adressen erstellen und alle seine Bitcoins verschieben?
@BT Ja. Die Adressen wären jedoch viel länger.
Verstanden, cool. Das hört sich dann doch gar nicht so schlecht an. Zumindest nicht katastrophal.
Um Bitcoins auszugeben, benötigen Sie den entsprechenden privaten Schlüssel. Die Bitcoin-Adresse wird aus dem öffentlichen Schlüssel abgeleitet. Wenn die Hash-Funktion bezüglich 2. kompromittiert werden könnte, könnte man den öffentlichen Schlüssel preisgeben. Dies würde immer noch erfordern, dass die Kryptografie mit elliptischen Kurven auseinanderfällt, bevor ein Angreifer Ihr Geld stehlen könnte. Ein Angriff auf 3. hilft bei einer Bitcoin-Adresse überhaupt nicht. Wenn schließlich 4. geschwächt wäre, würde es immer noch nicht wirklich helfen, da Sie zufällig Schlüsselpaare generieren müssten, um eine Kollision zu finden. Sie können das jetzt schon tun, aber die Chancen sind größer, außerirdisches Leben im Universum zu finden.

Nicks Antwort ist sehr hilfreich, reicht aber möglicherweise nicht aus, um uns (und BitCoin) ins Reine zu bringen. Aufgrund der Tatsache, dass Krypto-Hashing-Funktionen nachweislich die Einschränkungen 2 und 3 nicht erfüllen, kann es berechtigte und schwerwiegende Bedenken geben, sodass sie potenziell schwach sein können.

Auch wenn die Leute von einer Krypto-Hashing-Funktion zu einer besseren wechseln könnten, was würde es uns ermöglichen, sicher zu wissen, dass jemand die Schwäche der Hashing-Funktion nicht stillschweigend zum Stehlen nutzt? Unentdeckt zu bleiben würde es Ihnen ermöglichen, aus dem Bitcoin-System zu saugen, vielleicht indem Sie einen enormen Anteil an Mining-Belohnungen erhalten, ohne annähernd so viel Rechenleistung zu verbrauchen. Diese Art von Arbitrage könnte es Ihnen ermöglichen, von jedem Nerd reich zu werden, der BitCoin verwendet (ich zugegebenermaßen eingeschlossen) und von einigen Risikokapitalgebern (ich komme dorthin ;) ). Und da wir spekulieren, wäre es nicht bequem, eine auf Krypto basierende Währung zu entwickeln, wenn Sie wirklich reich werden wollen. Offensichtlich, es auszunutzen, ohne sein Potenzial für Wachstum und Akzeptanz zu beseitigen ...

Wenn Sie den Exploit für SHA-256 kennen und wissen, wie man BTC und andere Kryptowährungen abschöpft, ist es altruistisch und ehrenhaft, den Exploit zu veröffentlichen. Das Egozentrische wäre, es zu missbrauchen.

Ich hoffe, dass mir jemand bezüglich dieses Missbrauchspotenzials das Gegenteil beweisen wird.

Wenn nicht, läuft es im Grunde darauf hinaus: Mit großer Macht kommt große Verantwortung! Jeder sagt, dass man bei BitCoin kein Vertrauen braucht. Es kommt immer noch darauf an, zu vertrauen, aber jetzt darauf zu vertrauen, dass niemand auf diese Lücke gekommen ist oder dass derjenige, der es getan hat, das System nicht mehr bricht, als es zum gesellschaftlichen Wert beiträgt.

Ich hätte wirklich großen Respekt vor der Person, die die Ehre über den persönlichen Vorteil stellt. Es sei denn, Sie leiten die Gewinne für einen guten Zweck ab, aber selbst dann bin ich sicher, dass eine einzelne Person nicht am besten in der Lage ist, mit diesen Wertbeträgen umzugehen. Eine Masse oder sogar ein Markt weiß besser, wie man Gelder einigermaßen optimal zuteilt.

Wenn Sie einen Exploit für einen großen Kryptoalgorithmus wie SHA256 kennen, könnten Sie die Passwörter von Leuten über SSL ausspionieren, ihre Back-Accounts knacken und ihnen an einem schnellen Wochenende Fiat entziehen. Ich denke, Bitcoin wäre die geringste Sorge der Welt.