# VICOINDAO 一、区块链小白初级教程19·智能合约大白话解说

By [VICOINDAO](https://paragraph.com/@vicoindao) · 2022-01-06

---

![](https://storage.googleapis.com/papyrus_images/c93fd9c2fdcfb1507576b6afe2944a70181d83ca4e41446dbb33d004255b0d16.png)

什么是智能合约

智能合约"(smart contract)这个术语至少可以追溯到1995年，是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:

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

让我们更加详细地探讨他的定义的意思。

承诺

一套承诺指的是合约参与方同意的(经常是相互的)权利和义务。这些承诺定义了合约的本质和目的。以一个销售合约为典型例子。卖家承诺发送货物，买家承诺支付合理的货款。

数字形式

数字形式意味着合约不得不写入计算机可读的代码中。这是必须的，因为只要参与方达成协定，智能合约建立的权利和义务，是由一台计算机或者计算机网络执行的。

更进一步地说明:

(1)达成协定

智能合约的参与方什么时候达成协定呢?答案取决于特定的智能合约实施。一般而言，当参与方通过在合约宿主平台上安装合约，致力于合约的执行时，合约就被发现了。

(2)合约执行

"执行"的真正意思也依赖于实施。一般而言，执行意味着通过技术手段积极实施。

(3)计算机可读的代码

另外，合约需要的特定"数字形式"非常依赖于参与方同意使用的协议。

协议

协议是技术实现(technical implementation)，在这个基础上，合约承诺被实现，或者合约承诺实现被记录下来。选择哪个协议取决于许多因素，最重要的因素是在合约履行期间，被交易资产的本质。

再次以销售合约为例。假设，参与方同意货款以比特币支付。选择的协议很明显将会是比特币协议，在此协议上，智能合约被实施。因此，合约必须要用到的"数字形式"就是比特币脚本语言。比特币脚本语言是一种非图灵完备的、命令式的、基于栈的编程语言，类似于Forth

【welcome to join us】 WeChat1：victeam005 WeChat2：shijie20170405 Telegream：[https://t.me/VICOINDAOCHAT](https://t.me/VICOINDAOCHAT) Twitter：@VICOINDAO

---

*Originally published on [VICOINDAO](https://paragraph.com/@vicoindao/vicoindao-19)*
