在以太坊这个庞大的去中心化应用生态中,账户是所有交互的起点,但与许多区块链系统不同,以太坊设计了两种截然不同但又紧密协作的账户类型:外部拥有账户(Externally Owned Account, EOA)和合约账户(Contract Account),理解这两者的区别与联系,是掌握以太坊工作原理的关键,它们如同驱动以太坊这台精密机器的“双胞胎引擎”,各自扮演着不可或缺的角色。

外部拥有账户(EOA):你的“数字钱包”

外部拥有账户,顾名思义,是由链外实体(如个人、组织)通过私钥控制的账户,你可以将其理解为你在以太坊世界中的“个人银行账户”或“数字钱包”。

核心特征:

  1. 私钥控制:EOA的控制权完全由其所有者持有的私钥决定,谁拥有了私钥,谁就拥有了该账户的控制权,可以发起交易、转移资产,这是去中心化信任的基础。
  2. 无代码:EOA本身不包含任何代码,它不能主动接收交易或执行逻辑,只能由外部实体通过私钥签名后主动发起交易。
  3. 发起交易:EOA的主要功能是发起交易,这些交易可以是简单的以太币转账,也可以是调用合约账户中的函数。
  4. 地址来源:EOA地址由其公钥通过特定算法(如Keccak-256哈希)生成。
  5. 拥有以太币:EOA主要用于存储和转移以太坊(ETH),以及支付交易费用(Gas)。

你可以把EOA想象成:

随机配图