Перейти к публикации

Рекомендованные сообщения

(изменено)

Всем привет.

 

Недавно мне понадобился мультисиг кошелек для ЕТН, и я пошел гуглить… Первое на что наткнулся, статья «Эволюция кошельков Эфириума», самих обзоров кошельков там нет, но чуть теории никому не помешает, рекомендую ознакомиться.

 

Потом нашел статью «Краткий обзор multisig кошельков для Ethereum», заинтересовал кошелек Gnosis – возможность держать «лёгкий» кошелек, норм UI-йка и пока что без сюрпризов в стиле Parity (if you know what I mean? 😉).

 

Есть два варианта использования Gnosis кошелька:

 

- онлайн (в паре с Metamask, Mist или Parity): https://wallet.gnosis.pm/#/wallets
- локально: https://github.com/gnosis/MultiSigWallet/releases

 

Я не пользуюсь онлайн кошельками и кошельками-расширениями для браузера. Параноик, зато у меня никогда не пропало ни цента.

 

В данном мануале рассмотрим локальное использование кошелька Gnosis, и принцип работы мультиподписи.

 

Процесс установки не буду скринить и описывать. Все просто, заходите сюда: https://github.com/gnosis/MultiSigWallet/releases  и качаете кошелек под свою систему. У меня Debian-based дистрибутив, поэтому я скачал deb-пакет. Установка прошла гладко и без сюрпризов.

 

Запускаем кошелек, видим главное окно, ставим галочки и нажимаем Continue:

 

ENpF6Iy.png

 

В следующем окне я выбрал Light Wallet (если у вас есть Ledger или вы хотите подключится к конкретной ноде, тогда выберите соответствующие варианты):

 

r092tWt.png

 

Чтобы не играться с настоящими деньгами, можно выбрать тестовую сеть, что я и сделал. Тестовые ЕТН взял отсюда. Зашел в Settings и сменил в Ethereum Node на Remote Rinkeby и нажал Update Settings, после чего перезапустил кошелек:

 

***Примечание. Wallet factory contract --> Automatic

 

9m5nnS7.png

 

После перезапуска кошелька, идем в Accounts и создаем или импортируем аккаунт. У меня уже есть тестовые аккаунты, поэтому нажимаю на Import, выбираю keystore file и указываю его пароль:

 

XEhcAed.png

 

