【虚拟机专栏】智能合约执行引擎的前世今生

本文介绍了智能合约的概念及其由尼克·萨博提出,重点阐述了以太坊如何通过引入图灵完备的Solidity语言和EVM执行智能合约。EVM确保执行的确定性和安全性,通过Gas机制防止无限循环。此外,文章还探讨了EVM的发展,包括其他优化的智能合约执行引擎,如HVM、FVM和KVSQL。
摘要由CSDN通过智能技术生成

Solidity作为最早提出的智能合约语言,它的出现为区块链的应用场景打开了新的大门。
—— 缘起 ——
智能合约(Smart Contract)这个术语最早于1994年由跨领域法律学者尼克·萨博(NickSzabo)⾸次提出。他对智能合约的定义如下:

“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。”

所以简单来看,尼克·萨博认为智能合约是⼀套承诺。所谓承诺就是参与⽅同意的相互之间的权利和义务。因此智能合约的本质和⽬的即是承诺本身。⽐如⼀个简单的买卖事件,卖家承诺供货,买家承诺⽀付,这两个承诺就可以形成⼀个智能合约。注意尼克·萨博对智能合约定义中提到的关键词:数字形式和协议。这两个关键词决定了智能合约不同于传统意义上的承诺,它在形式和功能上有着决定性的特征。

「智能合约」最开始由以太坊引入区块链。据以太坊白皮书,引入智能合约主要为了解决如下问题:

对于脚本语言,脚本是非图灵完备(后文会介绍)的,难以实现复杂的功能,比如椭圆曲线签名算法

脚本无法对可以提取的金额进行细粒度控制

脚本缺乏状态保存,无法实现更为复杂的有状态合约

执行时能获取的数据不够丰富,例如随机数、时间戳和前一个区块哈希的获取

总之,脚本语言无法满足更为丰富的应用操作,所以以太坊设计了独特的智能合约语言Solidity,同时,执行智能合约的智能合约执行引擎EVM也诞生了。

自此,区块链技术的应用场景, 从单一基于 UTXO 的数字货币交易,延伸到图灵完备的通用计算领域。用户不再受限于仅能使用比特币脚本所支持的简

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值