区块链基础 / 主题阅读

以太坊账户类型与功能差异解析

本文解析以太坊账户的两种类型及其功能差异,明确外部账户与合约账户在交易发起、代码执行和密钥管理上的区别。

以太坊账户类型概念模型示意图
主题资料配图,非新闻现场照片 · 配图:概念模型

以太坊账户的两种类型

以太坊账户分为两种类型:外部账户(EOA)和合约账户。外部账户由私钥控制,用户可通过私钥发起交易。合约账户由智能合约代码控制,其行为由部署时的代码逻辑决定。

外部账户的特性与功能

外部账户无需支付部署费用,可直接发起交易。交易内容仅限于ETH或代币的转账,且依赖私钥签名。外部账户的密钥对包括公钥和私钥,私钥用于签名,公钥用于验证交易来源。

合约账户的特性与功能

合约账户需要支付部署费用,因其占用网络存储空间。合约账户只能响应外部账户的交易触发,执行代码逻辑。合约账户无私钥,其操作完全由代码逻辑控制,无法直接发起交易。

账户字段与数据结构

以太坊账户包含四个字段:nonce、balance、codeHash和storageRoot。nonce用于防止重放攻击,balance表示账户持有的以太币数量,codeHash存储合约代码的哈希值,storageRoot表示账户存储数据的根哈希。

资料与延伸阅读

你可以通过以下原始资料核对文中概念,并继续深入阅读。

  1. Ethereum accounts | ethereum.org ↗
  2. 配图:概念模型 ↗
← 更多区块链基础文章返回顶部 ↑