合约交易系统开发详解|DAPP智能合约交易平台开发搭建
什么是智能合约?
智能合约之父尼克·萨博(Nick Szabo )博士在1994年创造了智能合约概念并于1997年提供的简化版,通过抵押品对抵押条约进行规范化。在区块链没有出来之前智能合约式中没有普及开来,一个重要原因是因为缺乏能够支持可编程合约的数字系统和技术。
【本由gong1003my整理】
详细的解释就是:智能合约其实是一种计算机协议,用一段计算机指令实现自我验证、自动执行,并产生可以验证的证据来证明合约操作的有效性。
当智能合约的双方在区块链上产生资产交易的时候就会自动触发一段代码来自动完成具体的交易流程,这串计算机代码就是智能合约。
简单理解就是:智能合约是运行在区块链上的一段代码,一旦某个事件触发合约中的条款,代码即自动执行。
怎样实现智能合约?
实现智能合约就需要“图灵完备”的计算机编程语言。“图灵完备”这个词大家似乎了解的不多,可以简单地理解为能把世间一切可以计算解决的问题都计算出来的,这样的一种虚拟机或者编程语言就叫图灵完备。
举一个例子说明一下:比如两口做饭的锅,一口锅可以实现一切的烹饪方法煎、炒、蒸、炖、炸、汆、涮、卤等,而另外的一口锅则只能实现蒸和炖,其他的都不能实现,那么前者就是图灵完备的,后者则不是。
智能合约之所以可以在以太坊上完美应用,就是因为以太坊在其区块链上提供了一种近乎图灵完备的计算环境。只要是编程语言能够实现的计算,其都能支持,这也为智能合约在更加广泛的环境中得以应用坚实了基础。
代码就是法律?
对于智能合约的字面解释导致了“代码就是法律”的词意变化,这一词义的改变意味着智能合约具有约束力,并且被理解为法律文件。很多软件工程师意识到创造一个完全无误差的代码是不可能的,一想到计算机程序具有法律效力就让人手心出汗。这里有很多明显的问题:
1、代码含有bug。写一个没有bug的代码实在是太难了,即使采取了所有可能的预防措施,在复杂的软件中也总会出现没有预料到的执行路径或可能的漏洞。
2、法律合约是受解释和仲裁的约束。很难去创造一个缜密的合约。在任意一个大的合约里,可能出现的文稿错误以及一些条款需要解释和仲裁。避免这些争论就是法庭的作用。假设在一个合法合约的39至40 页规定售价是100美金,然后在某一页中打了一个额外的0,法庭将以“契约精神”来裁决。一台电脑只能执行预先写好的条款,区块链的不变性增加了这样这个问题即合约不容易修改
3、软件工程师不是法律专家,反之亦然。起草一份好的合约需要各种各样的技能,不一定与编写的计算机程序兼容。
领取专属 10元无门槛券
私享最新 技术干货