Концепция

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-сообщения после достижения порога подписей.

Типовые сценарии:

  • Управление казной, резервом или правами администрирования контрактов.
  • Деплой и апгрейды критичных контрактов.
  • Операции с повышенными требованиями к безопасности.