Запуск «новой учетной записи четности» — подходит ли сгенерированная учетная запись для всех сетей (mainnet, ropsten, kovan и т. д.)?

Из командной строки я запускаю parity account new.

Затем меня просят ввести пароль (дважды), и печатается адрес учетной записи.

Кроме того, создается файл JSON.

Наконец, я использую этот код NodeJS, чтобы сгенерировать закрытый ключ для моего адреса учетной записи:

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);

Подходит ли эта пара [публичный адрес, закрытый ключ] для каждой сети Ethereum?

Могу ли я безопасно использовать его в любой тестовой сети, а также в основной сети?

Или мне нужно "зарегистрировать" его в сети, прежде чем он будет считаться действительным аккаунтом в нем?

Спасибо!

ОБНОВЛЯТЬ:

Чтобы немного уточнить, я хотел бы поделиться своим пониманием того, как все работает.

Предположим, что кто-то отправляет 1 эфир на 0x1234567812345678123456781234567812345678, и никто никогда не создавал учетную запись с этим адресом.

Когда мы проверим баланс этого аккаунта (например, на etherscan.io), мы увидим, что он хранит 1 эфир, хотя его никто никогда не генерировал.

Теперь, если кто-то очень удачливый создаст учетную запись с этим адресом, он сможет использовать закрытый ключ для вывода средств.

Если я прав в этом описании, то немедленный вывод состоит в том, что такого понятия, как «регистрация аккаунта», не требуется.

Я прав?

Ответы (2)

Все сети, совместимые с Ethereum, используют один и тот же тип закрытых ключей, а адреса имеют одинаковый формат, т. е. основная сеть ETH, тестовые сети, такие как ropsten, rinkeby, kovan, основная сеть ETC и т. д., могут использовать один и тот же закрытый ключ/адрес.

Вам не нужно «регистрировать» учетную запись. Все аккаунты уже "созданы и инициализированы" с нулевым балансом.

Возможно, кто-то создаст приватный ключ, который будет генерировать тот же адрес, что и у вас, и будет иметь полный доступ ко всем вашим средствам. Но это что-то очень-очень маловероятное.

Чтобы добавить к ответу Исмаэля, изложенному Ником здесь ,

Адреса Ethereum представляют собой 160-битные хэши, то есть существует 2^160 возможных хэшей. Согласно проблеме дня рождения, вероятность коллизии возрастает до 50%, когда создается около 2 ^ 80 учетных записей.

Чтобы дать вам представление о том, насколько это маловероятно, скажем, что если бы каждый человек на земле тратил все свое время только на создание учетных записей Ethereum, и они генерировали бы одну учетную запись в секунду, они бы генерировали только около 2 ^ 57 из них. Чтобы сгенерировать 2^80 и достичь 50-процентной вероятности обнаружения столкновения, им нужно будет продолжать генерировать одно столкновение в секунду в течение примерно 8 миллионов лет.

Короче говоря, Эфириум гарантирует уникальность учетной записи, имея такое ошеломляюще большое количество возможных адресов, что ни один мыслимый случайный процесс не может создать дубликат. Так же обеспечивается безопасность учетной записи — если вы можете сгенерировать дубликат хэш-ключа, вы также можете украсть чей-то эфир!

Вы можете отправить эфир на любой действительный адрес, даже если никто не знает закрытый ключ для этого адреса. Адреса не нужно инициализировать.

Вы можете использовать сгенерированный адрес в любой сети Ethereum, но я бы не рекомендовал этого делать. Представьте, например, что вы генерируете мнемонику (закрытый ключ) и используете ее как в Ropsten, так и в основной сети. Вы с радостью вводите свою мнемонику на стороннем веб-сайте разработки ropsten, потому что это « просто ключ тестовой сети». Внезапно вы потеряли свой эфир в основной сети.

По той же причине вы не используете пароли повторно на разных веб-сайтах, так как если один веб-сайт скомпрометирован, то все ваши учетные записи будут скомпрометированы.