Кошельки Ethereum
Кошельки предоставляют доступ к вашим средствам и приложениям Ethereum. Только вы должны иметь доступ к вашему кошельку.
Что такое Ethereum-кошелек?
Кошельки Ethereum — это приложения, которые позволяют вам работать с вашим счетом Ethereum. Думайте об этом как о приложении для интернет-банкинга — без банка. Ваш кошелек позволяет вам считывать свой баланс, производить транзакции и подключаться к приложениям.
Вам нужен кошелек для отправки средств и управления своими ETH. Подробнее о ETH
Ваш кошелек — это всего лишь инструмент для управления вашим счетом Ethereum. Это означает, что вы можете поменять поставщика кошелька в любое время. Многие кошельки также позволяют управлять несколькими счетами Ethereum из одного приложения.
Это потому, что кошельки не обеспечивают сохранность ваших средств. Этим занимаетесь вы. Они всего лишь инструмент для управления тем, что на самом деле принадлежит вам.
Приложение для управления вашими средствами
Ваш кошелек показывает ваш баланс, историю транзакций и дает вам возможность отправлять/получать средства. Некоторые кошельки могут предлагать больше функций.
Ваш счет Ethereum
Кошелек — это ваше окно в счет Ethereum: в баланс, историю транзакций и многое другое. Но перейти на другой кошелек можно в любой момент.
Ваше имя пользователя для приложений Ethereum
Ваш кошелек позволяет вам подключаться к любому децентрализованному приложению с помощью вашего счета Ethereum. Это похоже на имя пользователя, которым можно пользоваться во многих децентрализованных приложениях.
Кошельки, счета и адреса
Важно понять различия между некоторыми ключевыми терминами.
Учетная запись Ethereum — это сущность, которая может отправлять транзакции и имеет баланс.
Учетная запись Ethereum имеет адрес Ethereum, как почтовый ящик имеет адрес электронной почты. Вы можете использовать его для отправки средств на счет.
Кошелек — это инструмент, который позволяет вам управлять вашей учетной записью Ethereum. Он позволяет просматривать баланс вашей учетной записи, отправлять транзакции и многое другое.
Большинство кошельков позволяют создать счет Ethereum. Так что он вам не понадобится до загрузки кошелька.
Типы кошельков
Физические аппаратные кошельки, которые позволяют хранить криптовалюту в оффлайн-режиме, обеспечивают высокую безопасность
Мобильные приложения, которые делают ваши средства доступными из любого места
Веб-кошельки, позволяющие пользоваться своим счетом через браузер
Настольные приложения, если вы предпочитаете управлять своими средствами в MacOS, Windows или Linux
Создать кошелек
Есть много разных кошельков на выбор. Мы хотим помочь вам выбрать лучший вариант.
Помните: это решение не навсегда — ваш счет Ethereum не привязан к поставщику кошелька.
Интересуетесь криптовалютой?
Если вы новичок в криптовалюте и просто хотите понять, что это такое, мы рекомендуем что-то, что даст вам возможность изучить приложения Ethereum или купить свои первые ETH прямо из кошелька.
Конвертировали средства в криптовалюту?
Если вы хотите хранить большие средства, мы рекомендуем аппаратный кошелек, так как он наиболее безопасен. Или кошелек с предупреждениями о мошенничестве и ограничениями на снятие средств.
Предпочитаете выбирать по функциям?
Как оставаться в безопасности
Кошельки немного изменяют мышление. Финансовая свобода и возможность доступа и использования средств в любом месте сопряжены с некоторой ответственностью — в криптографии нет службы поддержки клиентов.
Возьмите на себя ответственность за собственные средства
Централизованные биржи свяжут ваш кошелек с именем пользователя и паролем, которые вы можете восстановить традиционным способом. Просто помните, что вы доверяете этой бирже хранение своих средств. Если эта компания подвергнется нападению или свернется, ваши средства окажутся под угрозой.
Запишите свою исходную фразу
Кошельки часто дают вам исходную фразу, которую вы должны записать в безопасном месте. Только так вы сможете восстановить свой кошелек.
there aeroplane curve vent formation doge possible product distinct under spirit lamp
Не храните ее на компьютере. Запишите вручную и держите в безопасном месте.
Добавьте свой кошелек в закладки
Если вы пользуетесь веб-кошельком, добавьте этот сайт в закладки, чтобы защитить себя от фишинговых атак.
Перепроверяйте все трижды
Помните, что транзакции не могут быть отменены а кошельки не могут быть легко восстановлены, поэтому принимайте меры предосторожности и всегда действуйте осмотрительно.
7 популярных кошельков для хранения Ethereum
Криптовалюта стремительно набирает популярность в мире. Уже многие разносторонние сервисы принимают виртуальные деньги в качестве платы за свои товары или услуги. Многих пользователей цифровые активы интересуют в качестве инвестиции. Некоторые зарабатывают свои первые монеты, выполняя несложные действия в сети.
Но общим для всех пользователей остается одно – новый вид денег нужно где-то надежно и удобно хранить. И для этого разработчики криптовалют создают цифровые кошельки. В этой статье мы рассмотрим хранилища для Ethereum – второй криптовалюты в мире по уровню капитализации.
Какой кошелек выбрать
Кошельки бывают разные. Какой вариант подойдет вам лучше всего – это зависит от ответов на три вопроса:
- Вы рассматриваете вариант для хранения только Ethereum? Или вам нужен мультивалютный кошелек?
- Насколько часто вам нужен будет доступ к кошельку? Вы планируете заниматься трейдингом и использовать монеты каждый день или желаете купить несколько монет Эфира и разместить их надежно на несколько месяцев?
- Нужна ли вам мобильность доступа? Если кошелек будет использоваться днем и ночью, а ваш образ жизни предполагает постоянные переезды или просто вы активный человек, не сидящий на одном месте, то ваш выбор – мобильный кошелек.
Сегодня производители предлагают пять основных типов цифровых кошельков:
- Аппаратные – самый высокий уровень защиты, физически – это небольшая флешка, которая подключается к компьютеру для синхронизации с блокчейном, а в остальное время всегда находится под рукой и позволяет своему владельцу постоянно быть в курсе состояния своего баланса.
- Десктопные – кошельки, которые устанавливаются на ПК. Это тоже вариант безопасного хранения, так как все закрытые ключи находятся удаленно от интернета и не доступны третьим лицам.
- Мобильные – самые удобные хранилища, но по уровню безопасности уступают двум первым вариантам.
- Кошельки на биржах – это вариант хранения денег, который лучше всего подходит для частого использования. Если вы занимаетесь спекулятивной торговлей, вам невыгодно будет каждый раз вводить и выводить операционные суммы. Однако для больших сумм целесообразно выбрать локальные хранилища.
- Бумажный кошелек – это своего рода сейф. Вы уверенно храните все свои активы, ключи и адреса на бумажном сертификате, доступ к которому есть только у его владельца.
Давайте рассмотрим несколько популярных примеров:
Кошелек | Тип | Безопасность (1-5) | Простота интерфейса (1-5) | Стоимость |
---|---|---|---|---|
Ledger Nano S | автономный | 5 | 3 | €99 |
Ethereum Wallet | десктопный | 5 | 4 | бесплатно |
MyEtherWallet | онлайн | 4 | 5 | |
Metamask | браузерный | 4 | 5 | |
Coinbase | биржевый | 3 | 4 | |
Jaxx | мультивалютный | 4 | 5 | |
ETHAdress | бумажный | 4 | 3 |
Аппаратный кошелек для Эфириума
Первое, что нужно знать, что этот тип хранения не бесплатный. Цена аппаратных кошельков начинается от 60-70 евро. Но именно эти кошельки сочетают в себе три важных качества:
- удобство;
- надежность;
- безопасность.
Это офлайн-устройства, которые хранят все свои приватные ключи и информацию о балансе пользователя на специальном внутреннем чипе, который не имеет связи с интернетом, а значит, не подвержен никаким угрозам.
Даже когда аппарат подключается к ПК, он не способен заразится каким-либо вредоносным вирусом, так как не имеет собственной операционной системы. Кошелек сможет работать даже на взломанных или незащищенных компьютерах.
Ledger Nano S
Ledger Nano S является одним из самых простых и относительно дешевых (79 евро) предложений аппаратного хранения. Это лучшее решение для хранения серьезных сумм. Ledger Nano S поддерживает больше монет, чем два его конкурента TREZOR и KeepKey (например, Ripple, который больше никто не поддерживает).
Согласно веб-сайту Леджера, они продали более 1 000 000 устройств Ledger Nano S и имеют клиентов в более чем 165 странах.
Аппарат Ledger Nano S хранит ваши ключи в автономной безопасной среде. Он имеет две физические кнопки, с помощью которых подтверждается платеж (одновременное нажатие), выполняется навигация, подтверждается выбранное действие. С их помощью создается PIN-код кошелька, который поможет вам восстановить доступ к своим монетам, даже если вы потеряете аппаратное устройство.
Даже если устройство физически попадет в чужие руки, незнакомец не сможет отправить Ethereum из вашего Nano S, потому что не будет знать ваш 4-значный ПИН-код. А после трех неправильных попыток устройство полностью заблокируется и зашифрует всю информацию. Восстановить резервный доступ будет возможно только с помощью секретной фразы из 24 слов, которую генерирует устройство при первичной установке.
Подробную статью о кошельке читайте по ссылке: Обзор Ledger Nano S.
Ethereum Wallet
Mist (Ethereum Wallet) – это мост для децентрализованных приложений на блок-цепочке Ethereum. С его помощью пользователь может хранить не только Эфир, но и другие криптовалютные активы, созданные на основе Ethereum. В нем также можно создавать собственные умные контракты.
Mist Browser (ранее Ethereum Dapp Browser) является интерфейсом для конечного пользователя Ethereum. Это инструмент выбора для просмотра и использования Dapps, он специально разработан для нетехнических пользователей.
Кошелек Mist является официальным кошельком Эфириума, который создали те же люди, которые отвечают за работоспособность экосистемы Эфириума в целом. Ethereum Mist обладает двумя вариантами хранилища:
- обычный;
- многозадачный.
Его хорошо продуманный и простой интерфейс делает его удобным для большинства пользователей (если не лезть в контракты). Но нужно иметь в виду, что Ethereum Mist – это десктопный вариант кошелька, а значит, он будет загружать полноценный блокчейн сети на ваш ПК. Поэтому позаботьтесь о том, чтобы на жестком диске вашего устройства было достаточно свободного места (не менее 60-70 Гб). Ознакомительную версию кошелька можно установить без полной синхронизации.
Некоторые пользователи жалуются на тяжеловесность приложения и на то, что иногда синхронизация может просто «застрять», но разработчики не оставляют эти замечания без внимания и постоянно выпускают новые обновления. Зато за Эфир можно не волноваться, если только вы сами не дадите доступ злоумышленнику, не потеряете ключи или не забудете пароль. Хотя, в двух последних случаях вас выручит резервная копия.
Ethereum Mist Wallet предлагает отличное решение для надежного, безопасного и удобного хранения цифровых монет на основе блокчейна Эфириум.
MyEtherWallet
Категория онлайн-хранилищ удобна тем, что не требует никакого места для установки, но такие кошельки считаются самыми уязвимыми. Хотя, справедливости ради, нужно отметить, что технологии не стоят на месте и все предложения совершенствуются с каждым днем.
Хороший пример тому – MyEtherWallet – это бесплатный интерфейс с открытым исходным кодом на стороне клиента. Вы напрямую взаимодействуете с блочной цепью и оставляете за собой полный контроль ваших ключей и всех денежных средств. Только вы сами отвечаете за свою безопасность финансовых активов.
Все что нужно, для регистрации кошелька – это придумать 9-значный пароль. После чего вам будут назначены адрес и два приватных ключа, которые необходимо просто надежно сохранить (желательно даже в нескольких местах).
Главный плюс этого варианта хранения в том, что между вами и компьютерным кодом нет сторонних посредников. Вместе с функциями хранения, обмена и управления денежными активами вы получаете возможность работать со СМАРТ-контрактами. А также вы можете привязать его к аппаратному кошельку.
Metamask
Еще один надежный способ хранить криптовалюту онлайн – это браузерный кошелек Metamask. Он представляет собой расширение для браузера, которое достаточно просто установить и легко использовать.
Для создания кошелька вы заходите на сайт, придумываете пароль и получаете секретную SEED-фразу, которую необходимо надежно сохранить. Она понадобится вам для того, чтобы восстановить доступ к кошельку, если вы забудете пароль или появятся проблемы с аккаунтом.
Metamask хранит всю информацию пользователя в зашифрованном виде. Она сохраняется локально и только в вашем браузере, никакие данные не передаются на сторонние сервисы. Пользователь самостоятельно контролирует все приватные ключи хранилища, и только он один имеет к ним доступ.
Интерфейс кошелька имеет довольно простое представление. Даже видя кошелек в первый раз, пользователь легко разберется со всем функционалом и управлением. Создавать смарт-контракты в нем нельзя.
Coinbase
Coinbase — это вариант для пользователей, которые хотят иметь надежное хранение рядом с торговой площадкой: биржу и кошелёк в одном приложении. Калифорнийская платформа Coinbase не имеет поддержки русского языка, но разобраться с функционалом помогает переводчик браузера.
Чтобы получить кошелек, вам нужно будет пройти регистрацию на сайте. Вместе с аккаунтом, вы получаете онлайн-кошелек, который имеет свое мобильное приложение для Android и iOS. С 2014 года платформой Coinbase пользуются более миллиона пользователей, а систему надежного хранения используют более, чем в 24 странах.
98% всех денежных ресурсов, которые пользователи сохраняют на серверах Coinbase, находятся в режиме офлайн, а остальные 2% покрываются страховым соглашением. Кошелек имеет защитный барьер в виде двухфакторной аутентификации и функцию резервного копирования.
Транзакции проводятся быстрее, чем перевод получит полное подтверждение. Сервис предусматривает минимальные комиссионные сборы, а за перевод валюты между внутренними кошельками плата совсем отсутствует. Вы можете покупать и продавать криптовалюту, не выходя из приложения кошелька.
Как и во всех онлайн-хранилищах, приватные ключи Coinbase хранятся на сервере платформы. Вы не получаете полного контроля над ними, но Coinbase славится своей незапятнанной репутацией и считается довольно надёжной компанией, оцениваемой в более чем миллиард долларов. Для каждодневных операций – отличный вариант.
Если вы ищете надежный мультивалютный и мультифункциональный кошелек, имеющий различные версии, обратите внимание на программное приложение Jaxx. Вы можете получить доступ к кошельку Jaxx на любой из поддерживаемых нами платформ:
- Windows;
- Linux;
- OS X;
- Android;
- iOS;
- в виде расширения Chrome.
Также скоро появится и аппаратная версия кошелька.
В Jaxx-хранилище вы можете хранить более 10 различных криптомонет (Bitcoin, Ethereum, Dash, Litecoin, Zcash, Civic, Bancor и множество других активов на базе блокчейн).
Все приватные ключи хранилища будут сохраняться на вашем локальном устройстве, поэтому доступ к вашим деньгам имеет хорошую защиту. Jaxx – программный код, доступный для анализа, проверок или контроля. Любые уязвимости или лазейки, которые будут обнаружены в процессе работы, разработчики немедленно исправят. Такой подход повышает доверие к приложению и делает его открытым к совершенствованию.
Еще одно важное преимущество кошелька – Jaxx не собирает личные данные пользователей и не требует прохождения верификации. Вы получаете мультивалютный кошелек без всякой регистрации. Чтобы установить кошелек, достаточно загрузить нужную версию кошелька с официального сайта.
В кошельке интегрирован доступ на торговую площадку ShapeShift, благодаря чему можно удобно совершать моментальные обмены монет на бирже непосредственно из самого хранилища.
Бумажный кошелек – ETHAdress
Для тех, кто не хочет сохранять цифровые монеты в автономном режиме, подойдет проект с открытым исходным кодом ETHAdress, который создает бумажные версии кошельков для Ethereum, подобно сервису BitAddress.org для Bitcoin.
Все, что вам потребуется – это скачать архив приложения на свой ПК, разархивировать его и запустить файл «index». Одним нажатием кнопки вы можете создать приватный и открытый ключи, а затем распечатать эти данные и оставить их в надежном месте на долгосрочное хранение.
Или воспользоваться еще одним доступным вариантом – зашифровать закрытый ключ кошелька, чтобы для использования монет было возможно только с паролем для его расшифровки.
Заключение
Мы рассмотрели семь различных вариантов хранения криптовалюты Ethereum и токенов, созданных на его основе. Вы можете выбрать тот вариант, который будет лучше всего подходить вам и вашему ритму жизни.
Главное, помните, насколько важна приватность рабочих ключей кошелька. Не пренебрегайте всеми дополнительными функциями, повещающими уровень защиты вашего хранилища: активируйте опцию 2FA, если такая предусмотрена, создавайте сложные пароли, содержащие не только различные символы, но и разные регистры.
Надежно сохраняйте ключи, ПИН-коды, SEED-фразы. Разработчики создают удобные и надежные приложения, но ответственность за сохранность денежных активов лежит только на ваших плечах.
Подписывайтесь на наш Telegram канал. Будьте в курсе новых статей.
Гид по владению аккаунтами и контрактами в Ethereum
Материал, который мы решили сегодня опубликовать, родился уже около 6 месяцев назад и до сих пор не потерял своей актуальности (может быть, пришлось его чуть-чуть освежить). Тогда мы еще были способны удивляться, глядя на бизнесменов и стартаперов, намеревающихся проводить ICO, но при этом не способных сделать транзакцию с переводом одной эфирки. Сегодня мы уже перестали удивляться, но таких персонажей не стало сильно меньше.
Вообще, понимание важности безопасного хранения своих секретных ключей и умение это делать — основа децентрализованной экономики, которая, как мы надеемся, скоро существенно потеснит классическую централизованную модель. Нужно чётко понимать, что как только вы передаете управление своим секретным ключом кому-либо — например банку, бирже, государству — так сразу магия децентрализации пропадает, и можно спокойно менять блокчейн на Postgres без особой потери смысла. Короче говоря, в этой статье мы и расскажем об азах безопасного хранения приватных ключей на примере блокчейна Ethereum.
Если для вас эта статья не несет ничего нового — супер, мы очень рады, что вы в нашем «клубе». И, кстати, теперь у вас есть куда отправлять всех криптонеофитов, чтобы они случайно не потеряли по глупости все свои эфирки.
Содержание:
0. Do it yourself!
1. Вводная информация
1.1. Аккаунты
1.2. Кошельки
1.3. Контракты
1.4. Multisig-кошельки
2. Владение
2.1. Довольно безопасное
2.1.1. Ноутбук и операционная система
2.1.2. Ethereum-нода
2.1.2.1 Установка на Linux
2.1.2.2. Установка на macOS
2.1.3. Аккаунт
2.1.4. Собираем подписи в единое целое
2.1.4.1 Стандартный MultiSig wallet
2.1.4.2 MixBytes MultiSig
2.2. Чуть менее безопасное
2.3. Обычное
2.3.1 Ethereum Wallet
2.3.2 MEW
Авторы:
Алексей therealal Макеев
Павел pkruglov Круглов
Сергей BoogerWooger Прилуцкий
0. Do it yourself!
Кому доверить владение и управление своими ценностями в блокчейне? Лучше всего — себе. В крайнем случае — человеку, которому вы можете доверить чемодан с деньгами эквивалентной ценности. Дальнейшее руководство предназначено для вас или ваших доверенных людей. Любой, даже кратковременный доступ к компьютерам/оборудованию, с которых будет происходить управление, возможен только для людей с соответствующим уровнем доверия.
Почему это так? Текущая механика работы банков приучила нас, что, сколько бы пин-кодов и паролей от интернет-банка мы ни потеряли, мы всегда можем прийти в отделение банка, показать паспорт и снять деньги либо начать восстановление доступа. Даже если мошенники сняли с банковского счета деньги, с какой-то вероятностью операцию удастся оспорить. В мире блокчейна это не так — если совершена операция (например, перевода денег), ее защищает вся мощь криптографических технологий.
Далее будет дана базовая вводная информация для понимания общей картины и, без деталей информационной безопасности, рекомендации по безопасному владению аккаунтами/контрактами в Ethereum.
1. Вводная информация
1.1. Аккаунты
Базовая сущность, которой можно владеть в сети Ethereum, это аккаунт (в эфириум-терминах: external account) — пара из закрытого и открытого ключа. Закрытый ключ должен держаться в секрете, открытый (точнее, адрес, получаемый из него) можно свободно публиковать.
«На» адрес могут перечисляться деньги (в сети Ethereum — ether, эфир). Чтобы обозначить принадлежность любых средств, контрактов, транзакций (отправителя транзакции), используется именно адрес (например, 0x36c9cc925dd58747044f52d0a57917df64555a3d). Однако чтобы выполнить любое действие от имени адреса своего аккаунта, нужен закрытый (секретный) ключ. Именно безопасное хранение секретных ключей и является главной функцией любого криптокошелька. Кошельки дополнительно шифруют закрытый ключ паролем, который нужно вводить в ходе использования ключа для подписи транзакций, именно в этот момент криптокошелек использует секретный ключ для создания подписи к транзакции.
Чтобы владеть аккаунтом необходимо точно понимать где и как хранится секретный ключ, соответствующий конкретному адресу. Если вы входите в личный кабинет биржи, и биржа сама за вас проводит транзакции (т.е. подписывает каждую из них секретным ключом), значит она знает секретный ключ. И этот адрес фактически принадлежит не вам, а бирже. В случае централизованных бирж зачастую у вас вообще нет секретных ключей от адресов, которые вы видите в интерфейсе биржи. В случае децентрализованных бирж вы подписываете транзакцию на своей машине, и секретный ключ никуда не передается. В этом случае вы контролируете свой аккаунт совершенно самостоятельно.
Обычно аккаунты (адреса и управляющие ими секретные ключи) сохраняются в специальном файле, называемом keystore. Секретные ключи в нем зашифрованы при помощи пароля, который вы будете вводить каждый раз, когда вам надо будет подписать отправляемую в сеть транзакцию. Это означает, что даже если ваш файл скопируют, то без знания пароля будет очень трудно достать из него секретный ключ. Практически невозможно, если вы используете длинный и сложный пароль, и гораздо проще, если вы используете пароль типа «lena1984», которые перебирают атакующие. В любом случае, утечка этого файла — это серьезная проблема.
Помимо пароля, который контролирует доступ к данным об аккаунте (расшифровывая секретный ключ в те моменты, когда он нужен), некоторые криптокошельки используют длинную цепочку слов, называемую seed.
Зная seed, можно воссоздать тот самый секретный ключ. Seed — это информация, которая позволяет с нуля сгенерировать новый keystore-файл, и в нём задать пароль, который захочется. Этот keystore-файл будет использован для управления теми же самыми адресами, что и предыдущий. Так что храните seed очень надёжно, возможно даже в виде хорошо спрятанной твёрдой копии. Не используйте для seed осмысленные куски текста из литературы, например «moroz i solntse den chudesniy» — атакующие смогут перебрать эти тексты с большей эффективностью, чем случайный набор слов типа «shop ban trick track chrome bunny york».
- seed — для полного воссоздания аккаунта с нуля;
- пароль — для расшифровывания сохраненного в keystore-файле секретного ключа, когда он требуется для подписания отправляемой в сеть транзакции.
Большинство кошельков помогает вам сгенерировать надёжный seed. В случае веб-кошельков обычно генерация производится строго у вас в браузере, при помощи JavaScript (программа выполняется у вас на компьютере, внутри вашего браузера, и только ваш браузер видит сгенерированный seed). Но надо понимать, что, если на вашем компьютере работает программа-троян, или в вашем браузере стоит вредоносное расширение, ваш seed может быть украден. Ситуация, когда seed генерируется на стороне сервиса (т.е. он его может подсмотреть) вообще неприемлема. Даже если сервису можно доверять, сам сервис могут взломать.
Аккаунты можно переносить между компьютерами в виде файлов, однако нужно знать, что «полностью» удалить файл с диска/флешки невозможно. При удалении с диска компьютер не удаляет все байты файла, а лишь помечает файл как удалённый, специальные программы могут такой файл восстановить. Если аккаунт имеет или будет иметь большую ценность, он не должен путешествовать по компьютерам и сетям. Все диски и флешки, которые применялись для его передачи, нужно либо физически уничтожить, либо использовать для резервного копирования аккаунта и хранить так же надежно, как и сам аккаунт.
1.2. Кошельки
Программа, которая оперирует с аккаунтами, контрактами и прочими сущностями блокчейна, называется кошельком (wallet) или криптокошельком. Кошелек может содержать несколько аккаунтов и поддерживать одновременную работу с ними. Кошельки бывают в виде обычных программ, в виде отдельного устройства (аппаратные) или в виде web-сервиса. Программа-кошелёк не «хранит в себе биткоины» в виде каких-то данных, а хранит лишь ключи по управлению адресами и умеет общаться с блокчейном (формировать транзакции или искать информацию в блокчейне).
1.3. Контракты
Контракты содержат логику, которая будет выполнена с математической точностью, причем большим количеством майнеров, большинство из которых заинтересованы в честном исполнении контракта. Результирующие изменения состояния контракта будут заверены криптографически и отправлены в общий блокчейн Ethereum, где их может увидеть любой участник. Владение контрактом прописывается в самом контракте (с использованием адресов владельцев, адресов их аккаунтов), т. е. оно является частью логики или состояния контракта. Если логика контракта требует транзакций от нескольких владельцев — ее называют мультиподписью (multi-signature, multisig). Именно на основе такой логики реализованы контракты multisig-кошельков. Мультиподпись не ограничивается защитой контрактов, хранящих эфир, ей можно защитить доступ к любому контракту.
1.4. Multisig-кошельки
Не нужно путать их с программами-кошельками, описанными выше. Multisig-кошелек состоит из контракта с мультиподписью и графического интерфейса для более удобного взаимодействия с контрактом. В контракте прописаны параметры мультиподписи:
- владельцы (обычно это аккаунты);
- количество подписей для выполнения действий.
Иногда снятие малых сумм (порог задается в контракте) требует подписи лишь одного владельца. Например, кошелек Ethereum Wallet (работает на базе графического движка Mist, поэтому иногда ошибочно называется Mist) позволяет и создать multisig-контракт кошелька, и удобно работать с ним. Программа-кошелек может управлять несколькими multisig-кошельками.
Не путайте реализацию мультисиг кошельков в Ethereum и в Bitcoin. В отличие от Ethereum, в Bitcoin, чтобы воспользоваться биткоинами с заранее созданного multisig-адреса, все необходимые подписи нужно «собрать» заранее и упаковать в одну транзакцию, тогда как в Ethereum несколько транзакций от подписантов могут приходить независимо.
2. Владение
Ниже описаны несколько способов с разным балансом безопасности, цены и удобства использования. Все сказанное далее — наша рекомендация.
2.1. Довольно безопасное
Multisig-кошелек с несколькими подписями, аккаунты которых хранятся на разных ноутбуках. Для ценностей более 100 000 долларов нужен именно этот способ. Обязательных подписей — не менее двух. Всего подписей — на одну-две больше, чем обязательных (на случай утери/компрометации одной-двух подписей). Как вариант: всего подписей три, обязательных две (любых).
2.1.1. Ноутбук и операционная система
Покупается у надежной компании, которая понятия не имеет, для чего будет использован ноутбук. Компания должна иметь околонулевой мотив встроить в ноутбук программные/аппаратные «закладки». Все ноутбуки приобрести у разных компаний. Железо должно быть надежное и иметь минимальную вероятность обычной поломки. В случае поломки/проблем — либо решаем сами, либо вынимаем все жесткие диски и отдаем в ремонт, после которого ноутбук НЕ используем для дальнейшего хранения аккаунтов.
Операционная система: Linux либо macOS. Аппаратные требования: SSD (обязательно SSD!), диск 256+ Гб, оперативная память 16+ Гб, процессор уровня Intel Core i5 или лучше. Между ноутбуком и интернетом должен быть firewall, например на маршрутизаторе. Ноутбук должен быть чистым: не устанавливать никаких программ, кроме операционной системы и Ethereum-ноды, не подключать никаких сторонних флешек и дисков. Никаких инструментов удаленного управления!
2.1.2. Ethereum-нода
Кошельки используют Ethereum-ноду для взаимодействия с блокчейном. Нужна так называемая полная Ethereum-нода.
2.1.2.1. Установка на Linux
Будем рассматривать установку на deb-совместимые дистрибутивы (Debian, Ubuntu, CentOS). Заходим на https://github.com/ethereum/mist/releases и скачиваем последний релиз, на момент написания статьи это был 0.9.3:
- Если у вас 64-битная система https://github.com/ethereum/mist/releases/download/v0.9.3/Ethereum-Wallet-linux64-0-9-3.deb
- Если вдруг 32-битная https://github.com/ethereum/mist/releases/download/v0.9.3/Ethereum-Wallet-linux32-0-9-3.deb
После скачивания неплохо проверить целостность пакета, чтобы исключить подмену файла. Для этого на странице представлены SHA256-хеши всех файлов, например для Ethereum-Wallet-linux64-0-9-3.deb это 946b4b7dec1b6f2b58b6ef21d06a12dcee691fa2186baad7d99872f94240ced8.
В Linux вычислить хеш можно с помощью стандартной консольной утилиты sha256sum. В окне терминала вводим следующую команду:
- $ — приглашение терминала, означающее, что команда будет выполнена от имени пользователя (вводить не нужно);
- ~ — путь до директории текущего пользователя;
- ~/Downloads/Ethereum-Wallet-linux64-0-9-2.deb — полный путь к файлу.
В ответ нам должен отобразиться хеш, который приведен выше (для вашего файла может быть другой). Для установки пакета используем команду:
- sudo — команда, позволяющая выполнить действие с правами root (администратора);
- dpkg — стандартная утилита для установки deb-пакета;
- -i — флаг установки пакета (install).
После запуска команды необходимо ввести пароль пользователя.
Другой способ установки: дважды кликаем на файл в графическом файл-менеджере и следуем указаниям.
2.1.2.2. Установка на macOS
Для установки используем ту же страницу https://github.com/ethereum/mist/releases, только нам потребуется файл с расширением *.dmg, на момент написания статьи это Ethereum-Wallet-macosx-0-9-3.dmg. После скачивания проверим хеш файла через терминал. Для запуска терминала в macOS нужно:
- Запустить Finder.
- Выбрать в меню Finder пункт «Переход», далее — «Служебные программы».
- Найти иконку «Терминал» и запустить.
В терминале ввести команду:
Далее дважды кликаем на dmg-файл и устанавливаем кошелек.
2.1.2.3. Синхронизация ноды
Перед какими-либо действиями в блокчейне следует полностью синхронизировать Ethereum-ноду (дождаться, пока все индикаторы синхронизации, подобные нижеприведенному, закончат работу и исчезнут).
Со временем блокчейн будет «распухать». Чтобы его сжать (либо если с последней синхронизации прошло много времени), можно полностью удалить блокчейн (только блокчейн! Не аккаунт), тогда будет выполнена быстрая синхронизация. Данные блокчейна находятся в директории chaindata, которую можно найти:
Для удаления данных блокчейна, следовательно, можно просто удалить директорию chaindata. Лучше всего закрыть кошелек, переименовать chaindata в chaindata.old, запустить кошелек (должна начаться синхронизация с нуля и основной интерфейс по-умолчанию не появится — поэтому нажимаем Launch Application), убедиться, что аккаунты на месте (если нет — переименовали что-то не то, ищем их в переименованном каталоге), после чего можно удалять chaindata.old.
2.1.3. Аккаунт
При первом старте Ethereum Wallet следуйте указаниям:
На этом шаге придумайте сложный пароль для вашего будущего кошелька. После этого аккаунт будет создан.
Для подстраховки от поломки жесткого диска сделать резервную копию аккаунта на флешку, хранить вместе с ноутбуком. Даже неработающий жесткий диск, на котором был аккаунт, следует физически уничтожить.
Для резервного копирования аккаунта нужно скопировать файл с ключами, расположенный по адресу:
Эти же директории можно открыть в Ethereum Wallet через верхнее меню File -> Backup -> Accounts.
2.1.4. Собираем подписи в единое целое
Здесь есть два подварианта. Стандартный MultiSig Wallet подойдет, если актив, которым вы владеете, — это эфир или ERC-20 токены, и он перечисляется вам на адрес (т. е. для получения не требуется дополнительных действий с вашей стороны). Для защиты любого контракта мультиподписью мы разработали свое решение на основе стандартного. Какой из подвариантов выбрать — зависит от того, что нужно защитить.
2.1.4.1. Стандартный MultiSig wallet
Для создания мультисига вам необходимо сделать две вещи:
- скопировать публичные адреса других созданных аккаунтов на текущий ноутбук;
- иметь на основном кошельке эфир (порядка 0.2 или более) для отправки транзакций.
Как только условия выполнены, можно приступать к созданию. В разделе Wallet Contracts нажмите на ADD WALLET CONTRACT. Введите имя контракта и выберите опцию Multisignature Wallet Contract. Вы увидите следующее сообщение:
This is a joint account controlled by X owners. You can send up to X ether per day. Any transaction over that daily limit requires the confirmation of X owners.
На этом этапе вам нужно выбрать, сколько владельцев будет у кошелька-контракта и сколько подписей необходимо для совершения транзакции сверх суточного лимита. Далее нужно вставить адреса всех аккаунтов-владельцев (те, что мы создавали ранее на разных ноутбуках) и нажать CREATE.
Для добавления существующего мультисиг-кошелька на другом компьютере (например, если ноутбук понадобилось заменить или переустановить кошелек) вам необходимо сделать импорт уже существующего кошелька. Действия выполняются в главном окне Ethereum Wallet:
- На вкладке WALLETS прокрутите вниз до раздела Wallet Contracts и нажмите кнопку ADD WALLET CONTRACT.
- Впишите удобное имя кошелька.
- Выберите IMPORT WALLET.
- Введите адрес кошелька.
- Если один из ваших существующих аккаунтов является владельцем кошелька, появится зеленая надпись, подтверждающая это.
- Нажмите кнопку CREATE.
Для перевода средств с мультисиг-кошелька вам, как обычно, нужно перейти на вкладку SEND, выбрать адрес мультисиг-кошелька, с которого будете переводить, ввести сумму и пароль для создания транзакции. Однако после ввода пароля вы увидите различия с обычной транзакцией:
Здесь вам нужно одобрить транзакцию кнопкой APPROVE.
Такое же сообщение будет выведено на компьютере другого владельца:
И только после того как минимально необходимое число владельцев одобрят транзакцию, средства будут переведены.
2.1.4.2. MixBytes MultiSig
Для посылки транзакции в любой контракт, защищенный MixBytes MultiSig, следует выполнить те же действия по отсылке транзакции, как для обычного контракта, но повторить их с нескольких управляющих ноутбуков. Со стольких, сколько минимально подписей требуется. При этом первые запросы лишь зафиксируют факт подписи, а действие выполнит последняя подпись.
Опишем, как посылать транзакции в контракт. Контрактами можно управлять в Ethereum Wallet, в шапке есть вкладка Contracts, переходим в нее:
Здесь можно добавить существующий контракт — нажимаем WATCH CONTRACT. В появившейся форме нужно ввести адрес контракта, его имя (выберите любое — оно остается только в вашем кошельке), а также так называемый ABI (application binary interface, представленный большим JSON-текстом):
ABI должен предоставить разработчик контракта. Или же можно попробовать найти ABI на сервисе etherscan.io по адресу контракта во вкладке Contract Source (только для верифицированных контрактов):
Если все успешно, контракт появится на странице контрактов в кошельке. Заходим в него:
Слева можно посмотреть данные состояния контракта, а справа — выбрать функцию для посыла транзакции (Select function): нажимаем Pick A Function, выбираем нужную функцию, появляется форма, где нужно заполнить параметры вызова:
Когда нужные параметры заполнены, выбираем, от имени какого аккаунта выполнить транзакцию (Execute from), нажимаем EXECUTE (потребуется ввести пароль от аккаунта). После этого транзакция уйдет в сеть и достигнет контракта. Напоминаем, для работы MixBytes MultiSig потребуется проделать аналогичную процедуру на двух или более ноутбуках (в зависимости от минимально необходимого числа подписей). Отправлять подписи сверх необходимых не нужно.
2.2. Чуть менее безопасное
Это аппаратные кошельки. Представляют собой физическое устройство, из которого невозможно извлечь (а следовательно, и украсть) приватный ключ. А для подтверждения транзакции необходимо нажать на физическую кнопку на устройстве. Таким образом, если хакер получит удаленный доступ к вашему компьютеру, к которому в это время будет подключен аппаратный кошелек, злоумышленник все равно не сможет физически нажать на кнопку и перевести себе деньги.
Рассмотрим на примере Ledger Nano S. При первом подключении устройства к компьютеру вам необходимо инициализировать устройство, в это входит:
- Установка 8-значного PIN-кода. Код будет спрашиваться при каждом подключении устройства к компьютеру, а также при выходе из спящего режима.
- Запись фразы восстановления (seed) из 24 слов. Это узкое место, и здесь остановимся подробнее. Если кто-то получит доступ к фразе — можете попрощаться с активами. Поэтому надо обязательно озаботиться ее хранением в безопасном месте. Запишите на бумажку и спрячьте. Плюс к этому рекомендуем хранить ее в двух разных местах — по сути, сделать резервную копию на случай утери. Существует много способов безопасно хранить фразу и в цифровом виде — хранение по частям, стеганография и т. д. Ограничено лишь вашей фантазией.
В этом аппаратном кошельке можно хранить разные валюты, их число уже приближается к двадцати и постоянно обновляется. Для доступа к отдельным кошелькам используются приложения Chrome, таким образом решена проблема доступа на разных ОС.
2.3. Обычное
Здесь есть много подвариантов. Рассмотрим два.
2.3.1. Ethereum Wallet
О том, как работать с отдельными аккаунтами, рассказано в первом решении («Довольно безопасное», не доходя до раздела «Собираем подписи в единое целое») — это отдельный чистый ноутбук и Ethereum Wallet на нем.
2.3.2. MEW
Наверное, самый популярный кошелек для Ethereum на данный момент, потому что простой. Заходим на сайт https://myetherwallet.com/, выбираем файл с ключом, вводим пароль и уже можем осуществлять транзакции. Без поднятия ноды, скачивания блокчейна и т. д. Сами ключи не уходят на сайт, после загрузки в браузере приложение работает автономно.
Но есть риск того, что сайт подменят. Можем подстраховаться от этого: просто скачать сайт себе на компьютер и открывать его локально, исходный код доступен на Гитхабе. Скачиваем архив с последней версией (на момент написания это был архив etherwallet-v3.21.15.zip), разархивируем и просто открываем index.html. Получаем тот же MEW, но локально.
Нужно помнить: несмотря на то что MEW не хранит ваши секретные ключи, взлом вашего компьютера или браузера позволит узнать секретные ключи в тот момент, когда вы их введете.
Источник https://ethereum.org/ru/wallets/
Источник https://miningbitcoinguide.com/kriptovalyuty/ethereum/koshelki
Источник https://habr.com/ru/company/mixbytes/blog/416339/