(一)智能合约的历史
在阐述什么是智能合约之前,我们先回顾一下它的创建背景。
1994年,计算机科学家和密码学家Nick Szabo首次提出“智能合约”概念,早于区块链概念的诞生。Szabo描述了什么是“以数字形式指定的一系列承诺,包括各方履行这些承诺的协议”,但因为缺乏可以让它发挥作用的区块链,智能合约的想法一直没取得进展。
2008年,第一个加密货币比特币出现,同时引入了现代区块链技术。可是,这时候的智能合约依然无法融入比特币区块链网络。五年后,以太坊才让它浮出水面,之后便涌现出不同形式的智能合约,以太坊智能合约使用范围最广泛。
2013年,作为以太坊智能合约系统的一部分,智能合约首次出现。
(二)什么是智能合约
所谓智能合约,就是传统合约的数字化版本,这是在区块链数据库上运行的计算机程序,可以复制和共享,以及处理信息的接收、储存和发送,在满足其源代码中的条件时可以自行执行。智能合约一旦编写好,就会受到用户的信赖,但合约条款不能更改。
“智能合约”这个名词,在20世纪90年代由尼克萨博提出,几乎与互联网同龄。只不过由于缺少可信的执行环境和技术手段,智能合约并没有被应用到实际产业中。随着互联网的逐渐发展,各种新技术纷纷出现,尤其是比特币出现后,人们意识到:区块链能为智能合约提供可信的执行环境,区块链技术是智能合约的应用前提。
智能合约程序是一个可以自动执行的计算机程序,能对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。该程序就如同一个被信任的人,可以临时保管资产,总能按照事先的规则执行操作。
假设一个智能合约模型:一段代码(智能合约),被分布在分享的、复制的账本上,可以维持自己的状态,控制自己的资产,对接收到的外界信息或资产进行回应。
如果区块链是一个数据库,智能合约就是能使区块链技术应用到现实当中的应用层。智能合约是在区块链数据库上运行的计算机程序,可以在满足其源代码中的条件时自行执行。
(三)智能合约的技术特性
区块链智能合约有三个技术特性,如表所示。
智慧合約的技術特性 | |
技術特性 | 說明 |
永久運行 | 支撐區塊鏈網路的節點達數百甚至上千個,部分節點的失效並不會導 致智能合約的停止,從理論上來說,其可靠性接近于永久運行,智慧合 約就像紙質合同一樣每時每刻都有效 |
不可篡改 | 區塊鏈本身的所有資料不可篡改,部署在區塊鏈上的智慧合約代碼以 及運行產生的資料輸出也不可篡改,運行智慧合約的節點不必擔心其他 節點惡意修政代碼與資料 |
資料透明 | 區塊鏈上所有的資料都是公開透明的,智慧合約的資料處理也是公開 透明的,運行時任何一方都可以查看其代碼和資料 |
(四)智能合约如何运作
区块链网络使用的智能合约类似于自动售货机。智能合约与自动售货机类比:如果你向自动售货机(类比分类账本)转入比特币或其他加密货
币,只要输入满足智能合约代码要求,它会自动执行双方约定的义务。
义务以“ifthen”形式写入代码,例如,“如果A完成任务1,来自B的付款就会转给A。”通过这种协议,智能合约允许各种资产交易,每个合约都会被复制和存储在分布式账本中,信息无法篡改或破坏,参与者之间匿名。
虽然智能合约只能与数字生态系统一起使用,不过,很多应用程序正在探索数字货币之外的世界,都在为了将“真实”世界和“数字”世界联结起来而努力。
智能合约根据逻辑来编写和运作,满足一定的输入要求,只要代码编写的要求被满足,合约中的义务就能在安全和信任的网络中得到执行。