Warum werden öffentliche Schlüssel nicht direkt als Kontoadressen verwendet? [Duplikat]

Ich verstehe, dass Adressen Hashes der öffentlichen Schlüssel sind. Aber wieso? Was ist die Begründung für diese Designentscheidung?

Und warum 160 Bit? Warum nicht einfach den Hash direkt verwenden? Ist 160-Bit garantiert in Zukunft ausreichend für Kompatibilität und Sicherheit?

Vielleicht folgen sie einfach dem Design von Bitcoin. Ref: bitcoin.stackexchange.com/questions/3600/…
(Dieses Duplikat fragt im Grunde: "Was ist die Verwendung der Ethereum-Adresse überhaupt?")
@lz96 Das ist interessant. Bitcoin verwendet tatsächlich RIPEMD160, was wahrscheinlich erklärt, warum Ethereum die Keccak-256-Ausgabe auf diese Größe kürzt.

Antworten (2)

Ethereum wurde mit Blick auf Widerstandsfähigkeit für die „Zukunft“ gebaut. Für die Adressgenerierung (dh öffentlich-privates Schlüsselpaar) wird Elliptic Curve Cryptography (ECC) verwendet, und neben anderen Gründen ist seine Leistung anderen bestehenden Algorithmen (z. B. RSA-basiert) weit überlegen.

Obwohl im Elliptic-Curve-Algorithmus, der in Ethereum verwendet wird, kein Fehler gefunden wurde, wollten die Gründungsdesigner das System widerstandsfähig halten, falls ein Fehler/Exploit im Algorithmus entdeckt wird, damit niemand den privaten Schlüssel aus dem öffentlichen Schlüssel zurückentwickeln kann . Da sich der Hashing-Algorithmus bereits als immun gegen Reverse Engineering erwiesen hat, bedeutet dies oben drauf, dass niemand von der Adresse auf den privaten Schlüssel zurückgreifen kann (selbst wenn der ECC-Algorithmus ausnutzbar wäre).

Ich stimme zu, dass es in Fällen nützlich ist, in denen eine Änderung des Schlüsselalgorithmus erforderlich ist, da Hashing eine zusätzliche Indirektionsebene hinzufügt. Aber was Ihre Irreversibilität betrifft, ist der öffentliche Schlüssel nicht auch in den Transaktionen vorhanden?
Informationen zum Wiederherstellen öffentlicher Schlüssel aus Transaktionen finden Sie unter crypto.stackexchange.com/a/18106/59755 . Eine interessante Eigenschaft ist, dass es nicht möglich ist, die Schlüssel allein aus den Adressen abzurufen, bevor ein Konto Transaktionen unterzeichnet hat.

Adressen sind kleiner als öffentliche Schlüssel, sie sind von Adressen anderer Kryptowährungen identifizierbar, einige Adressen wie Bitcoin haben eine eingebaute Prüfsumme, während Ethereum-Adressen gültige IBAN-Kontonummern sind.

Ich frage speziell nach Ethereum. Kannte die IBAN-Geschichte nicht. Aber das scheint nur eine Zusatzfunktion zu sein, während ich vermute, dass das Design des Adressraums älter als ICAP sein muss.
Ok, ich hatte eine Antwort im allgemeinen Sinne gegeben, muss mich mit dem Adressdesign von Ethereum befassen. Aber eines ist sicher, das Adressdesign von Ethereum hat viele Benutzer in Schwierigkeiten gebracht, es hat keine Prüfsumme, derselbe Adressraum wird für Testnetze verwendet, sogar für Ethereum-Forks wie Ethereum Classic. Benutzer haben versehentlich Ether an Testnets und andere Forks gesendet. Während Bitcoin Markierungen und Prüfsummen in ihren Adressen verwendet. Damit Benutzer nicht versehentlich Münzen an falsche Adressen senden können