小白必读:什么是智能合约?

如今的互联网话题总是离不开区块链,但凡提到区块链,话题必然是比特币、共识机制、以太坊……所以今天要科普的是区块链另外一个重要应用——智能合约。

早在上个世纪90年代,计算机科学家、法学家及密码学家Nick Szabo就提出了智能合约的概念。他将智能合约定义为“一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议”。但由于当时缺少可信的执行环境,智能合约并没有被应用到实际产业中。直到比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,这个与互联网几乎同龄的理念才得以被应用。

那么智能合约到底是什么呢?

简单地说,智能合约就是传统合约的数字化版本。它们是在区块链数据库上运行的计算机程序,可以在满足其源代码中写入的条件时自行执行。智能合约一旦编写好就可以被用户信赖,合约条款不能被改变,因此合约是不可更改的。

传统合约会受到各种维度的影响,自动化维度,主客观维度,成本维度,执行时间维度,违约惩罚维度,适用范围维度等,而智能合约则在很大程度上解决了这些问题。

你只需要提前规定好合约内容,程序就会在触发合约条件的时候自动执行合约内容。

举一个简单的例子。在美国购买车辆保险时,保险公司会与客户签订一份协议,客户将银行账户绑定在保险账户上,每月定期从银行账户扣款。客户对保险公司和对银行的信任,使这份协议得以实施。这个过程是某种意义上的智能合约,但却是显著中心化的。智能合约用算法来取代传统的契约订立方式,杜绝任何可能的人工干预(如欺诈)及不确定性(如违约、纠纷)让合约结果变得更为清晰、可预测,在不需要信任任何人的情况下保障协议和交易安全。

智能合约的工作原理和执行步骤,我们简单划分为三步:

1、构建:智能合约由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为。协议中明确了双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。

2、存储:智能合约将通过P2P网络扩散至每个节点,并存入区块链中;

3、执行:智能合约定期进行自动机状态检查。区块链上的验证节点先对该事件进行签名验证,以确保其有效性;等大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知用户。成功执行的合约将移出区块。而未执行的合约则继续等待下一轮处理,直至成功执行。

举个例子,你把一套闲置的房子租给A,那么,这份智能租约中就规定了A必须在每月5号之前给你打房租、你必须在收到房租时马上给对方钥匙等条款。一旦编码完成,这份智能合约就被上传到区块链网络上,即全网验证节点都会接收到你和A的租房合约。合约开始执行,服务器从A的抵押资金中扣除房租,发到你的账户上,并把房子的开锁秘钥发给A,记录记到区块链。每个月1号智能合约都会检查租约时间,没到期,就会自动扣除租金,然后把新的开锁秘钥发给A。如果租约到期,服务器就会生成一条合约纪录,标志合约终止,并发布到区块链上,合约终止。

智能合约有什么优点?

1、将合约以数字化的形式写入区块链中,因区块链的特性,数据将无法删除、修改,只能新增,整个过程透明可跟踪,保证了历史的可追溯性;

2、因行为将被永久记录,可极大程度避免恶意行为对合约正常执行的干扰;

3、去中心化,避免了中心化因素的影响,提高智能合约在成本效率方面的优势;

4、当满足合约内容时,将自动启动智能合约的代码,既避免了手动过程,同时又保障了发行者无法违约;

5、由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。

智能合约的应用可以极大降低现代社会的信用成本。一旦区块链技术发展成熟,智能合约与区块链的结合可能会让人类社会结构产生重大变革。智能合约解决了传统合约中的信任问题,大幅降低了信任成本,虽然智能合约还有一些问题,但随着技术的不断发展,必然会走向一个好的发展之路。

(以上文章摘自链虎财经)

关注蓝钻财经,微信号上看实时行情!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713A1POM700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券