在探索以太坊乃至更广泛的区块链世界时,“账户”是一个绕不开的核心概念,它不仅仅是存储加密货币的钱包地址,更是用户与以太坊网络交互的起点,是数字身份的象征,也是价值流转的枢纽,理解以太坊账户的运作机制,对于深入把握区块链的应用逻辑至关重要。

以太坊账户的两种基本类型

与许多其他区块链系统不同,以太坊采用了两种截然不同的账户模型:外部账户(Externally Owned Account, EOA)合约账户(Contract Account),这两者在所有权、控制方式、功能以及存储内容上均有显著差异。

  1. 外部账户 (EOA) - 用户控制的“个人钱包”

    • 所有权与控制:EOA 由用户通过私钥完全控制,私钥是账户的唯一凭证,谁拥有私钥,谁就能控制该账户中的资产和发起交易,这类似于传统银行系统中,只有知道密码和持有银行卡的人才能操作账户。
    • 生成:EOA 由用户通过钱包软件(如 MetaMask、Ledger 等)随机生成一对公私钥,公钥经过哈希等算法后生成账户地址,这个地址是公开的,用于接收资金和识别账户。
    • 功能:EOA 主要用于发起交易、转移以太币 (ETH) 以及与智能合约进行交互,它可以发送交易,但不能直接接收和执行交易(除非是被其他合约调用)。
    • 状态:EOA 的状态相对简单,主要包括账户余额 (ETH Balance),它不存储代码。
  2. 合约账户 - “程序化”的自动执行者

    • 所有权与控制:合约账户不由私钥控制,而是由部署在其中的智能代码控制,其行为是预设的,当满足特定条件时,代码会自动执行。
    • 生成随机配图