前段时间出现了美链BEC合约漏洞事件,以及最近对DApp的一段长时间思考,对于具体场景下应用合约打造DApp,需要追本溯源先去了解【智能合约】,为什么出现了合约漏洞事件,看过技术分析文章,是因内存溢出没有引用安全计算库做加减乘除算法到处溢出,使得一行代码视为无效被虚拟机忽略跳过,直接造成了该代币被大量抛售价格变成0。对于目前的合约来说,一旦出现漏洞将造成项目方毁灭性打击,那为什么会出现漏洞,不是“智能”合约吗?其实这里所讲的智能,并非人工智能那样的智能,在英文里智能合约是Smart,人工智能是Intelligent,单词的语法和用途可以查一查牛津词典,其实这里的智能合约和智能手机的“智能”是一个意思,是对电子化产品的一个统称,不具备自我学习自我进化的“智能”。
什么是智能合约?
智能合约的理念可以追溯到1994年,几乎与互联网同时出现。曾经为比特币打下基础,从而备受广泛赞誉的密码学家尼克·萨博(Nick Szabo)首次提出了“智能合约”(smart contract)这一术语。他对于智能合约的定义是:“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。
从本质上讲,这些自动合约的工作原理类似于其他计算机程序的if-then语句。智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约便执行相应的合同条款。
萨博的智能合约