EOA
- Externally Owned Account
- ‘외부 소유 계정’을 의미하며, 개인 키에 의해 통제되는 사용자 계정
# 구조
- 개인 키와 공개 키 쌍을 가집니다.
- 주소는 공개 키에서 파생됩니다.
# 기능
- 이더(ETH) 송수신이 가능합니다.
- 트랜잭션을 시작할 수 있습니다.
- 스마트 컨트랙트와 상호작용할 수 있습니다.
# 특징
- 개인 키로 트랜잭션에 서명합니다.
- 계정 상태에는 잔액과 논스(nonce) 정보가 포함됩니다.
# CA(Contract Account)와의 차이
- EOA는 개인 키를 가지지만, CA는 없습니다.
- EOA는 트랜잭션을 시작할 수 있지만, CA는 불가능합니다.
# 생성 과정:
- 랜덤한 개인 키 생성
- 랜덤한 256비트(32바이트) 데이터를 생성
- 이 데이터를 16진수로 인코딩하여 64자리의 문자열로 표현
- 개인 키로부터 공개 키 도출
- 생성된 개인 키를 사용하여 ECDSA(타원곡선 디지털 서명 알고리즘)를 통해 공개 키를 생성
- 공개 키로부터 주소 생성
- 공개 키로부터 이더리움 주소를 생성
- 주소는 일반적으로 20바이트(160비트) 길이
- 계정 활성화
- 생성된 주소로 이더를 받거나 트랜잭션을 발생시키면 계정이 활성화
- 대부분 지갑 프로그램을 통해 자동으로 이루어진다. 사용자는 지갑 프로그램을 통해 간단히 새 계정을 만들 수 있으며, 이 과정에서 개인 키, 공개 키, 그리고 주소가 자동으로 생성된다.
EOA는 일반 사용자가 이더리움 네트워크와 상호작용하는 주요 수단이며, 블록체인 지갑의 기본 구성 요소.