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?
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).
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.
lz96
Richard Horrocks
Xiao Jia