This article has been translated from English to Simplified Chinese.

以太坊被称为“智能合约平台”。

平台(或计算平台)是一个运行环境,软件(如程序或应用程序)可以在其中运行(或“执行”)。

智能合约到底是什么?

什么是智能合约?

智能合约是托管在区块链上并执行的自动化计算机程序。

Smart Contract Code

尽管名字里有“智能”二字,但“智能合约”并不一定智能,也不一定具有法律约束力。

“自动”而不是“智能”,“程序”而不是“合同”可能是一个更好的名字,但我不是提出这个概念的天才!

尼克·萨博(Nick Szabo)在90年代末创造了这个术语,他将智能合约比作自动售货机。

用户将硬币投入机器,如果投入的金额正确,机器就会“自动执行”并交付他们所要求的货物。除了你和自动售货机之外,没有其他人参与。不需要第三方参与。甚至不需要自动售货机的所有者参与。

这种交互几乎不需要信任:自动售货机在收到付款后,只能交付货物。

Smart Contract Example

现在想象一下,如果协议条款像自动售货机一样清晰且可预测,然后使用区块链技术自动执行协议条款,那么双方之间将如何进行交易。

这就是智能合约的作用。

在以太坊中,智能合约是提交到区块链上的编码指令,以便网络参与者能够以安全且无需信任的方式执行和存储这些合约。

用稍微技术性的术语来说,智能合约是位于以太坊区块链特定地址的代码和数据集合。

智能合约也是确定性的,因此参与合约的人知道执行合约时会产生什么结果。

可以将智能合约视为区块链上的软件程序,当满足预设条件时,它会自动执行。

这些预先设定的条件直接写入 代码行中,相当于 传统合同中的“协议条款”。

现在您已经知道智能合约是什么了,接下来让我来介绍一下以太坊智能合约平台。

什么是EVM?

EVM

不,这不是一种新型的电子音乐。

如果智能合约是用代码编写的指令,那么以太坊虚拟机(EVM)就是在以太坊区块链上执行这些指令的。

“虚拟机”是一种软件,其运行方式与实际物理计算机类似,可以运行程序和部署应用程序。

它本质上是一个安装在实体计算机上的软件程序,就像主计算机中的独立计算机一样运行。

为什么需要一台“独立计算机”来执行智能合约(只是计算机程序)?

由于并非每个以太坊节点(只是计算机)都使用相同的硬件、操作系统(OS)和其他设置,因此您需要一种方法来“抽象”所有这些,以便智能合约的代码可以运行,而不必处理所有不同类型的计算机配置及其特定要求。

否则,你就必须为每一种计算机配置编写不同的智能合约版本!👎

智能合约不想处理这些麻烦!它希望与设备和操作系统无关。

这就是EVM的用武之地。

它为智能合约提供执行环境,这意味着智能合约可以在任何环境(任何计算机或操作系统)中执行(“运行”)。

开发人员可以编写智能合约,并确保其符合软件行业的“一次编写,随处运行”(WORA)标准实践,也称为“一次编写,随处运行”(WORE)。

基本上,智能合约可以在任何装有EVM的电脑上运行,很酷吧?

但这还不是最酷的地方。

由于EVM的目的是成为 所有以太坊全节点中内置的计算引擎,因此它 具有图灵完备性

用计算机术语来说,“图灵完备”的意思是EVM理论上可以计算任何你能想到的计算。

因此,理论上任何计算机应用程序都可以在以太坊平台上编程和运行!

智能合约使用高级编程语言(如Solidity、Vyper或Serpent)编写代码。

EVM将代码编译为“字节码”,然后将其部署到以太坊区块链中

得益于EVM,以太坊区块链可以超越智能合约,用于创建去中心化应用(dApp)。

在下一课中,我们将学习更多关于去中心化应用(dApps)的知识。