Смарт-контрактные кошельки

Смарт-контрактные кошельки встраивают функционал кошелька в код, находящийся на блокчейне, обеспечивая программируемые правила расходов, безопасность с использованием мультиподписей и автоматизированное взаимодействие с децентрализованными приложениями.

Смарт-контрактные кошельки — это программные кошельки, где «счет» представляет собой смарт-контракт, а не простой внешний счет (EOA). Они существуют в блокчейне в виде кода, который может хранить активы и определять правила для расходов, подписей и восстановления доступа. Типичные функции включают программируемые правила расходов, транзакции с временной блокировкой, авторизацию с использованием нескольких подписей, контроль доступа на основе ролей и модульные расширения. Они взаимодействуют с DeFi-протоколами и dApps, вызывая другие контракты или предоставляя интерфейсы на блокчейне. Безопасность зависит от корректности и аудируемости кода контракта, формальной верификации, где это применимо, безопасного управления зависимостями и надежных схем управления ключами или восстановления. Расходы на газ (gas fees) применяются к каждой операции на блокчейне; контрактные кошельки могут объединять действия для снижения неудобств для пользователей. Распространенные архитектурные паттерны включают реализации мультиподписей, хранилища (vaults) и кошельки с возможностью восстановления, иногда реализованные с использованием паттернов прокси для возможности обновления. Компромиссы включают повышенную сложность, потенциальные ошибки и риск потери доступа, но преимущества включают программируемую логику, контролируемый доступ и автоматизированное управление казначейством.

        graph LR
  Center["Смарт-контрактные кошельки"]:::main
  Rel_smart_contracts["smart-contracts"]:::related -.-> Center
  click Rel_smart_contracts "/terms/smart-contracts"
  Rel_smart_contract["smart-contract"]:::related -.-> Center
  click Rel_smart_contract "/terms/smart-contract"
  Rel_smart_contract_security["smart-contract-security"]:::related -.-> Center
  click Rel_smart_contract_security "/terms/smart-contract-security"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Generated ELI5 content

🤓 Expert Deep Dive

Generated expert content

❓ Частые вопросы

Что такое смарт-контрактный кошелек?

Кошелек, поведение которого определяется кодом на блокчейне (смарт-контрактом), который хранит активы и управляет тем, как авторизуются и выполняются переводы.

Как управлять контрактным кошельком?

Управление закодировано в логике контракта кошелька (например, пороги мультиподписей, разрешения на основе ролей или правила с временной блокировкой). Транзакции должны соответствовать этим правилам для выполнения.

Всегда ли они безопаснее традиционных кошельков?

Не обязательно. Они могут предлагать более строгий контроль доступа и варианты восстановления, но также вносят риск ошибок в контрактах. Безопасность зависит от качества кода и аудитов.

Какие риски следует учитывать?

Ошибки смарт-контрактов, неправильно настроенный доступ, риски зависимостей, опасности, связанные с возможностью обновления, и социальная инженерия вокруг механизмов восстановления.

Как восстановить доступ, если учетные данные утеряны?

Восстановление может использовать социальное восстановление (social recovery), хранителей (guardians) или действия с задержкой по времени, определенные в контракте кошелька, но восстановление несет свои собственные риски и соображения по управлению.

📚 Источники