动态 去中心化交易所鲸交所给用户带来的 “诺亚方舟”

woyaobaoliao · May 22, 2019 · 658 hits

作为一个长期关注 EOS 生态发展的人来说,我对 EOS 生态内出现的任何新技术,都充满了好奇。例如鲸交所前几天推出的诺亚方舟计划,我很想弄清楚,那到底是一个什么样的计划。

我是个喜欢追根问底的人,不喜欢模棱两可,每当弄清楚一个问题,感觉自己又向前进了一步,新知识总是学不完的,可那又如何?就像胡适所说:怕什么真理无穷,进一寸有一寸的欢喜。

经过这几天的学习,还多次请教俊总,我对诺亚方舟计划大体理解了。这篇文章我分享出来,希望对你有帮助。

我们用户在鲸交所进行交易时,是先要有一个 EOS 账户,然后把这个账户和鲸交所的合约账户 whaleextrust 进行绑定,再充值充到 whaleextrust 中,我们的 EOS 资产是被托管在这个 EOS 合约账户里边的。

每个用户都充值到 whaleextrust,鲸交所是通过转帐的 EOS 帐户或者 memo 来进行判断识别的,每个 EOS 账户对应不同的 memo 信息。使用自己绑定的 EOS 帐户转帐, 不需要添加 memo。

用户在交易所的资产, 记录在 whaleextrust 合约上, 谁也不能单方面的改动, 要修改, 只能通过用户签名的订单, 在合约内撮合结算达到。

大家可能会问了,whaleextrust 这个合约账户是鲸交所的账户,这跟中心化交易所有什么区别呢?平台做恶了怎么办?

合约账户 whaleextrust 采用了多重签名的形式来进行多方管理的,平台无法作恶。我们可以通过 EOS 区块浏览器来查询合约账户 whaleextrust 的权限管理设置。

从上图可以看到,它的权限是采用的多签形式的,可以防止交易所作恶。

我们看合约账户 whaleextrust 的多签设置,阈值是 42,也就是这些这些账户的权重总和只要达到 42,就可以多签成功,下边两个账户是鲸交所的,两个总和加起来就达到 41 了,另外任意一个节点账户只要同时签署,就可以达到 42 的阈值。是不是不够安全?

关于多签这个问题,为了弄清楚,我还专门请教了下鲸交所的俊总,他回复说多签是一个渐进的过程。在去年的时候,因为代码更新频繁,还没有多签,1 月份加了节点多签,更安全的方案还在不断地摸索中,以后会逐渐增加节点的权重,而且除了鲸交所、节点外,还会引入其他角色,让多签设置更加安全。

确实,去中心化交易所还没有成功经验可以借鉴,都是在不断的摸索中前进。有些朋友可能要问了,为什么 owner 设置的是多签,而 active 却没有设置多签?据俊总所说:

这个 active 权限,没有任何实体有权限, 只是一个 whaleextrust 合约代码能行使的权限。大多智能合约多签账户都是有这种特性的。因为 active 要执行合约的,合约代码必须要有权限的,不然的话连合约都无法给用户转币。

下边说回诺亚方舟计划,鲸交所的诺亚方舟计划指的是什么呢?

根据官方所述:

鲸交所是一家去中心化交易所,即使遭受极端物理性摧毁,也不会丢币。例如被外星人攻击或控制所有人员和服务器都无法正常工作,用户资产依然安全。

用户可以在 EOS 主链上调用 whaleextrust 智能合约,在 10 天内自动取回所有资产。这是去中心化交易所的魅力所在,也是鲸交所全球独家首创。防患于未然,鲸交所将这项计划命名为诺亚方舟。

如果发生了极端情况,例如鲸交所的电脑系统瘫痪。那就会启动诺亚方舟计划,用户需要通过 EOS 区块浏览器做出相应的操作,从而拿回自己的资产。步骤如下:

1、通过 EOS 区块浏览器取回资产,以 EOSX 为例:进入 EOS 钱包 - 浏览器,点击 EOSX

2、在搜索栏输入 whaleextrust ,点击 "调用合约接口"

3、点击"绑定 scatter 账号",默认绑定当前钱包登录的账户

4、选择"destroy",输入:user=你绑定的 eos 账户,exchange=whaleexchang,点击"发起交易"并确认授权。

5、10 天后,选择"withdrawback"进行提现,输入:user=你绑定的 eos 账户,exchange=whaleexchang,asset=xx.yyyy EOS@eosio.token

提示:

xx.yyy 指的是提币数量,提币数量要有小数位,小数位根据所提币种链上数量精度填写,可通过https://bloks.io/ 查询。提币数量输好后一定要空一格再填写币种,并 @ 代币合约地址。

极端情况出现时,例如交易所的系统瘫痪,不能工作了,那么我们就要按上边的诺亚方舟计划来取回资产,上边的步骤都是和 EOS 主链发生交互完成的,并没有涉及到交易所,因此,即使交易所不能工作了,我们仍然可以按上边的步骤取回资产。

为了弄清楚诺亚方舟计划,我向俊总又请教了几个问题,分享出来可以辅助大家理解。

1、诺亚方舟计划中,为什么取回资产需要 10 天?

10 天的时间, 是为了防止利用 destroy 来作恶而设立的, 在 10 天的时间内交易所有足够的时间, 可以把用户签名的订单成交上链, 确保该用户的对手方交易的确定性。

举例:A 用户在 3 块的时候卖掉了 EOS, 但是 EOS 迅速涨回了 4 块, 这个用户后悔了, 想通过 destroy 来阻止 3 块卖出的成交上链, 那这个 10 天的延迟 就保证了这种情况不会发生。

2、诺亚方舟计划启动后,提现的原理是什么?

destroy 和 withdrawback,是 10 天的原因导致用户单方面的提现分成了两步:

1)destroy: 用户声明我要离开交易所, 不再通过交易所充值、提现、下单;

相当于 EOS 账户和鲸交所的合约账户 whaleextrust 解除绑定关系。

2)withdrawback:可以从合约按自己的资产数量逐一提现。

3、我们在鲸交所的 EOS 资产,如何提现?

托管在 whaleextrust 内的资产, 是从用户的 EOS 帐户, 转入合约的, 不在用户的 EOS 帐户下。

1)极端情况未发生的时候:用户是通过鲸交所的后台提交用户签名的提现请求来取回的。一般 3-10s 就到用户的 EOS 帐户上了。

2)极端情况发生的时候:就需要按上边的诺亚方舟计划的步骤来操作。

总结下:

简而言之,鲸交所的诺亚方舟计划,其实就是在发生极端情况时,例如遭受了物理性攻击,交易的所服务器以及人员都不能工作了,我们的 EOS 还存在于它们的托管账户中,这时候我们可以通过 EOS 区块浏览器,与 EOS 主网在链上直接交互,经过一定的步骤,取回自己的 EOS 资产,并不需要经过交易所,取回步骤是交易所通过智能合约的形式已经写好的。

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up