我们经常会听到区块链技术的流行语,如“去中心化网络”“智能合约”等。但是“智能合约”究竟是什么,我们却对它知之甚少。今天我们将就“智能合约”进行深入的分析与探讨。
众所周知,“合约”是指双方或者多方合作办理某事时,为了确定各自的权利和义务而订立的共同遵守的条文。而“智能合约”则是一套基于区块链上的软件程序,在检测到某些特定数据条件时则会被触发。这样听上去似乎很模糊,是因为智能合约可以应用在多个场景。通俗点来说智能合约是一种特殊协议,旨在提供、验证及执行合约。
智能合约与传统合约相比,最大的特点和优势就是数据无法删除、篡改。整个过程透明可跟踪,保证了历史的可追溯性。因为行为将被永久记录,可极大程度避免恶意行为对合约正常执行的干扰。基于区块链的去中心化特性,避免了传统合约中心化因素的影响,提高了智能合约在成本效率的优势。当满足智能合约内容时,将自动启动智能合约的代码,既避免了手动过程,同时又保障了发行者无法违约。虽然现阶段的智能合约还存在安全性不够充分,私密性难以保障,上链资源受限等种种问题,但从理论上说,其应用前景无疑是广泛的,在不断完善改良之后,代替很大一部分传统合同以及创造出一批新型合同,这都是很有可能的。
图片2.png值得一说的是InterValue项目中也应用到了智能合约,目前在区块链领域得到普遍使用的是以太坊的智能合约,Solidity语言作为最流行以太坊智能合约,这两年产生了大量的合约应用,所以InterValue决定,第一代智能合约采用Solidity编程语言,在此基础上增加一些安全验证的内容(主要是合约的形式化验证)。
到InterValue第二代智能合约的时候,在支持Solidity编程语言的同时,希望采用更为通用的编程语言如(JavaScript,java等)。
和以太坊的智能合约不同的是,以太坊的智能合约基于链式结构,逻辑简单清晰,拥有大量的合约应用。其主要缺陷在于无法并发执行,另外让人诟病的地方在于安全防护方面。
而InterValue的智能合约运行在HashNet共识基础上,交易并发执行,速度较以太坊的智能合约快了许多。并且在合约编写过程中加入了形式化验证的工作以及增加和余额的消息调用接口。其次InterValue是DAG结构,交易是并行确认的,这就要求我们在合约的执行过程中需要保证合约相关账户状态具有一致不变性。
Intervalue智能合约还包括以下三种特性,分别是确定性、高性能以及拓展性。从性能角度来说,NEO 采用了轻量级的 MVM作为其智能合约的执行环境,其启动速度非常快,占用资源也很小,适合像智能合约这样短小的程序。
目前InterValue的智能合约已经完成合约语言的编译和执行,正在进行智能合约与共识的接入、通用语言的编译器设计以及合约编程语言的标准库整理的工作,下一步的工作则是将合约与InterValue对接。同时,我们针对智能合约中的安全问题进行了专门的研究,采用形式化验证、符号执行以及行为检测等手段,对智能合约进行安全审计,避免由于合约编写者的疏忽造成一些系统漏洞。
无论你怎么看待智能合约,未来区块链的应用更多的都会是往智能合约的方向发展,越来越多的项目也正在探索驾驭它的方法。随着InterValue对智能合约的研究不断推进,大家可以多多关注InterValue取得的进展。既然技术和设备都还有许多待完善的地方,那我们就边走边看,边看边改。不忘初心,砥砺前行。
网友评论