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

Electrum и мультиподписи Bitcoin


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

 

Если вы знакомы с кошельком Electrum, тогда знаете, что он использует мнемоническую фразу (seed), обычно из 12-ти английских слов, для генерации master private key (xprv), который используется для генерации бесконечной последовательности приватных ключей (private key) и, следовательно, открытых ключей (public key) и адресов (address).

 

Обычно, когда люди говорят “публичный адрес”, они думают что адрес кошелька и публичный ключ одно и тоже. Это не так. Адрес кошелька (address) — — это хэш публичного ключа (public key), и им можно делиться с другими, он не содержит в себе приватной информации.

 

Некоторые иерархически детерминированные кошельки (HD-кошельки), для повышения безопасности, позволяют разделять создание master private key (xprv) и публичного ключей. При такой схеме, кошелек может быть настроен зная только master public key (xpub).

 

Плюсы такого подхода:

  • кошелек может создавать столько адресов (address), сколько это необходимо;
  • если master public key (xpub) будет скомпрометирован, это не позволит злоумышленнику потратить BTC из кошелька;

 

Также, держа по отдельности master public key (xpub) и master private key (xprv) их можно использовать в кошельках Electrum или Armory, для полностью автономного хранилища, в котором один компьютер (в автономном режиме) знает приватный ключ (xprv), а второй (подсоединен к интернету) знает только публичный ключ (xpub).
 
Master public key (xpub) может генерировать одну и ту же последовательность адресов (address) независимо от мнемонической фразы (seed). Таким образом, вы можете ввести master public key (xpub) в кошелек, и получить безопасный вариант только для приема средств (watch-only wallet).

Вы сможете видеть баланс кошелька, генерировать новые адреса, но не сможете отправить с него средства. BTC отправленные на сгенерированные адреса, автоматически будут отображаться в вашем кошельке.

 

Пару слов о мультиподписи

Мультиподпись (транзакция с несколькими подписями — — multi-signature transaction) впервые появилась в кошельке BitGo в 2013 году.

В 2015-ом году кошелек Electrum обновился до версии 2.0, где была добавлена возможность создавать адреса с мультиподписью по схеме “2-из-3” (наиболее распространенный вариант). В последней версии возможны разные вариации вплоть до “15-из-15”.

На момент написания этого поста, последний релиз кошелька Electrum-3.1.2

Актуальную версию Electrum кошелька смотрите только на официальном сайте кошелька: https://electrum.org/#download

Никогда не качайте кошельки с непроверенных источников!
 

Мультиподпись позволяет:

  • Отправлять BTC только с одновременного согласия нескольких сторон сделки / владельцев ключей (xpub), каждый из которых должен подписать транзакцию своим ключом;
  • Значительно повысить безопасность личного кошелька;

 

 

Создание мультисиг кошелька Electrum со стороны покупателя (2-из-3)

 

Скачайте последную версию Electrum: https://www.electrum.org/#download и запустите кошелек:

 

h_1523528704_1277570_66d7b1bb88.png

 

Задайте имя файлу кошелька (я задал buyer_wallet), или оставьте default_wallet и нажмите “Дальше”.

 

В следующем окне, вы должны выбрать какой тип кошелька хотите создать. Выберите Multi-signature wallet и нажмите “Дальше”:

 

h_1523528739_9414529_fab9b735a1.png

 

Далее нужно выбрать количество подписей, необходимых для отправки с этого кошелька. В нашем случае выбираем “2-из-3” и нажимаем “Дальше”:

 

h_1523528833_1911338_6d33ff5bc9.png

 

В следующем окне выбираем Create a new seed (Создать новую мнемоническую фразу):

 

h_1523528927_2460294_ef2cc8dc4e.png


Далее выбираем какой тип адресов будет поддерживать наш кошелек (я выбрал Standart), но вы можете договорится между собой о создании Segwit-кошелька.

*Примечание. Все стороны сделки обязательно должны выбрать одинаковый тип кошелька, будь то Standart или Segwit

 

h_1523529010_7295733_ba63b81caa.png


Далее кошелек выдаст вам сгенерированную мнемоническую фразу (seed) – фраза из 13 произвольных слов, необходимая для восстановления кошелька. Скопируйте ее и сохраните в безопасном месте. Google/Яндекс диски, DropBox, iCloud, черновики в электронной почте -- не являются безопасными местами. Если эта фраза попадет в чужие руки -- ваши ВТС украдут. Если вы её потеряете -- потеряете ВТС навсегда.

 

