Как зарегистрироваться в Ethereum

Учетные записи (аккаунты) играют центральную роль в функционировании системы Ethereum. Существует два типа аккаунтов: внешние (EOAs) и контрактные. Попробуем разобраться в том, как создаются внешние учетные записи, необходимые внешним пользователям для взаимодействия с блокчейном Ethereum посредством транзакций.

Учетные записи представляют собой идентификаторы внешних пользователей, которыми являются как частные лица, так и узлы добычи или автоматизированные агенты. Учетные записи используют зашифрованные открытые ключи для подписания транзакций, позволяющие EVM идентифицировать отправителя трансакции.

Самый простой способ создать учетную запись в системе Ethereum – это использовать кошелек Mist Ethereum – приложение, позволяющее пользователю управлять и оперировать своими учетными записями. Версии приложения кошелька доступны для Linux, Mac OS X и Windows.

Сначала загрузите последнюю версию приложения для кошелька для вашей операционной системы. Приложения «Кошелек» после открытия начнет синхронизировать полную копию блокчейна Ethereum с вашим компьютером, так как вы фактически будете запускать полный узел geth. Имейте ввиду, что вам потребуется не менее 100Гбайт на винчестере.

Разархивируйте загруженную папку и запустите файл Ethereum-Wallet.

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

Когда вы впервые запустите кошелек Mist Ethereum, вы увидите учетную запись. По умолчанию она будет называться MAIN ACCOUNT (ETHERBASE), а ниже вы увидите нулевой баланс и открытый ключ (ваш публичный адрес).

Учетная запись – это ключи, защищенные паролем. Учетная запись может содержать Ether, защищенные токены или монеты и контракты на управление. Учетные записи не могут отображать входящие транзакции.

Для создания дополнительных учетных записей просто нажмите ADD ACCOUNT на главном интерфейсе приложения и введите требуемый пароль.

Каждая учетная запись определяется парой ключей: закрытым и открытым ключом. Учетные записи идентифицируются по их адресу, который выводится из открытого ключа, беря последние 20 байтов. Каждая закрытая пара ключей/адресов закодирована в ключевом файле. Ключевые файлы – это текстовые файлы JSON, которые вы можете открывать и просматривать в любом текстовом редакторе. Критический компонент ключевого файла, закрытый ключ вашей учетной записи, всегда зашифровывается и кодируется паролем, который вы вводите при создании учетной записи и сохраняете в надежном месте. Ключевые файлы находятся в хранилище ключей в подкаталоге каталога данных вашего узла Ethereum. Обязательно выполняйте резервное копирование своих ключевых файлов! Управление учетной записью легко настроить, благодаря рекомендациям из соответствующего раздела http://ethdocs.org/en/latest/account-management.html.

Другой способ создать учетную запись – через командную строку. Если вы загрузите Go Ethereum Client из GETH, вы сможете создать свою учетную запись. От вас потребуется ввести пароль, который вы должны хранить, и в результате вы получите общедоступный адрес вашей новой учетной записи. Вы можете создать столько учетных записей, сколько захотите, вы также можете просмотреть их все, набрав GETH Account List. Обратите внимание, что здесь вы также увидите учетную запись, которую создали в Ethereum Wallet.

Интересно, что для создания учетной записи Ethereum вам не нужно подключаться к блокчейну и даже к интернету: создание учетной записи происходит полностью в автономном режиме.

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

Для создания общего адреса Ethereum необходимо последовательно выполнить три шага:

  • создать закрытый ключ, который представляет собой случайный набор символов, содержащий 256 бит информации;
  • генерировать открытый ключ на 512 бит, используя криптографию с эллиптическими кривыми. Каждый закрытый ключ отображает только один открытый ключ.
  • вычислить хеш-функцию Keccak256, имея открытый ключ, и получить 160-битный общедоступный адрес. Каждая учетная запись может имеет больше одного закрытого ключа.

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

Apple создал 10 000 возможных четырехзначных паролей для iPhone, т.е. у мошенника, пытающегося вручную проникнуть в ваш телефон, есть 1 шанс из 10 000. Правда, для компьютера эта задача не является сложной. Apple также утверждает, отпечаток пальца предоставляет одно совпадение на 50 000 вариантов сравнения, а если индентификатором служит лицо, то существует только один шанс совпадений на один миллион вариантов.

При использовании 256 бит можно создать 1077 вариантов закрытого ключа Ethereum. Это насколько огромное число, что в даже в окружающей нас галактике ему нет аналога. Следовательно, его можно считать абсолютно уникальным.