Altcoins Talks - Cryptocurrency Forum

Local => Форум криптовалют - Криптовалюта => [Guides] Полезные инструкции => Topic started by: TheFuzzStone on October 08, 2018, 04:53:27 PM

Title: [ГАЙД] Мультиподпись Ethereum
Post by: TheFuzzStone on October 08, 2018, 04:53:27 PM
Всем привет.

Недавно мне понадобился мультисиг кошелек для ЕТН, и я пошел гуглить… Первое на что наткнулся, статья «Эволюция кошельков Эфириума (https://bits.media/evolyutsiya-koshelkov-efiriuma/)», самих обзоров кошельков там нет, но чуть теории никому не помешает, рекомендую ознакомиться.

Потом нашел статью «Краткий обзор multisig кошельков для Ethereum (https://golos.io/ru--koshelxki/@cryptotaofficial/kratkii-obzor-multisig-koshelkov-dlya-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:

(https://i.imgur.com/ENpF6Iy.png)

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

(https://i.imgur.com/r092tWt.png)

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

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

(https://i.imgur.com/9m5nnS7.png)

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

(https://i.imgur.com/XEhcAed.png)

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

(https://i.imgur.com/CKGLYV0.png)

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

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

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

(https://i.imgur.com/aqD9HTU.png)

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

(https://i.imgur.com/8QKpJPh.png)

(https://i.imgur.com/fg5Tcyu.png)

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

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

(https://i.imgur.com/8oHvF15.png)

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

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

(https://i.imgur.com/nx8YZ1r.png)

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

(https://i.imgur.com/PoNE7S1.png)

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

(https://i.imgur.com/BWbt2gX.png)

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

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

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

***Примечание. В данном случае мультисиг кошелек создавался от имени Гаранта (Escrow). Не имеет значения кто создаст мультисиг-кошелек, главное правильно указать адреса владельцев (проверяющие должны внимательно проверить свои адреса, которые указал человек создающий мультсиг-кошелек) и помнить, что для создания/подписи нужно иметь ЕТН на балансе чтобы оплатить стоимость газа. Мониторить комиссию в сети ЕТН можно здесь (https://ethgasstation.info/).

Продолжим…

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

(https://i.imgur.com/W1JEFst.png)

(https://i.imgur.com/KKWe9E2.png)

(https://i.imgur.com/qb9oY4z.png)

(https://i.imgur.com/3JUTr2X.png)

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

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

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

(https://i.imgur.com/mqjULEh.png)

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

(https://i.imgur.com/7ubvTFX.png)

(https://i.imgur.com/4tupLSa.png)

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

(https://i.imgur.com/0T8OaWs.png)

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

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

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

(https://i.imgur.com/WLWc4rL.png)

(https://i.imgur.com/aj6Z0Es.png)

(https://i.imgur.com/wv2UZPH.png)

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

(https://i.imgur.com/8um5Ge3.png)

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

Неплохой видео-мануал на английском (https://www.youtube.com/watch?v=pFa63FR8Mgk&t=0s&index=2&list=LLLSMVaontPGdW9Qjp-S6r4A).

Спасибо за внимание.
Title: Re: [МАНУАЛ] Мультиподпись Ethereum
Post by: TheFuzzStone on October 08, 2018, 04:56:31 PM
Статья моя, размещена на нескольких ресурсах. Надеюсь что кому нибудь пригодится.
Title: Re: [ГАЙД] Мультиподпись Ethereum
Post by: vzroslieigry on October 11, 2018, 08:55:30 AM
я думал это тема про массовую рассылку.  а не знаешь как за 1 транзакцию сделать рассылку на 100 кошельков ?