前言
以太坊是一个开源的公共区块链平台,具有智能合约功能。通过以太币(ETH)提供去中心化的以太坊虚拟机(EVM)来处理点对点合约。EVM是以太坊的核心之一,负责智能合约的创建和执行。简单来说,EVM是一个状态执行的机器,输入是solidity编译后的二进制指令和节点的状态数据,输出是节点状态的改变。
以太坊短地址攻击
以太坊短地址攻击是由于底层EVM的设计缺陷导致的漏洞。ERC20代币标准定义的转账函数传入的to是末端缺省的短地址时,EVM会将后面字节补足地址,而最后的value值不足则用0填充,导致实际转出的代币数值倍增。
EVM源码分析