
Поддержка Solana в SSP переходит с devnet в mainnet. То же самое самостоятельное хранение по схеме 2-из-2, которое вы используете на Bitcoin и Ethereum, теперь охватывает настоящие SOL и токены SPL — подписи проходят через собственную программу мультиподписи SSP, работающую в mainnet Solana по адресу SSPWVu7dtTDkZYmDx73StqV46PioSmdiNE7igpjHK1r.
Мы намеренно выпустили Solana сначала в devnet — в SSP Wallet v1.39.0. Всё, что было после, ушло в ту часть, которую трудно отменить, когда речь идёт о настоящих деньгах: программу в сети, способ её проверки вашим устройством и гарантию того, что код, работающий в mainnet, — это код, который мы опубликовали.
Ни создателя, ни координатора
Мультиподпись на Solana обычно начинается с того, что кто-то её создаёт. Squads V4 — зрелый, широко используемый вариант, и именно тот, с которым стоит сравнивать, — создаёт кошелёк инструкцией в сети, которой нужны две вещи: создатель и свежий случайный одноразовый create_key. Адрес хранилища выводится из этого случайного ключа, а значит, адрес не существует и не может быть пополнен, пока кто-то не выполнит транзакцию создания, и в этот момент присутствует одна сторона в роли создателя.
В программе SSP нет шага создания такой формы. Адрес вашего хранилища — это отпечаток отсортированного набора участников вместе с порогом одобрения, и больше ничего. Любой, кто знает, кто участники и сколько подписей требуется, может вычислить адрес офлайн, до того как что-либо коснётся сети. Регистрация не требует разрешения: программа просто проверяет, что предъявленные участники действительно хешируются в заявленный адрес, поэтому регистрация ничего не меняет в том, кто может тратить.
В итоге нет ни создателя, которому надо доверять, ни привилегированного регистратора, ни админского ключа. Расходование определяется исключительно проверкой порога внутри execute_transaction: адрес и есть правило, а не запись о том, кто его настроил.
Именно это свойство позволяет вашим двум устройствам вести себя в Solana так же, как и везде в SSP. Если модель для вас новая, начните с того, что на самом деле представляет собой multisig 2-из-2; реализация SSP на Solana разбирает саму программу, а SSP против Squads V4 — полное сравнение.
Ваше устройство не доверяет нашему relay
Транзакции Solana непрозрачны так, как транзакции Bitcoin непрозрачными не бывают: то, что делает транзакция, живёт в данных инструкций, которые кошелёк должен декодировать, прежде чем сможет сказать вам хоть что-то правдивое.
Поэтому SSP декодирует их на вашем устройстве, побайтово, с помощью библиотеки с открытым исходным кодом @runonflux/solana-multisig. Получатели, суммы и mint-адреса токенов проверяются по сырым байтам транзакции, а не принимаются на веру из того, что присылает relay. Если они расходятся, подпись жёстко блокируется: расхождение здесь указывает на активную атаку, а не на сбой отображения.

Эта работа вышла раньше mainnet — в v1.40.0, вместе с независимым потолком возмещения комиссий paymaster и белым списком инструкций при одобрениях. Mainnet включает декодер, который уже несколько недель работает в продакшене на devnet.
Сборки, которые можно проверить
Программа для mainnet собирается с зафиксированным тулчейном и проверяемыми сборками, так что байткод, развёрнутый по этому адресу, воспроизводится из опубликованных исходников. Вам не нужно верить нам на слово о том, что там работает: можно пересобрать и сравнить.
Это та же позиция, что и у детерминированных сборок кошелька: заявление о безопасности стоит ровно столько, сколько стоит ваша возможность проверить его самостоятельно.
С чего начать
Обновите SSP Wallet и SSP Key до последних версий, затем включите Solana в переключателе сетей. С пакетной синхронизацией из v2 вы можете активировать её вместе с любыми другими сетями одним подтверждением на вашем Key.

Дальше Solana ведёт себя как любая другая сеть в SSP: она попадает в общий итог вашего Portfolio, отправки проходят через тот же поток «составить → проверить → подтвердить» с полностью показанным адресом получателя, и каждая транзакция подписывается совместно двумя вашими устройствами.


