在以太坊乃至整个区块链生态中,账户(Account) 是最核心的概念之一,它不仅是用户与区块链交互的入口,也是资产存储、智能合约执行和状态记录的基础单元,理解以太坊账户的定义、类型及工作机制,是掌握以太坊运作逻辑的关键,本文将从以太坊账户的本质出发,详细拆解其定义、分类及核心特性。
以太坊本质上是一个状态机(State Machine),其核心功能是维护一个全球共享的、不断变化的“状态”(State),而账户,正是这一状态的基本载体,从技术定义来看,以太坊账户是一个存储在以太坊区块链上的数据结构,记录了特定实体(用户或合约)的资产、权限和交互历史。
每个账户都有一个唯一的标识符——地址(Address),这是一个20字节(40个十六进制字符)的字符串,相当于银行账户中的“账号”,账户的状态由以太坊客户端(如Geth、Nethermind)通过执行交易来更新,所有账户的状态共同构成了以太坊的“全球状态树”(Global State Trie)。
以太坊账户根据控制权和功能的不同,分为两大类:外部账户(Externally Owned Account, EOA) 和 合约账户(Contract Account),两者在定义、权限和状态管理上存在显著差异。

外部账户是由用户通过私钥控制的账户,是普通用户与以太坊交互的主要方式,它的核心特征包括:

EOA相当于传统金融中的“个人钱包”,用户通过私钥“解锁”账户,发起交易后由以太坊网络共识机制验证并执行。
合约账户是由智能合约代码控制的账户,其本质是一段部署在以太坊区块链上的可执行代码(通常用Solidity语言编写),合约账户的核心特征包括:
合约账户相当于“自动运行的程序”,一旦部署,其行为便由代码和外部触发条件决定,无需人工干预,一个去中心化交易所(DEX)的合约账户会根据用户订单自动执行代币交换,无需中心化机构背书。

尽管EOA和合约账户在功能上存在差异,但它们在以太坊的状态管理中遵循统一的数据结构,每个账户(无论类型)都包含以下四个基本字段:
这种统一的结构使得以太坊客户端能够通过地址快速查询账户状态,并验证交易的合法性。
以太坊账户的状态并非静态,而是通过交易(Transaction) 动态更新的,无论是EOA发起的转账、合约调用,还是合约账户内部的状态变更,本质都是一次交易执行的结果。
以EOA向合约账户发送交易为例:
以太坊账户的定义远不止一个“地址”那么简单,它是状态抽象、控制权划分和交互逻辑的集合,EOA作为用户控制的“入口”,实现了去中心化的资产管理和交易发起;合约账户作为代码控制的“执行者”,支撑了智能合约的自动化逻辑,两者的协同工作,构成了以太坊“可编程区块链”的核心能力。