“智能合约”是如何解决现实中的信任危机的?

又到了知币“星期三课堂”的时间了!上一堂课,我们从中本聪用“比特币协议”这个终极方案,讲述了其解决困扰计算机科学家们数十年的难题——拜占庭将军问题。主要是区块链经常提及的“共识”的实现。

“智能合约”是如何解决现实中的信任危机的?

什么是智能合约?

今天,我们讲一讲区块链经常提到的另外一个词——“智能合约”。

官方定义

智能合约(Smart contract),是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。

智能合约概念于1994年由Nick Szabo首次提出,其在发表于网站的几篇文章中提到了智能合约的理念,即“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”

智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。

举个例子:

或许,大家都有经历过这样或者那样的纠纷,这些纠纷即便是在有合约的情况下,执行起来依然需要耗费大量的社会资源。

比如说,甲、乙两家公司达成合作签订合同,后来,甲方违反合同约定,导致乙方损失惨重。而乙方想要挽回损失或得到赔偿,协商无果最终只能向法院提起诉讼,请求法院进行裁定。但是,就算乙方赢得了官司,判决书生效后,甲方仍然不执行,最后乙方还得向法院申请强制执行。

“智能合约”是如何解决现实中的信任危机的?

论合同的效力


在这一系列的过程中,举证、立案、聘请律师、开庭……整个流程下来,既耗时,又费精力,特别是对于受害的乙方,到最后直接是“累觉不爱”的状态。

而智能合约,就是一段写在区块链上的代码,通过计算机的预先制定,能让这一切变得无比简单。并且,不涉及人类主观想法,一切皆代码。

按照前述案例,甲、乙两家公司达成合作,可以将制定好的条款以代码的形式放到区块链中。当甲方出现违规,触发合约条款时,智能合约将直接按照条款约定自动执行,以有效规避因甲方违约而对乙方造成的侵害。

智能合约的工作原理

智能合约由构建、存储、执行三个步骤组成。

首先,智能合约由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为。协议中明确了双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。再比如说,甲把一套闲置的房子租给乙,这份智能合约中规定乙方必须在每月10号前给甲方支付房租,甲方必须在收到房租时马上给乙方钥匙。

因此,一旦按约定完成编码,这份智能合约就被上传到区块链上。此时,全网验证节点都会接收到甲和乙的租房约定。

在履约过程中,智能合约会定期检查是否存在相关事件和触发条件;满足条件的事件将会推送到待验证的队列中。假设乙方在4号提前打房租给甲方,这个事件就成了该合约的触发条件(约定的是每月10号以前)。

触发事件后,区块链上的验证节点对该事件进行签名验证,以确保其有效性;等大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知甲乙双方。

最后,成功执行的合约将移出区块。而未执行的合约则继续等待下一轮处理,直至成功执行。

“智能合约”是如何解决现实中的信任危机的?


值得注意的是,部署到以太坊上的智能合约是要消耗ETH(矿工打包费)。就好像把现实中的仲裁人、法官、执行人搬到了区块链上,尽管他们成了一行行的代码,但也是珍贵的计算机资源。智能合约也遵循“Less is more”,逻辑应尽可能地简单。逻辑越复杂,消耗的ETH就越多。

当然,既然执行合约要消费ETH,那么如何支付消耗的费用呢?其实,这跟充值消费是一个道理,你先进行ETH充值,系统会自动执行消耗。当预充的ETH不足以支撑整个执行过程,合约会回到初始状态,即便是执行到一半,也是如此。因此,在合约执行前,可以先判断ETH的消耗量,或预充足够的ETH,以确保合约的顺利执行。

智能合约的用途

在区块链的世界里,所有参与者共同维护一个区块链账本,所有交易数据无法篡改、不可伪造,还能减少人工对账的出错概率和人力成本;随着智能合约的普及,面对潜在的纠纷,一切交给代码“裁决”。

最后举一个例子。就拿买房来说吧!我们买房需要做的每一步事情,都可以在智能合约完成。

由于智能合约是建立在区块链的基础上,所以出售房屋方完全可以将所有信息传递到区块链上的智能合约中,包括房屋价格,所属人,产权确认等一系列所需资料。这些都是完全透明的。

“智能合约”是如何解决现实中的信任危机的?


假设你要购买房子需要100万元,购房者将对应的加密货币发送到合约地址,这个智能合约就会执行。其间不需要一个律师或者其他第三方验证,因为信息都在区块链上存储着,交易成功之后区块链上的信息会自动更新。并且区块链上的每个节点都会进行更新总账单,这样一来,区块链上的每个人都知道这套房子现在是属于你的财产了。

此外,智能合约还可以允许多人绑定同一财产。比如你想买房子,由于之前你们是3人设立的智能合约,因此单单一人是无法购买的。唯有你们3人同时进行签名同意,系统才能够通过这笔交易。这种方式能够更好的确保财产的安全性。

智能合约的价值在于,降低了交易成本,更高效且确保安全的前提下进行交易。将之前麻烦的程序统统交给代码进行处理,而且代码的犯错概率要远小于人为。


分享到:


相關文章: