深入理解 EVM 存储机制及安全问题

前言

EVM 是一个轻量级的虚拟机,其设计初衷就是提供一种可以忽略硬件、操作系统等兼容性的虚拟的执行环境供以太坊网络运行智能合约。

简单来说 EVM 是一个完全独立的沙盒,在 EVM 中运行的代码是无法访问网络、文件系统和其他进程的,以此来避免错误的代码能让智能合约毁灭或者影响外部环境。

在此基础上,知道创宇区块链安全实验室 带大家一起深入理解 EVM 的存储机制和安全问题。

EVM存储结构

在这里插入图片描述

可以看到 EVM 存储数据分为两类:

  • 存储在 code 和 storage 里的数据是 non-volatile (不容易丢失的)
  • 存储在 stack,args,memory 里数据是volatile(容易丢失的)

接下来看一下各个存储位置的含义

Code

code 部署合约时储存 data 字段也就是合约内容的空间,即专门存储智能合约的二进制源码的空间

Storage

Storage 是一个可以读写修改的持久存储的空间,也是每个合约持久化存储数据的地方。Storage 是一个巨大的 map,一共 2^256 个插槽 (slot),每个插糟有 32byte,合约中的“状态变量”会根据其具体类型分别保存到这些插槽中。

Stack

stack 即所谓的“运行栈",用来保存 EVM 指令的输入和输出数据。可以免费使用,没有 gas 消耗,用来保存函数的局部变量,数量被限制在 16 个。stack 的最大深度为 1024 ,其中每个单元是 32 byte。
在这里插入图片描述

Args

args 也叫 calldata,是一段只读的可寻址的保存函数调用参数的空间,与栈不同的地方的是,如果要使用 callda

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 802.11 WIFI标准中使用了QAM(正交幅度调制)来进行解调和调制。QAM是一种通过改变正弦波的振幅和相位来传输数字信号的调制技术。 QAM解调是将接收到的信号转换为数字信号的过程。在802.11 WIFI中,接收到的信号经过射频前端的处理后,进入基带芯片。基带芯片会进行频偏和时钟同步等处理,然后通过解调器将信号从频域转换到时域。在解调器中,将使用QAM解调算法抽取出原始的数字信号。 EVM(误码率)是评估解调器性能的一个重要参数。它表示解调信号与原始信号之间的差异程度。计算EVM需要用到实际解调信号和原始信号之间的幅度差和相位偏差。具体计算方法是,首先将解调器输出的复数信号和原始信号进行幅度归一化,然后计算它们之间的相对幅度误差和相对相位误差,最后将它们转换成百分比形式。 计算EVM有助于评估解调器的性能,确定其是否满足标准要求。较低的EVM值表示解调器能够准确地恢复原始信号,而较高的EVM值则表示解调器性能较差,可能会导致误码率上升。 总结起来,802.11 WIFI中使用QAM解调将接收到的信号转换为数字信号,通过计算EVM参数来评估解调器的性能。这些过程在无线通信中起着重要的作用,以确保高质量和可靠的信号传输。 ### 回答2: 802.11 WiFi的QAM解调是指解码接收到的调制信号,将其转换为数字数据。QAM是一种多级振幅调制技术,它通过在正弦波上调制不同的码元来传输数据。在802.11 WiFi中,常用的QAM调制方式有QPSK、16-QAM和64-QAM。 解调过程中,接收到的信号首先会被进行频率校准和时钟恢复,以确保接收到的信号与发送信号的频率和时钟保持一致。然后,信号会经过低噪声放大器和滤波器进行前端处理,接着进入解调器进行解调操作。 EVM(Error Vector Magnitude,误差向量幅度)是衡量解调性能的指标之一,用于评估接收信号与理想信号之间的差距。计算EVM需要通过测量接收信号的相位和幅度与理想信号之间的差异。实际操作中,可以通过两个复杂平面上的信号差值来计算EVM,即误差向量的模。 EVM的计算公式为: EVM(%)= |Rx|/|Tx| × 100% 其中,Rx表示接收到的信号,Tx表示理想信号。 在实际应用中,为了保证良好的解调性能,EVM应尽量小于某个可接受的阈值,通常为-35到-40 dB。当EVM超过阈值时,可能导致接收信号的误码率增加,影响信号的可靠性和传输速率。 综上所述,802.11 WiFi的QAM解调是将接收到的调制信号转换为数字数据的过程,并通过计算EVM来衡量解调性能。 ### 回答3: 802.11 WiFi是一种无线通信技术,而QAM(Quadrature Amplitude Modulation)是一种信号调制技术,用于提高WiFi传输速率和可靠性。QAM解调是指将接收到的信号转换为数字数据的过程。 在QAM解调中,首先接收到的信号会经过前端的滤波和放大等处理,然后进入QAM解调器。QAM解调器使用复数调制解调算法来解调信号,将整个信号空间划分为一个个符号点。通过将接收到的信号与已知的调制符号进行比较,确定接收到的信号所对应的信号符号。 对于EVM(Error Vector Magnitude,误差向量幅度)参数的计算,EVM是评估调制器性能的一项重要指标。它用于衡量由于调制误差引起的信号质量损失程度。计算EVM的方法是首先测量实际接收到的符号点与参考符号点之间的距离,然后将距离与参考符号点的幅度进行比较,得出EVM的结果。 EVM的计算公式为:EVM = 平均误差幅度 / 参考幅度 × 100% 其中,平均误差幅度是接收到的符号点与参考符号点之间距离的平均值,参考幅度是参考符号点的幅值。 通过计算EVM参数可以评估调制信号的质量,越小的EVM值表示调制精度越高,信号质量越好。在802.11 WiFi中,多种调制方式和不同的调制阶数都使用EVM来评估信号质量,通过优化调制参数来提高WiFi传输性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值