以太坊账户类型与EOA密钥机制解析
本文依据官方文档解析以太坊账户类型及EOA生成原理,说明账户字段与密钥对的作用。
账户类型与核心差异
以太坊账户分为外部拥有账户(EOA)和合约账户。EOA由私钥控制,创建免费,可发起交易;合约账户由代码控制,部署需消耗网络存储资源,仅能响应交易触发代码执行。两者均能接收、持有和发送ETH及代币。
EOA地址与密钥对生成
EOA由公私钥对控制,私钥用于签名交易以证明发送者身份。地址通过Keccak-256哈希公钥的最后20字节并添加0x前缀生成,长度为42字符。创建账户时,库通常生成64字符的随机私钥,并加密存储。
账户状态字段与验证
账户包含nonce、balance、codeHash和storageRoot四个字段。nonce防止重放攻击,balance记录余额,codeHash指代EVM代码片段的哈希值。EOA的codeHash为空字符串哈希。私钥安全至关重要,因为资金始终由私钥控制。
资料与延伸阅读
你可以通过以下原始资料核对文中概念,并继续深入阅读。