以太坊作为全球第二大区块链平台,其账户体系是支撑智能合约、代币转移和去中心化应用(DApps)运行的核心基础,理解以太坊账户的构成、类型及工作机制,对于掌握以太坊生态至关重要,本文将围绕“以太坊账户包括”这一核心,详细拆解其关键要素。
以太坊账户的核心定义与基本构成
以太坊账户是区块链上控制资产(如ETH)和执行逻辑(如智能合约交互)的实体,本质上是一组与特定地址关联的数据结构,每个账户都由以下核心要素组成:
-
地址(Address)
地址是账户的唯一标识符,由20字节(40个十六进制字符)组成,格式如0x1234…abcd,地址是通过公钥经过Keccak-256哈希算法计算得出,相当于“银行账号”,用于接收资产和标识交易目标。 -
账户状态(Account State)
账户状态存储在以太坊的世界状态树(World State Trie)中,包含动态变化的数据,具体包括:- 余额(Balance):账户持有的ETH数量,以“wei”为单位(1 ETH = 10¹⁸ wei)。
- 随机数(Nonce):一个递增的计数器,用于防止重放攻击(如重复交易)和确保交易顺序,外部账户的随机数为已发送交易数量,合约账户的随机数为已创建合约数量。
- 代码存储(Code Storage):仅合约账户特有,存储智能合约的字节码(Bytecode),即可执行的程序逻辑。
- 存储(Storage):仅合约账户特有,存储合约运行时的持久化数据(如变量值),以键值对形式保存在存储树(Storage Trie)中。
以太坊账户的两大类型:外部账户与合约账户
以太坊账户根据控制方式和功能不同,分为外部账户(Externally Owned Account, EOA)和合约账户(Contract Account)两类,二者在构成、权限和用途上存在显著差异。
外部账户(EOA):用户与区块链交互的入口
外部账户由用户通过私钥控制,无需部署智能合约,是普通用户、交易所、钱包等参与以太坊生态的主要载体,其核心特征包括:
- 控制方式:通过私钥签名交易,证明账户所有权(“谁拥有私钥,谁控制账户”)。
- 账户状态:仅包含地址、余额、随机数,无代码和存储字段。
- 核心功能:
- 发送交易(如转移ETH、调用合约函数);
- 初始化合约部署(通过“创建交易”创建合约账户)。
- 典型场景:个人用户使用MetaMask钱包转账、交易所充值提现、DApp用户授权操作等。
合约账户:智能合约的载体与执行者
合约账户由智能合约代码控制,无法主动发起交易,仅响应外部账户或其他合约的调用,其核心特征包括:








