以太坊作为全球领先的智能合约平台,其转账功能是整个生态中最基础也最核心的操作之一,理解以太坊的转账逻辑,不仅有助于我们更好地使用钱包和进行交互,也能为深入智能合约开发打下坚实基础,本文将深入浅出地解析以太坊转账的核心逻辑,从账户模型、交易结构到Gas机制,一步步揭开其神秘面纱。

以太坊的账户模型:EOA与合约账户

要理解转账,首先需要知道以太坊的账户模型与比特币等基于UTXO模型的加密货币不同,以太坊采用了账户模型(Account Model),每个账户都有一个唯一的地址,账户主要分为两类:

  1. 外部拥有账户(Externally Owned Account, EOA)

    • 由用户通过私钥控制,如我们日常使用的钱包地址(MetaMask、Ledger等生成的地址)。
    • 可以发起交易(包括转账和调用合约)、持有以太坊(ETH)和代币。
    • 其状态包括:nonce(交易发送次数)、balance(账户余额)、storage(仅合约账户有,代码存储)、code(仅合约账户有,合约字节码)。
  2. 合约账户(Contract Account)

    • 由智能合约代码控制,没有私钥,不能主动发起交易,只能被其他账户(EOA或其他合约账户)通过交易调用而激活。
    • 包含存储数据的storage和可执行的合约代码。
    • 其状态也包括nonce、balance、storage和code。

转账逻辑的核心随机配图