Зовнішньо керований акаунт (EOA)
Зовнішньо керований акаунт (EOA) – це, по суті, тип акаунту в мережі
Ethereum, яким керує особа, яка використовує
приватний ключ. Тобто це акаунт, який ви будете використовувати для надсилання транзакцій або управління своїми ether (ETH). На відміну від акаунтів смартконтрактів, які контролюються виключно за допомогою коду, EOA управляються безпосередньо людьми.
У Ethereum існує два основних типи акаунтів:
Зовнішньо керовані акаунти (EOA) – контролюються користувачами за допомогою приватного ключа.
Акаунти контрактів (CA) – керуються кодом або
смартконтрактами. Працюють без приватного ключа.
Як EOA, так і акаунти контрактів можуть зберігати та переказувати ETH. Однак тільки EOA можуть починати транзакції. Акаунти контрактів не можуть нічого робити, поки вони не будуть активовані EOA або іншими смартконтрактами.
Кожен EOA прив'язаний до двох криптографічних ключів:
приватного ключа й
публічного ключа. Ваш приватний ключ – це те, що дає вам контроль над вашим акаунтом. Він використовується для підпису транзакцій і доводить, що ви їх авторизуєте.
Публічний ключ використовується для створення вашої адреси Ethereum, якою ви можете поділитися з іншими, щоб вони могли надсилати вам ETH.
Ось короткий огляд того, що роблять EOA:
Транзакції: EOA можуть надсилати токени на інші акаунти, взаємодіяти зі смартконтрактами або викликати певні функції на блокчейні.
Комісії gas: кожна транзакція вимагає
gas, який оплачується в ETH. Цей газ надходить до майнерів або валідаторів, які обробляють транзакції.
Безпека: безпека EOA зводиться до вашого приватного ключа. Якщо хтось інший отримає його, він може отримати контроль над вашим акаунтом.
Хоча і EOA, і акаунти контрактів можуть утримувати токени та дані, є деякі ключові відмінності:
EOA: контролюється приватними ключами й управляється людьми. EOA можуть надсилати транзакції, але не можуть автоматично виконувати код.
Акаунти контрактів (CA): управляються за допомогою коду (смартконтрактів) і не мають приватних ключів. CA не можуть надсилати транзакції самостійно – їм потрібен EOA або інший контракт, щоб розпочати транзакцію. Однак вони можуть виконувати певні інструкції або правила після їхньої активації.
Наприклад, припустимо, ви хочете обміняти ETH на інший токен на децентралізованій біржі (
DEX). Ваш EOA взаємодіятиме з DEX (який є акаунтом контракту), щоб здійснити цей своп. Сама DEX не може нічого зробити, поки ви (через свій EOA) не скажете їй про це.
EOA є основою Ethereum, оскільки через них користувачі взаємодіють з мережею. Кожна дія на Ethereum починається з EOA. Без EOA смартконтракти просто існували б там – вони не могли б працювати самостійно. Отже, EOA – це те, що створює активність у мережі, будь то надсилання ETH, взаємодія з
dApp або активація смартконтракту.
Найважливіше з EOA – це переконатися, що ваш приватний ключ залишається в безпеці. Якщо ви його втратите, ви назавжди втратите доступ до свого акаунту та коштів. Якщо хтось вкраде ваші ключі, він зможе контролювати вашим акаунтом і забрати все.
Зовнішньо контрольований акаунт (EOA) – це акаунт на Ethereum, контрольований користувачем. Він дозволяє надсилати ETH, взаємодіяти зі смартконтрактами та робити багато інших речей у мережі. EOA відрізняються від акаунтів контрактів, які контролюються кодом і повинні бути активовані EOA для роботи. Але і те, і інше важливо для роботи Ethereum.