LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 文末有1000key||智能钱包上构建去中心化交易所到底安不安全?鲸交所又如何做到

文末有1000key||智能钱包上构建去中心化交易所到底安不安全?鲸交所又如何做到

2020-03-30 区块佣兵 来源:区块链网络

前段时间我看了鲸交所发布的白皮书2.0版本(白皮书点我),还撰文讲述了我对新版白皮书理念的理解(文章点我)。总的来说,作为一个鲸交所的老用户,其实鲸交所提供的APP我基本都是比较熟悉的。对于新版白皮书阐述的理念,我也是比较熟悉的。不过总体来说,相对于第一版的白皮书,我个人认为这一版应该是更好的,因为第一版相对偏向技术解说,这一版更想理念或者概念白皮书,是项目方希望通过该白皮书向用户传达他们的产品理念,让用户在认可其理念后更好地参与鲸交所的生态。

但是在文章发表后,我还是看到不少用户对鲸交所的智能钱包是否安全产生了疑问。毕竟对于许多用户来说,EOS链上本身就是有钱包的,我们把资产放在这个EOS钱包,然后鲸交所做一个交易的中介不就行了么,为什么还需要用它的智能钱包呢?它的钱包到底是不是去中心化的?

关于智能钱包


所谓智能钱包,其实就是用智能合约创建的账户控制体系。不同于公链上本地创建的钱包客户端,智能合约创建的账户控制体系本身是基于项目方开发的智能合约以及本地公链提供的账户协议重新设计或者升级的账户体系。

每个了解公链知识的人,对于智能合约肯定是相对熟悉的。智能合约的出现,是将区块链技术或分布式技术应用在广泛场景的关键。其中,我们对智能合约的认知主要是一点:不可篡改的代码

代码,意味着可以通过软件制定功能和规则。不可篡改,意味着,约定好的规则和功能不会再被随意改动。正是凭借这两者的结合,以太坊向人们推广了新的应用场景:如果你有什么软件功能,需要高度信任的话,就用智能合约来开发吧。


所以,人们对智能合约其实信任度是很高的。

但是既然你相信智能合约,那你为什么就会怀疑智能合约开发的钱包功能是不安全的呢?


其实问题的出发点自然是,因为大家更信任公链上面为用户创造的钱包,但对利用智能合约二次开发的钱包就抱有怀疑,总觉得智能合约会投了这个账户的“钱”(也就是币)。

但其实不然,既然智能合约是可靠的,也是去中心化维护的,那么智能合约设计的钱包,其实也可以是去中心化的,并且安全可靠的。所以,问题不是智能合约开发的钱包就会有问题,就是中心化,而是只要设计到位的智能钱包也必然是安全的、去中心化的。这一点如果你懂代码,自然就是用一下智能钱包方的代码就能判断。如果你不懂代码?那也没关系,就交给懂代码的人,比如慢雾科技等。

那么为什么要用智能合约重新设计钱包呢?

其实问题是比较简单的。

自然是现有的区块链钱包本身有各种各样的问题,需要项目方重新设计来解决一些用户需求。


比如,面向私钥管理难度高、多链资产无法统一处理等问题,Mykey就用智能合约重新设计了一套账户控制体系,并为用户提供了更方便、更人性化的设计。也正是这些良好的特性,让Mykey成为了市面上非常流行的区块链钱包。


同样的,交易过程也有许多原生钱包不方便的地方。也正是如此,鲸交所也利用智能合约设计了一套适配于交易体验的账户体系,这就是鲸钱包的设计初衷。而这款钱包的很多特性都向人们证明,它好用的同时,还是非常安全的。所以不必要害怕智能合约会挪用你的资产,它只是让你能够去中心化地达成交易的同时,让你更快更安全地存储自己的资产。

关于交易的问题

那么,如果EOS链上钱包负责存储资产,去中心化交易所只负责撮合,那么这可能就是人们理想的去中心化交易所的样子。

但很可惜,这个理想难以达到。


你想象一下,你想要链上撮合,你需要完成这样一个步骤:

(1)你看了你EOS钱包有100个EOS,想卖掉50个。

(2)你挂单4美元/EOS,挂单50个。

(3)如果刚好有人看上你的单子,那么对方就需要出200USDT拍下50个EOS,这时候,撮合完成。

(4)来到最后一步,彼此交易。那是对方先付200USDT,还是你先出50个EOS给他?

这就是交易过程中最大的问题。

到底是先货后款呢?还是先款后货呢?

