„Paritätskonto neu“ ausführen – ist das generierte Konto für alle Netzwerke geeignet (Mainnet, Ropsten, Kovan usw.)?

Von einer Befehlszeile aus führe ich parity account new.

Ich werde dann aufgefordert, ein Passwort (zweimal) einzugeben, und eine Kontoadresse wird gedruckt.

Außerdem wird eine JSON-Datei erstellt.

Schließlich verwende ich diesen NodeJS-Code, um den privaten Schlüssel für meine Kontoadresse zu generieren:

let fs         = require("fs");
let keythereum = require("keythereum");
let keyObject  = JSON.parse(fs.readFileSync(KEY_FILE_NAME, "utf8"));
let privateKey = keythereum.recover(MY_PASSWORD, keyObject).toString("hex");
console.log(privateKey);

Ist dieses Paar [öffentliche Adresse, privater Schlüssel] für jedes Ethereum-Netzwerk geeignet?

Kann ich es sicher in jedem Testnet sowie im Mainnet verwenden?

Oder muss ich es in einem Netzwerk "registrieren", bevor es als gültiges Konto betrachtet wird?

Danke schön!

AKTUALISIEREN:

Um ein wenig näher darauf einzugehen, möchte ich mein Verständnis davon mitteilen, wie die Dinge funktionieren.

Angenommen, jemand sendet 1 Ether an 0x1234567812345678123456781234567812345678und niemand hat jemals ein Konto mit dieser Adresse erstellt.

Wenn wir den Kontostand dieses Kontos überprüfen (zum Beispiel auf etherscan.io), werden wir sehen, dass es 1 Ether speichert, obwohl niemand es jemals generiert hat.

Wenn nun jemand mit viel Glück ein Konto mit dieser Adresse erstellt, kann er den privaten Schlüssel verwenden, um das Geld abzuheben.

Wenn ich mit dieser Beschreibung richtig liege, dann ist die unmittelbare Schlussfolgerung, dass so etwas wie eine „Kontoregistrierung“ nicht erforderlich ist.

Habe ich recht?

Antworten (2)

Alle Ethereum-kompatiblen Netzwerke verwenden die gleiche Art von privaten Schlüsseln und die Adressen haben das gleiche Format, dh ETH-Mainnet, Testnetze wie Ropsten, Rinkeby, Kovan, ETC-Mainnet usw. können alle den gleichen privaten Schlüssel/die gleiche Adresse verwenden.

Sie müssen kein Konto „registrieren“. Alle Konten sind bereits "erstellt und initialisiert" mit einem Saldo von Null.

Es ist möglich, dass jemand einen privaten Schlüssel erstellt, der die gleiche Adresse wie Sie generiert und vollen Zugriff auf alle Ihre Gelder hat. Aber es ist etwas sehr sehr sehr unwahrscheinlich.

Um Ismaels Antwort zu ergänzen, wie von Nick hier skizziert ,

Ethereum-Adressen sind 160-Bit-Hashes, was bedeutet, dass es 2^160 mögliche Hashes gibt. Gemäß dem Geburtstagsproblem steigt die Wahrscheinlichkeit einer Kollision auf 50 %, wenn etwa 2^80 Konten erstellt wurden.

Um Ihnen eine Vorstellung davon zu geben, wie unwahrscheinlich das ist: Wenn jeder Mensch auf der Erde seine ganze Zeit damit verbringen würde, Ethereum-Konten zu erstellen, und sie einen pro Sekunde erstellen würden, würden sie nur etwa 2^57 davon erstellen. Um 2 ^ 80 zu erzeugen und eine Wahrscheinlichkeit von 50 % zu erreichen, eine Kollision zu finden, müssten sie etwa 8 Millionen Jahre lang eine pro Sekunde erzeugen.

Kurz gesagt, die Art und Weise, wie Ethereum die Eindeutigkeit von Konten garantiert, besteht darin, eine so unglaublich große Anzahl möglicher Adressen zu haben, dass kein denkbarer zufälliger Prozess jemals ein Duplikat erzeugen könnte. Auf diese Weise wird auch die Kontosicherheit gewährleistet - wenn Sie einen doppelten Schlüssel-Hash generieren können, können Sie auch jemandes Ether stehlen!

Sie können Ether an jede gültige Adresse senden, auch wenn niemand den privaten Schlüssel für diese Adresse kennt. Adressen müssen nicht initialisiert werden.

Sie können eine generierte Adresse in jedem Ethereum-Netzwerk verwenden , aber ich würde es nicht empfehlen. Stellen Sie sich zum Beispiel vor, Sie generieren eine Mnemonik (privater Schlüssel) und verwenden sie sowohl auf Ropsten als auch auf Mainnet. Sie geben Ihre Mnemonik gerne auf einer Ropsten-Entwicklungswebsite eines Drittanbieters ein, da es sich nur um einen Testnet -Schlüssel handelt. Plötzlich haben Sie Ihren Ether im Mainnet verloren.

Es ist der gleiche Grund, warum Sie Passwörter nicht über Websites hinweg wiederverwenden, als wenn eine Website kompromittiert wird, dann sind alle Ihre Konten kompromittiert.