我一直在想这个问题:
为了实现EVM的隔离,采用了哪些技术?例如,它是否只是在自己的名称空间中使用linux特性“名称空间”作为一个孤立的进程运行?像容器一样的东西?
发布于 2019-09-20 17:18:16
我认为这里隐藏的假设是,有一个名字叫Ethereum“虚拟机”的东西需要隔离。这是对EVM性质的误解。
EVM是一个短期状态机的规范。EVM状态是通过正确处理事务来导出的。事务可以包括部署代码和调用已部署的代码。代码本身由OPCODES组成,在EVM规范中定义了精确的含义。
由于所有EVM操作都是确定性的,我们可以说,给定相同的初始状态和相同的输入,正确运行的节点将计算相同的EVM状态。
也许理解这一点的另一种方法是将EVM看作是一个紧急的非局部结论,节点同意EVM状态必须是什么。
如果一个人关心自己的节点的完整性,那么节点可以在容器内运行,但这不是节点软件本身的属性,例如Geth。
看看这个:https://www.youtube.com/watch?time_continue=4&v=Za5lPKNV_Mk
希望能帮上忙。
https://ethereum.stackexchange.com/questions/76095
复制相似问题