Перейти к основному содержимому

Смарт-аккаунты Pali

Смарт-аккаунты Pali — это контрактные аккаунты, которые Pali может создать, подключить и использовать для пользователя. Для обычного пользователя это выглядит как привычный кошелек: проверить запрос dapp, подтвердить passkey или ключом кошелька, и Pali отправит транзакцию. Технически аккаунт модульный: валидаторы разрешают действия, а executor-модули добавляют функции, например восстановление.

Простая модель​

  • Один адрес аккаунта хранит средства и виден dapp.
  • Аккаунт может использовать passkey, ECDSA или composite-политику.
  • Guardian recovery может заменить активный валидатор после задержки.
  • wallet_sendCalls может выполнить несколько calls как одно атомарное действие.

Техническая модель​

PaliSmartAccount выполняет calls и проверяет подписи через модули в стиле ERC-7579. PaliSmartAccountFactory выводит детерминированные адреса и деплоит аккаунты. Pali готовит исполнения в стиле ERC-4337 и использует EIP-1271 для контрактных подписей.

Две роли: валидаторы подписывают, guardians восстанавливают​

ERC-7579 разделяет роли модулей, и Pali намеренно опирается на это разделение:

  • Валидаторы проверяют подписи обычных одобрений аккаунта: passkey, ECDSA и составных политик.
  • Executors могут выполнять действия через установленный модуль. Модуль guardians в Pali требует заданный порог и задержку. Пошаговый процесс кошелька заменяет активный валидатор; on-chain модуль не ограничен этим действием интерфейса.

Таким образом, guardians имеют отложенные полномочия над аккаунтом. Компрометация порога угрожает контролю и средствам. Текущий владелец может действовать в период ожидания, но защитная операция должна подтвердиться до злонамеренного исполнения. См. Восстановление через guardians.

Composite-политики подписания​

Composite-валидатор объединяет дочерние валидаторы под threshold, что превращает один аккаунт в policy engine:

  • 1-of-N — одобрить может любой из нескольких аутентификаторов. Удобно для личных аккаунтов с passkey на каждом устройстве.
  • t-of-N — одобрить должен кворум. Естественная форма для общих казн, trading desks и аккаунтов под контролем команды.
  • N-of-N — одобрить должен каждый настроенный валидатор. Аккаунты с максимальными гарантиями.

Pali сейчас собирает одобрения локально доступных встроенных дочерних валидаторов до достижения порога. Эта версия не поддерживает вложенные composite-политики и сбор внешних одобрений или одобрений с других устройств. Восстановление через guardians не зависит от активной политики валидатора.

Гибкость валидаторов и постквантовая готовность​

В настроенных сетях Pali поддерживает ECDSA под контролем кошелька, passkey P-256 WebAuthn, SLH-DSA и составные валидаторы. Соответствующие on-chain модули должны быть развёрнуты, а необходимые локальные ключи или учётные данные — доступны. Заменяемые модули позволяют позже внедрять другие схемы подписи на том же адресе. Смена валидатора не перемещает средства, историю или интеграции.

Модуль guardians проверяет одобрения ECDSA обычных адресов и ERC-1271 контрактных аккаунтов. Pali поддерживает локальных guardians на основе ключей и развёрнутые локальные смарт-аккаунты, для которых может подписывать, включая SLH-DSA. Внешнему guardian, недоступному как локальный подписант, нужен внешний процесс одобрения.

Для институций и команд​

Институциям следует воспринимать Pali smart accounts как инфраструктуру аккаунта, а не только как passkey-login. Используйте passkeys для удобного onboarding, ECDSA или composite validators для командного или hardware-wallet контроля, guardian recovery для замены с задержкой и funded gas-payer accounts для deployment и execution.

Pali отдельно предупреждает, если dapp запрашивает внешних ECDSA owners, потому что эти адреса смогут подтверждать будущие действия аккаунта.

Метод dapp​

const account = await window.ethereum.request({
method: 'wallet_prepareSmartAccount',
params: [{ label: 'Trading account', authenticator: { id: 'p256-webauthn' } }],
});

Поддерживаемые сети​

Смарт-аккаунты Pali работают в совместимых EVM-сетях, где factory и модули Pali существуют по адресам, которые ожидает Pali. Это не ограничено сетями, которые разворачивает Pali: если активная сеть предоставляет canonical CREATE2 deployer, Pali может развернуть недостающую настройку смарт-аккаунта прямо из кошелька. Откройте Pali Settings, перейдите в Advanced и используйте кнопку Deploy в Smart account setup.

Passkey-валидаторам нужна поддержка P-256 WebAuthn verification. Многие современные EVM-среды предоставляют ее через P-256/passkey precompile, но интеграторам следует проверить поддержку сети перед использованием passkey-валидаторов.

Контроль пользователя​

Browser or operating system passkey creation sheet
После проверки в кошельке браузер или операционная система выполняет создание WebAuthn passkey, если выбранный валидатор основан на passkey.

Перед подтверждением пользователь видит запрашивающий сайт, метку аккаунта, запрошенный authenticator и любые внешние адреса ECDSA owners. Браузер или операционная система показывает WebAuthn-запрос, когда Pali нужна новая passkey credential. Pali показывает прогресс деплоя, установки модулей и подтверждения, прежде чем смарт-аккаунт будет подключен к dapp.

Onboarding, инициированный dapp: проверьте запрос, подтвердите — и смарт-аккаунт готов.

Ссылки на стандарты​