Konto zewnętrzne (EOA)
Konto zewnętrzne (EOA) to w zasadzie rodzaj konta w sieci
Ethereum, które jest pod kontrolą osoby używającej
klucza prywatnego. Innymi słowy jest to konto, które służy do wysyłania transakcji lub rozporządzania etherem (ETH). W odróżnieniu od kont smart kontraktów, które kontroluje wyłącznie kod, konta EOA prowadzą bezpośrednio ludzie.
W sieci Ethereum są dwa główne rodzaje kont:
Konta zewnętrzne (EOA) – kontrolowane przez użytkowników kluczem prywatnym.
Konta kontraktów (CA) – pod kontrolą kodu lub
smart kontraktów. Działają bez klucza prywatnego.
Zarówno konta EOA, jak i konta kontraktów maja możliwość trzymania oraz przesyłania ETH. Jednak transakcje mogą rozpoczynać tylko konta EOA. Konta kontraktów nie mogą zrobić nic, dopóki nie zostaną uruchomione przez konta EOA lub inne smart kontrakty.
Każde konto EOA jest powiązane z dwoma kluczami kryptograficznymi:
kluczem prywatnym i
kluczem publicznym. Kontrolę nad kontem daje klucz prywatny – służy do podpisywania transakcji i stanowi potwierdzenie, że to my je zatwierdzamy.
Klucz publiczny służy do wygenerowania adresu Ethereum, który możemy podać innym osobom, aby mogły nam wysłać ETH.
Oto krótkie podsumowanie działań kont EOA:
Transakcje: Konta EOA mogą wysyłać tokeny na inne konta, realizować działania na smart kontraktach lub wywoływać określone funkcje w sieci blockchain.
Opłaty za gaz: Do każdej transakcji potrzebny jest
gaz, który jest płatny w ETH. Gaz ten trafia do górników lub walidatorów, którzy realizują transakcje.
Bezpieczeństwo: Całe bezpieczeństwo konta EOA sprowadza się do klucza prywatnego użytkownika. Jeżeli w jego posiadanie wejdzie ktoś inny, może przejąć kontrolę nad naszym kontem.
Chociaż zarówno konta EOA, jak i konta kontraktów mogą służyć do trzymania tokenów i danych, są pewne zasadnicze różnice:
Konta EOA: Kontrolowane kluczami prywatnymi i obsługiwane przez ludzi. Konta EOA mają możliwość wysyłania transakcji, ale nie mogą automatycznie wykonywać kodu.
Konta kontraktów (CA): Zarządza nimi kod (smart kontrakty) i nie mają kluczy prywatnych. Konta CA nie mogą samodzielnie wysyłać transakcji – do inicjowania muszą mieć konto EOA lub inny kontrakt. Mogą jednak po uruchomieniu realizować określone polecenia lub reguły.
Załóżmy np., że chcemy wymienić ETH na inny token na giełdzie zdecentralizowanej (
DEX). W celu realizacji tej wymiany nasz portfel EOA będzie współdziałać z giełdą DEX (która jest kontem kontraktu). Giełda DEX nie może sama nic zrobić, dopóki jej nie każemy (za pośrednictwem konta EOA).
Konta EOA są kręgosłupem sieci Ethereum, ponieważ stanowią metodę komunikacji użytkowników z siecią. Każde działanie w sieci Ethereum zaczyna się od konta EOA. Bez konta EOA smart kontrakty po prostu by sobie istniały – nie są w stanie działać samodzielnie. Konta EOA są zatem metodą uruchamiania działań – niezależnie od tego, czy chodzi o wysyłanie ETH, działanie na aplikacji
DApp, czy uruchomienie smart kontraktu.
Najważniejsze w posiadaniu konta EOA jest dbanie o bezpieczeństwo klucza prywatnego. Jego utrata oznacza utratę dostępu do konta i środków na zawsze. Jeśli ktoś nam ukradnie klucze, może przejąć konto i wszystko nam zabrać.
Konto zewnętrzne (EOA) to konto kontrolowane przez użytkownika w sieci Ethereum. Umożliwia wysyłanie ETH, działania na smart kontraktach i wykonywanie wielu innych czynności w sieci. Konta EOA różnią się od kont kontraktów, które kontroluje kod i których działanie musi uruchomić konto EOA. Ale jedne i drugie są niezbędne do działania sieci Ethereum.