春节前,在币乎上曾有过一阵对去中心化交易所“伪去中心化”机制的热点讨论,引发了很多人对去中心化交易和智能合约的关心和讨论。而随后去中心化交易所黑马WhaleEx鲸交所带着智能合约多签机制闪亮登场,用强有力的审计和安全措施吸引了所有人的目光。
如果在去年见多了交易所花式跑路的套路,就知道真正的去中心化交易所对于大资金来说有多么重要了。在区块佣兵系列文章对智能合约和去中心化交易进行通俗易懂的解读后,也是深刻体会到对于投资者来说,安全是重中之重,特别是对于大资金,智能合约加上多签机制在目前阶段就是对于去中心化交易的一颗定心丸。
1、智能合约
1)浅析智能合约。
谈到区块链,必定离不开“智能合约”,它是由跨领域法律学者尼克·萨博提出来的。他在上世纪90年代自己发表的文章中提到了智能合约的理念“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”
也就是说,智能合约承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。
在我们的现实社会中,我们会遇到很多场景需要签一些合同,以约束双方的经济行为,但是即使我们签了合同,也无法保证在合同期内双方就一定能完整履行合同内的承诺。
传统的合约会受到各种维度的影响,主客观维度、成本维度、执行时间维度等,而智能合约则在很大程度上解决了这些问题。你只需要提前规定好合约内容,程序就会在触发合约条件的时候自动执行合约内容。
2)智能合约面临的问题。
如果一切程序都能像设想的那样进行,所有的交易合同都没有必要通过第三方完成,只要合同的条款可以用编程语言来表达,让计算机自动处理就行了。这样就避免了合同执行中的尔虞我诈,还节约了大量的交易成本。这个设想当然是很天才的,但是,它里面有两个漏洞。
第一、交易是要涉及到资产的转移的,假如说一个交易完成以后,资金的转移还要到银行去进行,那就丧失了智能的意义了。所以,为了全程实现计算机的控制,交易的资产必须是以数字资产的方式存储和呈现。
第二、计算机程序存在着被篡改的风险。所以,怎么确定合约条款的可信度就是一个大问题。
3)区块链+智能合约。
而区块链的出现,则让上述这两个问题有了答案。区块链具有信息不可篡改,去中心化的性质,完全使得交易合约的条款可信度有了保证,然后比特币的成功又让人们看到了数字加密资产也完全具有可行性。
这两点突破以后,一种基于区块链的智能合约就浮出水面了。这也就是为什么区块链的概念起来以后,智能合约也闯进了我们的视野。
因为基于区块链技术的智能合约,不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行,整个过程透明可跟踪、不可篡改。
同时,由区块链自带的共识算法构建出一套状态机系统,使智能合约能够高效地运行。这样一来,智能合约解决了传统合约中的信任问题,大幅降低了信任成本。
4)智能合约的执行。
那么智能合约具体是怎样执行的呢?智能合约由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为,协议中明确了双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。
一旦编码完成,这份智能合约就被上传到区块链网络上。智能合约会定期检查是否存在相关事件和触发条件,满足条件的事件将会推送到待验证的队列中。区块链上的验证节点先对该事件进行签名验证,以确保其有效性。等大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知用户。成功执行的合约将移出区块,而未执行的合约则继续等待下一轮处理,直至成功执行。
2、智能合约的问题与可更改性
但是,和区块链其它的应用一样,在有机会大规模改善合约的执行效率的同时,智能合约其实也面临着自己的问题。
1)智能合约的安全性问题。
一个企业或者一种技术,它的盔甲往往就是它的软肋。基于区块链的智能合约最大的优点是按照合同条款,不折不扣,不可逆地执行。但问题也出在这儿,假如说你不幸签署了一个欺诈的合同,交易也会不可逆地执行。平时如果碰到这种事情,我们有机会通过中心化的系统来撤销合约。但如果是智能合约,就不行,因为它不可逆。所以,它的安全性是存在问题的。
2)智能合约的隐私性问题。
智能合约要实现智能就必须上链,上链之后,这个合约的代码对所有节点就是公开的了。这可能会引发其他非合约参与者的反应。比如你和对手现在签了一个衍生品互换合同,这个信息会在链上公布。即使其它的机构不知道你是谁,但是,这个信息就足够让它们来进行套利,这无疑会损害交易者的利益。
3)以太坊智能合约的不可更改性。
在区块链上,代码即法律,发布的智能合约没法修改,一旦出现安全问题,最终命运只能是死亡。而由于代码没法修改,漏洞没法修复,项目方代币只能作废,推到重来。以太坊在设计之初,将智能合约设计成了一旦部署就不能修改的模式。
这种设计有可能是为了提高智能合约的可信性。但是只要是由人编写的程序,就一定会出现错误和缺陷。以太坊这种设计违背了程序设计的一般规律,在智能合约出现漏洞的时候可能会造成无法弥补的损失。
去年就出现了大量的以太坊体系智能合约的漏洞,造成了巨大的影响,有的代币也因此毁灭。目前以太坊体系区块链智能合约的机制设计,加之漏洞可能带来的毁灭性影响,使得已上线智能合约的漏洞的报告和处理变得非常棘手。
对于厂商来说,由于智能合约不可修改的特性,一旦上线发现漏洞,只能选择重新部署新的合约,这将付出巨大的代价,因此有的厂商可能会选择不响应不处理。
而对于安全研究者来说,在厂商修补漏洞前公开漏洞细节对于厂商不利,但如果不公开,风险会随着时间的增长迅速膨胀,漏洞一旦爆发可能会造成更大的危害。
因此,面对这种情况,要么在智能合约上线之前,对其进行全面深入的代码安全审计,尽可能的消除漏洞,降低安全风险。要么设定智能合约可更改可修复,而EOS则对以太坊智能合约体系进行了修改。
4)EOS智能合约的可升级性。
随着以太坊智能合约不断爆出漏洞问题,项目方逐渐意识到智能合约的代码里其实可以加上中心化治理机制。比如项目方有权暂停合约的一切动作,冻结交易,这样即使合约被攻击,只要风控及时,是可以把攻击者持有的代币冻结的。
再比如,项目方分模块编写智能合约,入口合约不变的情况下,其他模块合约都可以采用替换的方式来进行任意升级。
到了EOS的世界,智能合约的中心化治理就更简单了,入口合约可以任意升级,只要项目方握住权限不放。但是这样的中心化治理机制却违背了“代码即法律”的准则。这也是EOS的共识机制引起很多用户质疑的地方。
优秀的项目方会选择将项目运作尽量透明化,比如代码开源,把升级权限采用多签方式移交出去,并在公告里说明这些关键动作。但问题是很多项目方因为各种原因是不会这样做的,用户也由于信息不对称而踩雷的事情频频发生。
比如最近发生的波点钱包、以太钱包、MoreToken钱包等各种钱包的跑路事件,去年各种交易所的跑路事件,令用户损失巨大,甚至失去了对行业的信任和信心。而要想不再出现这些事情,必须完善机制让坏人不具备作恶能力。
3、去中心化交易所解决方案
1)去中心化交易所现状。
传统的中心化交易所是由平台进行撮合交易,由平台进行信任背书。而在去中心化交易所中,交易双方资产都存储在各自的账户里面。当彼此的订单撮合达成时,卖方调用去中心化交易所的智能合约地址,由智能合约完成买卖双方的币币交易,并返还给买卖双方。
整个交易过程中,资产都存储在用户钱包,不需要充值到交易所中。只有当双方达成交易时,交易的数字货币才通过智能合约进行交换。因此中间过程没有第三方,安全性由智能合约来保障。
2)智能合约多签机制。
1月21日WhaleEx鲸交所公告,为确保用户资产绝对安全,提升平台防御能力,鲸交所正式启用智能合约多重签名机制。鲸交所智能合约的任何变动必须经慢雾审计合格,并经除鲸交所外至少1个EOS主网节点同意,才能执行。
WhaleEx鲸交所无法单方使用OwnerKey对合约进行改动,平台方无作恶的可能性。因EOS主网尚无法执行智能合约冻结操作,因此WhaleEx鲸交所率先采用节点多重签名的方式,对智能合约进行最大化保护,同时也确保合约升级的流程规范。
多签机制启用之后,智能合约的任何改变,都需要经过鲸交所、审计、EOS主网节点三方面共同授权同意后,才能对智能合约进行升级,每次执行必须要有1家以上的EOS主网节点认可,才能执行。
鲸交所同时公布了首批授权多签的EOS主网节点,包括EOSAsia、MEET.ONE等。可以认为,鲸交所此举给EOS智能合约的可以改动机制打了一个补丁,从而让交易账户更安全。
3)浅析多签机制。
多签,类似于一个保险箱上了两把锁,需要两把钥匙同时才能打开。默认情况下,用一把锁就够了,只需要一把钥匙就可以授权交易;不过,在一些重要的交易类别中,就需要用到多签了。
例如,我们在EOS社区之中通常会听到这样的新闻:某个提案,需要经过前21个节点之中的15个签名,这一提案才能够通过。这种场景,用到的就是多签。
再如,为了提升账号资产的安全性,可以将账号的权限修改为多签,进行对应操作的时候,需要用多个钥匙进行解锁/授权,才能够发起交易。
4)严格的代码审计。
秉承着对安全隐患零容忍的态度,在安全防范机制上,除了多签机制,WhaleEx鲸交所还实行了严格的审计策略。产品上线前,鲸交所与专业机构慢雾进行了数月的排查,对智能合约进行了全面审计,并面向全球发起白帽攻防测试悬赏,确保平台安全无死角。
目前在EOS天眼十大热门合约中,鲸交所是一家经过审计合格并对核心合约代码开源的交易所,据WhaleEx鲸交所介绍,其在未来将进一步在保护用户资产安全方面进行加码升级。
从以上分析可以看出,从合约到智能合约,从中心化交易所到半去中心化交易所,各方都在积极努力探索。虽然即使多签机制上线之后,仍然不能保证百分百安全,但至少极大的增加了作恶成本,往去中心化交易所的路上又迈出了一大步。
近日,传统的中心化交易所老大币安也宣布推出币安自己的去中心化交易所,这使得去中心化交易所竞争更加激烈,这对于用户来说是一件好事,竞争带来升级和进化。因篇幅所限,在后期文章中再介绍币安的去中心化交易所和目前的主流去中心化交易所的对比。
我相信,随着EOS社区、项目方、技术人员等各方的一起努力,我们的交易会变得越来越安全和透明,行业生态会越来越好!向那些为了安全的技术不断地在探索、研究的行业人员表示敬意和欢迎!
本文作者:区块链成哥
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。