WhaleEx是基于EOS的去中心化交易所, 由很多的服务组件组成。核心组件为高效的链下撮合引擎、WAL合约、WAL跨链方案、WAL网关帐户(每条主链上一个帐户,帐户是普通地址)。组件及组件相互间的调用关系(见图1)
链下撮合引擎
链下撮合引擎是WhaleEx提供的一个全内存、分布式的、微服务架构、可扩展的交易系统。借助这个链下撮合引擎,WhaleEx 可以提供每秒百万笔以。上的撮合效率,可以与中心化交易所匹敌。除此之外,WhaleEx 相较于目前的去中心化交易所,还有如下优势:
1.提交订单,即刻就会在广播中看到自己的订单,而不用等待链上的transaction完成。
2. Taker看到合适的订单,提交对手单之后,立刻会被撮合,并且结果是有保障的,而不用等待链上执行完成,也不必担心Maker在这过程中撤单。
3.撤单无需费用,而且撤单结果不用等链上执行,可立即完成,不存在撤单后,还被撮合的可能性。
4. 订单信息在完全成交或者被撤单之前,不会被其他对手看到。
a.提交和传输订单的时候,订单通过交易所的公钥加密,除了交易所和用户自己,没有人可以查看订单的内容。
b.订单信息是会被发布到链上,供所有人查询核对成交的。但订单信息在提交后会有一段时间的锁定期,锁定期之后才会被公布到链上。基于这段时间的锁定期,用户的一些算法单,比如冰山算法订单、TWAP订单得以执行。
WAL智能合约
WhaleEx的WAL智能合约部署在EOS上,WAL智能合约接收所有的用户交易请求,包括下单、撤单,也接收撮合器的成交,用户的充值和提现请求,基于这些信息,合约维护一张包含所有用户,所有token的帐户余额表。这些信息到链上以后,是公开透明的。所有人可以基于用户的交易请求,构建出一个撮合结果,通过这个撮合结果与交易所公布的成交信息对比,用户能够审计交易所的撮合一致性。撮合不一致一旦被发现且确认,交易所会奖励提出异议的用户。这个机制透明可审计,极大地降低了交易所欺骗用户的可能性。
WAL跨链方案
WAL跨链方案允许用户在WhaleEx上交易各种跨链币种,这部分会在2018年Q4公布在WAL跨链白皮书中。
WAL网关账户
WAL网关帐户是提供跨链资产转移的帐户,在一条链上会有多个,只要在EOS拥有跨链资产的用户都可以作为网关帐户,而且每次资产转移都是一次哈希锁定方式实现的原子交换,在不需要第三方机构的情况下做到了可信安全。
WhaleEx服务
交易机制
账户细节
每一个WhaleEx用户,在EOS.上有一个签名地址和资产地址。签名地址与用户在EOS.上的资产地址绑定:
· 签名地址: 用于代表用户提交所有交易相关请求,会对每个请求签名,智能合约会验证这些签名,签名通过的请求才会被撮合器和WAL合约接受。
· 资产地址: 保管用户的资产,用户和WAL合约之间的充值、提现,只能发生在资产地址上。资产地址的私钥,在所有交易过程中,都不需要使用(由签名地址的私钥代理),确保用户的资产安全。
你可以通过观察图2,获取相关签名地址、资产地址以及他们的私钥的信息。
· 在图2中,在EOS上有4种地址:
1. 控制成交的地址,私钥存在撮合器中
2. 控制提现请求的地址,私钥存在撮合器中
3. 控制用户交易请求的地址,私钥存在用户的APP或者浏览器上
4. 资产地址:用于签名用户的资产转帐和跨链原子交换
· 用户Bob持有2个地址的私钥,一个用于交易签名,保存在用户的APP或者浏览器上,另一个是资产地址的私钥,安全地保管在用户的钱包内。
· 撮合器: 2个地址的私钥被保存在一个硬件钱包中,仅用于签名用户在锁定期内的提现请求,和每一笔成交请求。WAL合约在接受这些请求的时候,会验证交易所的签名。
交易细节
每个订单,撤单请求都需要用户的签名地址来签名,撮合引擎和WAL合约都只能接受正确的订单,签名不正确的订单都会被拒绝,所以即使是交易所也无法造假用户的交易请求。
每笔成交,都需要买方、卖方和交易所的三方签名才会被WAL合约接受。
为了完成一笔交易,
· 用户需要使用交易所帐户登录
· 同时也需要签名地址的私钥在APP或者浏览器中保存,便于对每一笔交易请求签名
合约充值
用户给WAL合约充值后,基于EOS的机制,WAL合约代码会被触发,用户在WAL合约上的余额会相应地增加。交易所会侦听链上发生的充币事件,自动将用户的余额同步到链下撮合器,确保用户可以使用该笔充值余额来交易。
在图4中,用户的充值行为是安全的:
· 转帐成功后,用户余额自动反映在WAL合约中
· 用户可以随时从WAL合约中的余额到提现到绑定的EOS帐户(同帐户进出)
· 只有用户和交易所各自私钥签名的成交才可以修改用户余额
· 修改用户余额是严格按订单信息来执行的,订单信息由用户签名
· 用户的签名包含nonce,无法重复使用
合约提现
用户在WAL合约中的余额只能转到用户绑定的EOS账户,用户的签名地址可以修改,但资产地址中的资产不会跟着转移。有两种情况的提现:
· 交易所正常工作下的提现(图5):用户向交易所提交提现申请,在可用余额范围内的提现,会自动被程序验证通过,自动完成。这是99.99%情况下的提现流程,由于地址绑定逻辑和WAL清算逻辑已经确保了用户余额正确反映用户意愿,WhaleEx 不会设置人为障碍阻止用户提现。
· 交易所不工作了,用户需要把WAL合约中的余额提走(图6):用户直接向WAL合约申请提现,10天后用户在WAL合约的余额会被提现至绑定的EOS账户中。请不要太在意10天这个时间,因为这是确保用户资产安全的最终手段,适用于WhaleEx停止运营的情况下,用户的提现。
WhaleEx优势
资产安全
· 用户资产的绝对安全,即使交易所的私钥发生泄露,由于缺少用户的私钥签名,黑客也无法转走用户的资产,杜绝了当下经常发生的黑客入侵盗币现象
· 用户的交易请求是被我们稳定高效的撮合器保护的,每一个请求都可以被立刻执行,且执行结果是可预测的
· 用户的私钥从生成到保管都是在客户端,不会提交或传输给任何人,包括交易所
· 资产托管的智能合约由慢雾审计,用户资产的托管和清算,都发生在WAL合约内,由代码保证。没有用户私钥签名的情况下,没有人可以影响用户在WAL合约内的资产余额
· 用户随时可以提现他的资产,合约提现无限额、无人工审核
· 用户在其他链上的资产是通过原子交换迁移过来的,是确保安全的
·用户的所有交易行为中都没有涉及资产私钥的使用(充值是发生在用户的钱包里面的),不存在暴露私钥的可能性
·WAL合约中的用户资产只能提现至绑定的EOS账户中,该地址唯一不能修改
透明
· 每一笔订单都是被用户的私钥签名,并发布在链上,不可伪造篡改
· 每一笔成交,由撮合器产生,包含了该成交对应的两笔订单(用户各自签名),和撮合器的私钥签名,即一笔成交包含了Maker. Taker和交易所的三方签名,没有人可以伪造和篡改
·每一笔订单和成交都被发布到EOS链上,透明可追溯
保密
为了避免其他用户针对性利用订单信息,我们决定不在用户提交订单的那一刻把订单发布到链上,而是在用户提交订单到发布到链,上之间加了一个锁定期。锁定期的时间足够长,确保用户的订单信息在成交或撤单前有效地被保护。
由于用户有两个地址,在交易行为中,只有用户的签名地址会被暴露公开,其他用户无法通过交易定位到用户的实际资产地址,也无法通过实际资产地址,定位到用户的交易。
可用性
尽管我们是一个去中心化交易所,我们还是希望做到和中心化交易所一样的用户体验,为了这个目标,我们做出以下设计:
· 自动签名交易请求:资产去中心化托管的交易所,交易请求一般都需要用户的私钥签名,这非常的不方便。在WhaleEx中,用户的资产地址私钥完全不暴露,用户可以安心地把签名地址存放在浏览器或者APP中,这样,交易所的客户端可以轻松地调用这些私钥进行签名。用户在每笔交易请求中,不需要被弹框请求私钥签名
· 自动化的资产充值和提现:在WhaleEx的充值和提现流程中(图3,图5,图6),我们可以看到,这些流程没有人工的参与,保证了这些请求的有效及时执行
· 除此之外,我们还针对用户不同的交易目标场景,设计了不同的界面,确保用户在盯盘、交易、日常看行情的场景中,可以快速执行需要的操作,简洁有效
跨链支持
从图1到图6,我们可以看到WhaleEx能轻松地支持跨链,允许用户交易ETH、USDT、BTC等各种数字资产,具体的方案我们会在2018年Q4的跨链白皮书中公布。
流动性
WhaleEx做出大量的设计来提供最强的流动性,我们重点说明以下几点内容:
交易效率
我们在前面的章节中提到,WhaleEx 的处理交易速度非常快,不会有任何的卡顿,且所有交易请求的结果是可预测的,也没有不确定的因素(如链上拥堵程度等),所以WhaleEx的交易效率是非常高的:
·资产流动速度:高效意味着更快的资产流动速度,用户可以更有效地利用自己的资产,在单位时间内做出更多交易
·资产流动确定性:高效低延迟,交易请求的确定性更高,用户更有信心提交交易,完成交易
·用户参与度:在一个有效的市场里面,用户更愿意参与交易,从而构成一个良性循环
国际化市场
一方面,数字加密货币是去中心化的,天生就是一种国际化的资产,在区块链上,世界上任何人都可以购买、持有和转移数字资产。为开拓WhaleEx国际化市场,我们制定了一个"全球鲸鱼计划",来奖励做市商来把其它交易所的订单链接到WhaleEx。由于我们的鲸鱼计划奖励,原本无利可图的订单,也会被搬到WhaleEx来。理想状态下,WhaleEx 订单簿上会包含所有已链接交易所的订单。
图7中我们有3个Maker都有交易需求:M1,M2和M3。
· M1在#1交易所交易,用11的价格来买入
· M2在#2交易所交易,用10的价格来买入
· M3在WhaleEx交易,用9的价格来买入
Taker T在WhaleEx,由于市场是孤立的,他最终会用9的价格向M3卖出。相比全球市场的Maker供应来说,他损失了价格2的差价。
图8上,
· M1用10的价格来买入
· M2用11的价格来买入
· M3用9的价格来买入
· M4用10的价格来买入
注意: M4加入了全球鲸鱼计划,拿交易所#1,#2 的流动性在WhaleEx套利,这时候TakerT可以用10的价格卖出,用户T相较于图7的情况,有额外1的收益。
另一方面,WhaleEx 将开启‘虎鲸计划”,在全球范围内招募交易所合作伙伴,聚合全球有志于经营去中心化交易所的运营团队或人才共同打造全球化的去中心化交易所联盟,这一-部分在通证模型里面会有更为具体的介绍。
做市商友好
WhaleEx期望为做市商提供便利,来鼓励更好的流动性,我们为做市商提供了:
· 安全,低延迟的交易环境
· 尽可能保证了订单的确定性,下单和撤单都明确地得到了保证
· 锁定WAL可获得免费交易额度
· 最好的API团队来提供高效的交易API
我们还提供了其他的奖励计划,比如前面提到的"全球鲸鱼计划”。我们还会有更多的奖励计划,来鼓励做市商进驻。
多样化订单
WhaleEx最终会支持各种算法单,包括但不限于:
· 止损限价单
· 冰山订单
· TWAP订单
对于大资产的WhaleEx用户,灵活的订单类型可以提供更多的流动性,也可以减少大单对市场的价格波动。
EOS社区友好
WhaleEx是EOS公链上的去中心化交易所:
· WhaleEx发起并倡导EOS全球行,以“繁荣”为主题与全球54个节点联合举办的一一个基于EOS生态的系列活动。WhaleEx 作为EOS社区中的一- 员,希望搭建一个全球化的生态连接平台,发现并带领EOS上的优质DAPP,和全球EOS社区用户面对面
· 内置EOS钱包,让用户管理自己在EOS上的资产和社区决策
· 把其他公链上的资产引入EOS,在 WhaleEx跨链方案的支持下,我们会允许用户把自己的跨链资产转移到他的EOS钱包,而且这部分资产是与原链上资产一-对应的。这样EOS.上的DAPP会能够非常好地支持各条链,上的用户,更多的区块链生态应用会在EOS上落地
· WhaleEx会为每- -个出块节点候选人建立落地页,包含他们的LOGO和节点介绍, 以及节点孵化的项目,为用户投票提供依据。EOS节点可以推荐其孵化的项目上WhaleEx,在对应的节点专区孵化已上线币种。