Мультиподпись защищает ровно до тех пор, пока состав владельцев и порог подписей соответствуют вашим ожиданиям. И то и другое меняется обычной транзакцией: если нужное число подписей собрано без вас, вы узнаете об изменении постфактум. Поэтому проверять схему нужно так же регулярно, как резервные копии, — и смотреть при этом не только на список адресов.
Разберу, что именно можно изменить в такой схеме, где смотреть текущее состояние и почему включённые расширения опаснее смены владельца.
Что в схеме поддаётся изменению
| Параметр | Чем грозит изменение |
|---|---|
| Список владельцев | Добавление чужого адреса или удаление вашего |
| Порог подписей | Снижение порога обесценивает всю схему |
| Подключённые расширения | Переводы в обход порога |
| Проверяющий контракт | Отключение дополнительных ограничений |
| Адрес реализации | Подмена логики кошелька целиком |
| Обработчик вызовов | Изменение поведения при обращениях извне |
Первые две строки очевидны. Остальные четыре знают хуже. А проверять надо все шесть: схема «три из пяти» не значит ничего, если рядом включено расширение, исполняющее переводы само по себе.
Почему это не паранойя
Летом 2026 года был случай. Злоумышленник получил три ключа из шести, управлявших административным контрактом моста. Этого хватило на всё.
Управление ушло на его адрес, контракт моста заменили вредоносной версией, а все средства вывели одним переводом — при том, что схема мультиподписи отработала совершенно штатно. Обратите внимание на механику. Взлома самой схемы не было. Она отработала как задумано, собрав нужное число подписей, а проблема оказалась в том, что достаточное количество ключей сосредоточилось в одних руках.
Как устроена схема изнутри
Без этого дальнейшее читается формально. Мультиподпись — не особый тип кошелька, а контракт, который хранит и средства, и правила.
Любой из участников может создать предложение, остальные его подтверждают, и при достижении порога операция уходит в сеть. Иерархии среди владельцев не предусмотрено.
Право предложить есть у каждого. Правила лежат там же, где средства.
Порядок проверки
1. Откройте адрес кошелька в обозревателе сети, а не только в интерфейсе приложения.
2. Посмотрите текущий список владельцев и сверьте с вашим эталоном.
3. Проверьте порог подписей — число, а не описание в интерфейсе.
4. Откройте список подключённых расширений: их должно быть ровно столько, сколько вы включали.
5. Проверьте проверяющий контракт, если он у вас настроен.
6. Для схем на прокси сверьте адрес реализации с прежним.
7. Просмотрите последние административные операции в истории.
Поэтому изменение состава — такая же операция, как перевод. Её предлагают, подтверждают и исполняют при наборе подписей, и потому второй с третьим шаги делают в обозревателе: интерфейс приложения показывает кэш, а обозреватель читает состояние напрямую.
Общий порядок работы с историей операций я разбирал в материале о том, как проверить историю операций своего адреса; для мультиподписи он тот же, только внимание смещается на административные вызовы.
Расширения: самое опасное место
Здесь стоит задержаться. Расширение — контракт, которому кошелёк доверяет исполнять операции по собственным правилам.
Без сбора обычных подписей. Задуманы они для полезных сценариев: регулярные платежи, восстановление доступа, автоматизация казначейства. Но по сути включённое расширение — это ещё один владелец с правом действовать в одиночку, и увидеть его в списке владельцев нельзя: оно живёт в отдельном разделе.
Отсюда правило. Список расширений проверяют при каждой ревизии, а любое незнакомое отключают немедленно, не тратя времени на выяснение его назначения и происхождения. Разбираться будете потом.
Заведите эталон
Средства к тому моменту должны быть в безопасности. Проверка бессмысленна без образца для сравнения. Эталон — короткий файл.
Сеть и адрес кошелька, полностью, без сокращений.
Список владельцев с адресами и пометкой, чей это ключ.
Порог подписей цифрой.
Расширения и ограничения, если включены, с назначением каждого.
Адрес реализации для схем на прокси.
Хеш операции последнего законного изменения и его дата.
Его создают один раз и обновляют при каждом законном изменении схемы, а хранят там же, где резервные копии кошельков. Обновляйте сразу, не «на следующей неделе».
Уведомления вместо ручных проверок
Устаревший эталон хуже отсутствующего.
Он создаёт ложное ощущение проверки, хотя сравнивать вы будете с неактуальными данными. Ручная ревизия ловит не всё.
Между двумя проверками раз в месяц остаётся окно в несколько недель, и злоумышленнику этого хватает с запасом, поэтому окно закрывают уведомлениями. Сервисы отслеживания шлют сообщение при каждой операции.
Административные вызовы в их числе. Настраиваются уведомления за считаные минуты, и для схемы с общими средствами это обязательная часть обвязки, а включать её надо сразу для всех владельцев без исключения. Тогда изменение увидит вся группа.
Как читать административные операции
И подтверждение по независимому каналу займёт минуты, а не сутки. В истории кошелька видны не только переводы: операции, меняющие схему, выглядят иначе.
Это вызовы к самому кошельку. А не к внешним адресам, и смотреть в каждой такой записи надо на три вещи. Что за операция — добавление владельца, смена порога, включение расширения. Кто инициировал и кто подписал. И когда она прошла.
Административное изменение среди ночи или в выходной день заслуживает отдельного разговора, а если операция вам незнакома и подписи стоят чужие — исходите из худшего сценария.
Регламент для нескольких владельцев
Техника без договорённостей не спасает. Когда ключами владеют разные люди, схема держится на договорённостях между ними, а не на самих ключах.
- Кто инициирует. Определите заранее, чьи предложения вообще рассматриваются.
- Как подтверждают. Голосом или в отдельном канале, но не в том же чате, откуда пришёл запрос.
- Что сверяют перед подписью. Адрес получателя и сумму — на экране аппаратного устройства, а не в приложении.
- Срок на подпись. Предложение, висящее неделю, отменяют и создают заново.
- Порядок при утрате ключа. Кто и как заменяет владельца, чтобы порог остался достижимым.
Третий пункт закрывает подмену данных на устройстве участника, и механику такой подмены я разбирал в материале о том, как распознать подмену адреса в буфере обмена. Общая организация управления общими средствами команды описана в материале о том, как управлять кошельками казначейства проекта.
Где смотреть состояние: три источника
Одного окна недостаточно. Каждый источник показывает свой срез, и расхождение между ними само по себе сигнал, требующий разбирательства.
Приложение кошелька удобно. Но оно кэширует данные, а обозреватель сети читает состояние контракта напрямую и служит основным источником истины. А сервисы разбора контрактов показывают расширения и адрес реализации в готовом виде.
Правило одно. Расхождение трактуют в пользу обозревателя и выясняют причину, а не списывают на задержку интерфейса.
Опасный момент: подпись вслепую
Проблемы возникают не при проверке. Они возникают при подписании: участник видит понятное описание операции и подтверждает, не сверяя данные на экране аппаратного устройства.
Но описание рисует приложение. Подписываете вы то, что ушло в устройство, и при скомпрометированном приложении на экране будет «перевод контрагенту», а в подписи — добавление нового владельца или снижение порога.
Отсюда правило для каждого участника схемы: сверять на экране устройства адрес и суть операции, а при малейшем расхождении отказываться от подписи и поднимать тревогу в общем канале.
Что делать при расхождении
Порядок зависит от одного: остался ли контроль.
Если порог достижим вашими доверенными ключами, действуйте. Соберите подписи и выведите средства. Разбирательство отложите, а если порог недостижим, подписывать бессмысленно — зато важно связаться с остальными владельцами голосом, а не сообщением.
И ничего не подписывайте. Так у команд и забирают недостающие подписи в момент растерянности.
Схема одного человека: свои особенности
Мультиподпись используют не только команды. Один владелец раскладывает ключи по устройствам.
Кража одного тогда не оборачивается потерей всех средств, но и здесь есть свои грабли. Первые — потеря доступа. Схема «два из трёх» при утрате двух устройств превращается в заблокированные средства навсегда, поэтому запас по ключам закладывают с расчётом на переезд, поломку и обычную человеческую забывчивость.
Вторые — однородность. Три ключа, созданные на одном компьютере в один вечер и записанные в один и тот же блокнот, формально дают схему из трёх подписей, а фактически — один общий риск на всех. Разносить нужно и устройства, и места хранения резервных копий.
И третьи — обслуживание. Каждое обновление приложений, смена телефона или переустановка системы требуют отдельной проверки: все ли ключи по-прежнему рабочие и доступны ли резервные копии. Схема, которую ни разу не проверяли после сборки, существует только на бумаге.
Как часто проверять
Раз в месяц при спокойной работе и после каждого события, которое могло затронуть ключи: смена устройства у любого из владельцев, уход человека из команды, подозрение на компрометацию, обновление приложения кошелька.
Отдельно — перед крупной операцией. Проверка состава занимает одну минуту, а стоит она ровно столько, сколько вы собираетесь перевести этой операцией. Полезно также держать разные суммы в разных кошельках, и порядок такого разделения я описывал отдельно — в материале о том, как разделить хранение между несколькими кошельками.
Короткие ответы
Могут ли изменить схему без моей подписи
Да. Если нужное число владельцев подписало операцию, она исполнится: порог работает одинаково и для переводов, и для изменения самой схемы.
Какой порог считать разумным
Такой, при котором потеря одного ключа не парализует работу, а компрометация одного не даёт контроля над средствами. Крайности одинаково плохи.
Нужна ли мультиподпись одному человеку
Порог из всех ключей делает схему хрупкой, порог в один ключ отменяет её смысл. Иногда да: ключи на разных устройствах защищают от потери одного носителя. Но сложность обслуживания растёт.
Что делать, если один из владельцев недоступен
Для скромных сумм обычный кошелёк с проверенной резервной копией надёжнее уже в силу простоты. Пока порог достижим оставшимися ключами, работа продолжается. Владельца заменяют штатной операцией.
Коротко
Проверяйте не только список владельцев. Порог, расширения, ограничения и адрес реализации меняются той же штатной операцией, поэтому смотрите состояние в обозревателе, а не в приложении, и держите эталон в файле. А при расхождении не подписывайте ничего и выводите средства, пока порог ещё достижим вашими ключами.
Разборы схем управления и инцидентов выходят в нашем канале раньше, чем на сайте: t.me/cryptiumru.
Обсуждение
Добавить комментарий