Так как все кошельки установлены на одном компе, повторяю все эти шаги для каждого кошелька. В итоге, три кошелька – Покупателя (Buyer_wallet), Гаранта (Escrow_wallet) и Продавца (Seller_wallet😞

 

CKGLYV0.png

 

Создание мультисиг-кошелька

 

Давайте представим самую простую ситуацию – ЕТН выступит в качестве платежного средства, Покупатель хочет купить товар у Продавца через Гаранта, используя мультисиг-кошелек.

 

Чтобы создать новый кошелек (не путать с Accounts), идем в Wallets и добавляем новый кошелек:

 

aqD9HTU.png

 

Выбираем Create new wallet:

 

8QKpJPh.png

 

fg5Tcyu.png

 

* Name – имя кошелька (все стороны сделки могут назвать по своему);
* Required confirmations – сколько нужно подтверждений (подписей) чтобы произвести операцию с данным кошельком;
* Daily limit (ETH) – дневной лимит вывода ЕТН с данного кошелька;
* Owners – владельцы кошелька (общее количество владельцев);

 

Ок, с этим разобрались. На следующем скрине вы увидите мои параметры создания мультисиг-кошелька:

 

8oHvF15.png

 

Количество подписей как видите 2, а общее количество подписантов – 3: My account (Гарант), Buyer_wallet (Покупатель), Seller_wallet (продавец). Значит, имеем схему 2-из-3. Нажимаем Deploy и потом Send transaction:

 

***Примечание. В аккаунте создающего мультисиг-кошелек должно быть немного ЕТН для оплаты газа.

 

nx8YZ1r.png

 

Заходим в Wallets и видим наш Multisig_wallet:

 

PoNE7S1.png

 

Чтобы увидеть подробную информацию по кошельку, нажмите по его названию:

 

BWbt2gX.png

 

Кошелек пока что пустой (0.00 ЕТН).

 

В Owners мы видим всех кто управляет данным кошельком.

 

В Tokens можно добавлять токены.  

 

***Важное примечание. В данном случае мультисиг кошелек создавал Гарант (Escrow). Теперь он (Гарант) должен «раздать» мультисиг-кошелек двум другим подписантам (владельцам) – Покупателю и Продавцу.

Не имеет значения кто создаст мультисиг-кошелек, главное:

 

  • правильно указать адреса владельцев (другие владельцы должны внимательно проверить свои адреса, которые указал человек создающий мультсиг-кошелек);
  • для создания/подписи нужно иметь ЕТН на балансе чтобы оплатить стоимость газа (мониторить можно здесь);
  • после создания самого мультисиг кошелька, создающий обязательно должен поделиться им с другими владельцами, которым НЕ нужно по новой создавать мультисиг-кошелек, а всего лишь импортировать уже созданный

 

Делиться мультисиг-кошельком очень просто. Тот кто его создал должен зайти в Settings и выбрать Export Wallets. Код который увидите НЕ содержит приватных данных, и им можно открыто делиться с другими подписантами, которые соответственно должны зайти в Settings, выбрать Import Wallets, вставить полученный код от создателя мультисиг-кошелька и нажать Save. Сложно? Вряд ли. 🙂

 

Вот содержимое данного кошелька, которым Гарант делится с другими двумя сторонами сделки:

{"wallets":{"0x7D179E7d4793210bd9a3CA1CfbF916Fd4f1A763E":{"name":"Multisig_wallet","owners":{"0x3f14bea302d3fc4cb678bf42781b666418023cf6":"My account","0xd33b1c69810a9223ad8aa6a2ab76b841d9392083":"Buyer_wallet","0x437b8dfc954e96bc1518febfff08c371c487096b":"Seller_wallet"},"tokens":{}}}}

 

Продолжим…

 

Покупатель пополняет мультисиг-кошелек на 2 ЕТН:

 

W1JEFst.png

 

KKWe9E2.png

 

qb9oY4z.png

 

3JUTr2X.png

 

Припустим что после пополнения мультисиг-кошелька Покупателем, Продавец исчез и не выходит на связь. Покупатель хочет вернуть ЕТН на свой личный адрес кошелька. Так как в данном случае схема 2-из-3, значит, кто то должен создать транзакцию, а кто то просто её подписать.

 

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

 

Покупатель идет в Wallets, открывает подробную информацию о мутисиг-кошельке и нажимает на Send a multisig transaction now:

 

mqjULEh.png

 

После чего указывает личный адрес кошелька, количество ЕТН и комментарий (опционально):

 

7ubvTFX.png

 

4tupLSa.png

 

Все тот же покупатель открывает подробную информацию о мультисиг-кошельке и видит:

 

0T8OaWs.png

 

- Destination – на какой адрес уйдут ЕТН (при наведении мышкой вы увидите адрес кошелька ЕТН);
- Value – количество отправляемых ЕТН;
- Confirmations – кто на данный момент подписал транзакцию (в данном примере видно что Покупатель уже подписал транзакцию) а также кнопку Revoke confirmation для отмены подписи;
- Executed – была ли транзакция отправлена в сеть;

 

Ну что ж, Покупатель создал мультисиг-транзакцию, указал личный адрес кошелька, Гаранту осталось только подписать. 

 

Гарант открывает свой кошелек, идет в Wallets, открывает мультисиг-кошелек, смотрит подробности и видит почти тоже самое, что и Покупатель (куда и сколько будет отправлено ЕТН). В Confirmations он видит что транзакция уже подписана Покупателем, а также видит кнопку Confirm, для подписания транзакции со своей стороны:

 

WLWc4rL.png

 

aj6Z0Es.png

 

wv2UZPH.png

 

Вот как теперь выглядит мультисиг-кошелек со стороны Покупателя, Гаранта и Продавца:

 

8um5Ge3.png

 



Покупатель не получил товар/услугу со стороны продавца и вернул свои ЕТН. Продавец получил негативный отзыв.
Пользуйтесь мультиподписью, и берегите свои ЕТН.

Неплохой видео-мануал на английском.

Спасибо за внимание.

Изменено пользователем TheFuzzStone

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×