Настройка аппаратных кошельков для мультиподписи в Electrum
Electrum — один из популярных криптокошельков, поддерживающий мультиподпись для Биткоин. Этот функционал позволяет распределять контроль над средствами между несколькими пользователями или устройствами, что повышает безопасность.
Если вы только начинаете использовать Electrum, рекомендуется сначала ознакомиться с основным функционалом кошелька, прежде чем переходить к мультиподписи.
Так же чтобы лучше понять преимущества и риски этой технологии, читайте основную статью: Мультисиг — это ваша броня от хакеров.
Какой тип кошелька выбрать? Стандартный или мультисиг?
При создании нового кошелька Электрум предлагает выбор:
- Стандартный кошелек
- Кошелек с несколькими подписями (MultiSig)
Стандартный кошелек подходит для небольших сумм. Он более уязвим для вредоносных программ, но может использоваться для холодного хранения, что повышает уровень безопасности. Мультисиг — это более безопасный вариант, особенно если один из подписантов использует холодный кошелек, например, Ledger или Trezor. Однако настройка мультисиг сложная для новичков, хотя и предоставляет больше защиты.
Когда не нужен мультисиг
Частые транзакции — если вы часто совершаете транзакции, стандартный кошелек будет более удобным, так как мультисиг требует дополнительных шагов для каждой операции. Это может замедлить процесс и увеличить комиссию.
Наличие опыта и времени — настройка мультисиг требует дополнительных усилий. Мультисиг подходит для долгосрочного хранения активов (на годы или десятилетия), так как позволяет распределить приватные ключи на разных устройствах. Это делает его более защищенным.
Количество криптоактивов. Если вы не планируете хранить крупные суммы, мультисиг может быть избыточным. Стандартный кошелек будет более подходящим вариантом.
Когда мультисиг необходим
Современные методы защиты, такие как 128-битные ключи, могут стать уязвимыми с развитием технологий, например, квантовых вычислений. В будущем могут появиться новые способы взлома, которые затронут существующие системы безопасности. Стандартный кошелек использует один 128-битный ключ, в то время как мультисиг применяет несколько ключей, что увеличивает безопасность. Для взлома потребуется доступ к нескольким ключам. Если одиночные ключи станут уязвимыми, схема мультисиг, такая как 2 из 2, предложит дополнительную защиту, так как для доступа нужно будет найти два ключа вместо одного.
Если у вас более одного пользователя кошелька. Для совместного использования (в компании или семейном бюджете) мультисиг необходим.
Если у вас есть достаточный опыт и вы готовы инвестировать время в настройку, мультисиг обеспечит высокий уровень безопасности, создавая почти неуязвимый к взлому кошелек.
Вывод: если ваша цель — долгосрочное хранение и вы планируете придерживаться стратегии HODL, мультисиг будет лучшим выбором.
Далее расскажем про специфику настройки мультисиг кошелька для Electrum.
Настройка мультисиг в Electrum
Первым шагом будет установка кошелька. См. основную статью Electrum: как пользоваться: установка и пополнение, если вы еще его не установили.
Для настройки мультиподписи потребуются аппаратные кошельки, такие как Trezor, Ledger или SecuX V20.
Также можно создать мультиподпись, используя несколько экземпляров Electrum. Например, на разных компьютерах или виртуальных машинах. Однако этот вариант менее безопасен, поскольку ключи остаются на устройствах общего назначения.
Для создания мультиподписного кошелька выберите в меню File
→ New/Restore
. Откроется окно создания. Придумайте название и нажмите Next
.
В открывшимся окне выберите Multi-signature wallet
.
Следующий шаг предлагает выбрать число подписантов и совладельцев. Это один из ключевых шагов, поэтому остановимся на нем подробнее.
Выбор числа подписантов и совладельцев
При настройке мультиподписи есть два ползунка с выбором:
From cosigners
– число совладельцев, имеющих свой приватный ключ и право на участие в подписании транзакций.Require signatures
– число необходимых подписей для отправки транзакции в сеть.
Определите сколько подписей из общего числа участников потребуется для подтверждения транзакции. Это основа модели безопасности "M из N" (где M — минимальное число подписей, N — общее количество подписантов).
Самой безопасной считается схема 2 из 3 потому, что делать 3 из 3 не безопасно. Все потому, что один подписант может отказаться от подписи или его ключ будет скомпрометирован.
Таблица ниже поможет вам определить оптимальную схему количества совладельцев и подписантов. В ней перечислены лучшие практики:
Схема |
Применение |
Плюсы |
Минусы |
2 из 2 (2 совладельца, 2 подписи) |
Семейные или парные кошельки |
Максимальный контроль |
Полная зависимость от обоих ключей |
2 из 3 (3 совладельца, 2 подписи) |
Резервные ключи, малые группы |
Гибкость, защита от потери 1 ключа |
Потеря двух ключей делает средства недоступными |
3 из 5 (5 совладельцев, 3 подписи) |
Корпоративные и DAO-кошельки |
Высокая безопасность, распределение рисков |
Более сложное управление и координация |
1 из 1 (1 совладелец, 1 подпись) |
Личные кошельки |
Простота |
Отсутствие защиты |
1 из 3 (3 совладельца, 1 подпись) |
Кошельки с резервным доступом |
Удобство восстановления |
Риск несанкционированного доступа |
2 из 4 (4 совладельца, 2 подписи) |
Малые группы с дополнительным совладельцем |
Баланс контроля и доступности |
Риск блокировки при утере 2 ключей |
3 из 4 (4 совладельца, 3 подписи) |
Компании с малым числом участников |
Защита от большинства злоумышленников |
Требует высокой координации |
3 из 6 (6 совладельцев, 3 подписи) |
Инвестиционные фонды |
Надёжное управление, резерв |
Потеря 3 ключей блокирует средства |
4 из 6 (6 совладельцев, 4 подписи) |
DAO или крупные организации |
Баланс гибкости и безопасности |
Сложность координации и хранения ключей |
5 из 7 (7 совладельцев, 5 подписей) |
Совместные корпоративные фонды |
Высокая защита, устойчивость |
Трудности при управлении крупными группами |
7 из 10 (10 совладельцев, 7 подписей) |
Крупные проекты и консорциумы |
Распределённый контроль |
Сложность реализации |
|
|
|
|
5 из 9 (9 совладельцев, 5 подписей) |
Управление большими группами |
Компромисс между безопасностью и гибкостью |
Сложное управление ключами |
Наиболее частое использование заслужила схема 2 из 3 из-за баланса между надежностью и гибкостью.
Ознакомьтесь с примерами использования мультиподписи в данном руководстве. Оно может дополнительно раскрыть выбор схемы в зависимости от реальных случаев использования.
Для примера в настройке мы используем схему "2 из 2".
Пример:
Семейный кошелёк настроен на двух владельцев: оба родителя. Для перевода средств оба должны дать свою подпись, что соответствует схеме "2 из 2".
Выбрав количество подписантов, следящий шаг предлагает добавить совладельца одним из 4 вариантов:
- Создать новую сид-фразу,
- Использовать существующую,
- Использовать мастер-ключ или
- Подключить аппаратный кошелек.
Приступим к подключению аппаратных кошельков для мультиподписи.
Интеграция с аппаратными кошельками
Электрум интегрируется со многими аппаратными кошелькам. Процесс подписания транзакций происходит на самом устройстве, что защищает от атак ПК. Приватные ключи никогда не покидают аппаратное устройство.
Ledger, Trezor и BitBox02
Для использования этих устройств в Electrum достаточно подключить их через USB и ввести PIN-код. Electrum поддерживает различные версии устройств, включая Ledger Nano S, Ledger Nano X и Trezor Model T.
Coldcard и SatoChip
Coldcard использует физическую клавиатуру и экран для ввода PIN-кодов, подписывая транзакции через SD-карту в оффлайн-режиме. SatoChip работает через смарт-карты с поддержкой NFC и USB.
Продолжим интеграцию с Трезор. Подключите его к компьютеру. После того как Electrum обнаружит устройство, нажмите Next
.
Читайте про доступ к стандартным и скрытым счетам кошелька Trezor в Electrum.
Введите PIN-код от вашего Trezor.
Введите парольную фразу. Оставьте поле пустым, если вы не использовали пароль.
Следующий важный шаг отобразит Script type and Derivation path.
Эти данные нужно сохранить.
Script type
определяет, как именно будут проверяться условия расходования средств в транзакции Bitcoin. SegWit адреса минимизируют комиссию.
Derivation path
определяет, как генерируются ключи для различных адресов и аккаунтов в кошельке.
Практический совет:
«Скопируйте деривационный путь, указывающий на соответствующие ключи для мульти-сиг кошелька. Он нужен для восстановления, поэтому важно сохранить его.»
Итак, кошелек предложил m/48'/0'/0'/2
в качестве Derivation path
. Большинство кошельков с мультиподписью используют этот стандарт. Он обеспечивает безопасное управление ключами и возможность их обновления на разных устройствах.
Копируем его себе в блокнот:
Теперь получим публичный ключ (zpub
).
zpub
— это ключ, из которого генерируются ваши адреса криптовалюты. Он позволяет видеть баланс, но не тратить средства. Zpub
потребуется для восстановления кошелька, поэтому так же сохраните его.
Этот ключ (НЕ сид-фразу) вы будете передавать своему партнеру, чтобы он мог добавить его в свой мульти-сиг кошелек.
Совет: используйте защищённый, зашифрованный мессенджер или безопасное приложение) для передачи zpub
и деривационного пути партнеру.
Скопируйте ваш zpub
и перешлите его своему партнеру для создания кошелька для второй подписи.
Создание кошелька для второй подписи
Ваш партнер должен подключить свой Ledger и пройти аналогичные шаги в Electrum:
Выбрать Create new wallet,
и указать Мульти-сиг.
Читайте в основной статье: что делать, если Ledger не подключается к Electrum.
Нужно так же выбрать количество владельцев и подписантов.
Затем подключите Ledger.
Выберите Use hardware device
.
Отобразится Ledger. Нажмите Next
.
Повторите те же шаги, извлекая Derivation path
и zpub
для Ledger. Второй участник подписи передаст вам эту информацию.
Введите ключ совладельца.
Введите Zpub
и нажмите Next
.
Зашифруйте кошелек с помощью пароля.
В результате в оба кошелька (для вас и партнера) вводятся публичные ключи (zpub
).
После настройки вы увидите одинаковые адреса в разных Electrum кошельках.
Мы создали общий доступ к средствам. Чтобы использовать криптовалюту в таком кошельке нужны подписи обоих владельцев. Рассмотрим как отправить мультисиг транзакцию.
Отправка мультисиг транзакции
Чтобы отправить средства, один из участников (например, вы) создает транзакцию. Введите адрес получателя и сумму для перевода.
Первая подпись
Один из участников (например, вы) подписывает транзакцию с помощью своего аппаратного кошелька, что делает её частично подписанной. Нажмите Sign
.
Сохраните файл транзакции для дальнейшей передачи.
Нажмите Export to file.
Экспортируйте частично подписанную транзакцию в файл и передайте его партнеру через защищённый канал.
Вторая подпись
Ваш партнер получает файл транзакции, нажимая Tools
→ Load transaction
→ From File.
Откроется окно с выбором .psbt
файла.
Нужно подписать эту транзакцию второй подписью.
Нажмите Sign
. Теперь мы видим, что статус изменился на Signed
.
После того как оба участника подписали транзакцию, файл с полным набором подписей можно отправить в сеть Bitcoin для обработки. Нажмите Broadcast
.
Оба совладельца видят одни и те же транзакции в истории.
Если настройка требует больше подписей (например, 3 из 5), то процесс повторяется с участием других совладельцев. Каждый из них подписывает транзакцию и передаёт её дальше до достижения нужного количества подписей.
Electrum предоставляет пользователю возможность видеть список подписей для каждой транзакции в реальном времени. Это важный момент при работе с мультиподписными кошельками, где необходимо, чтобы все подписанты подтвердили операцию.
Комиссии за мультисиг
Подпись транзакции совладельцев не требует отдельной оплаты комиссии. Однако итоговая комиссия зависит от размера транзакции (каждая подпись увеличивает её объём).
Читайте в отдельном руководстве про причины высоких комиссий в Electrum и способы их снижения.
Electrum на Android подходит для multisig, но имеет ограничения (например, отсутствие ручной настройки комиссий и контроля монет).
Бэкап и восстановление мультисиг кошелька
Мультиподписной кошелёк, созданный в Electrum, будет работать только в Electrum, если другой кошелёк не поддерживает мультиподпись или не совместим с его форматом, таким как BIP39 или дескрипторы. Это связано с тем, что разные кошельки используют разные стандарты и форматы для хранения и работы с ключами и адресами.
Полное резервное копирование мультисиг
В первую очередь необходимо сохранить сид-фразы каждого владельца (косайнера). Эти фразы являются основой для восстановления приватных ключей и, соответственно, доступа к средствам.
Кроме того, следует сохранить мастер-публичные (zpub) ключи всех участников и конфигурацию условий трат. А именно количество подписей, необходимых для подтверждения транзакций (например, 2 из 2). Эти данные лучше хранить в нескольких местах, чтобы минимизировать риск их утраты. Сид-фразы нужно защищать максимально тщательно, так как они обеспечивают полный контроль над кошельком.
Итак, сохраните следующую информацию о кошельке:
- Seed-фразы и
Zpub
. - Архивы установочных файлов Electrum.
- Бумажные или офлайн-резервные копии деривационных путей (
m/48'/0'/0'/2
).
Чтобы избежать зависимости только от Электрум, также сохраните:
- Количество владельцев (например, 2 из 2).
- Количество подписантов (2 из 2).
- Путь деривации (например,
m/48'/0'/0'/2
).
Даже если Electrum станет недоступным, вероятность найти архивные версии программы или исходный код высока благодаря открытой лицензии.
Совет: проверяйте резервные копии, восстановив кошелёк на других устройствах.
Вся эта информация пригодиться при восстановлении вашего кошелька с помощью других программных кошельков.
Восстановление мультисиг
Процесс восстановления мультиподписного кошелька заключается в повторном создании кошелька в Electrum. Необходимо ввести сид-фразы и мастер-публичные ключи для каждого владельца, а также указать исходные параметры кошелька.
Выберите File
→ New/Restore
→ Укажите имя кошелька.
Выберите Multi-signature wallet
→ укажите ваше количество подписантов. Например (2 of 2)
.
Введите сид-фразу или подключите аппаратный кошелек.
Вставьте свои публичные ключи в Электрум. Для второго подписанта потребуется его публичный ключ (zpub), который он должен предоставить.
Импортируйте свою сид-фразу, чтобы восстановить приватные ключи и привязать их к вновь созданному мультисиг-кошельку.
- Если сохранены только сид-фразы, то из них сгенерируются те мастер публичные ключи, которые были в этом кошельке. Иными словами, сид-фразы содержат в себе данные о публичных (zpub) ключах.
- Если сохранены только публичные ключи, кошелек можно восстановить в режиме наблюдения (watch-only). Он позволяет просматривать баланс и транзакции, но не управлять средствами.
Полное восстановление кошелька возможно только при наличии всех необходимых данных. Потеря хотя бы одной сид- фразы сделает восстановление невозможным.
Таким образом, каждый участник должен предоставить zpub, чтобы восстановить общий мультиподписной кошелек.
Наличие только одной сид-фразы не позволяет получить доступ к мультиподписному кошельку, если при создании было указано больше подписей. Проще говоря, одна подпись = 1 сид-фраза. Если было 2 из 2, то нужно 2 сид-фразы и т д.
Для повышения безопасности рекомендуется использовать аппаратные кошельки. В случае их утраты восстановление производится с помощью резервной копии сид-фразы, связанной с устройством.
Если использовались аппаратные устройства, то при восстановлении потребуется их подключение, ввод PIN-кода и, при необходимости, фразы-пароля (passphrase).
Проблемы и решения
Wrong key type p2wpkh
Электрум требует использования Zpub
(верхний регистр) для мультиподписных кошельков на базе P2WSH
(native segwit), а не zpub
(нижний регистр). Это решение сделано чтобы избегать путаницы при генерации различных типов ключей.
Для преобразования zpub
в Zpub
используйте такие инструменты как Bitcoin Extended Public Key Converter. Однако это не рекомендуется для создания полноценного мультиподписного кошелька, так как это создаёт дополнительные риски и сложности.
Мультисиг vs shamir vs threshold signature
Shamir's Secret Sharing (SSS) позволяет разделить сид-фразу на несколько частей. Она восстанавливается на одном устройстве, что создаёт одноточечную уязвимость. В отличие от этого, мультиподпись предлагает более надёжное и стандартное решение, распределяя управление ключами между разными устройствами или людьми.
Threshold signature отличается от мультиподписи тем, что для создания подписи необходимо минимальное количество подписантов, и подпись создаётся как единая структура, объединяющая их подписи. В мультиподписи каждая подпись проверяется отдельно, и транзакция подтверждается только после получения нужного количества подписей.
Итоги: что нужно знать
Итоговая сводка преимуществ, недостатков, уязвимостей и особенностей мультисиг в Electrum представлена в таблице.
Категория |
Описание |
Преимущества |
- Размещение ключей в разных местах повышает безопасность, но усложняет доступ в экстренных ситуациях. |
Недостатки |
- Риск блокировки средств при потере ключей или неправильной настройке. |
Уязвимости |
- Подключение к ненадёжным сетям угрожает безопасности. |
Производительность |
- Медленный процесс подписания транзакций через аппаратные кошельки из-за дополнительной аутентификации. |
Прим. Автора:
«Не храните мастер-ключи всех подписантов на одном устройстве: это противоречит принципу мультиподписи.»
Итог: Multi-sig усложняет атаки, требуя взлома нескольких независимых ключей вместо одного, что делает его более устойчивым к угрозам, включая атаки суперкомпьютеров. Но вместе с тем, мультисиг добавляет не для всех оправданную дополнительную сложность.
Что вы думаете о мультиподписи в Электрум. Оставляйте комментарии, вопросы и замечания.