Кошельки

Как создать Safe multisig и выбрать порог подписей

Пошаговая подготовка Safe multisig: выбор владельцев и порога, независимые устройства, проверка сети и адресов, развёртывание и безопасный тест.

Как создать Safe multisig и выбрать порог подписей

Коротко: перед созданием Safe сначала определяют владельцев, независимые способы хранения ключей и порог подписей. Затем в проверенном интерфейсе выбирают сеть, добавляют адреса owners, задают threshold, внимательно сверяют итоговую конфигурацию и подтверждают развёртывание. После появления адреса Safe параметры проверяют через блокчейн и проводят небольшой тест.

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

Сначала спроектируйте владельцев

Главная ошибка возникает ещё до открытия интерфейса – пользователь добавляет несколько адресов, контролируемых одной seed-фразой. Формально owners разные, но компрометация общей резервной копии открывает злоумышленнику все ключи. Такая конфигурация почти не повышает безопасность.

Для личного Safe разумно разнести владельцев по независимым устройствам и резервным копиям. Например, два аппаратных кошелька разных назначений и отдельный резервный адрес могут образовать схему 2 из 3. Это пример, а не универсальная рекомендация: подходящий состав зависит от суммы, частоты операций и способности владельца безопасно хранить несколько ключей.

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

Как выбрать порог подписей

Safe хранит threshold в контракте. Допустимое значение находится между одной подписью и общим числом owners. Порог 1 из 1 не является multisig в практическом смысле: единственный ключ по-прежнему может единолично вывести активы.

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

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

Подготовка перед созданием Safe

  1. Зафиксируйте сеть. Один и тот же адрес в разных EVM-сетях относится к разному состоянию и балансу.
  2. Соберите адреса owners. Получайте каждый адрес непосредственно от владельца и сверяйте его по независимому каналу.
  3. Проверьте устройства. Обновите приложения кошельков из доверенного источника и убедитесь, что резервные копии существуют.
  4. Определите threshold. Запишите не только число, но и причину выбора.
  5. Назначьте плательщика газа. Развёртывание и будущие исполнения требуют нативного актива выбранной сети.
  6. Подготовьте порядок восстановления. Команда должна знать, что делать при потере одного owner, не публикуя seed-фразы.

Если owner подключается через аппаратный кошелёк, заранее проверьте его обычным безопасным способом. Отдельная инструкция объясняет, как подключить аппаратный кошелёк к MetaMask без ввода seed-фразы в браузер.

Создание аккаунта по шагам

  1. Откройте проверенный интерфейс Safe и подключите кошелёк, который оплатит создание.
  2. Выберите нужную сеть до ввода адресов. Повторно сравните название сети в кошельке и интерфейсе.
  3. Создайте новый Safe и добавьте полный список owner-адресов.
  4. Задайте threshold. Не подтверждайте операцию, пока число подписей не сопоставлено с вашим планом.
  5. На итоговом экране проверьте каждый адрес целиком: начало, середину и конец.
  6. Подтвердите транзакцию развёртывания или подготовленную операцию создания, если аккаунт разворачивается при первом использовании.
  7. Дождитесь включения транзакции в блок и сохраните адрес Safe отдельно от адресов owners.

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

Что проверить после развёртывания

Адрес Safe должен содержать контрактный код в выбранной сети. Через чтение контракта или независимый обозреватель проверьте список owners и threshold. Сравните данные с исходным планом, а не только с тем, что показывает один веб-интерфейс.

Затем проверьте modules, guard и fallback handler. Для обычной новой конфигурации неожиданно включённый модуль является поводом остановиться: modules способны выполнять операции по собственным правилам, иногда без стандартного сбора подписей owners. Guard, напротив, может блокировать транзакции, а ошибочный guard способен затруднить использование аккаунта.

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

Как организовать повседневную работу

Создание предложения, подписание и исполнение – разные действия. Safe Transaction Service может хранить предложение и собирать подписи вне блокчейна, но само наличие записи в сервисе не означает, что операция исполнена. Финальный исполнитель отправляет транзакцию в сеть после достижения порога.

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

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

Типичные ошибки

  • Несколько owners восстановлены из одной seed-фразы.
  • В список случайно добавлен адрес в другой сети или адрес биржевого депозита.
  • Порог выбран настолько высоким, что потеря одного ключа блокирует аккаунт.
  • Все владельцы хранят устройства и резервные копии в одном месте.
  • После создания не проверены modules и guard.
  • Крупные активы отправлены до тестовой транзакции.

Итог

Безопасность Safe определяется не количеством адресов само по себе, а независимостью ключей, разумным threshold и дисциплиной проверки. Сначала спроектируйте схему управления, затем создайте аккаунт, подтвердите on-chain параметры и проведите полный тест на небольшой сумме. Только после этого Safe готов к хранению значимых активов или командной работе.