Всем привет.
Недавно мне понадобился мультисиг кошелек для ЕТН, и я пошел гуглить… Первое на что наткнулся, статья « newbie deactivated link:https://bits.media/evolyutsiya-koshelkov-efiriuma/
[nonactive]», самих обзоров кошельков там нет, но чуть теории никому не помешает, рекомендую ознакомиться.
Потом нашел статью « newbie deactivated link:https://golos.io/ru--koshelxki/@cryptotaofficial/kratkii-obzor-multisig-koshelkov-dlya-ethereum
[nonactive]», заинтересовал кошелек Gnosis – возможность держать «лёгкий» кошелек, норм UI-йка и пока что без сюрпризов в стиле Parity (if you know what I mean?

).
Есть два варианта использования Gnosis кошелька:
- онлайн (в паре с Metamask, Mist или Parity): newbie deactivated link:https://wallet.gnosis.pm/#/wallets
[nonactive]- локально: newbie deactivated link:https://github.com/gnosis/MultiSigWallet/releases
[nonactive]Я не пользуюсь онлайн кошельками и кошельками-расширениями для браузера. Параноик, зато у меня никогда не пропало ни цента.
В данном мануале рассмотрим локальное использование кошелька Gnosis, и принцип работы мультиподписи.
Процесс установки не буду скринить и описывать. Все просто, заходите сюда: newbie deactivated link:https://github.com/gnosis/MultiSigWallet/releases
[nonactive] и качаете кошелек под свою систему. У меня Debian-based дистрибутив, поэтому я скачал deb-пакет. Установка прошла гладко и без сюрпризов.
Запускаем кошелек, видим главное окно, ставим галочки и нажимаем
Continue:
В следующем окне я выбрал Light Wallet (если у вас есть Ledger или вы хотите подключится к конкретной ноде, тогда выберите соответствующие варианты):
Чтобы не играться с настоящими деньгами, можно выбрать тестовую сеть, что я и сделал. Тестовые ЕТН взял newbie deactivated link:https://faucet.rinkeby.io/
[nonactive]. Зашел в
Settings и сменил в
Ethereum Node на
Remote Rinkeby и нажал
Update Settings, после чего перезапустил кошелек:
***Примечание.
Wallet factory contract -->
AutomaticПосле перезапуска кошелька, идем в
Accounts и создаем или импортируем аккаунт. У меня уже есть тестовые аккаунты, поэтому нажимаю на
Import, выбираю
keystore file и указываю его пароль:
Так как все кошельки установлены на одном компе, повторяю все эти шаги для каждого кошелька. В итоге, три кошелька – Покупателя (
Buyer_wallet), Гаранта (
Escrow_wallet) и Продавца (
Seller_wallet):
Создание мультисиг-кошелькаДавайте представим самую простую ситуацию – ЕТН выступит в качестве платежного средства, Покупатель хочет купить товар у Продавца через Гаранта, используя мультисиг-кошелек.
Чтобы создать новый кошелек (не путать с
Accounts), идем в
Wallets и добавляем новый кошелек:
Выбираем
Create new wallet:
*
Name – имя кошелька (все стороны сделки могут назвать по своему);
*
Required confirmations – сколько нужно подтверждений (подписей) чтобы произвести операцию с данным кошельком;
*
Daily limit (ETH) – дневной лимит вывода ЕТН с данного кошелька;
*
Owners – владельцы кошелька (общее количество владельцев);
Ок, с этим разобрались. На следующем скрине вы увидите мои параметры создания мультисиг-кошелька:
Количество подписей как видите 2, а общее количество подписантов – 3: My account (Гарант), Buyer_wallet (Покупатель), Seller_wallet (продавец). Значит, имеем схему 2-из-3. Нажимаем
Deploy и потом
Send transaction:
***Примечание. В аккаунте создающего мультисиг-кошелек должно быть немного ЕТН для оплаты газа.
Заходим в
Wallets и видим наш Multisig_wallet:
Чтобы увидеть подробную информацию по кошельку, нажмите по его названию:
Кошелек пока что пустой (0.00 ЕТН).
В
Owners мы видим всех кто управляет данным кошельком.
В
Tokens можно добавлять токены.
***Примечание. В данном случае мультисиг кошелек создавался от имени Гаранта (Escrow). Не имеет значения кто создаст мультисиг-кошелек, главное правильно указать адреса владельцев (проверяющие должны внимательно проверить свои адреса, которые указал человек создающий мультсиг-кошелек) и помнить, что для создания/подписи нужно иметь ЕТН на балансе чтобы оплатить стоимость газа. Мониторить комиссию в сети ЕТН можно newbie deactivated link:https://ethgasstation.info/
[nonactive].
Продолжим…
Покупатель пополняет мультисиг-кошелек на 2 ЕТН:
Припустим что после пополнения мультисиг-кошелька Покупателем, Продавец исчез и не выходит на связь. Покупатель хочет вернуть ЕТН на свой личный адрес кошелька. Так как в данном случае схема
2-из-3, значит, кто то должен создать транзакцию, а кто то просто её подписать.
Не имеет значения кто будет создавать, а кто подписывать. Но логичнее будет, если Покупатель будет создавать транзакцию, так как ему нужно указать свой личный адрес кошелька.
Покупатель идет в
Wallets, открывает подробную информацию о мультисиг-кошельке и нажимает на
Send a multisig transaction now:
После чего указывает личный адрес кошелька, количество ЕТН и комментарий (опционально):
Все тот же покупатель открывает подробную информацию о мультисиг-кошельке и видит:
-
Destination – на какой адрес уйдут ЕТН (при наведении мышкой вы увидите адрес кошелька ЕТН);
-
Value – количество отправляемых ЕТН;
-
Confirmations – кто на данный момент подписал транзакцию (в данном примере видно что Покупатель уже подписал транзакцию) а также кнопку
Revoke confirmation для отмены подписи;
-
Executed – была ли транзакция отправлена в сеть;
Ну что ж, Покупатель создал мультисиг-транзакцию, указал личный адрес кошелька, Гаранту осталось только подписать.
Гарант открывает свой кошелек, идет в
Wallets, открывает мультисиг-кошелек, смотрит подробности и видит почти тоже самое, что и Покупатель (куда и сколько будет отправлено ЕТН). В
Confirmations он видит что транзакция уже подписана Покупателем, а также видит кнопку
Confirm, для подписания транзакции со своей стороны:
Вот как теперь выглядит мультисиг-кошелек со стороны Покупателя, Гаранта и Продавца:
Покупатель не получил товар/услугу со стороны продавца и вернул свои ЕТН. Продавец получил негативный отзыв.
Пользуйтесь мультиподписью, и берегите свои ЕТН.
Неплохой newbie deactivated link:https://www.youtube.com/watch?v=pFa63FR8Mgk&t=0s&index=2&list=LLLSMVaontPGdW9Qjp-S6r4A
[nonactive].
Спасибо за внимание.