Хороший вариант, зашифровать мнемоническую фразу с помощью PGP. Вторую копию -- хранить на обыкновенной бумаге, третью -- поместить в зашифрованный контейнер, четвертую -- спрятать на “видном месте”, пятую -- можно даже здесь, все равно это будет лучшим вариантом чем облачные хранилища. Можно комбинировать все перечисленные варианты выше + добавить свои.

 

Помните, что безопасность ваших ВТС зависит только от вас. 

 

Далее кошелек попросит ввести мнемоническую фразу, чтобы убедиться что вы сохранили её. Введите свою мнемоническую фразу и нажмите “Дальше”.

 

h_1523529169_7745490_4fd5c111ba.png

 

Следующее что вы должны увидеть, это ваш master public key (xpub), которым нужно поделиться с гарантом сделки и продавцом. Все стороны сделки должны обменяться своими master public key (xpub) между собой.

 

Сохраните свой master public key (xpub) в текстовом редакторе и нажмите “Дальше”:

 

h_1523529241_4816146_7093251829.png


И последнее окно, где вам нужно выбрать способ добавления других подписантов (гаранта и продавца). В данном мануале я выберу Enter cosigner key (ввести ключ подписанта), то есть master public key (xpub?

 

h_1523529302_3790173_757f92450d.png

 

 

 

Чтобы добавить подписанта №2 и №3, мне нужны их master publickey (xpub), поэтому гарант и продавец должны сделать все тоже самое, что написано выше, то есть, создать мультисиг кошелек “2-из-3” и отправить мне свои master publickey (xpub), последовательность добавления подписантов не имеет значения.

 

Вставляем в кошелек полученный master publickey (xpub) от гаранта:

 

h_1523529361_7007427_0dc30ff9ac.png


Следующий шаг, master publickey (xpub) полученный от продавца:

 

h_1523529439_2336155_221805b4c9.png

 

После того как вы введете ключи подписантов master public key (xpub), кошелек попросит придумать пароль. Не пропускайте этот шаг, надежный пароль нужен, чтобы хранить средства в безопасности и осуществлять переводы.

 

h_1523529507_5971729_757ad6646b.png

 

Зашифрованный файл кошелька” --- если вы забудете пароль от кошелька, то сможете восстановить кошелек по мнемонической фразе. Но если ваш компьютер (или файл кошелька wallet.dat) попадет в руки злоумышленника, без вашего пароля он не может украсть ваши ВТС:

 

Чтобы не забывать пароли, пользуйтесь KeePassX.

 

В данном мануале все кошельки создавались на одном компьютере, так что вот названия кошельков, их seed-ы и master public key (xpub), можете потренироваться и восстановить их у себя:

 

Название кошелька: buyer_wallet
seed: faculty rail juice copper size camp unusual speed danger mass crystal high
xpub: xpub661MyMwAqRbcGj32Tppb7WXTo27f4ZUbD6Mo8xkkaWcKEmTjmXCN2YhYBd6Yc6RmT4GTypSC3UWWa7BhjygPED5UuHDiHBU37QFcmHSZNLd


Название кошелька: escrow_wallet
seed: minor regular avoid auto aisle window vintage intact deal stem coyote innocent
xpub: xpub661MyMwAqRbcGENw1uYVR8DNiZkvU3KJJVm8zuf7CXpCWBpMfHRGjJbneKTXwvsE3Gr6L6WW87fFWsPeQFqqGQpbZ43z9n6oPnUWWPAny6h

 

Название кошелька: seller_wallet
seed: goat diesel screen cluster doctor winter slush silly run diary express number
xpub: xpub661MyMwAqRbcFw6zcN2BNgpQn3hWb6oTBqeWQU7S9MTX7iNPHe95oKYxhBRtWoV94YfJrcjWRQHdgC777rr5TakKmdCJoVrHyzX3mWruRmm

 

 

Скрин созданных кошельков:

 

h_1523529642_1638886_c95cb21be8.png


Индикатор в правом нижнем углу должен загореться зеленым. Это значит, что кошелек работает исправно и готов к работе. Обратите внимание, адрес для получения средств начинается с тройки, а не с единицы, это подтверждает что используется мультиподпись. Также надеюсь что вы заметили заметили, что у всех сторон сделки один и тот же адрес, значит мультисиг кошелек был создан правильно.

 

Теперь покупателю нужно перевести необходимое количество ВТС на мультисиг адрес, в данном случае используем адрес: 38BU9oXBXgmjmAu8pWSyehxbYkW22BDqtF 

 

Помните, в данном мультисиг кошельке отправленные средства не могут быть возвращены без минимум двух подписей, из трех (“2-из-3”). 

 

Покупатель отправляет ВТС на мульсиг кошелек:

 

h_1523529731_8343654_268a537b9c.png


Когда продавец видит, что покупатель отправил ВТС на мультисиг кошелек (желательно дождаться трех подтверждений в сети), тогда он должен исполнить свою часть сделки --- отправить покупателю товар/предоставить услугу. Когда сделка между покупателем и продавцом проходит успешно, гарант может вообще не участвовать в отправки ВТС на личный адрес продавца. 

 

Продавец может создать транзакцию (где указывает свой личный кошелек, куда должны быть отправлены ВТС за предоставленный товар/услугу), подписывает транзакцию своим ключом и передает её покупателю, чтобы тот подписал своим ключом и транслировал в сеть. 


Давайте рассмотрим ситуацию, когда после отправки ВТС со стороны покупателя, продавец исчезает, и не выходит на связь.

 

Так как все стороны сделки (покупатель, гарант и продавец) создали “один кошелек на троих”, но, чтобы потратить средства, нужно согласие большинства (в данном случае необходимо две подписи из трёх).

 

В таком случае, покупатель пишет гаранту сделки о проблеме (продавец не выходит на связь на протяжении нескольких дней), гарант пробует связаться с продавцом по указанным контактам, но ответа нет. Тогда покупатель создает транзакцию, в которой указывает свой личный адрес кошелька (куда должны вернуться ВТС), подписывает транзакцию своим ключом, после чего передает подписанную транзакцию гаранту сделки в виде файла, QR-кода, текста или с помощью TXID.

 

При получении подписанной транзакции со стороны покупателя, гарант перепроверяет адрес, куда будут отправлены ВТС, если покупатель подтверждает адрес для возврата средств, тогда гарант подписывает транзакцию своим ключом (получается “2-из-3”) и транслирует её в сеть. Таким образом ВТС вернулись на личный кошелек покупателя.   

 

Давайте посмотрим пару скринов, где покупатель хочет вернуть ВТС (так как товар/услугу от продавца он не получил) на адрес, с которого они пришли.

 

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

 

h_1523529874_6353747_9a2084b564.png

 

Покупатель видит что успешно подписал транзакцию:

 

h_1523530096_1052098_bd5da10b7e.png

 

 

Теперь транзакцию нужно передать гаранту, чтобы и он её подписал, и транслировал в сеть.

 

1. Статус подписи;      

 

2. “Копировать” -- копирует скрипт, который можно передать гаранту любым удобным способом. Проверить скрипт можно на сайте https://coinb.in, вкладка Verify:

 

h_1523530233_4127309_2e3458aa15.png

 

Вот скрипт, кому интересно самому проверить:

010000000137f1921d1909ea4b60d473e5becde7c8c8014a52b4423a2dfec69b6424e7976d00000000fd52010001ff47304402207ee1ebb0069bd21080b67a1422a1dd854fc3feff204121dbdc94bd97186bfcbf02207744d6d166aaaa3827af9134fadf619ca8fbd802f324161dba3cc7a653d2bda10101ff4d0201524c53ff0488b21e000000000000000000a99db2f694f2786327827290aebe8165bb89c6e374f69757f86f1d388dfa743602d181eea96c9a70bbca7d05e592b85511491abeaaface65d2d46a1fb8f4b79aa7000000004c53ff0488b21e000000000000000000db3e12dbc85740d9bb9046858cb73be9557adcbda6e8f0a74d474f6eb93630e9020821d6550d44d5bf01ea3c3efff302f209f734c57fdc35ccc5dc1d86a9d8f87f000000004c53ff0488b21e0000000000000000008bb34a163ee3fbf426111eb26d21e57ae0b98f0a95907fcb9afd51d88b3e90340313964abd62c145ad99e1c2c83fb1edf70e696b032f699bce913aa52fce70ad000000000053aefdffffff011f8b0600000000001976a9145a2bb3c2dd6eb177bdec8f55cca26e286285ce7f88accde60700

 

3. Значок QR-кода -- передать транзакцию с помощью QR-кода.

   

4. “Экспортировать” --- вы можете экспортировать этот же скрипт, который вы видели выше, только сразу в текстовый файл, который готов для импортирования в кошелек Electrum и последующей подписи.

 

Припустим покупатель решил передать транзакцию с помощью текста. Смотрим скрины со стороны кошелька гаранта:

 

Инструменты → Загрузить транзакцию → Из текста:

 

h_1523530278_6182441_0247fe8f8f.png

 

 

В появившееся окно гарант вставляет полученный скрипт от покупателя, и нажимает на кнопку “Загрузить транзакцию”:

 

h_1523530315_7377663_fc04d1f0c7.png

 

После чего видит такое же окно транзакции как и покупатель. Гарант сверяет адрес возврата, с адресом откуда изначально пришли ВТС на мультисиг адрес, если все в порядке, подписывает транзакцию своим ключом и транслирует в сеть:

 

h_1523530377_3078682_70863530b5.png

 

h_1523530399_1387146_a3fe4f429a.png

 

h_1523530428_4021348_fb1812c1e0.png

 

 

Финальный скрин мультивалютного кошелька со стороны покупателя, гаранта и продавца:

 

h_1523530446_3844634_af46253b02.png

 

ВТС были отправлены/возвращены на адрес с которого они пришли. Покупатель не получил товар/услугу со стороны продавца и вернул свои ВТС. Продавец получил негативный отзыв.

 

Пользуйтесь мультиподписью, и берегите свои ВТС.

 

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


 

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

 

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

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

Спасибо за материал. Прочитал с интересом. Но правда не понял :)

