什么是智能合约? 智能合约(smartcontract)这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(NickSzabo)提出来的。
所谓“合约”,就是条文、合同一类的东西,里面记录了发生的条件与对应执行的条款,以支持确权等操作;所谓"智能",意味着自动化、可编程。
所以,智能合约就是可编程的合同,也可以理解为一段自动执行的条文合同,在计算机中,就是一段自动执行的程序片段。它更易于合约保存,并且由确定的算法运行,给定输入,就得到对应的输出,极大保障了合约的执行力。
智能合约如何运作? 很多区块链网络使用的智能合约功能类似于自动售货机。智能合约与自动售货机类比:如果你向自动售货机(类比分类账本)转入比特币或其他加密货币,一旦输入满足智能合约代码要求,它会自动执行双方约定的义务。
例如,“如果A完成任务1,那么,来自于B的付款会转给A。”通过这样的协议,智能合约允许各种资产交易,每个合约被复制和存储在分布式账本中。这样,所有信息都不能被篡改或破坏,数据加密确保参与者之间的完全匿名。
虽然智能合约只能与数字生态系统的资产一起使用,不过,很多应用程序正在积极探索数字货币之外的世界,试图连接“真实”世界和“数字”世界。
智能合约根据逻辑来编写和运作。只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和去信任的网络中得到执行。
智能合约与WisdomChain 从性能角度来说,WisdomChain采用了轻量级的WDCVM(WDCVirtualMachine)占用资源也很小,且内建提供了一系列的密码学指令,以优化智能合约中使用密码学算法时的执行效率。此外,数据操作指令直接对数组及复杂数据结构提供支持。这些都会提升WDC智能合约的运行性能。
WisdomChain智能合约支持的语言 WisdomChain的智能合约是基于WebAssembly字节码实现的虚拟机,因此支持的语言是AssemblyScript。后续还将陆续支持C#、VB.Net、F#、Java、Kotlin、Python、C、C++、GO、JavaScript等多种高级语言。这使得90%以上的开发者无需学习新的语言即可参与WisdomChain智能合约的开发,甚至可以直接将现有业务系统中的代码移植到区块链上。这将大大增加WisdomChain的普及。