一文读懂:XVM虚拟机(一)

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

起源

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

智能合约最早被以太坊引入并使用,但是很快以太坊就发现了智能合约存在的问题。

对于脚本语言,脚本是非图灵完备的,所以无法执行一些复杂的操作,比如签名。

脚本无法对交易进行细粒度操作。

脚本缺乏保存状态,无法支持更加复杂的操作。

执行时获取的数据十分有限。

对此以太坊设计了独特的智能合约语言Solidity,随着Solidity的出现,一个图灵完备的智能合约执行引擎出现了,EVM可以让用户实现更加复杂的操作。
在这里插入图片描述

详解

EVM是一种栈式虚拟机,使用字节作为指令。Solidity合约源码经过编译后是用一种低级的、基于堆栈的字节码,所以真正部署在以太坊上并且在EVM中执行的其实是一串字节码。代码由一系列字节组成,其中每个字节代表一个操作。字节码执行时从第一个字节码开始根据字节码的操作含义依次执行,直到到达代码末尾或出现错误(如遇到REVERT 、STOP或RETURN 操作码)。

栈: 后进先出容器,其值可以被压入和弹出;

Memory: 一个无限可扩展的字节数组;

Storage: 合约的长期存储,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值