编者按:本文来自深创链(ID:deepychain),作者:思二勋,36氪经授权发布。 区块链如火如荼的发展着,在区块链中我们经常听到“智能合约”一词,尤其是说到以太坊及代币等话题的时候,“智能合约”这一概念更是频繁被提及,可见它在区块链的世界中扮演着非常重要的角色。
那智能合约的概念是什么?它与区块链又有哪些联系呢?
通俗来说,智能合约是运行在计算机里面的,用于保证让参与方执行承诺的代码。之所以目前都是基于区块链的智能合约,是因为区块链的几大特性:去中心化、共识机制、不可篡改、高可用性、降低成本。
去中心化 由于智能合约是一套程序,具备自动运行的特点,而且在触发条件后就可执行,因此去中心化就必不可少,其中去掉的就是“人”的操作,免除了人为因素的干扰,塑造了一种公平、公正的执行和分配环境。
共识机制 智能合约强调的是触发条件后自动执行,但其前提是必须解决信任问题,即共识机制,也可以理解为互信。区块链中的一个重要的特点就是共识机制,所有的操作都需要全体验证、确认后,才算成功。
不能篡改 智能合约一旦建立以后,就不能修改,以避免违约。区块链同样有不能篡改的特性,这一点与去中心化和共识机制相辅相成,共同形成一个公正、透明的平台。它不仅实现风险控制,而且提高了违约的成本,对于智能合约非常有利。
高可用性 因为区块链具中的智能合约具有不可篡改的特性,可以有效解决双方不信任问题,应用到各行各业后又能解决行业长期存在的诸多痛点,因此具有高可用性。
降低成本 去中心化、共识机制和不可篡改,区块链的这三大特性均有利于智能合约规避违约的风险,也降低了产生违约的成本。于此同时,智能合约的执行效率也将得到大幅提升。
所以,区块链的智能合约,你也可以理解为,双方在区块链资产上交易转账时,触发执行的一段代码(合同),我们称它为智能合约(这是目前最常见的)。 我们拿今年最流行的ICO举例(目前国内禁止ICO),ICO的项目发起方发起了一次代币众筹募资活动。筹集的是虚拟货币以太坊,项目方会根据投资的以太坊来兑换相应的公司权益代币(以太坊ERC20代币,对应着这个项目的价值),我们普通人把以太坊转账给项目方后,如何保证项目方一定会把他们的权益代币给我?这里就用到了智能合约。
当你把你自己的以太坊转移到项目方的合约账户地址后,会执行一段开源的合约,里面规定了一系列信息,比如我们筹集资金多少时间,筹集多少个以太坊,兑换比例等等,这些一目了然,有了这个,你投资出去的以太坊,会自动收到项目方发来的代币。
现在对于一个公司的员工来说,它的收入往往是这样产生的:除了约定的工资之外,公司每隔一个季度或一年还从利润里拿出一部分按照职位、贡献的不同,给每个人发一笔奖金,但是,这种分配方式是很粗放的,每个人最终能拿多少钱,一方面要看公司的整体效益,另一方面还要看领导或老板对你的认可度,中间难免会有个人的意愿和“偏爱”在里面。 而且,这样并不能真实而精确的反映你创造的价值,当有了智能合约后一切价值贡献和价值评价都是按照合约来,即出现了所谓的价值互联网,让价值互相联通并自由流动,通过智能合约就排除了诸多人为性、行政性、第三方性的因素干扰或阻隔。
价值互联网正在诞生使得商家和消费者的关系正在从“买卖关系”升级成为“服务关系”,未来比拼的是你的深度服务能力,谁的智能合约更有利于用户和合作伙伴,能给他们带来好处,谁的服务就会更好,也就更能吸引用户和合作伙伴进入你的服务生态。 于是我们突然发现原来智能合约就是由程序化控制,符合条件强制执行的合约。
比如说你和你美腻可爱女朋友约定一三五你收拾家务,二四六她收拾家务,周天交给你们的爱犬旺财。 为了让这个约定生效,你们两个一起将这个约定写在纸上形成合约,并拍照告诉了双方的亲朋好友,在告知亲朋好友的时候给他们发了红包,让他们在需要的时候帮助执行合约。 后来你很懒,什么时候都不想做家务,你女朋友于是召集七大姑八大姨,一起拿着合约对你强制执行,有合约截图在,都容不得你抵赖。
我们再说的深度一点,聊聊智能合约的工作原理: 开发人员会为智能合约撰写代码。智能合约可用于交易和(或)两方或多方之间的任何交换行为。该代码包含一些会触发合约自动执行的条件。如: (1)首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。 (2)两个以两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性。 (3)签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。 在房屋买卖或租赁市场中,与房屋租金协议相关的智能合约只有当业主收到租金才会触发自动执行,并将公寓的安全密钥发送给租户。这个合约可以确保租金的定期支付,并且每个月重启。
编码完成后,智能合约就会被上传到区块链网络上,即它们被发送到所有连接到网络的设备上。从另一种区块链应用比特币的情况来说,这就好像把关于比特币交易的网络更新上传到区块链上。
一旦将数据上传到所有设备上,用户就可以与执行程序代码的结果达成协议。然后更新数据库以记录合约的执行情况,并监督合约的条款以检查合规性。这样一来,单独一方就无法操纵合约,因为对智能合约执行的控制权不在任何单独一方的手中。 随着技术的不断发展,智能合约也逐渐超出了合约本身的范畴,能够支持更为通用而可信的计算模式,这对于监管和溯源也具有十分重要的意义。
|