传统合约
合约(Contract)是一般人日常生活中怎么也无法绕过的一环。举凡劳动合约、一般商品交易...等,你可能没上心过,但事实是你生活中的任何买卖都有合约在背后支撑。合约就是所有商业行为的证明。
要了解智能合约是如何被创造出来的,你必须要先对合约的产生有基本的概念。
先来看一下一份合约会经过哪些流程:
撰拟 : 一般的定型化契约要记载的事项包括:当事人、交易标的、金额、交付方式、日期、签约各方的识别资料,如签名或用印。
签署:有些合约只有买卖双方签署,而有些合约则多存在一层中介,譬如股票买卖。股票的买卖合约就是卖方、买方、以及交易所签订的三方合约。之所以股票交易不是直接由当事人双方直接签订契约,而必须透过一个中介,主要作用在于:不管发生什么事情,交易所都会履行单边合约,所以买卖双方都免除了交易对手(Counterparty) 不能履行合约的风险。交易所的存在保证了大量交易的流动性。想像一个买卖双方都随时可能违约,交易无法受到保障的市场,谁会想要加入呢?
签署部分最重要的就是确认合约当事人有哪些人。
执行:就是根据合约内容履行合约,合约上说我要付给你100元,我就得付给你100元。
以上是正常的流程,但事情往往不会这么顺利。
(突发状况)纠纷:当合约当事人双方对条款文字的解读不一致时、或是有一方恶意违约时,纠纷就会产生,这时候会需要一个客观公正的第三方来作出裁决。裁决效力最强的是法院,司法判决的结果是必须强制遵循的。其他涉及第三方中介还有像是评议、调处、仲裁等,透过中介不断沟通协调,最后使当事人达成一致共识。
这中间过程需要消耗大量时间与人力成本。
智能合约
讲完合约的基本概念,我们来定义一下什么叫智能合约?以及智能合约取代了传统合约流程的哪些部分?
智能合约是用代码撰写合约,想简单一点,其实就是一个"如果....就... (If.....then...)"的步骤。用选择权商品(Option)自动执行为例,条件可以是”如果一个月后Apple的股价涨到200元,我就用150元的价格买入。“
当这个代码被设定好后,你就该干麻干麻去,一个月后如果Apple的股价达到200元,代码就会自动帮你执行交易,买入Apple股票。
你也可以把自动贩卖机看成是一个销售商品的智能合约(我如果投了10元,就掉出一瓶果汁),只是这个合约仅限于在特定机器上才有办法执行。
所以,"执行"的部分,被智能合约的自动化代码给取代了。我今天借100元给你,约定好下个月15日还钱,利息2%,我不需要记得下个月登门拜访你,亲自跟你要钱;你也不需跑银行一趟汇款给我,所有的解款步骤都由合约自动执行。
但,执行有没有可能产生纠纷?区块链上的智能合约真的有办法强制执行吗?法律上的效力为何呢?
我认为代码的执行力绝对比法条文字强,产生纠纷的概率也较低。人类的语言系统是有缺陷的。之所以法律存在很多诡辩空间,就是说话的人,借助语言系统的缺陷,偷换了概念。代码的逻辑由于极度严谨,说一不二,解释空间会比法律文字上少很多。
怎么在区块链上运行智能合约?
ETH的技术支持智能合约。合约只是一段代码,任何人只要付一点费用,就能把他的代码上传,成为ETH体系内的合约。
不过也正因为合约由代码所构成,最怕的就是无限回圈(infinite loops)。一旦陷入回圈,程式就会不断运行下去。所以ETH设置了一种机制,叫做燃料(gas),来限制合约不会被无限运行。具体怎么做?
燃料就是每次执行指令需要耗费的成本,比较困难的指令耗费的成本也较高。要限制合约的运行次数,可以设定一个上限值,当达到上限值(也就是燃料用完了),程式就会自动终止。
以上种种听起来好像不是很高大上,你可能会觉得这跟Amazon的云服务,CRM...等云计算有什么不同?
这之中最大的差别就是区块链上的智能合约同步了金流和信息流。把金流加了进来后可以玩的就很多了,包括:市场预测(prediction markets)、智慧资产(smart property)、托管支付(escrowed payments)等。
智能合约遇到纠纷或争议时,该如何解决?
今天假设我上网买了一杯咖啡外送,但我不想在还没有收到咖啡前就把比特币转出去,怎么办?目前可行的方式是透过支付宝等这类第三方机构托管。
而在比特币的环境里,使用的合约工具是脚本(script,可以先很直白的理解脚本就是运行比特币交易的程式语言、指导比特币运作的剧本)。我要怎么用脚本来发起第三方托管的交易?
多重签名制度(MULTISIG)可以帮你完成。我可以发起一个多重签名的交易,规定“A转帐给B”这个行为,必须要等到A、B、或是不相干的第三人C,三人之中两人以上签名后,转帐的币才能被使用。C在这个交易中,扮演的就是第三方仲裁者的角色,可以调解交易过程中可能发生的纠纷。
总结
如果上面的描述你听完后一点也没有被惊艳到,那就对了。智能合约和传统合约的不同,除了自动化执行外,最大的特色就只是同步了金流和信息流而已。套一句王裕全老师的话:伟大的革命往往是静悄悄地发生的,并且当时不为人们所理解。
不过还是欢迎你想像一下,这个世界的摩擦力降为0会是什么样的情况吧,届时现实与虚拟的边界将不复存在。