【区块链安全 | 第三篇】主流公链以太坊运行机制

在这里插入图片描述

1. 以太坊账户类型

以太坊的账户分为 外部账户(EOA) 和 合约账户(CA),两者在控制方式和交易能力上有所不同。

1.1 外部账户(EOA, Externally Owned Account)
EOA 由用户私钥控制,可以主动发起交易。EOA 没有代码逻辑,仅用于存储余额和签署交易。用户钱包(如 MetaMask)即为 EOA。EOA 主要用于发送 ETH 转账、与智能合约交互或发起交易。

EOA 交易的有效性由私钥签名保证,矿工验证签名后执行交易。如果 EOA 没有足够的 ETH 支付 gas 费用,则交易无法执行。由于 EOA 可以主动发起交易,因此在 DeFi、NFT 交易等应用中,EOA 主要负责调用合约。

例如,Alice 拥有一个 EOA 地址,她可以向 Bob 发送 1 ETH,也可以调用 Uniswap 合约来兑换代币。每次交易都需要 Alice 使用私钥进行签名。

1.2 合约账户(CA, Contract Account)
CA 由智能合约代码控制,没有私钥,不能主动发起交易,只能响应 EOA 或其他 CA 的交易请求。合约代码在部署时写入区块链,并且在执行时只能按照预设逻辑运行。

合约账户可以存储数据和执行复杂操作,例如去中心化交易所(DEX)合约可以管理多个用户的资产,并根据市场规则进行交易撮合。CA 的执行依赖 EVM(以太坊虚拟机),并且所有合约调用都会消耗 gas 费。

由于 CA 不能主动发起交易,因此它的行为完全受制于外部调用。例如,Uniswap 智能合约本身不会主动买卖代币,而是等待用户(EOA)发送交易请求,触发合约执行 swap 逻辑。

2. 以太坊网络架构

以太坊网络由多个分布式节点组成,这些节点共同维护区块链的运行,并执行交易验证、共识达成和数据存储等关键任务。不同类型的节点在网络中的作用各不相同,包括全节点、轻节点和验证者节点。

2.1 节点类型

全节点
作用:全节点存储整个以太坊区块链数据,验证所有交易和智能合约执行,并向其他节点提供数据同步服务。它可以独立验证区块和交易,而无需依赖其他节点的信任。

特点:

  • 存储完整的区块数据,包括区块头、交易和账户状态。
  • 通过 P2P 网络传播交易和新区块,支持网络同步。
  • 验证所有交易和智能合约的执行,确保数据完整性。
  • 可以作为 RPC 提供商,为 DApp 和钱包提供区块链数据查询服务。

全节点的类型:

  • 存档节点(Archive Node):存储从创世区块到最新区块的所有状态数据,包括所有账户的历史状态。适用于区块浏览器(如 Etherscan)、分析平台和开发者。
  • 普通全节点(Full Node):存储完整的区块数据,但不保留历史状态,仅保存当前的账户状态和合约数据。适用于大多数普通用户和矿工/验证者。

轻节点
作用:轻节点不存储完整的区块链数据,而是仅下载区块头,并通过简化支付验证(SPV, Simplified Payment Verification)向全节点请求所需的数据,以验证交易或查询账户状态。

特点:

  • 仅存储区块头,而不保存完整的交易和账户状态数据。
  • 需要向全节点请求数据,以查询账户余额、交易状态等信息。
  • 消耗较少的存储空间和计算资源,适用于移动设备或低性能设备。

验证者
作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值