市值: $2.6906T 0.59%
成交额(24h): $84.6845B 15.37%
恐惧与贪婪指数:

72 - 贪婪

  • 市值: $2.6906T 0.59%
  • 成交额(24h): $84.6845B 15.37%
  • 恐惧与贪婪指数:
  • 市值: $2.6906T 0.59%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

什么是以太坊虚拟机(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),我们将及时删除。

相关百科

什么是 DAI?它与 USDT 有何不同?

什么是 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 事...

为什么稳定币会失去 1 美元的挂钩?

为什么稳定币会失去 1 美元的挂钩?

2026-09-08 02:00:03

储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...

什么是加密货币中的自我托管以及为什么它很重要?

什么是加密货币中的自我托管以及为什么它很重要?

2026-09-10 04:19:32

定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...

什么是闪电网络? Bitcoin 交易如何变得更快?

什么是闪电网络? Bitcoin 交易如何变得更快?

2026-09-08 07:00:16

闪电网络核心架构1. 闪电网络作为直接构建在 Bitcoin 区块链之上的第二层协议运行,完全依赖 Bitcoin 的加密安全模型,无需引入新的共识规则。 2. 使用2-of-2多重签名地址在参与者之间构建双向支付通道,双方必须共同签名才能将资金移出通道。 3. 每个通道都通过链上融资交易进行初始化...

什么是加密预言机?区块链如何获取真实世界的数据?

什么是加密预言机?区块链如何获取真实世界的数据?

2026-09-08 19:20:07

定义和核心功能1. 加密预言机是一种可信的第三方服务,充当区块链网络和外部数据源之间的桥梁。 2. 它获取、验证链下信息,并将其传递给部署在链上的智能合约,例如价格、体育比分、天气状况或 API 响应。 3. 如果没有预言机,智能合约将与现实世界的事件隔离,无法执行依赖于外部触发器的逻辑。 4. 预...

Bitcoin 与莱特币:主要区别是什么?

Bitcoin 与莱特币:主要区别是什么?

2026-09-08 20:20:11

起源和基础架构1. Bitcoin 于 2009 年出现,作为首个去中心化加密货币,建立在使用 SHA-256 哈希算法的工作量证明共识机制之上。 2. 莱特币于 2011 年作为 Bitcoin 开源代码库的直接分支推出,但用 Scrypt 取代了 SHA-256,有意提高了早期 ASIC 主导地...

什么是 DAI?它与 USDT 有何不同?

什么是 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 事...

为什么稳定币会失去 1 美元的挂钩?

为什么稳定币会失去 1 美元的挂钩?

2026-09-08 02:00:03

储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...

什么是加密货币中的自我托管以及为什么它很重要?

什么是加密货币中的自我托管以及为什么它很重要?

2026-09-10 04:19:32

定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...

什么是闪电网络? Bitcoin 交易如何变得更快?

什么是闪电网络? Bitcoin 交易如何变得更快?

2026-09-08 07:00:16

闪电网络核心架构1. 闪电网络作为直接构建在 Bitcoin 区块链之上的第二层协议运行,完全依赖 Bitcoin 的加密安全模型,无需引入新的共识规则。 2. 使用2-of-2多重签名地址在参与者之间构建双向支付通道,双方必须共同签名才能将资金移出通道。 3. 每个通道都通过链上融资交易进行初始化...

什么是加密预言机?区块链如何获取真实世界的数据?

什么是加密预言机?区块链如何获取真实世界的数据?

2026-09-08 19:20:07

定义和核心功能1. 加密预言机是一种可信的第三方服务,充当区块链网络和外部数据源之间的桥梁。 2. 它获取、验证链下信息,并将其传递给部署在链上的智能合约,例如价格、体育比分、天气状况或 API 响应。 3. 如果没有预言机,智能合约将与现实世界的事件隔离,无法执行依赖于外部触发器的逻辑。 4. 预...

Bitcoin 与莱特币:主要区别是什么?

Bitcoin 与莱特币:主要区别是什么?

2026-09-08 20:20:11

起源和基础架构1. Bitcoin 于 2009 年出现,作为首个去中心化加密货币,建立在使用 SHA-256 哈希算法的工作量证明共识机制之上。 2. 莱特币于 2011 年作为 Bitcoin 开源代码库的直接分支推出,但用 Scrypt 取代了 SHA-256,有意提高了早期 ASIC 主导地...

查看所有文章

User not found or password invalid

Your input is correct