相较于比特币被视作分布式的记账本,以太坊致力成为“下一代智能合约和去中心化应用平台”,则可以被看作是可以运行程序的分布式计算平台。
Vitalik 也将其构想为一个去中心化的“世界计算机”。作为计算机,就需要有计算,存储,执行等功能。
所以,以太坊在拥有比特币网络中基本的数据存储功能之外,还需要运行各种代码进行计算,由以太坊虚拟机(EVM)所编译和解释执行的软件或者应用就是“智能合约”。
当以太坊链上发生转账交易的时候,以太坊虚拟机(EVM)会进行以下一系列工作:
- 调取转账的数值,分析合约的指令。
- 计算Gas的消耗(手续费), 确保发出转账的地址有足够的Gas费。
- 执行合约,实现转账到对应的地址。
从上面以太坊虚拟机(EVM)的工作流程中,我们可以窥见EVM对于以太坊的几个功能:
- 便于测试:为了保证各种“智能合约”的顺利执行,我们需要给它们创建一个安全的运行环境,以太坊虚拟机就是一个代码的运行环境。
- 正如我们上文所说,在虚拟机里的各种操作不会影响主机一样,任何想要在以太坊虚拟机创建智能合约的开发者可以在虚拟机上测试各种应用而不占用主链资源也不受其他区块链的影响。
- 增加安全性:以太坊上承载着具有强大功能的各种应用,其逻辑也就更加复杂,开发者也越容易出现各种漏洞。而以太坊虚拟机是一个完全独立的沙盒,合约代码可对外完全隔离并在 EVM 内部运行。
- 不仅可以防止因为不法分子或者程序员的编程错误而影响整个主链,还可以防止运行智能合约的物理设备遭受攻击。
- 保障稳定性:由于以太坊虚拟机部署在以太坊网络的每个节点,整个以太坊网络的数据由众多节点共同维护和更新,这保持了整个区块链数据的一致性,这同样也使以太坊有极高的故障容错性,保证零停机。
热点:以太 以太坊 区块链 数据 智能合约 比特币 比特币 计算机