SSP против Squads V4: два подхода к мультиподписи Solana

·6 мин. чтения·Автор: SSP Editorial Team
Сравнение бок о бок подходов SSP и Squads V4 к мультиподписи на Solana

SSP против Squads V4: два подхода к мультиподписи на Solana

Мультиподписный кошелёк — это кошелёк, которому требуется более одного одобрения, прежде чем средства смогут двигаться. На Solana несколько команд построили системы мультиподписи, и устроены они изнутри по-разному. Эта статья сравнивает две из них — Squads V4 и собственную программу мультиподписи SSP — не для того, чтобы короновать победителя, а чтобы показать две честные и хорошо продуманные философии проектирования и кому подходит каждая из них.

Если это ваша первая остановка в серии, сопутствующая статья о самоинициирующейся мультиподписи на Solana полностью объясняет, как работает решение SSP. Здесь мы ставим его рядом с самым устоявшимся вариантом в сети.

Сначала отдадим должное Squads V4

Squads V4 — доминирующая мультиподпись на Solana. Она зрелая, защищает миллиарды долларов в стоимости и была изучена необычно длинным списком фирм по безопасности — OtterSec, Neodyme, Trail of Bits и Certora, последняя из которых также применила формальную верификацию (математическое доказательство того, что код ведёт себя в соответствии со спецификацией). Кошельки вроде Fuse построены на её основе. Любое честное сравнение должно начинаться отсюда: Squads — это серьёзная, проверенная в бою платформа, и ничто из изложенного ниже не является критикой в её адрес.

Программа мультиподписи SSP для Solana приобретает иную форму, потому что была построена с иной целью. Эти две не конкурируют за одну и ту же работу, и остальная часть статьи — о том, что различается и почему.

Оговорка о зрелости, сказанная прямо

Одно различие важнее любого выбора в проектировании, поэтому оно идёт первым. Squads V4 работает в основной сети (mainnet) Solana — живой сети, где движутся реальные средства, — и прошла перечисленные выше аудиты. Программа мультиподписи SSP для Solana на момент написания этой статьи доступна только в devnet (тестовой сети Solana, где токены не имеют денежной ценности) и ожидает внешнего аудита безопасности. Это пока не то, чему стоит доверять средства основной сети. Сравнение ниже — о компромиссах проектирования; это не рекомендация использовать неаудированное ПО в основной сети.

Как создаётся кошелёк

Самое явное различие — в том, как мультиподпись появляется на свет.

Squads V4 создаёт мультиподпись с помощью ончейн-инструкции под названием multisig_create_v2. Этой инструкции нужны две вещи: человек, создающий кошелёк (создатель), и свежий, случайный, одноразовый ключ под названием create_key. Ончейн-адрес кошелька выводится из этого случайного create_key — поэтому адрес попросту не существует и не может быть известен или пополнен, пока не выполнится транзакция создания. В этот момент также присутствует создатель: единственная сторона, которая настраивает кошелёк.

У программы SSP нет шага создания в таком смысле. Её адрес мультиподписи выводится напрямую из самого набора участников — а именно из отпечатка отсортированного списка участников вместе с порогом одобрения. Поскольку входными данными служат лишь «кто участники» и «сколько должны одобрить», любой, кто знает эти факты, может вычислить адрес офлайн, до того как что-либо произойдёт в ончейне. Регистрация кошелька не требует разрешения: программа просто проверяет, что предъявленные вами участники действительно соответствуют заявленному адресу, так что канонический адрес может содержать только канонический набор участников. Здесь нет создателя и нет случайного ключа.

Можно ли пополнить его до того, как он появится?

Это напрямую следует из предыдущего пункта.

В случае Squads V4 адрес зависит от случайного ключа, выбранного во время создания, поэтому предварительно пополнить его нельзя — вы сначала создаёте кошелёк, затем отправляете средства. В решении SSP, поскольку адрес — это чистая функция от участников и порога, вы можете вычислить адрес для пополнения и отправить на него деньги до того, как кошелёк будет зарегистрирован в ончейне. Это повторяет работу Bitcoin: адрес Bitcoin P2WSH — это хеш правил траты, и любой может пополнить его офлайн вообще без транзакции «создания». В отличие от доминирующих мультиподписей Solana, таких как Squads, программа SSP приносит на Solana свойство «адрес — это правила».

