时间:2023-04-21|浏览:199
编译 | Dali@iNFTnews.com
以太坊是仅次于比特币的第二个重要区块链,其成功得益于其原生Solidity编程语言和以太坊虚拟机(EVM)的支持。
坚持其灵活性、开发工具和庞大用户群体,以太坊区块链吸引了越来越多的去中心化应用(DApp)开发人员加入。
EVM是程序执行以太坊应用代码或智能合约的程序,并为它们提供在以太坊网络上运行的环境。此外,EVM是图灵完备的,可以运行所有编程语言编写的程序,从而为开发人员创造可自定义的智能合约和DApp 提供便利。
EVM还可以访问网络中的所有节点,处理智能合约执行并管理以太坊区块链上的所有交易,成为当今世界上最强大的虚拟机之一。
以太坊网络的概念是程序员Vitalik Buterin在2013年提出的。作为DApp开发者的首选区块链,以太坊的成功有赖于Gavin Wood在以太坊任职期间设计的以太坊虚拟机(EVM)。
EVM由C++编写并使用LLVM项目编译器,它是一个可以连续运行的特殊状态机,决定着以太坊区块链中每个区块的状态。
除了管理节点对分布式账本的操作范围,EVM还定义了在不同区块之间改变状态的具体规则。后一种功能是以太坊智能合约成功运行的基础。
对于每一个输入信息,EVM都会产生一个本质上具有确定性输出信息。EVM的运行方式类似于将瞬态值推入和推出下推栈的堆栈机器,其深度为1024个项,而每个项都是256位字。此外,它还以字节数组的形式维护临时内存。已编译的智能合约代码由EVM以140个标准操作码集合执行,其他区块链堆栈操作也由它实现。
因此,EVM在处理交易过程中具有本质上不稳定的机器状态,同时它又具备全局或世界状态以容纳以太坊区块链上的不同账户信息。
自2015年以太坊网络推出以来,EVM代码本身经历了多次迭代,这也使得目前存在多种EVM实现工具。EVM负责维护数千个以太坊节点和执行代码之间的抽象层级,以及在不向客户端或节点泄露过多细节的情况下传送一致信息。
EVM是运行较小可执行程序(在以太坊中称为智能合约)的首要程序,同时为开发人员提供用各种编程语言编写这些智能合约的自由。由于EVM提供的这种灵活性,以太坊区块链在DeFi和NFT领域催生了数千个DApp。
每一个DApp和组成它们的智能合约被转换为字节码,这些字节码被传送至EVM并分布在以太坊网络的所有节点中。当部署智能合约时,EVM负责与所有节点联系,并在达成共识后进行状态更改。
然而,EVM并不完美,高额交易费或Gas成本是其中之一。这些费用需要用户通过ETH进行支付,并且会根据智能合约的复杂性和当时网络拥塞情况变化,需要开发者和企业家进行相应定价。
此外,Solidity是EVM上最受欢迎的编码语言,这意味着开发人员需要有足够的经验和一定的技术专长,才能利用Solidity创建高效的智能合约。任何额外的计算需求都将导致更高的Gas成本,不利于项目的成功。
EVM给区块链生态系统带来革命性变化,但许多区块链项目也正在改进这种用于读取和执行代码的技术。跨链互操作性和与EVM兼容的区块链正在发展起来,并且大多数提供比以太坊更低的费用和更快的交易速度。
以太坊的下一个目标是完成从EVM到以太坊WebAssembly(eWASM)的范式转变。它旨在将eWASM打造成一个高度模块化并独立于平台的虚拟指令集体系结构。eWASM被认为是以太坊的下一个规则改变者,并可能为其他区块链所使用。
总的来说,以太坊区块链非常适合于DApp和智能合约的可持续扩展,EVM是Web3开发的首选平台。
用戶喜愛的交易所
已有账号登陆后会弹出下载