传统合约需要双方或多方通过协议进行交换,必须相互信任才能履行交易。否则,一旦有一方违约,就需要依靠社会监督和司法机构来解决。而智能合约不需要相互信任,因为智能合约不仅由代码定义,还由代码强制执行,完全自动且无法干预。
举个例子,大华和小花打赌明天是否会下雨,赌金10元。如果双方都守信用,明天到来时赢家将得到对方的十元钱。但是如果大华否认昨天打赌,事情就没办法解决了。毕竟他们没有签署文件或签字,即使有也要通过法院解决纠纷。但是,谁会为了这点小钱去打官司呢?
生活中有许多类似的例子,一方违约可能需要消耗大量社会资源来执行合约。但是,如果合约写入区块链的代码中,一切都变得简单。一旦明天下雨,智能合约代码将自动执行,当然奖励将以虚拟数字货币形式给予。换句话说,代码取代了原先一系列复杂的社会监督和公正体系的工作,效率更高。
那么,如何执行智能合约呢?每个想要部署智能合约的人都需要懂一些编程,否则他们将无法将真实需求反映到区块链上。部署到区块链上的智能合约代码应尽可能简单且逻辑不过于复杂。虽然以太坊支持各种复杂逻辑,但是逻辑越复杂,需要消耗的以太币就越多。就像定制衣服一样,虽然可以随意定制,但是工序越复杂,材料消耗就越多,价格就会越高。
以太坊为常用代码逻辑规定了具体的价格。例如,执行一步加法需要多少以太币,执行一步乘法又需要多少以太币。但是,无论是智能合约还是定制衣服,基本上都可以预先估算价格。如果价格过高,大家会自动减去那些非必须需求。
部署到以太坊系统上的合约会随着矿工挖矿的过程自动执行。如果合约执行到一半时预付的以太币不够了,就会回到初始状态,并且之前使用的以太币不会退还,因为计算机资源已经使用。当然,如果合约执行完成,多余的以太币将会返还。
为什么人们提到智能合约时首先想到以太坊而不是比特币?这是因为比特币支持的智能合约代码能力有限,稍微复杂的逻辑需求可能不适用于比特币。而以太坊创立之初就支持完备的智能合约代码,基本上可以执行任何复杂的代码,当然合约越复杂,需要消耗的以太币也越多。
智能合约的价值在于其能在区块链技术中扮演越来越重要的角色。传统业务执行过程中,流程周期长、环节多、透明性差。有些环节可能还没有数字化,甚至需要人工操作,效率很低。数据存在于不同参与方的数据库中,容易导致数据不一致和信任问题。
引入区块链技术后,大家将共同维护和更新一个共享的数据库账本。所有参与方都拥有和更新自己的账本,相关数据和文档都会写入共享账本。信息流和资金流都在区块链上完成,不存在不同步、伪造和高交易成本的问题。可以说,这很好地改变了现有商业模式。
虽然智能合约仍存在许多问题,但有一件事是肯定的:智能合约已经深入人心。它们是全球经济的基本构件,任何人都可以接入这个全球经济,无需事前审查和高昂的预付成本。它们从许多经济交易中去除了对第三方的信任需求,并将信任转移到可信任的个人和机构。
来源公众号:库尔班区块链