Wer genehmigt meinen öffentlichen Schlüssel im Ethereum-Netzwerk?

Bei einem PKI-Ansatz wird ein öffentlicher Schlüssel zentral von einer Zertifizierungsstelle (CA) genehmigt. Da Ethereum jedoch ein dezentralisiertes Netzwerk ist, wie wird die Gültigkeit meines öffentlichen Schlüssels genehmigt? Oder gibt es im Allgemeinen einen Genehmigungsprozess für öffentliche Schlüssel? Und wenn nicht, verursacht das keine Sicherheitsprobleme? Wie wird ein öffentlicher/privater Schlüssel in Ethereum generiert? Gibt es eine Möglichkeit zu verhindern, dass ein Benutzer zu viele öffentliche Schlüssel generiert?

Danke!

Antworten (1)

Ethereum ist keine typische PKI-Infrastruktur.

Der öffentliche Schlüssel wird deterministisch aus dem privaten Schlüssel abgeleitet – der gleiche private Schlüssel führt immer zum gleichen öffentlichen Schlüssel. Der öffentliche Schlüssel wird in diesem Sinne von keiner Behörde "validiert" - er ist immer gültig. Der private Schlüssel kann mit beliebigen Mitteln gewählt werden.

Außerdem wird der öffentliche Schlüssel verwendet, um eine öffentliche Adresse auf deterministische Weise zu erzeugen.

Nichts hindert einen Benutzer daran, mehrere öffentliche Schlüssel zu generieren. Da sie in keiner Weise validiert werden, entsteht kein Overhead durch die Generierung „zu vieler“ öffentlicher Schlüssel. Das System weiß nicht einmal, welche öffentlichen Schlüssel generiert wurden – es hat nur Aufzeichnungen darüber, welche öffentlichen Adressen für Transaktionen verwendet wurden. Es hindert Sie also auch nichts daran, eine Transaktion an eine zufällige Adresse zu senden - Sie haben keine Möglichkeit zu wissen (ohne zu prüfen, ob Transaktionen von dieser Adresse ausgegeben wurden), ob jemand den entsprechenden privaten Schlüssel besitzt oder nicht. Wenn Sie die Adresse zufällig auswählen, ist es sehr unwahrscheinlich, dass jemand einen privaten Schlüssel hat, der zu dieser Adresse führt.

Es gibt viele ausführlichere Artikel online über die Generierung von Private Key / Public Key / Public Address. Hier ist der erste Treffer von Google: https://medium.freecodecamp.org/how-to-create-an-ethereum-wallet-address-from-a-private-key-ae72b0eee27b