что такое ключи ethereum
Где взять закрытый ключ эфириум кошелька
Автор: admin · Опубликовано 30.04.2018 · Обновлено 08.08.2018
Эфириум — это одна из самых популярных криптовалют после Bitcoin, для авторизации в кошельке здесь используется тот же способ, что и для большинства других криптовалют — пара открытого и закрытого ключей. Эта технология позволяет надежно защитить ваши средства.
В этой статье мы поговорим о том, как это работает, зачем все это нужно, а также разберем где взять закрытый ключ эфириума кошелька для нескольких популярных программ, и для чего его можно использовать.
Что такое закрытый ключ эфириума?
Чтобы понять что такое закрытый ключ эфириума, необходимо сначала поговорить о том как работает сеть блокчейн, я обязательно напишу об этом более подробную статью, но сейчас рассмотрим все вкратце. Я буду упрощать некоторые моменты, поэтому информация будет не всегда технически достоверной, но она позволит понять общую суть.
Болокчейн эфириума можно представить в виде бухгалтерской книги. Там нет никаких балансов кошельков, есть только список транзакций, на основе которого можно увидеть сколько сейчас есть у вас монет. Этот список распространяется между всеми узлами сети, а его достоверность гарантируется тем, что все узлы проверяют каждую транзакцию, которая добавляется в этот список, таким образом, попытка подделать что-либо приведет к тому, что большинство эту подделку отброс ит, при условии, что у них установлено программное обеспечение без уязвимостей.
У каждой транзакции есть адрес кошелька эфириума с которого она была отправлена и адрес кошелька на который были отправлены средства. При отправке транзакции программа просто суммирует все начисления и списания средств с вашего коешька, и если сумма оказывается достаточной, то средства отправляются. Перед тем как транзакция попадает в блокчейн, она проверяется другими узлами сети, так что подделать вы ничего не сможете. Таким образом можно сказать, что ваш баланс кошелька находится одновременно на множестве компьютеров сети и чтобы поддтвердить что это именно ваш кошелек используются ключи шифрования. В эфириуме применяется ассиметричная криптография. На данный момент существует два алгоритма — RSA, популярный в Linux и ECDSA, который используется в криптовалюте.
Если вы захотите, то сможете найти более подробную информацию об этом в интернете. Если в двух словах, то вся суть сводится к тому что с помощью открытого ключа можно зашифровать сообщение, но расшифровать его можно только с помощью закрытого ключа. Таким образом открытый ключ доступен всем, а закрытый хранится только у владельца кошелька. При создании кошелька сначала генерируется закрытый ключ, потом на его основе создается открытый ключ. Хэш открытого ключа — это и есть ваш адрес в сети эфириум. А закрытый ключ применяется для того чтобы подтвердить, что именно вы являетесь владельцем этого адреса.
Это означает что вы можете экспортировать закрытый ключ из одного кошелька, например, geth или jaxx, и вставить в другой, то же myetherwallet, и без проблем получить доступ к средствам, которые хранятся на этом кошельке.
Иногда пользоваетли путают пароль, который они установили на кошелек с закрытым ключем, между ними нет ничего общего и с помощью того пароля вы не сможете получить доступ к вашим средствам. Закрытый ключ хранится в обычном текстовом файле на компьютере, там его может прочитать любая программа, поэтому некоторые кошельки предлагают дополнительно шифровать этот ключ с помощью пароля. Отсюда и появляется пароль.
А теперь, когда мы разобрались с основами, разберем как экспортировать закрытый ключ из популярных кошельков. Важно отметить, что получить закрытый ключ эфириум кошелька можно только в кошельке, биржи, обычно, не дают пользователям доступа к закрытым ключам.
Где взять закрытый ключ эфириум кошелька
Рассмотрим самые популярные кошельки, это Jaxx, MyEtherWallet и Electrum.
1. Как посмотреть закрытй ключ в MyEtherWallet
Начнем с самого простого — myetherwallet. Сначала вам нужно войти в ваш кошелек. Для этого используйте файл Keystroke, который сервис вам отдал при регистрации. В принципе, вы могли бы посмотреть свой приватный ключ эфириум в этом файле, но там он зашифрован с помощью пароля, так что для его получения нужно использовать интерфейс кошелька:
Следующий шаг — перейдите на вкладку Инфомрация о кошельке:
Здесь вы можете еще раз скачать ваш файл Keystorke, посмотерть адрес, а также посмотреть закрытый ключ, по умолчанию он скрыт звездочками, но вы можете его открыть нажав на кнопку глаза напротив поля.
2. Как посмотреть закрытый ключ в Jaxx
Откройте программу, затем кликите по значку бутерброда в верхней части экрана. Далее выбертие пункт меню Tools:
Затем Display Private Keys:
Подождите пока завершится отсчет и нажмите I understand:
Выберите Display Ethereum Keys:
В следующем окне вы видите ваши ключи, открытый в поле public key, закрытый в private key ethereum:
3. Как посмотреть приватный ключ в Exodus
В кошельке Exodus процедура немного сложнее. Сначала нажмите сочетание клавиш Ctrl+Shift+D, затем откройте File, Developer, Etereum, Export Private Keys:
В следующем окне вам надо нажать I am sure чтобы подтвердить отображение private key ethereum:
А дальше программа покажет, что приватный ключ эфириум эскортирован успешно в файл:
Выводы
В этой небольшой статье мы рассмотрели где взять приватный ключ эфириума, что это такое и зачем он нужен. Особенно полеными эти методы будут когда вы захотите получить монеты какого-либо форка эфириума. Но не забывайте, что приватный ключ ethereum дает полный доступ к вашему кошельку его владельцу, поэтому никогда и никому не сообщайте эти ключи, а если это необходимо, то сначала переведите средства на другой кошелек.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как работают Seed-фразы кошельков эфириума?
Количество разнообразных аппаратных, программных и web-кошельков для хранения эфира на сегодняшний день не поддается подсчету. И подавляющее большинство из них в качестве основного идентификатора использует так называемые seed-фразы, которые позволяют восстановить приватный ключ даже если вы потеряли кошелек. Но как именно из seed-фраз получаются ключи?
Ключи приватные и ключи публичные
Для работы с любой криптовалютой используются пары из приватных и публичных ключей (также называемых закрытыми и открытыми).
HD-кошельки
Большинство современных кошельков относятся к так называемым иерархически детерминированным (они же HD-кошельки). Они используют древообразную структуру в качестве “корня” которой служит зерно, а каждый полученный из него ключ имеет свои производные ключи. Благодаря возможности создания неограниченного числа открытых ключей даже без доступа к приватным ключам (храня их, например. на не подключенном к интернету носителе), такие кошельки значительно более безопасны.
При этом “зерно”, как правило, кодируется при помощи тех самых, интересующих нас мнемонических seed-фраз. Вдобавок, поскольку приватные и публичные ключи Ethereum и Bitcoin работают одинаково, разработчики кошельков для эфира не стали изобретать велосипед и использовали “предложения по улучшению биткоина” BIP32, BIP44 (описывающие создание иерархически детерминированных кошельков) и BIP39 (описывающий мнемонические фразы). Хотя в случае BIP39 многие “эфирные” кошельки используют другие наборы слов и хэш-функции, но сам механизм работы остается неизменным.
Мнемонические seed-фразы
Процедура получения мнемонической фразы, согласно BIP39, выглядит следующим образом:
Другие механизмы создания мнемонических кодов работают аналогично, хотя могут иметь другие таблицы слов, использовать другие хэш-функции и другую часть битов полученной хэш-функции для получения контрольной суммы. Из-за этого seed-фразы некоторых кошельков несовместимы между собой.
Также, для удобства использования кошельков, таблицы слов должны соответствовать нескольким правилам:
В ряде кошельков работа, можно сказать, начинается с “восстановления” кошелька. Пользователь (или генератор) создает seed-фразу из слов, указанных в таблице, которая декодируется в “зерно”.
Приватные ключи из “зерна”
Дочерние ключи, в свою очередь, получаются из комбинации расширенного ключа (сочетание ключа и “кода цепи”) и 32-битного индекса (порядкового номера)с помощью все той же HMAC-SHA512. Результат разделяется на дочерние закрытый ключ и код цепи.
“Размножение” открытых ключей
Бесплатные деньги: как хакер смог заработать миллионы долларов поиском слабых приватных ключей
На прошлой неделе консалтинговая фирма Independent Security Evaluators (ISE) опубликовала исследование приватных ключей на блокчейне Эфириума. В ходе своей работы аналитикам удалось обнаружить «блокчейн-мошенника», который сумел украсть более 45 тысяч ETH перебором простых комбинаций. Подробнее о проблеме журналистам Cointelegraph рассказал главный аналитик ISE Эдриан Беднарек.
С чего всё началось?
Беднарек обнаружил хакера совершенно случайно. Ранее он занимался исследовательской работой по заказу одного из своих корпоративных клиентов, который хотел разработать собственный кошелёк с интегрированным алгоритмом генерации ключей.
В Эфириуме, Биткоине или любом другом блокчейне, поддерживающем протокол Elliptic Curve Digital Signature Algorithm (ECDSA), приватные ключи представлены в виде 256-битных чисел. Во время исследования аналитики ISE разделили эту комбинацию на восемь 32-битных «субрегионов», так как брутфорс целого приватного ключа статистически невозможен.
В этих восьми субрегионах было найдено 34 миллиарда слабых ключей. По словам Беднарека, сканирование заняло целый день. Стоит отметить, что ключи были сгенерированы из-за ненадёжного кода.
Ещё один интересный факт — приватный ключ «1» уже используется в блокчейне Эфириума. Более того, он фигурирует в нескольких тысячах транзакций.
В 256-битном коде ключ имеет следующий вид: 0x0000000000000000000000000000000000000000000000000000000000000001.
Беднарек считает этот факт большой проблемой.
Почему люди вообще пользуются этим ключом? Это невозможно.
Команда ISE начала изучать блокчейн более подробно, чтобы найти ещё больше слабых ключей. Им удалось обнаружить по крайней мере 735 комбинаций, которые можно ассоциировать с 49 060 транзакциями.
Мошенник на блокчейне
Примечательно, что кошельки с большинством упомянутых слабых приваткеев имеют определенные транзакции, которые ведут к узкому кругу адресов.
Кое-кто просто высасывал деньги с ключей, которые нам чудом удалось обнаружить. Из 735 приватных ключей, которые мы нашли, он имел доступ к 12. Мошенник не мог просто так угадать комбинацию, он занимался тем же, чем и мы. Он вытаскивал средства с кошельков, как только те поступали туда.
Эксперты установили, что хакер (или группа хакеров) установил ноду, которая «выкачивала деньги» в автоматическом режиме. Чтобы протестировать это, аналитики даже отправили один доллар с использованием слабого приватного ключа. Монеты с указанного кошелька исчезли за считанные секунды.
По данным Etherscan, на кошельке мошенника хранится около 45 000 ETH или около 7,3 миллиона долларов по сегодняшнему курсу. На момент исторического максимума цены Эфириума хакер мог бы обладать более чем 50 миллионами долларов.
Кстати, адрес мошенника имеет много комментариев от потерпевших. Судя по всему, преступник безнаказанно занимается своим делом вот уже несколько лет. В одном из комментариев нашли ссылку на старый тред с Reddita за 2016 год. Создатель обсуждения рассказывал о том, как его «ограбили» всего через несколько минут после запуска собственной ноды.
Аналитики подробнее изучили методы работы хакера.
Во-первых, он ищет слабые приватные ключи. Во-вторых, он ищет кошельки с ненадёжной кодовой фразой и неправильно настроенные RPC.
Проблема, как всегда, скрыта в человеческом факторе. Даже у самих экспертов ISE были «моральные трудности» во время проведения исследования.
Перед началом работы у нас появилась этическая дилемма — что если мы найдём ключ от кошелька с миллионами долларов? Мы просто оставим всё как есть? Но если сделать так, хакеры наверняка рано или поздно доберутся до денег.
Однако кого нам предупредить об опасности? Найти владельца приватного ключа довольно сложно. Возможно, мы могли бы взять деньги на хранение, пока кто-то не докажет факт владения ими? Такой сценарий может вызвать много проблем с законом.
Меры безопасности
Итак, Беднарек выделяет две причины, из-за которых приватные ключи могут быть ненадёжными. Первая — ошибки в ПО, которое генерирует сам ключ. Второе — некоторые пользователи могут получить идентичные ключи из-за использования слабых кодовых фраз (к примеру, «abc123» или что-то в этом роде).
По словам аналитика, пока ни одна команда разработчиков кошельков не связалась с ними.
Это интересно, так как сложно найти ответственных среди создателей кошельков. Может быть это просто вина пользователей, которые снисходительно относятся к безопасности собственных денег.
Тем, кто не сильно разбирается в технологиях и просто хочет сохранить свои деньги, Беднарек рекомендует пользоваться аппаратными кошельками. В особенности, если речь идёт о хранении большого объёма криптовалют.
Ещё больше интересного можно найти в нашем крипточате.
Что такое публичный ключ криптовалютного кошелька (биткоин-адрес)?
Пара ключей (приватный и публичный) — это основные инструменты, которые позволяют пользоваться криптовалютным кошельком и совершать любые операции с активами.
О том, что такое приватный ключ, мы уже рассказывали в одной из статей, а в этом материале мы поговорим, что такое публичный ключ.
Навигация по материалу:
Что такое публичный ключ и как он выглядит?
Публичный ключ — это уникальный набор символов, состоящий из букв и цифр. Это адрес, на который другие пользователи могут отправлять криптовалюту. Второе название — адрес криптовалютного кошелька.
Публичный ключ привязан к приватному. Однако если последний представляет собой секретную информацию, то публичный ключ является открытым, и все могут отследить его в блокчейне (в этой статье мы поговорим о биткоин-адресе). Открытый ключ имеет несколько форматов, каждый из которых легко преобразуется в другой.
Состоит публичный ключ 26-35 символов, которые могут быть буквами латинского алфавита (кроме O, l и I) в нижнем и верхнем регистре и цифрами (кроме 0). Выглядит биткоин-адрес примерно так:
Также при создании кошелька пользователь получает открытый ключ в виде QR-кода для простоты использования — если нужно отправить биткоины на определенный адрес, то можно просто просканировать код.
Виды публичных ключей
Есть два типа публичных ключей.
Обычный — начинается с 1, и для получения средств на него пользователь должен подтвердить то, что знает приватный ключ. Он выглядит вот так:
Второй вариант — публичный ключ с мульти-подписью. Он начинается с 3, и для получения средств пользователь должен иметь больше одного закрытого ключа. Пример ключа с мульти-подписью:
Как узнать свой открытый ключ?
Если вы используете биткоин-кошелек, то публичный ключ можно найти настройках. Если же у вас на руках только приватный ключ, то самым простым способом будет перенести его в кошелек, а потом уже узнать его в интерфейсе.
Место хранения адреса зависит от используемого кошелька, но обычно есть два варианта:
Роль адреса в отправке транзакций
Основная роль публичного ключа — это указание пути, на который будут отправлены биткоины. Однако для того чтобы получить средства, нужно обязательно знать приватный ключ.
Также если вы не уверены в том, что адрес принадлежит конкретному человеку, существует способ проверить это. Пользователь может попросить владельца адреса отправить подписанное сообщение. При помощи алгоритма майнеры проверяют, что приватный и публичный ключ из полученного сообщения составляют одну пару, и сообщение было подписано реальным получателем. Таким образом можно убедиться, что адрес действительно верный, и вы не отправите биткоины в «небытие».
Система использования биткоин-адресов
Прежде всего нужно понимать, что адрес и кошелек — это не одно и то же. Адрес или приватный ключ — это «путь», который позволяет принимать транзакции. Кошелек — это ПО, которое, по сути, состоит из приватного ключа и одного или множества публичных ключей. Он хранит в себе информацию обо всех ранее использованных ключах, а также входящих и исходящих транзакциях биткоин. Кроме того, в кошелек могут быть встроены дополнительные функции, повышающие анонимность транзакций.
А теперь о том, как технически проходит транзакция.
После того как сгенерирован приватный ключ, на его основе создается публичный ключ, состоящий из ряда символов (максимум 35) и отображается на экране в виде QR-кода.
При повторном использовании приватного ключа на его основе заново генерируется рандомный публичный ключ. Но, как уже говорилось выше, данную функцию можно отключить и использовать «вечный» адрес. Каждый ключ весит около 500 байт, благодаря чему даже на мобильных кошельках можно хранить множество адресов.
Процесс генерации публичных ключей основывается на рандомном подборе символов и решении сложных математических задач. За минуту алгоритм может создавать до 1000 адресов, причем некоторое ПО позволяет генерировать публичные ключи без выхода в интернет. Есть очень маленькая вероятность, что к двум разным приватным ключам будет привязан один и тот же публичный, однако она составляет всего лишь 1:43 млрд.
Когда вы вводите адрес, нужно быть предельно внимательным и осторожным, потому что ошибка даже в одном символе приведет к тому, что биткоины просто не дойдут к получателю, а транзакции в блокчейне являются необратимыми. Именно поэтому рекомендуется копировать адрес или отправлять криптовалюту через сканирование QR-кода приватного ключа.
Тем, кто только знакомится с миром криптовалют, очень важно понимать роль и значение публичных ключей, так как правильное обращение с ними гарантирует то, что транзакция дойдет до своего получателя. Также зная принцип генерации и работы биткоин-адресов, можно сделать транзакции более анонимными. В любом случае, прежде чем нажать на кнопку «Отправить», лучше еще раз перепроверить правильность введенного адреса, или для большей уверенности пользоваться QR-кодами.
Дата публикации 05.06.2019
Поделитесь этим материалом в социальных сетях и оставьте свое мнение в комментариях ниже.
Понимание концепции закрытого ключа, открытого ключа и адреса в блокчейне Ethereum
Внимание! Это техническая статья, рассчитанная на блокчейн специалистов и объясняет как генерируются ключи внутри блокчейна.
Если Вам нужна помощь в открытии и сохранении своих приватных ключей, то обратитесь к статье: Как установить холодный кошелек Ethereum
Прежде чем мы углубимся в концепцию блокчейна Ethereum, важно понять, как генерируются открытый ключ, закрытый ключ и адрес.
Чтобы сделать это проще для начинающих, мы попытаемся объяснить техническую концепцию на простом примере.
Простой пример
Закрытый ключ (секретный большой номер) создается вашим кошельком случайным образом, затем шифруется (с вашим паролем) и сохраняется в файле UTC в папке хранилища ключей. В тоже время ваш публичный адрес рассчитывается на основе открытого ключа, полученного из закрытого.
Это было просто определение. Теперь рассмотрим как это работает.
Генерация ключей в Ethereum
Существуют стандартные библиотеки для генерации пары ключей Ethereum более безопасным способом. В этой статье, просто для демонстрации, мы будем использовать библиотеку Javascript для выполнения операций с эллиптической кривой.
Закрытый ключ (Private Key)
В эллиптической кривой cp256k1 любое число от 1 до 2 ^ 256-1 является допустимым закрытым ключом.
Хорошая библиотека генерирует закрытый ключ с учетом необходимой случайности. Для этого упражнения мы возьмем «1» в качестве закрытого ключа, который является допустимым закрытым ключом, поскольку он находится в указанном диапазоне, указанном выше. Ethereum требует, чтобы закрытый ключ был длиной в 256 бит. Вот пример кода для nodejs.
Это отобразит закрытый ключ в шестнадцатеричном виде, который
Открытый ключ (Public key)
Открытый ключ описывается следующим образом в желтой бумаге Эфириума.
Адрес Эфириума (Ethereum Address)
Адрес Ethereum описывается следующим образом в желтой бумаге:
«Для данного закрытого ключа, pr, адрес Ethereum a (pr) (160-битное значение), которому он соответствует, определяется как самый правый 160-битный хэш Keccak соответствующего открытого ключа ECDSA.»
Адрес Ethereum. 0x7e5f4552091a69125d5dfcb7b8c2659029395bdf
Это всего лишь пример, чтобы понять концепцию. Пожалуйста, не используйте его для создания реального кошелька для хранения ETH.
Если вы найдете эту статью полезной, вы можете оказать свою признательность, поделившись ею.