解决这个问题的办法至今为止都是有个解决办法:找一个中间人来担保,我们称之为中介。交易前达成协议一致,中间人负责货款互换。

但随着中介跑路的问题越来越多,我们需要用一种智能合约来取代中介。这就是去中心交易所的职责。

这时候,你就需要将相应在挂单的时候划进智能合约,但挂单条件达成,智能合约便会将资金退回给你的账户。

所以,看到这里,你就开始担心:

你要挂单的资金就划进智能合约,那么它就有权力挪用了你的钱,你感到了不安。


但事实显然是,你就多虑了。因为智能合约的出现,必然就是众人监督智能合约的情况下,确保了它从一开始执行到完成都是无法越过它的权力。

这什么意思?

这意味,代码如果一开始规定它只能完成这样的动作:

A与B在价格和数量达成的一致的情况下,才能将A与B对应数量的代币进行交换,其他情况不允许发生。


那么,到最后不会发生:

A的币,在交易过程中转入交易所的钱包。B的币,交易过程中转入交易所的钱包。


因为它的功能是不可篡改的,大家都在集体关注,它就没法改动。

这就是智能合约给大家带来的信任魅力。

但与此同时,意味着,我们其实可以安心地把币交给设计合理、安全的智能合约。而底层公链钱包在交易上,却有致命的问题,那就是它没有能够底层冻结资产的能力,这导致,交易所仍然需要设计智能合约才能完成这个功能。

这就是交易过程,我我们约定委托智能合约做交易,那么它就会发生:

(1)你看了你EOS钱包有100个EOS,想卖掉50个。

----这时候交易所的智能合约就将50个EOS冻结。

(2)你挂单4美元/EOS,挂单50个。

----这时候智能合约就有权力将50个EOS冻结。

(3)如果刚好有人看上你的单子,那么对方就需要出200USDT拍下50个EOS,这时候,撮合完成。

----交易所的智能合约完成双方互换。

这意味,智能合约会有权力冻结你的交易资产的。因为只有这样,才能让最后交易双方买卖达成一致时,交易所智能合约才会有权力将彼此的代币进行互换。

否则,你的钱包说要交易50个EOS,但偷偷把它先卖出去。那么到时智能合约撮合成功后,发现你的币并不足够50个EOS,这时候多尴尬

所以,我们必须承认,底层既然没有冻结资产的支持,鲸交所为了去中心化交易重新设计一套可以冻结交易时资产的账户控制体系,这是非常合理的。

而最后,为了你的资金安全,智能合约还规定了,除了你自己绑定的EOS本地钱包账户以及达成约定交易的账户,智能合约无法将币转移到其他地址。这意味着,鲸交所想私吞用户资产?这是无门的。

关于智能合约多签问题

既然所有安全问题都集中在智能合约上,那么它真的是可信的么?

很显然,鲸交所也好,Mykey也好,都是经过慢雾科技等安全审计公司验证的。这意味着,他们设计的智能合约账户体系,是非常安全的。你就放心地使用就好。

但EOS的代码却有个问题:它是开发者可以篡改的。


这意味着,其实项目方还是可以通过暗自修改代码,然后通过智能合约提取用户资产到他们的钱包。这是因为,EOS上的代码,是可以被开发者修改的。这是不同于以太坊“不可篡改的代码”。这意味着EOS的任何项目,都可能偷偷修改代码来私吞资产的。

这个好处是非常明显的,软件工程本身就是允许开发者有修改代码来修复漏洞的情况,那么刚上线的DAPP也是可能存在漏洞(Bug),这时候,就需要通过升级来解决。这就是EOS务实的想法。但很显然。万一升级的代码就是修改了之前相关的契约精神,这就会造成用户资产被吞的情况。

但很显然,鲸交所不可能留下这样的把柄的。

所以,既然EOS每次升级不能那么随意,这时候要解决信任问题,就很简单了:用区块链集体见证的方法解决代码改动问题。


这时候,鲸交所对于自己智能合约安全是十分敏感了,为了让合约保证安全,联合多个超级节点来完成审核和监督就成了正确的办法。

鲸交所这时候给智能合约加了限制条件:

每一次升级代码,都需要多个超级节点同意才可以。


这意味着,鲸交所想要通过智能合约的方式侵占用户的数字资产,这在技术上必然是没门的。

总结


总的来说,这篇文章更注重于介绍智能钱包的信任从那里来的问题,以及鲸交所是如何重新设计鲸钱包来解决交易过程的信任问题。我觉得,这样的鲸交所,是非常有发展的潜力的交易所。


—-

编译者/作者:区块佣兵

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...