Привилегированные роли и полномочия администратора

Squads V4 — это платформа управления, и она предлагает соответствующие функции управления. Каждому участнику можно назначить битовую маску разрешений — комбинацию трёх прав: Инициировать (предложить транзакцию), Голосовать (одобрить её) и Исполнять (выполнить уже одобренную). Сверх того, мультиподпись Squads может опционально иметь config_authority: ключ, который может в одиночку менять список участников или порог. «Управляемая» мультиподпись сохраняет это полномочие; «автономная» устанавливает его в пустое значение, чтобы каждое изменение конфигурации вместо этого проходило через голосование участников. Это реальные, полезные функции для организаций, которые хотят назначенного администратора.

Программа SSP намеренно не имеет ничего из этого. Все участники равны — нет уровней разрешений по участникам. Нет ключа администратора и нет config_authority. Набор участников и порог фиксируются при регистрации и неизменны после неё; «ротация ключа» означает перемещение средств в новую мультиподпись с новым набором участников. Порог проверяется только при трате средств, никогда при регистрации. Компромисс очевиден: Squads даёт вам административную гибкость; SSP даёт меньшую поверхность атаки, потому что привилегированная роль, которой не существует, не может быть выужена фишингом, украдена или использована во вред.

Сколько стоит создание

Создание мультиподписи Squads V4 несёт документированную протокольную комиссию около 0,1 SOL, выплачиваемую в казну Squads, плюс небольшую ренту Solana (возвращаемый депозит, который каждый аккаунт должен держать, чтобы оставаться активным). Программа SSP не взимает никакой протокольной комиссии: регистрация мультиподписи стоит только базовой ренты Solana. Это не оценочное суждение: протокольная комиссия финансирует продолжающуюся разработку крупной платформы. Это просто ещё одна ось, по которой различаются два подхода.

Две философии, две аудитории

Сделайте шаг назад — и закономерность станет ясной. Squads V4 — это богатая возможностями платформа управления: роли по участникам, опциональные администраторы, зрелая аудированная кодовая база и инструменты, которые нужны организации для управления казной со множеством заинтересованных сторон. Программа SSP — это минимальный детерминированный примитив: адрес — это набор участников, регистрация не требует разрешения, привилегированных ролей нет, и между вами и вашими средствами как можно меньше механики.

Каждый подходит для своей потребности. DAO или компании, которой нужны назначенные администраторы, гранулярные разрешения и проверенная история работы в основной сети, хорошо послужит Squads. Решение SSP нацелено на иную модель — потребительский кошелёк 2-из-2 и конфигурацию M-из-N для предприятий, — где приоритет в том, чтобы адрес кошелька был предсказуемым, пополняемым заранее и свободным от любой роли, которая могла бы стать единой точкой отказа. SSP намеренно опускает функции управления Squads: для сценария использования SSP просто меньше того, что можно скомпрометировать.

Чтобы увидеть, как выбор SSP проявляет себя против реальных сценариев атак, статья академии о режимах отказа мультиподписи и о том, как SSP их смягчает разбирает модели угроз напрямую. А если вам нужны технические детали вывода адреса SSP, статья о самоинициирующейся мультиподписи на Solana — это каноническая справка. Что касается другой стороны, исходный код и документация Squads V4 доступны открыто.

Честное резюме

Здесь нет «лучшей» мультиподписи, есть лишь лучшее соответствие. Squads V4 — зрелый, тщательно аудированный, богатый возможностями выбор для организаций, которым нужно встроенное управление. Программа SSP — это меньший по размеру, ориентированный на адрес дизайн — пока доступный только в devnet и ожидающий своего аудита, — построенный так, чтобы мультиподписный кошелёк ощущался настолько же предсказуемым, как адрес Bitcoin. Две честные философии, каждая решает ту задачу, которую её создатели поставили перед собой.

Поделиться статьёй

Похожие статьи