-
bitcoin $77304.995493 USD
-1.34% -
ethereum $2242.462787 USD
-0.22% -
tether $0.998811 USD
0.06% -
bnb $700.190806 USD
-1.78% -
xrp $1.246819 USD
-0.96% -
usd-coin $0.999608 USD
0.01% -
solana $95.821212 USD
-2.08% -
tron $0.322524 USD
-2.71% -
hyperliquid $88.354275 USD
-4.90% -
zcash $1271.593482 USD
0.78% -
dogecoin $0.075302 USD
-0.98% -
monero $595.257444 USD
1.19% -
unus-sed-leo $9.445903 USD
0.09% -
chainlink $11.448745 USD
3.18% -
cardano $0.193352 USD
-0.02%
什么是以太坊虚拟机(EVM)?为什么它很重要?
Sure! Please provide the article you'd like me to base the sentence on.
2026/07/23 13:20
EVM核心架构
1. EVM 作为一个分散的、确定性的执行环境运行,在以太坊网络中的每个完整节点上进行复制。
2. 它实现了基于堆栈的计算模型,其中每个堆栈条目恰好占用 32 个字节,最大深度上限为 1024 个条目。
3. 存在三个不同的内存层:用于瞬时计算的易失性内存、每个合约账户的持久存储以及用于输入参数的不可变调用数据。
4. EVM 执行的每条指令都会消耗预定量的 Gas,执行严格的资源责任并防止无限循环或 DoS 攻击。
5. 程序计数器跟踪已编译字节码内的字节级执行位置,从而通过 JUMP 和 JUMPI 操作码实现精确的跳转控制和条件分支。
EVM 内部的执行工作流程
1. Solidity 源代码被编译为包含一字节操作码序列的 EVM 兼容字节码。
2. 交易提交后,EVM 会加载合约字节码以及当前的世界状态,包括账户余额和存储值。
3. 每个操作码都会触发特定的状态转换(例如算术运算、内存写入或存储读取),并且仅在成功完成时才会记录副作用。
4. 如果在执行过程中发生气体耗尽,则自事务启动以来的所有状态更改都会自动恢复,从而保持区块链的一致性。
5. 函数调用的返回数据在内存中编码,并在最终状态提交之前复制到输出缓冲区。
安全和隔离特性
1. EVM 强制执行严格的沙箱:无文件系统访问、无网络 I/O、不与主机操作系统资源直接交互。
2. 如果没有显式的接口调用和适当的访问控制逻辑,合约代码无法直接操作另一个合约的存储。
3. 所有外部调用(包括 delegatecall)都受到 Gas 限制和恢复传播规则的约束,限制了递归调用深度和跨合约影响。
4、内存分配是线性的、有界的;越界读取返回零,而超出分配空间的写入会触发气体密集型扩展。
5. 恢复语义确保部分失败不会留下不一致的中间状态——要么完全成功,要么完全回滚。
操作码分类和功能
1. 堆栈操作操作码(如 PUSH1、POP、DUP1 和 SWAP1)在求值期间控制操作数定位和复制。
2. 算术和按位指令(包括 ADD、MUL、AND、XOR)对 256 位字执行低级计算。
3. 存储操作 SLOAD 和 SSTORE 与绑定到每个合约地址的持久键值存储进行交互。
4. CALLER、ORIGIN、BLOCKHASH 和 TIMESTAMP 等环境操作码向正在运行的合约公开上下文区块链元数据。
5. JUMPDEST、JUMP 和 JUMPI 等控制流原语可实现结构化程序流和基于运行时条件的动态调度。
天然气核算和经济执行
1. Gas 成本计划是根据操作码定义的,并通过以太坊改进提案进行更新,以反映不断发展的硬件效率和攻击面分析。
2. 交易发起者必须指定 Gas 限制和 Gas 价格,确定最大计算预算和区块包含的优先级。
3. 未使用的gas在执行后退还给发送者,激励高效的编码实践和准确的gas估算。
4. 某些操作(例如覆盖非零值时的 SSTORE)会产生不对称成本,以阻止垃圾邮件并鼓励深思熟虑的状态设计。
5. 自毁功能提供了一种合约报废机制,可退还部分燃气,减少长期存储膨胀。
常见问题解答
问:EVM 字节码可以逆向工程为可读的 Solidity 源吗?由于有损编译、优化器转换以及部署的字节码中缺少符号表或注释,恢复原始高级逻辑通常是不可行的。
问:为什么 EVM 使用基于堆栈的架构而不是基于寄存器的架构?基于堆栈的设计简化了指令编码,减少了操作码大小开销,并支持跨异构硬件的确定性执行,而无需寄存器分配策略。
问:当两个合约尝试同时写入同一存储槽时会发生什么?存储槽的范围按合约地址确定;除非通过函数调用和商定的接口显式调解,否则合约之间不存在共享的可变状态。
问:EVM 如何处理整数上溢或下溢?在伊斯坦布尔升级之前,算术运算以静默方式结束;升级后,内置溢出检查会导致立即恢复无效算术结果。
免责声明:info@kdj.com
所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!
如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。
- 黄金和比特币暴跌:应对 2026 年资产的波动格局
- 2026-11-01 00:35:01
- Chainaanalysis 漏洞:人工智能工具引发的客户数据泄露引发了加密货币领域的警报
- 2026-10-31 16:35:02
- 币安黑客攻击、泰国审查和加密相关安全:关于数字资产安全的纽约分钟
- 2026-10-31 12:45:01
- 华尔街分析师发表评论:币安黑客事件在市场波动中引发有关加密货币股票的争论
- 2026-10-31 12:45:01
- Bitwise 比特币、Pepeto 和 Pepe Record:加密货币狂野之旅的纽约一分钟
- 2026-10-31 04:35:01
- Circle CCTP 主导加密桥,USDC 交易量在不断变化的跨链环境中飙升
- 2026-10-30 21:15:01
相关百科
什么是 DAI?它与 USDT 有何不同?
2026-09-08 17:00:22
市场波动模式1. 自2021年以来,Bitcoin超过68%的交易日在24小时窗口内价格波动超过15%。 2. 在流动性较低的时期,尤其是在 02:00 至 06:00 UTC 期间,以太坊表现出比 Bitcoin 更高的日内波动性。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 事...
USDT、USDC 和 DAI:这些稳定币有何不同?
2026-09-20 05:59:44
Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...
为什么稳定币会失去 1 美元的挂钩?
2026-09-08 02:00:03
储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...
什么是加密稳定币 Depeg?
2026-09-24 16:39:41
脱钩的定义和机制1. 当稳定币的市场价格显着偏离其预期锚定价值(对于与美元挂钩的代币来说,最常见的是 1.00 美元)时,就会发生加密稳定币脱钩。 2. 这种偏差不是短暂的波动,而是持续的信心丧失,体现在订单簿失衡、流动性撤回和级联赎回上。 3. 脱钩源于结构性缺陷,包括储备不足或不透明、算法再平衡...
什么是加密货币中的自我托管以及为什么它很重要?
2026-09-10 04:19:32
定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...
托管钱包与非托管钱包:有什么区别?
2026-09-17 03:19:46
托管钱包定义1. 托管钱包是一种由第三方服务提供商持有和管理用户私钥的数字资产存储解决方案。 2. 用户通过电子邮件、密码和双因素身份验证等登录凭据访问资金,而不是直接加密控制。 3. 简化帐户恢复——忘记密码或失去设备访问权限的用户可以通过平台管理的身份验证协议重新获得访问权限。 4. 这些钱包通...
什么是 DAI?它与 USDT 有何不同?
2026-09-08 17:00:22
市场波动模式1. 自2021年以来,Bitcoin超过68%的交易日在24小时窗口内价格波动超过15%。 2. 在流动性较低的时期,尤其是在 02:00 至 06:00 UTC 期间,以太坊表现出比 Bitcoin 更高的日内波动性。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 事...
USDT、USDC 和 DAI:这些稳定币有何不同?
2026-09-20 05:59:44
Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少了新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将达到 3.125 BT...
为什么稳定币会失去 1 美元的挂钩?
2026-09-08 02:00:03
储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...
什么是加密稳定币 Depeg?
2026-09-24 16:39:41
脱钩的定义和机制1. 当稳定币的市场价格显着偏离其预期锚定价值(对于与美元挂钩的代币来说,最常见的是 1.00 美元)时,就会发生加密稳定币脱钩。 2. 这种偏差不是短暂的波动,而是持续的信心丧失,体现在订单簿失衡、流动性撤回和级联赎回上。 3. 脱钩源于结构性缺陷,包括储备不足或不透明、算法再平衡...
什么是加密货币中的自我托管以及为什么它很重要?
2026-09-10 04:19:32
定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...
托管钱包与非托管钱包:有什么区别?
2026-09-17 03:19:46
托管钱包定义1. 托管钱包是一种由第三方服务提供商持有和管理用户私钥的数字资产存储解决方案。 2. 用户通过电子邮件、密码和双因素身份验证等登录凭据访问资金,而不是直接加密控制。 3. 简化帐户恢复——忘记密码或失去设备访问权限的用户可以通过平台管理的身份验证协议重新获得访问权限。 4. 这些钱包通...
查看所有文章














