以太坊作为全球第二大区块链平台,其核心架构中有一个关键概念——账户(Account),账户是以太坊中资产存储、交易执行和智能合约部署的基本单元,不同于比特币仅依赖“UTXO模型”,以太坊设计了两种账户类型:外部拥有账户(Externally Owned Account,简称EOA)和合约账户(Contract Account),这两种账户在功能、权限、交互方式上存在本质区别,共同构成了以太坊生态的“双轮驱动”,本文将深入剖析两者的定义、工作机制、核心差异及实际应用场景。

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

外部拥有账户(EOA)是以太坊中最常见的账户类型,由用户通过私钥控制,相当于传统金融体系中的“个人银行账户”,EOA的典型代表包括MetaMask、Ledger等硬件/软件钱包生成的账户,其核心特征如下:

控制权:私钥驱动

EOA的所有权由私钥完全掌控,私钥是一串随机生成的字符,用户需妥善保管(如通过助记词、硬件钱包存储),一旦丢失,账户中的资产(如ETH)将无法被找回,也无法发起交易,对应的公钥由私钥通过椭圆曲线算法生成,而账户地址则是公钥的哈希值(最后20字节),作为账户的唯一标识。

功能:发起交易与资产存储

EOA的核心功能包括:

  • 发起交易:用户可通过EOA向其他EOA或合约账户转移ETH,或调用智能合约(如发送代币、参与DeFi交互等),交易需包含发送者地址、接收者地址、金额、数据字段(用于调用合约)、gas限制和gas价格等参数,并通过私钥签名以验证身份。
  • 存储资产:EOA可直接持有ETH以及基于ERC-20、ERC-721等标准的代币,相当于用户的“数字资产保险箱”。

被动性:无独立执行逻辑

EOA是“被动”的账户,它随机配图