在以太坊这个庞大而复杂的去中心化应用生态系统中,账户是所有交互的起点和终点,无论是发送以太币、使用智能合约,还是参与去中心化金融(DeFi)协议,都离不开账户的概念,理解以太坊账户的类型、结构和工作原理,是深入掌握以太坊运作机制的关键,本文将详细探讨以太坊中的账户。

以太坊账户的本质

与许多其他区块链系统不同,以太坊采用了账户模型,而非简单的UTXO(未花费交易输出)模型,在以太坊中,账户是一个存储在以太坊区块链上的实体,拥有以下四个基本属性:

  1. 地址(Address):账户的唯一标识符,是一个20字节的字符串(通常以“0x”开头),地址是账户对外交互的“公开身份”。
  2. 账户余额(Balance):账户拥有的以太币(ETH)数量,以“wei”为最小单位(1 ETH = 10^18 wei)。
  3. nonce(随机数):一个递增的计数器,用于确保交易顺序和防止重放攻击,对于外部账户,它表示该账户已发送的交易数量;对于合约账户,它表示该账户已创建的合约数量。
  4. 代码(Code):仅合约账户拥有,是一段以太坊虚拟机(EVM)可执行的代码,这段代码定义了合约的行为和逻辑。
  5. 存储(Storage):仅合约账户拥有,是一个持久化的数据存储区,用于保存合约的状态变量。

账户的两大类型

以太坊中的账户主要分为两类:外部账户(Externally Owned Accounts, EOAs)配图