Web3专业术语
EVMvsReentrancy
Web3领域术语对比 — 快速理解两者的核心差异
概览对比
EVM
EVM 是以太坊的核心组件,所有智能合约都在 EVM 中执行。EVM 兼容已成为新公链的标准——BSC、Polygon、Arbitrum 等都兼容 EVM,开发者可以无缝迁移合约。
Reentrancy
重入攻击利用合约在转账时将控制权交给外部合约的特性,恶意合约在回调中反复调用提款函数,在余额更新前多次提取资金。The DAO 事件就是重入攻击。
核心要点
EVM
- 以太坊智能合约的执行环境
- EVM 兼容是新公链的标准配置
- Solidity 是 EVM 的主要编程语言
Reentrancy
- 智能合约最经典的安全漏洞
- 利用外部调用的回调机制
- The DAO 事件的根本原因
正式定义
EVM
以太坊区块链上执行智能合约字节码的沙箱化虚拟机运行时环境
Reentrancy
智能合约因外部调用重入导致状态不一致的安全漏洞
应用场景
EVM
- 智能合约的开发和部署
- 新公链的兼容性设计
- 合约安全审计和分析
Reentrancy
- 智能合约的安全审计
- DeFi 协议的漏洞检测
- Solidity 开发的安全最佳实践
详细解读
EVM
EVM 是一个基于栈的虚拟机,为智能合约提供确定性的执行环境。每个以太坊节点都运行 EVM 来验证和执行交易。EVM 的设计保证了:相同的输入在任何节点上产生相同的输出。EVM 兼容性已成为区块链行业的事实标准——超过 80% 的新链选择兼容 EVM,这让 Solidity 开发者和现有合约可以无缝迁移。EVM 的局限包括:性能瓶颈(串行执行)、Gas 机制的复杂性、以及 Solidity 语言的安全隐患。
Reentrancy
重入攻击的原理:合约 A 向合约 B 转账时,B 的 receive/fallback 函数被触发,B 在回调中再次调用 A 的提款函数,此时 A 的余额尚未更新,导致重复提款。防御方式:Checks-Effects-Interactions 模式(先更新状态再转账)、ReentrancyGuard 互斥锁、使用 transfer 限制 gas。2016 年 The DAO 因重入漏洞损失 6000 万美元,直接导致以太坊硬分叉。
快速对比
| 维度 | EVM | Reentrancy |
|---|---|---|
| 类型 | 专业术语 | 专业术语 |
| 标签 | 公链、智能合约 | 合约安全、智能合约 |
| 热度 | 85 | 66 |