聊聊以太坊虚拟机 EVM。
EVM 的执行必须是确定性的:相同的输入在任何节点上都会算出相同的结果,否则节点之间无法达成一致。
值得多想一步的是:“EVM 兼容”让项目方写一份合约便能部署到多条链上,也意味着同类的合约漏洞可能在好几条链上同时存在。
和一个合约交互前,在区块浏览器看看源码是否经过验证,没公开源码的合约更要多加小心。
在以太坊上调用合约,EVM 每执行一步都按指令计 Gas,以 $ETH 支付。