Перейти к содержимому
buybitcoinsmart

Глоссарий / Кошельки и хранение

Мультиподпись

Другие названия: Мультисиг, Multisig, Multisignature, мультисиг-кошелек.

Что такое Мультиподпись?
Мультиподпись блокирует биткоины сразу несколькими ключами и требует определенного числа подписей для траты, поэтому потеря или утечка любого одного ключа не приведет к потере средств.

Определено в BIP-11.

Адрес multisig привязан к скрипту, в котором указаны несколько публичных ключей и порог, чаще всего два из трех. Биткоин считает такую схему стандартным типом транзакции с тех пор, как в октябре 2011 года был написан BIP-11, то есть за годы до появления аппаратных кошельков. Для сбережений, которые вы планируете хранить десятилетие, она устраняет единую точку отказа, создаваемую одной фразой восстановления.

Как это работает

Правило multisig находится в скрипте выхода, поэтому его обеспечивает сеть, а не какое-либо приложение. Классический скрипт погашения два из трех читается так: поместить число 2, поместить три публичных ключа, поместить число 3, затем OP_CHECKMULTISIG. Узлы сопоставляют действительные подписи с перечисленными ключами и отклоняют трату, если не проходят как минимум две. Ни одна компания, ни один сервер и ни один поставщик кошельков в этом решении не участвуют.

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

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

P2SH прячет скрипт за хешем и раскрывает его при трате. Предел в 520 байт для скрипта погашения ограничивает этот путь 15 сжатыми публичными ключами.

P2WSH, версия SegWit, переносит скрипт в свидетель и поднимает потолок до скрипта свидетеля в 3600 байт, и тогда первым срабатывает собственный предел опкода в 20 ключей. Адреса нативного multisig SegWit начинаются с bc1q, и именно их выдает большинство современного координирующего программного обеспечения.

Одна историческая странность видна при каждой трате. OP_CHECKMULTISIG извлекает на один элемент больше, чем нужно, это ошибка исходной реализации, которую нельзя было убрать без хардфорка. BIP-147 сделал обязательным пустое значение этого лишнего элемента как правило консенсуса, и оно вступило в силу вместе с SegWit в блоке 481 824 24 августа 2017 года.

Taproot снова изменил картину. BIP-342 отключил OP_CHECKMULTISIG внутри tapscript и ввел OP_CHECKSIGADD, который подсчитывает подписи по одному ключу за раз и снимает предел в 20 ключей. Отдельно MuSig2 позволяет группе подписантов объединить свои ключи в один, так что трата n из n выглядит в цепочке как обычный платеж Taproot с одной подписью, неотличимый и более дешевый.

Почему это важно при покупке биткоина

Multisig не заменяет биржу. Вы по-прежнему покупаете на одной из платформ, обзоры которых есть на этом сайте, а multisig представляет собой адрес, на который вы выводите средства, поэтому руководства по покупке и это решение независимы друг от друга.

Меняется форма вашего риска. Кошелек с одной подписью полностью выходит из строя из-за одного события: потерянной фразы, пожара в доме, который уничтожит обе копии, принудительного раскрытия, бэкдора в прошивке продукта одного поставщика. Схема два из трех, собранная из трех разных производителей, переживает все это, потому что ни одна сид-фраза, ни одно здание и ни одна компания сами по себе не достаточны. Поэтому в обзорах оборудования отмечено, у каких устройств нет Secure Element: в смешанном кворуме одно более слабое устройство перестает быть фатальным.

Издержки реальны, и их следует честно учитывать. Трата занимает больше места: вход нативного SegWit два из трех весит примерно 105 vbytes против примерно 68 у входа с одной подписью, поэтому тот же платеж стоит примерно в полтора раза больше по комиссиям. Настройка занимает вечер, а не три минуты. И появляется новый объект для резервной копии, дескриптор кошелька со списком всех расширенных публичных ключей, путей производных и порога; его нельзя воспроизвести из имеющихся у вас сид-фраз, если вы не можете связаться с соподписантами.

Честный порог для перехода на multisig поведенческий, а не финансовый. Если вы уже проверяли восстановление кошелька с одной подписью по записанным словам и сумма на кону теперь вас беспокоит, multisig является следующим шагом. Если вы еще не проводили такую проверку, добавление двух устройств умножает число способов, которыми непроверенная резервная копия может вас подвести.

Схема два из трех, переживающая потерю одного ключа

Вот конфигурация multisig два из трех, которую люди действительно поддерживают, описанная достаточно конкретно, чтобы ее повторить.

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

Храните три резервные копии сид-фраз в трех местах, которые отказывают независимо: домашний сейф, банковская ячейка или рабочее место и доверенный родственник в другом городе. Храните копию дескриптора вместе с каждой из них, поскольку он не секретен и сам по себе никому не позволяет ничего потратить, а его отсутствие может заблокировать биткоины, которые иначе могли бы восстановить все три сид-фразы.

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

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

Multisig vs multisig-хранилище

Multisig представляет собой лежащую в основе схему, а multisig-хранилище является продуктом, построенный на ней. Сервисы продают управляемые кворумы, где поставщик держит один ключ, вы держите один или два, а остальное покрывает процесс восстановления. Скрипт в цепочке выглядит одинаково в обоих случаях, но модель доверия нет: хранилище вводит компанию, которая может закрыться, изменить цены или подчиниться требованию суда, и именно эту зависимость устраняет самостоятельно управляемый multisig. Оба варианта законны, и путать их значит неверно оценивать, кто должен продолжать работу, чтобы ваши биткоины можно было перевести.

Multisig vs multisig P2SH

Multisig представляет собой политику траты, а multisig P2SH является одним из способов поместить эту политику в адрес. Различие стало принципиальным с приходом SegWit и Taproot, поскольку одинаковая схема два из трех теперь имеет как минимум три возможные ончейн-формы с разным размером, разными префиксами адресов и разными свойствами приватности. При восстановлении кошелька фразы «это было два из трех» недостаточно; нужно еще знать, какой тип скрипта создал адреса, на которые вы отправляли средства.

Не путать с

Часто задаваемые вопросы

Нужна ли мне мультиподпись?

Только если именно одна сид-фраза в вашей схеме вызывает беспокойство, и только после того, как вы успешно восстановили кошелек с одной подписью по записанным словам. До этого дополнительные устройства лишь умножают способы, которыми может подвести непроверенная резервная копия.

Что нужно включить в резервную копию кошелька с мультиподписью?

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

Мультиподпись обходится дороже в использовании?

Немного. Вход нативного SegWit с двумя подписями из трех весит примерно 105 vbytes против примерно 68 для входа с одной подписью, поэтому трата стоит примерно в полтора раза больше по комиссиям. Получение не стоит ничего дополнительно.

Можно ли совмещать бренды аппаратных кошельков в одной мультиподписи?

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

Читайте далее

Связанные термины

Еще в разделе «Кошельки и хранение»

Читать эту страницу на английском