Я думал что есть только приватный ключ и публичный ключ.

 

Может быть ещё пару ссылочек для тех, кому нужно для начала купирование хвоста?

Интересно - почему обычные адреса начинаются с 1, а мультисиг с 3. У адресов на 3 нет единого приватного ключа изначально, или как?..

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

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

  • rammendo изменил название на Electrum и мультиподписи Bitcoin

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

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

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

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

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

Войти

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

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

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

    • Electrum

      Официальный сайт | Исходный код | История версий   В теме действуют все Правила форума! Перед тем как задать вопрос, посмотрите НОВИЧКИ Bits.Media, все сюда. Уважайте своё и чужое время. Для обсуждения и поиска программ/драйверов пользуйтесь разделом Файлы. Сообщения, не относящиеся к теме обсуждения (оффтоп), удаляются без предупреждения.   Описание:   Статьи на bits.media:     Полезное:

      в Кошельки для криптовалют

    • Как восстановить доступ к кошельку blockchain.com, используя сид-фразу в Electrum?

      0. На случай, если вы не знаете, с чего начать, т.е. как раздобыть сид-фразу (=мнемоническая фраза, =12 слов), опишу это. Заходим в кошелек на https://blockchain.com: а) в браузерной версии на ПК эти слова в разделе «Security center», справа вверху (он же «Центр безопасности» в русском варианте), нажимаем «Фраза для восстановления доступа» (по английски Backup Phrase); б) в мобильном браузере раздел «Security center» выглядит как значок щита, в правом верхнем углу; в) наконец, в мобильном

      в Кошельки для криптовалют

    • Electrum DASH

      Кто нибудь юзал этот кошелек https://github.com/dashpay/electrum-dash-old/releases/download/v2.4.1/Electrum-DASH-2.4.1-Windows-setup.exe  для dash ? Почему то нет коннекта.

      в Кошельки для криптовалют

    • Безопасность превыше всего? Особенности криптовалютного кошелька Electrum

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

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

    • Electrum LTC

      Друзья, поиском пользовался, но темы такой не нашел. Дело вот в чем. Были у меня на отдельном харде 3 кошелька, Электрум, Электрум ЛТС, и Эксодус. Давно не заходил туда, а вот сегодня захотел зайти, но Винда почему то не завелась. Переустановил. Установил новые версии кошельков. Эксодус и Электрум пошли через сид фразу. А электрум ЛТС, ( лайткоины там ), после ввода сида не активирует кнопочку "дальше". Внизу, под окошком ввода сида, есть кнопка "Опции". Когда ее открываю, там есть 2 опции.

      в Кошельки для криптовалют

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