智能合约其实就是一种软件程序,它可以根据多个参与方之间的约定条款开发,在不同条件下自动执行不同编程指令,例如,当收到买方的货款后卖方自动发货。
智能合约常常被类比为「自动贩卖机」,因为大家认为这样比较容易理解:
自动贩卖机能接受并执行外部的指令。当顾客选定商品并付款后,自动贩卖机将释放商品给顾客,并不需要额外的人工介入。
其实,对于开发者而言,智能合约就是一种程序,而且是不那么智能的程序。
智能合约的概念,最早由电脑科学家、密码学家Nick Szabo在 1994年提出,不过当时并没有合适的环境实现,直到区块链特别是Vitalik创建以太坊以后,智能合约的想法才开始逐渐落地。
为什么区块链是智能合约的理想环境?
由于区块链上的交易具有可追溯、抗篡改、不可逆转的特性,使智能合约在没有第三方中间人的情况下,也可以进行安全的交易。也就是说,区块链提供了在不可信环境下进行可信交易的基础环境,这才使得自动化执行的智能合约得以落地。
而以太坊由于内置了虚拟机和开发语言,这使得在以太坊区块链上开发智能合约的效率大大提高、难度大大降低。因此,现在提到智能合约,基本上大家说的都是以太坊上的智能合约。
智能合约的应用场景
智能合约能够应用在于许多领域,如选举、后勤、管理、银行系统、保险、房地产及物联网等。区块链上的数据都是加密、匿名的,可以降低操纵选票的可能性,对于投票机制的改善很有帮助。此外,针对物联网的供应链长且复杂,透过智能合约,每个链上的参与者都能够看到物流追踪,使交易更快,效率更高。