起源
在我们了解XVM之前,我们必须回溯虚拟机的发展历程,智能合约这一概念由萨博在1994年提出,他认为,“智能合约是一种数字形式的承诺,智能合约可以满足合约各方在其上履行自己的承诺”。由此智能合约这一概念出现,萨博在定义智能合约时强调了“数字形式”和“协议”。这让智能合约与传统的承诺出现了区别。

智能合约最早被以太坊引入并使用,但是很快以太坊就发现了智能合约存在的问题。
对于脚本语言,脚本是非图灵完备的,所以无法执行一些复杂的操作,比如签名。
脚本无法对交易进行细粒度操作。
脚本缺乏保存状态,无法支持更加复杂的操作。
执行时获取的数据十分有限。
对此以太坊设计了独特的智能合约语言Solidity,随着Solidity的出现,一个图灵完备的智能合约执行引擎出现了,EVM可以让用户实现更加复杂的操作。

详解
EVM是一种栈式虚拟机,使用字节作为指令。Solidity合约源码经过编译后是用一种低级的、基于堆栈的字节码,所以真正部署在以太坊上并且在EVM中执行的其实是一串字节码。代码由一系列字节组成,其中每个字节代表一个操作。字节码执行时从第一个字节码开始根据字节码的操作含义依次执行,直到到达代码末尾或出现错误(如遇到REVERT 、STOP或RETURN 操作码)。
栈: 后进先出容器,其值可以被压入和弹出;
Memory: 一个无限可扩展的字节数组;
Storage: 合约的长期存储,

本文介绍了智能合约的概念及其发展历程,重点阐述了以太坊虚拟机(EVM)的工作原理及特性,包括其栈式结构、内存与存储机制,并概述了当前蓬勃发展的多种智能合约执行引擎。
最低0.47元/天 解锁文章
50

被折叠的 条评论
为什么被折叠?



