赞
踩
以太坊虚拟机(Ethereum Virtual Machine,简称EVM)
是以太坊网络的核心组件之一,它承担着智能合约执行
的重要任务
智能合约执行环境:EVM提供了一个安全的环境,用于执行智能合约
。这些合约以Solidity
等高级编程语言编写,并在以太坊区块链上部署和执行
不可篡改性:EVM的设计目标之一是确保智能合约执行的不可篡改性
。一旦部署到以太坊区块链上,智能合约的代码将永远不会改变,保证了合约的可靠性和安全性
分布式执行:EVM运行在整个以太坊网络上的节点之上,通过共识算法确保所有节点对智能合约的执行结果达成一致
燃料机制:为了防止恶意用户滥用资源
,EVM引入了燃料机制
。执行智能合约需要支付一定数量的以太币作为燃料费用,确保合约的执行成本被合理控制
存储区域
是每个以太坊账户的持久性存储空间
,用于永久性地存储合约的状态信息
。这些状态信息包括合约的变量
、状态标志
、以及其他重要的数据,这里指的是每个节点的状态数据库。比如
ERC20代币
合约,它存储了每个用户的余额信息
。在合约的存储区域中,将会存储每个用户的地址与对应的余额
数据
在一个复杂的数学计算合约中,可能需要使用内存区域来存储中间计算结果,以便在执行过程中进行多步计算
一个智能合约的
字节码文件(由代码编译而来)
存储在合约数据区域
中的数据。当合约被部署到以太坊网络上时,会被存储在这个特殊的存储空间中
交易和合约调用(
其实也是一种交易
)的信息会存储在区块链上
,但是这些交易引发的状态变更
(比如Alice向Bob转了1ETH)是不会记录在区块链中
的,状态变更数据库
是节点根据区块链中的交易构建而成的。所以我们上面说的存储区域
和合约数据区域
是节点根据区块构建出来的。
为什么要构建状态数据库?
构建状态数据库之后节点可以快速的校验交易的合法性,以及验证新区块
可能存在计算机的硬盘里,也可能存在计算机的内存中
,要看节点的具体实现"物理"
的存储了Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。