Контракт аккаунта
Ваш кошелёк — не внутренняя структура данных приложения. Это смарт-аккаунт Safe v1.4.1 — тот же контракт, в котором держат казначейства куда крупнее всего, что Vela когда-либо увидит, — развёрнутый ровно в том виде, в каком его публикует Safe, без единой правки.
Фраза короткая, а следствия нет, поэтому страница расписывает их подробно.
В этой цепочке нет ничего нашего
Между вами и вашими деньгами стоят четыре контракта. Vela не писала ни одного:
| Контракт | Кто написал |
|---|---|
| Safe v1.4.1 (сам аккаунт, прокси) | Safe |
| Safe 4337 Module | Safe |
| SafeWebAuthnSharedSigner (проверяет ваш ключ P-256) | Safe |
| ERC-4337 EntryPoint v0.7 | Авторы ERC-4337 |
Никакого «контракта Vela» не существует. В репозитории вообще нет Solidity — проверяется одной командой:
git clone https://github.com/mondaylabsltd/vela-wallet
find vela-wallet -name '*.sol' # ничего не выводит Когда Vela добавляет сеть, она разворачивает именно эти контракты по их каноническим адресам. Она не разворачивает контракт собственной конструкции и не имеет в вашем никакой привилегированной роли: ни админского ключа, ни пути обновления, ни модуля, который мы могли бы подключить.
Почему ключевое слово здесь — «неизменённый»
Множество кошельков заявляют, что построены «на Safe», «на форке Safe» или на «аккаунте по мотивам Safe». Форк — это новый контракт со старой репутацией. На практике разница такая:
Аудиты относятся к тому, чем вы действительно пользуетесь. Отчёты Safe покрывают байт-код именно этих релизов. Аудиты форка покрывают код до форка. Если кошелёк изменил контракт аккаунта, каждый цитируемый им аудит — это аудит чего-то другого, а изменение как раз и есть та часть, которую никто не смотрел.
Экосистема считает ваш аккаунт Safe, потому что он и есть Safe. Обозреватели блоков его разбирают. Инструменты самой Safe его понимают. Если Vela завтра не станет, ваш кошелёк не превратится в осиротевший формат: это самый обеспеченный инструментами смарт-аккаунт в Ethereum, и управлять им может любой Safe-совместимый интерфейс. Именно поэтому «если Vela исчезнет, ваш кошелёк — нет» — утверждение о контрактах, а не о наших намерениях.
Поверхность атаки та же, за которой следят все остальные. За индивидуальным контрактом аккаунта следит только его автор. За этим следят все, кто держит деньги в Safe.
Чего это стоит
Быть стандартным — не бесплатно, и компромиссы настоящие:
- Газ. Смарт-аккаунт проверяет подпись в блокчейне. Рассчитывайте примерно на 1,5–3 раза больше газа, чем у простого перевода с EOA, в зависимости от сети. См. сети и комиссии.
- Аккаунт нужно развернуть. Адрес вычисляется через
CREATE2ещё до того, как в блокчейне что-то появится, так что получать можно сразу, но первая исходящая транзакция оплачивает развёртывание контракта. - Подходит не всякая сеть. Подписывающий WebAuthn проверяет подпись P-256 в блокчейне, а для этого нужен прекомпайл RIP-7212. Vela скорее откажется включать сеть без него, чем перейдёт на более слабый верификатор.
- Риск Safe теперь и ваш риск. Доверять широко используемому контракту — всё равно доверять контракту. Всё, что может сказать Vela: она не добавила поверх ещё одну вещь, которой нужно доверять.
Что проверено аудитом, а что нет
Контракты Safe и модуль подписи WebAuthn проверены сторонними аудиторами, и эти отчёты публичны. Код самого приложения Vela независимого аудита не проходил, и он не запланирован — это цель на момент, когда проект сможет его оплатить, а не обещание с датой. Каждый контракт, от которого зависит Vela, его отчёт об аудите и проблемы, за которыми мы следим, перечислены в аудитах и известных проблемах.
Проверьте сами
Ваш аккаунт в блокчейне. Откройте его в обозревателе блоков и посмотрите адрес реализации: это будет каноническое развёртывание Safe v1.4.1, байт в байт, в каждой сети, которую поддерживает Vela.