Account Abstraction
В Tycho механизм «Account Abstraction» (AA) встроен на уровне модели аккаунтов. Аккаунт — это смарт-контракт, который сам определяет правила авторизации и обработки входящих сообщений.
Ключевые следствия:
- В Tycho нет EOA (Externally Owned Account) в смысле Ethereum. Нет «аккаунта-ключа», который сам по себе умеет инициировать транзакции.
- В Tycho только смарт-контракты (включая кошельки).
- Смарт-контракт может обновляться (менять код), если это предусмотрено его логикой.
- Мультисиг-кошельки (msig) доступны «из коробки» и используются как обычные контракты.
Что такое Account Abstraction
Account Abstraction — это подход, при котором:
- Логика «кто имеет право совершать операции от имени аккаунта» (подписи, мультисиг, лимиты, восстановление доступа, сессионные ключи и т. п.) реализуется кодом аккаунта.
- Протокол не навязывает единственный способ авторизации «по одному ключу» на уровне базового аккаунта.
Модель аккаунтов в Tycho: AA «по умолчанию»
Нет EOA: все аккаунты — смарт-контракты
В Tycho аккаунт — это состояние, связанное с адресом, которое интерпретируется как смарт-контракт (код + данные). «Кошелёк пользователя» в этой модели тоже является смарт-контрактом.
Практический смысл:
- У пользователя может быть ключ (или несколько ключей), но «аккаунт» — не ключ, а контракт-кошелёк, который решает, как проверять права.
- Контракт-кошелёк может быть простым (одна подпись) или сложным (мультисиг, политики, лимиты, социальное восстановление).
Сообщения вместо «транзакций от ключа»
Взаимодействие в Tycho строится вокруг сообщений:
external-сообщение — вход «снаружи» в блокчейн (например, запрос от пользователя).internal-сообщение — вызов или передача данных между смарт-контрактами внутри сети.- «Транзакция» — это результат выполнения сообщения на конкретном аккаунте (контракте).
Из-за этого AA проявляется естественно: чтобы «сделать перевод» или «вызвать dApp», пользователь отправляет external-сообщение в контракт-кошелёк, а уже кошелёк выпускает internal-сообщения в нужные контракты.
Что нам даёт встроенный AA
1) Программируемая авторизация
Правила подписи и контроля доступа — часть кода кошелька/аккаунта. Это позволяет реализовывать (на уровне контрактов):
- Мультисиг N из M подписей.
- Разграничение ролей (owner, guardian, operator).
- Лимиты и политики трат.
- Восстановление доступа.
- Сессионные ключи для dApp.
Конкретные механики зависят от выбранного смарт-контракта.
2) Контракт может обновляться
Так как аккаунт — это контракт, его код может быть заменён/обновлён, если это предусмотрено логикой контракта (например, через админ-права или мультисиг).
Зачем это нужно:
- Обновление кошелька (новые схемы подписи, новые политики безопасности).
- Исправление ошибок и развитие dApp без миграции на новый адрес.
- Модульная архитектура (контракт обновляет код, сохраняя данные и состояние).
3) Мультисиг (msig) «из коробки»
В Tycho доступны стандартные мультисиг-кошельки (msig), которые используются как обычные контракты. Они принимают external-сообщения, собирают подтверждения и выпускают internal-сообщения после достижения порога подписей.
Типовые сценарии:
- Управление казной, резервом или правами администрирования контрактов.
- Деплой и апгрейды критичных контрактов.
- Операции с повышенными требованиями к безопасности.