智能合约(Smart Contract)的概念最早由知名学者Nick Szabo在上世纪90年代提出。他在公开发表的多篇文章中提到了智能合约的概念,将其定义为:“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。”
这个概念提出后的很长一段时间里,它只停留在概念阶段,并没有在实际应用中产生实例。
为什么呢?
在我们看来这其中的关键点就在于既然它是一个“承诺”,那么如何保证这个“承诺”一定得到执行?如果合约的参与方不执行这份承诺,有什么办法让其承担后果或强制其执行?
如果对一份合约规定的责任和义务仅仅只是用现实社会中的法律手段保障实施和执行,那这仅仅只相当于合约的数字化、信息化,它在本质上仍然是现实社会中的法律合约,只不过换了一种形式而已,所以这样的“数字化合约”不能算“智能合约”。
这个局面的彻底颠覆是在以太坊出现之后,以太坊的出现第一次让“智能合约”得以实现,并且让人们见识到了信息技术和加密技术如何完美地结合从而强制保证一份“数字合约”的执行和实施。
那么以太坊是如何让智能合约从概念变为现实的,也就是说如何保证一份被数字化的合约得到严格、强制执行的呢?
这就要和以太坊的特性说起了。
相较于比特币,以太坊最突出的特点就是它支持了“图灵完备”的编程语言。所谓“图灵完备”的编程语言用通俗的话说就是理论上只要人能够用数学方式描述的逻辑如果都能用这种语言编写出来,那么这种语言就是“图灵完备”的编程语言。
如果把这种语言用于定义合同,那就成了只要一份合同能够用这个编程语言描述出来,那这份合同就能用计算机来执行。
但仅仅只凭这一点编写出的合约还远不能算“智能合约”,为什么呢?因为传统的计算机技术早就有了大量的编程语言(C语言、C++语言、Java语言等)能够被用于编写各种复杂逻辑的合同。那为什么传统计算技术编写出的这类合约不能算“智能合约”呢?因为这样的合约在执行过程中完全可能因为受到各种干扰(比如计算机突然宕机,系统突然被毁坏等),而根本无法得到强制和一定执行。
而基于以太坊的智能合约就不同,它相比传统计算技术除了能支持理论上任意的编程逻辑,还有一个传统计算技术无法比拟的特点:它的执行过程在现实世界中几乎难以被中断、难以被干扰,也就是说一旦以太坊开始运行一个合约,只要这个合约的条款还没有执行完,任何外界因素都很难干扰、阻断它的执行和实施。
这个特点曾被V神比喻为“永不停歇的世界计算机”-----以太坊这台“电脑”几乎永远不会宕机,甚至在未来V神规划的以太坊2.0中,它更是强大到能抵抗第三次世界大战。
此外,智能合约还有一个特点,那就是一旦一个合约被部署到以太坊,它就无法撤回,无法更改。这和传统信息技术中,我们一旦发现一个系统有问题可以将它下线,将它撤回有着根本的区别。
因为这些特性,在以太坊上运行的任何合约就在技术上第一次实现了“无法篡改”、“强制执行”、“无法干扰”,智能合约就这样神奇的落地了。
然而“成也萧何、败也萧何”,当我们享受智能合约强制执行的特点给我们带来的颠覆性变革时,它的负面作用也同时显现:这就是当一个合约在以太坊上部署并且运行后,一旦合约本身出现漏洞,这个漏洞给合约参与方带来的损失也将无法挽回、无法阻挡。我们有时甚至只能眼睁睁地看着它的漏洞被引爆,我们的数字资产被吞噬,而无能为力。
那如何才能防止这样的惨剧发生呢?除了进行常规的测试之外,在这个领域还诞生了一个独特的行业----智能合约审计。智能合约的审计最关键的作用就是尽量在合约被部署到以太坊上之前,检查出它的漏洞,发现它的隐患,尽量让一份高质量、安全的合约被用户使用。
对智能合约的审计将是这个行业永远的刚需,也是行业进步的强大助推力,更是灵踪安全为之奋斗的目标。
作者:
灵踪安全CEO 谭粤飞
美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士(Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事 。个人拥有4项区块链相关专利、3本出版著作。
关于灵踪安全:
灵踪安全科技有限公司是一家专注区块链生态安全的公司。灵踪安全科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。