Аккаунт с внешним владельцем (EOA)
Аккаунт с внешним владельцем (EOA) — это тип аккаунта в сети
Ethereum, который контролируется пользователем с
приватным ключом. Другими словами, это учетная запись, которую используют для отправки транзакций или управления эфиром (ETH). В отличие от аккаунтов смарт-контракта, которые контролируются исключительно кодом, аккаунты с внешним владельцем напрямую управляются людьми.
На блокчейне Ethereum есть два основных типа аккаунтов:
Аккаунты с внешним владельцем (EOA): управляются пользователем с приватным ключом.
Аккаунты контракта (CA): управляются кодом или
смарт-контрактами, работают без приватного ключа.
И аккаунты с внешним владельцем, и аккаунты контракта могут хранить и переводить ETH. Однако только EOA могут запускать транзакции. CA ничего не могут сделать, пока не будут инициированы EOA или другими смарт-контрактами.
Каждый аккаунт с внешним владельцем привязан к двум криптографическим ключам:
приватному ключу и
публичному ключу. Приватный ключ — это то, что дает контроль над вашим аккаунтом. Он используется для подписания транзакций и доказывает, что их авторизуете вы.
Публичный ключ используется для генерации вашего адреса Ethereum, которым можно поделиться с другими пользователями, чтобы они могли отправить вам ETH.
Кратко рассмотрим, что способны делать аккаунты с внешним владельцем:
Транзакции: EOA могут отправлять токены на другие аккаунты, взаимодействовать со смарт-контрактами и активировать определенные функции на блокчейне.
Плата за газ: каждая транзакция требует
газа, который оплачивается в ETH. Этот газ поступает майнерам или валидаторам, которые обрабатывают транзакции.
Безопасность: EOA защищены приватным ключом. Если кто-то получит к нему доступ, то сможет завладеть аккаунтом.
И аккаунты с внешним владельцем, и аккаунты контракта могут хранить токены и данные, но между ними есть ключевые различия:
Аккаунты с внешним владельцем (EOA): контролируются приватными ключами и управляются людьми. EOA могут отправлять транзакции, но не могут исполнять код автоматически.
Аккаунты контракта (CA): управляются кодом (смарт-контрактами) и не имеют приватных ключей. CA не могут отправлять транзакции самостоятельно, поэтому для этого им нужен EOA или другой контракт. Однако CA могут выполнять определенные инструкции или правила после их активации.
Предположим, что вы хотите обменять ETH на другой токен на децентрализованной бирже (
DEX). Для этого ваш EOA будет взаимодействовать с DEX (которая является аккаунтом контракта). Сама DEX ничего не могла сделать, пока вы не дали ей распоряжение (с помощью EOA).
EOA — это основа Ethereum, потому что благодаря им пользователи взаимодействуют с сетью. Каждое действие на Ethereum начинается с EOA. Без них смарт-контракты просто не могли бы работать. Именно EOA приводят все в движение: отправляют ETH, взаимодействуют с
DApp и запускают смарт-контракты.
Создатели аккаунта с внешним владельцем должны обеспечить защиту приватного ключа. Если вы его потеряете, то навсегда лишитесь доступа к аккаунту и средствам. А если кто-то украдет ваши ключи, то сможет контролировать аккаунт и украсть его активы.
Аккаунт с внешним владельцем (EOA) — это аккаунт на Ethereum, контролируемый пользователем. Такой аккаунт позволяет отправлять ETH, взаимодействовать со смарт-контрактами и совершать много других действий в сети. Аккаунты с внешним владельцем отличаются от аккаунтов контракта, которые контролируются кодом и должны быть запущены аккаунтами с внешним владельцем. Но для работы Ethereum необходимы оба этих типа аккаунтов.