一、什么是智能合约(smart contract)
智能合约这个词首次出现的时间是在1994年由尼克萨博提出的概念。而尼克萨博所提出的智能合约的概念是这样描述:
一个智能合约是一套以数字形式定义的约定,包括合约参与方可以在上面执行这些约定的协议。智能合约的基本思想是,各种各样的合约条款可以嵌入到我们使用的硬件和软件中从而使得攻击者需要很大的代价去攻击。
在生活中我们也会听到过‘合同’这个词,虽然‘合同’跟‘合约’感觉上会很相似,但是合同跟合约又不一样,合同比较像是一种类似保证书的东西,而合约则是如果满足合约的要求就会触发执行某些事件。当然满足合约则触发执行事件如果能自动触发就好了,抱着这样的想法,尼克萨博就提出了智能合约的概念。他设想一种能够自动执行的智能合约,而且这个智能合约的安全性要求要高。智能合约的原型类似于自动售货机,通过一系列程序设计实现共识并达到某种条件则予以执行。
这里智能合约里,智能却不是AI的智能,而是smart的智能,像smart phone 一样的的那个智能,表示灵活的意思。也就是说,智能合约是使用计算机语言编写出来的程序指令,其工作的基本原理类似于计算机程序的if-then语句,只要达成预先设定的条件,就会按程序自动执行相应条件的合同条款。这就会有一个强制性的特点,不需要中介的参与而自动执行,没有人可以阻止智能合约的执行,具有这样强制性的特点,为智能合约所在的环境系统提供了安全和可信任的保障。
智能合约是区块链的基石,区块链中的信任机制可以说是智能合约提供了部分。它这在计算机编程中相当于就相当于遵循IFTT(if -this then-that)逻辑编程。在自动贩卖机中当我们把钱投进机器里,然