作者:
kugwa (kugwa)
2022-02-25 18:17:00所有机器看到的合约程式码以及交易顺序都是一致的(都来自链上)所以所有机器的计算结果会完全一样算不一样的就是乱搞的 就会被排挤简单说 合约程式码和交易序列就决定了运算结果 算出不是这种结果的就是有问题为了在去中心的前提下形成共识 这种执行结果的确定性是必要的反过来说 这也是为什么EVM没办法支援那种每个机器会算出不同结果的operation例如“获取机器本地时间”EVM里面要抓时间只能抓区块的timestamp才能大家看到一样VM这个字其实有点泛用 做系统的人会觉得VM里面跑的程式码原本是直接跑在真实机器上 只是现在被放进隔离的环境但其实EVM的VM跟JVM的VM含意比较像 就是一套自定义的程式语言 & bytecode & run-time执行环境