Перейти к содержанию

Мультиподпись Ethereum - руководство


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

Всем привет.

 

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

 

Потом нашел статью «Краткий обзор 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

 


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

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

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


 

Если эта статья была вам полезна, поддержите написание следующей.

25.png.80f43ab33223036cbdf0c084cf5adda9.png    48asCffTPEMeqbxAf2XkP16qeuRTh7vxkQDhfXfbG5LgJ8YJeJEaUsrQ86dKyuyot2KfthhPuzFFRRq L7cFi2TCV1gBSLiF

26.png.d30fd5efb8975b9a171260a1054f7386.png    1MRDrYQfE6Vy1rqrWL6aN3iVCKofvvNA3w

27.jpg.f6a245b9a8fa0a2ba736cf36dec2ec37.jpg    https://tippin.me/@thefuzzstone

28.png.360afc6fa2c3b798f5bdba4dacdc7145.png    gVtQVSN8EzaTBboDFRgGMRZrbDDRpGu4wnFdjGVgzmfVbnVKRMn3

29.png.8fd380b19bbc6a4281d13c18649f52b7.png    0x0c30f1De9B30C9872d920200BB03aA3b67b7E300

30.png.62ded632f9070b3a151e6318f9e2581b.png    Ldt5cQLtaZid6oiwjM7rT6Ne2X5LjKyjpr

31.png.f2ef70931f1a0b844d6fb6da320403ae.png    0xbD55b072728865d37851bEfFD200EC3B5BBE91A7

Изменено пользователем rammendo
Ссылка на комментарий
Поделиться на другие сайты

  • rammendo изменил название на Мультиподпись Ethereum - руководство

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Комиссии в сетях Bitcoin, Ethereum, BCH и прочих — сколько ставить?

      Привет всем читающим! Когда в сети какой-то монеты перегрузки, но отправить платеж все-таки нужно, мы, на этапе установки комиссии, начинаем разрываться между благоразумием и жадностью. Как узнать, какую комиссию нужно поставить, чтобы транзакция прошла как можно быстрее, а какую - если достаточно, чтоб она проскочила хоть к утру?  Некоторые подсказки могут дать сервисы для расчета оптимальной комиссии. В этой теме я предлагаю собирать названия таких сервисов. Вкупе с инструкцие

      в Общий

    • [ETH] Ethereum | Платформа децентрализованных приложений

      Официальный сайт | Официальный форум | Исходный код | Twitter | Facebook | Vimeo | Reddit | Gitter | Stackexchange | Meetup | Skype | IRC | Slack | Coinmarketcap | YouTube | Wiki | Whitepaper | Ethereum Guide | Блог   В теме действуют все Правила форума! Перед тем как задать вопрос, посмотрите НОВИЧКИ Bits.Media, все сюда,  Что такое "Форки Bitcoin" . Уважайте своё и чужое время. Для обсуждения и поиска программ/драйверов пользуйтесь разделом Файлы. Д

      в Ethash (Dagger Hashimoto)

    • Отправил Ethereum по сети BEP-20 (BSC) вместо ERC20

      делал вывод из своего кошелька из биржи бинанс на свой же кошелек в Copay и выбрал сеть  BSC вместо  ERC20 есть варианты как вернуть свои эфир ?

      в Общий

    • HeroMiners майнинг-пул [ETHEREUM, ETC, MONERO, RAVEN, CFX, GRIN, BEAM, HAVEN, CONCEAL, CORTEX] и д.р

      HeroMiners криптовалюта майнинг-пул Различные регионы пула для лучшего хешрейта • Центральная Европа (Германия) • Северная Европа (Финляндия) • Северная Америка (Канада) • Азиатский (Гонконг) • Юго-Восточная Азия (Сингапур) Особенности пула • PPS+ и PROP система наград • Пул и Соло Майнинг • Регистрация не требуется • Мы платим полное вознаграждение (вознаграждение за блок + комиссия за перевод + дополнительная плата) • Прямая трансляция (вы можете следи

      в Пулы совместного майнинга

    • Аккаунты в Ethereum: что такое EOA, аккаунт контракта и абстракция аккаунта

      Эфириум, в отличие от консервативного Биткоина, предлагает множество дополнительных технических особенностей, порой интересных, порой сомнительных. Остановимся на устройстве аккаунта в сети Ethereum и — какое развитие он может получить в скором будущем. Аккаунт в Ethereum – это сущность, на которой числится определенный баланс, выраженный в ETH. Аккаунт способен инициировать транзакции в сети Эфириума. Не стоит путать с кошельком: техническая документация Ethereum справедливо настаивает, что

      в Новости криптовалют

×
×
  • Создать...