在上次去中心化交易所中,我提到一个观点是智能合约比私人钱包的安全程度高很多,但许多读者表示不以为然,因为他们认为EOS上的智能合约私钥在项目开发者手里,因此EOS的智能合约是可以被开发者进行篡改的,不像以太坊的智能合约一经发布就无法篡改。因此,上次很多人认为Newdex不使用智能合约是无关痛痒的。
是的,经过上次的讨论后,我也反思许多,在思考安全的本质到底是交易数据公开,还是需要智能合约的自动化执行。最后我依旧得出一个结论:即使目前智能合约机制仍存在不安全因素,但应当使用智能合约,接着推动智能合约开发权限的去中心化约束。
因此,直到昨天的鲸交所和之前关注的EOS42开发的chintai租赁平台都使用多签名机制后,我意识到这应该是EOS生态即将要转变的一个时间点。
过往:智能合约是开发者具备单方作恶的权力
在区块链上,智能合约是一套按照代码自动执行的软件,他的执行过程是公开透明的,并且由区块链确保了不可篡改,因此以太坊提出这个概念后得到大家的信任认可。
但在EOS上,智能合约考虑到开发者需要修改软件存在漏洞的情况,因此将修改智能合约的权力还给了开发者。这一改动,就许多人开始对智能合约提出质疑:这个篡改的权力违背了区块链精神。
以交易所为例。如果不使用智能合约,就是有一个人收了用户的数字货币之后,帮忙寻找买家达成交易的过程。虽然这个人的交易数据是公开的,但是他可能携款跑路,这是上次我讲到的风险。
那智能合约,则是用户将数字货币打到一个透明的保险柜,并规定找到合适的买家后才由交易所用钥匙打开后,让交易双方达成「一手交钱一手交货」的过程。
但是恰恰有问题的是,EOS上的这个保险柜(智能合约),由于项目方持有保险柜的钥匙(私钥),因此,也就是项目方是有单方利用这把钥匙打开保险柜后,把大家的数字资产携款拿走的。
现在:多签意味着这个保险柜是安全的、可信任的
EOS的智能合约不像以太坊上那样不可篡改,其实是遵循软件具备修改的机会,这是软件开发默认的行规。但是毕竟智能合约未来将是管理着用户巨大数字资产的地方,我们依旧需要一个「代码即法律」的可信环境。因此,如何让智能合约具备修改的机会,但又确保足够的安全呢?
我首先看到的是Chintai平台在上线平台时,就对智能合约实行多签机制。昨天,我也看到鲸交所的智能合约也上线了多签机制。这意味着:这两家的智能合约基本是安全的,不具备跑路的风险。
多签,以上面保险柜的例子继续说,那就是每次需要打开保险柜改装保险柜时,就必须凑齐多个人的钥匙才能开,所以项目方不具备单方打开保险柜的权力了。未来,chintai和鲸交所这两家智能合约,每一次需要修改代码时,就需要让参与验证的多个EOS节点同意后才能让修改生效。其中,参与研究的节点信誉度就是非常重要的。
查阅eospark上智能合约的情况:
(1)输入Chintai的智能合约:chintailease
我们可以看到Chintai上邀请了11个知名的EOS超级节点一同管理智能合约,其中包括熟知的EOS佳能节点、EOS Nation、EOS纽约等11个节点(其中包括Chintai背后的EOS42节点)。当每一次需要升级Chintai智能合约时,至少需要11个节点中的6个允许才能一同升级。
(2)输入鲸交所的智能合约:whaleextrust
鲸交所的智能合约邀请了著名的EOS佳能、EOS老猫、EOS币信、Meetone等8个EOS超级节点作为多签。并且由于鲸交所的智能合约的代码是经过慢雾科技的审计上线的,那就意味着鲸交所的智能合约要升级修改,就需要经过鲸交所、审计、EOS主网节点三方面共同授权同意后,才能对智能合约进行升级。
考虑到联合作恶的成本十分高,因此,多签机制将是对智能合约极大的信任保护,确保智能合约将难以由项目方单方作恶而修改后携款跑路。
文章来源:币乎作者“区块佣兵”,转载请注明出处!
网友评论