В предыдущей теме
«Можно ли взломать приватный ключ» мы раскрыли тему о том, что хранение криптовалюты на обычном кошельке не так безопасно как нам хотелось бы. И здесь я подробно расскажу, как максимально обезопасить свой крипто-кошелек.
На мой взгляд, кошелек с мультиподписью, на сегодня является самым надежным способом уберечь свои криптоактивы от кражи.
Multisig-кошелек – это смарт-контракт с мультиподписью обычно реализованный на основе графического интерфейса для удобного с ним взаимодействия. Этот смарт-контракт прост и имеет лишь два параметра:
- владельцы этого смартконтракта ( обычные аккаунты(адреса кошельков))
- количество владельцев
- иногда в контракт прописывается максимальная сумма снятия средств в сутки, которая требует подписи только одного владельца (для удобства использования)
Например в кошельке Ethereum Wallet, удобно как создавать такой смарт-контракт, так и взаимодействовать с ним.
Здесь мы будем рассматривать именно этот кошелек и соответственно как уберечь Ether и токены от кражи. С Биткоином несколько другая реализация мультиподписи, в отличии от эфира и чтобы воспользоваться монетками биткоина на кошельке с мультиподписью, нужно все подписи собрать воедино и «упаковать» в одну транзакцию, тогда как в случае с Эфиром все подписные транзакции можно проводить отдельно, что немного упрощает взаимодействие.
Не стоит путать смарт-контракт с мультиподписью с аппаратными кошельками, лично я считаю их менее надежными.
Итак сам гайд по созданию кошелька с мультиподписью на основе Ethereum Wallet:
1. Выбор ноутбука.
Здесь нужно отнестись серьезно. Ноутбук должен быть «чистым», и иметь нулевой шанс того, что в нем заранее предустановлено вредоносное ПО. Это нужно для исключения утечки секретных ключей во время создания кошелька. Железо максимально надежное. Жесткий диск SSD.
2. Для создания кошелька вам потребуется скачать и установить Ethereum Wallet, последние версии его выложены тут:
https://github.com/ethereum/mist/releases
3. Создать на других ноутбуках Ethereum аккаунты(адреса-кошельки) столько, сколько вы хотите чтоб у вас было подписей, надежно сохранить секретные ключи от них. И скопировать эти адреса (только адреса) на ноутбук, где будете создавать кошелек с мультиподписью.
4. При первом старте Ethereum Wallet следуйте указаниям:
Придумайте надежный пароль. Затем сохраните созданный аккаунт на флешку и храните ее в надежном месте. Она может понадобиться для восстановления аккаунта в случае если ноутбук вдруг сломается.
5. Переведите на этот основной адрес 0,2Eth, эта сумма понадобиться для отправки транзакций в блокчейн при создании смарт-контракта.
6. Когда все условия по подготовке выполнены, можете приступать к созданию кошелька с мультиподписью.
Нажмите на «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, перейти на вкладку «SEND», выбрать адрес мультисиг-кошелька с которого будете переводить средства, указать сумму и затем ввести пароль.
На следующем этапе вам нужно подтвердить проведение транзакции кнопкой “APPROVE”:
Такие же сообщения появятся на компьютерах других аккаунтов, которые вы указали при создании смарт-контракта своего кошелька с мультиподписью:
На них так же нужно будет одобрить эту транзакцию. И только после того, как все аккаунты, которые прописаны были при создании смарт-контракта, подтвердят перевод средств, транзакция уйдет в сеть.
Ну вот и все, как видите все не так уж и сложно. А главное, что даже если злоумышленники каким-либо образом заполучат секретный ключ от вашего аккаунта(адреса), то не смогут вывести больше, чем суточный лимит, так как для перевода требуется доступ не к одному а сразу ко всем аккаунтам прописанным в смарт-контракте. И у вас будет время, чтоб перевести свои средства со скомпрометированного кошелька на другой.