中本聪建立了比特币,创造了加密货币和区块链的开端。虽然他创出了这举世无双的成就,但是他的发明始终逃避不了应用性偏低,速度偏慢的批评。但是,Vitalik Buterin等人建立的以太坊(Ethereum)将情况大扭转,除了衍生出很多代币项目,也令智能合约(Smart contracts),以及以太坊的各种技术协定(Protocols)大为发展。但到底这些智能合约和技术协定,其实是指什么?
在这篇新手专题的文章,你将能够掌握:
- 智能合约的历史
- 智能合约的基本运作方式
- 智能合约的优点与缺点
- 部分ERC 协定的介绍
智能合约的历史
早在1997年,密码学家Nick Szabo已经在他的论文“Formalizing and Securing Relationships on Public Networks”当中提及“Smart contracts”(智能合约)一词,这是学术界首次有人提及智能合约的纪录。当时Szabo已经在文中大幅提及智能合约,并指出在电脑网络履行智能合约,相比起履行纸本合约的过程更加安全和可靠。
至今,智能合约因为区块链的出现得以发扬光大。区块链,以及应用分散式帐本技术(Distributed Ledger Technology, DLT)的平台,都是智能合约频繁出现的地方,包括相当有名的以太坊(Ethereum),以及瑞波公司(Ripple)推出的项目“ Codius”。
智能合约愈趋普及,美国商品及期货交易委员会(CFTC)旗下的金融科技创新部门LabCFTC亦在2018年11月亦推出智能合约入门手册。CFTC认为,在智能合约发展的同时,也需要就解决纠纷的议题,拟定好治理标准。
智能合约的基本运作方式
智能合约采取的是自动化执行方式。程序员将智能合约放在区块链上面执行之前,首先要为智能合约撰写大量条件式(conditional)内容。简单来说,就是例如「如果XXX 的话,之后就要实现YYY」这一类语句,所以“if”、“when”、“then” 等等跟条件相关的字词在智能合约条文当中是极为常见的。亦因为这样,有说法认为如果将智能合约形象化,它会跟一副骨牌有相似的地方:它们唇齿相依,只有处于最早期的条件获得满足后,才能够慢慢向前推进。
大家来到这里或者都会想到,智能合约实质上是一个运载大量条件的自动化程式。既然如此,其实用到区块链去执行智能合约也不是必然。的确,区块链和智能合约不必互相依赖才能够存在,但是区块链的特性,其实对于智能合约的生存和发展有着很大帮助:基于区块链不可篡改,令已经放到区块链上的智能合约能够安全储存和执行,不会受到干扰,这对于讲求信用的文书,例如合约等都是十分重要的。
智能合约的优点与缺点
正如上面提到,智能合约因为被放上区块链,所以也附带了区块链的好处,就是不可篡改,而且内容更加被自动备份在网络的多个节点当中。即使有节点受到攻击或者被黑客入侵,合约的内容和执行进度都不会受到影响,能够确保到智能合约的完整性和公正性。
除此之外,智能合约可以提升行政效率。以往可能经历一个月的文件来往、资产转移、或者是核证程序,都因为智能合约快速地执行条件式指令,将速度大幅提高,节省了人力物力。现时一些保险公司都对于区块链和智能合约感到兴趣,因为他们都明白智能合约能够加快理赔程序,令病人或者保单持有人尽快获得支援。
一般而言,只要区块链是公有链,或者区块链本身没有限制访问权限的话,当中的所有交易和活动,包括智能合约的执行情况都是公开和透明的。执行进度、资金流向等资讯都是一清二楚,而且可以层层追溯,无法隐瞒。虽然智能合约和区块链都属于新事物,现时仍然投放不少资源研究和完善,但长远也可以减省成本。
不过,基于透明度高和自动化的特点,将智能合约放上区块链前必须小心设计和反覆检视,否则事后才发现有技术漏洞,就要花时间修复,届时黑客已经有机可乘。例如在2016 年,在以太坊网络上的智能合约项目“The DAO”(Decentralized Autonomous Organization, 去中心化自治组织)就曾经被黑客发现漏洞,偷走360 万个以太币(Ether, ETH),最后以太坊需要以「硬分叉」(“Hard Fork”)形式,将被偷币的分支链岔出有效链之外,事件才告平息。
部分ERC协定的介绍
以太坊是现时执行智能合约的最大平台之一。但是除此之外,以太坊的巨大扩充性亦开拓了不少应用可能,包括代币种类的多元化。能够让代币推陈出新,不断增加ERC 协定的选择,可以说是一个重要原因。
ERC 全名是“Ethereum Request for Comments”,属于技术协定文件的一种,里面详述了应用以太坊技术的代币开发守则,用途是让智能合约的开发员参照阅读,令他们在以太坊上面更流畅地撰写程式和代币。各份文件在未成为ERC 之前,会先被纳入「改善建议书」(Ethereum Improvement Proposal, EIP)当中讨论,通过后才会成为正式的ERC 协定。现时业界已经有相当多种ERC 协定,以下将挑选较为受注目的协定跟大家介绍。
ERC20是现时最有名和最普及的ERC协定,绝大部分的首次代币发行(Initial Coin Offerings, ICO)项目都是要发行ERC20代币。ERC20主要协助程式员决定代币的6大功能,包括总发行量,收集和发送功能等。ERC20的编码相当简单,网上已经有简单教学提供相关编码,就算未深入明白区块链和智能合约的用家,都可以根据编码去定义和创造新的代币,相当快捷。所以有讲法认为,ERC20的低门槛促成了欠缺实务的「空气币」大量出现。
另一个有名的ERC协定是ERC223,它是针对ERC20的缺点而开发的:虽然ERC20相当方便,但原来ERC20代币拥有者如将代币传给无法接收代币的智能合约,这些已经传送出去的代币就会被销毁,无法取回。面对上述的情况,ERC223协定会自动检查会否出现不正常的传送程序,一发现有问题就会向用家表示故障,不会送出代币,这就能够解决ERC20的传送隐忧。而且,ERC223的交易成本亦比ERC20更低,主要是使用更少的“gas”就已经能够送出代币。但是ERC20已经相当普及,ERC223要增加市占就有一定难度,而且亦要交易所等单位配合和更新。
除了上述两个协定之外,ERC721协定也引起外界讨论,焦点在于它开拓了一种崭新的代币种类,就是「不可替换代币」(“non-fungible token”)。提出ERC721的目的,就是要照顾不能替换和切割资产的需要,例如一辆汽车,一间别墅等等:这些产品基本上都是不能够分割拥有权的,那类似ERC20和ERC223这类属于「可替换代币」(“fungible token”)的技术协定就未必合用了。ERC721协定下记载的资产虽然不能分割,甚至相当独特,但一样可以透过智能合约追踪。去中心化应用(Decentralized Applications, dApp)「谜恋猫」(CryptoKitties)就是使用ERC721协定的成功例子,里面每一只猫的特质和外表都是独一无二的,正好配合了ERC721的特色。
因应证券型代币(Security Token, STO)概念的发展,ERC1400协定的建议亦被提出。根据开发员Stephane Gosselin、Adam Dossa、Pablo Ruiz和Fabian Vogelsteller的提案,ERC1400协定应该具备一些功能,例如为了配合监管部门执法,协定下的代币可在必要情况实施「强制转移」(Forced transfer)。此外,协定亦需要附带发行和收回代币功能。另外,协定亦应该设立到一个标准介面,去验证和判断不同的交易状况,例如成功交易,或者交易失败。最后,ERC1400应该要向ERC20和ERC777协定兼容。现时ERC1400的讨论仍在进行中,大家可以来这里进一步参考。
总结
智能合约的高应用性,现时已经吸引了不少人士和企业尝试,更加肯定了区块链的功用。现时,不同种类的智能合约继续在不同的分散式帐本平台以及区块链,例如在以太坊持续开发当中。只要以太坊能够持续发展和完善,智能合约以及各种ERC 协定必定可以继续向前,帮助到各行各业的发展。
本文链接地址:https://www.wwsww.cn/ytf/2690.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。