Hydro 为百亿 DeFi(去中心化金融)准备了一个SDK

编者注:本文转自Hydro 公众号。

Hydro 觉的这一波淘金人就是各种 DeFi 项目(Decentralized Finance 去中心化金融),Hydro 通过 SDK 为淘金人送水,本文分析了DeFi市场的变化、去中心化交易平台需要的什么样的技术,以及给出来相应的方案。

DeFi市场的变化

2019年3月,The Block 媒体统计的DeFi市场长这样:

2019年3月DeFi市场项目图

相比于半年前,DeFi 市场,从「稀疏」到「密集」。

2018年10月DeFi市场项目图

目前的DeFi项目主要建立在以太坊公链,以太坊本身的市值已经在180亿美金左右,仅仅在以太坊生态,DeFi都将是一个不小于百亿美金的市场。

DeFi 项目

DeFi 项目可分为:稳定币、去中心化交易所、支付、指数产品、金融衍生品包括借贷市场和预测市场等。

DeFi项目的核心是:通证化一切资产,随时随地交易。

关键词拆开看:

【通证化】不管链上原生资产、还是链下资产,都以通证的形式流通;

【一切资产】资产的概念将进一步扩张。不只是期货、石油、黄金、产权等真实资产上链;以预测市场为例,任何事件都可以通过「对赌」的形式包裹成链上资产赋予流动性,创造收益和风险。

【随时随地交易】区块链账本24小时无休;没有准入门槛和身份、地理限制。

前半句「通证化一切资产」是现在各种DeFi金融衍生品项目专注做的事。开辟细分的通证化市场,并为之设计一套自由公平的玩法。

比如将股票、大宗商品通证化的UMA;将法币资产通证化的Dai等稳定币;将事件通证化的预测市场项目Augur、Veil、Flux、BlitzPredict等等。

后半句「随时随地交易」则是去中心化交易平台/协议专业负责的事。

前者为后者提供应用场景;后者为前者支持流量入口。

更多DeFi 项目还可参考DeFi收集整理

DeFi 的流量入口,谁的需求,谁来供给?

DeFi 产品往往需要自建本地流量入口,来形成一个流量闭环:

MakerDao做了Oasis,dYdX做了expo,Dharma 做了Level。

这些流量入口本质上就是一个轻量级的去中心化交易所(DEX):只处理与自己项目相关的交易就足够。

但即使是轻量级DEX,也不是DeFi项目方能「顺手」就做好的事。

因为交易所是一个需要强运营和专业经验的事儿。自己从头搭建交易平台的开发和运营成本过高。

所以,项目方会选择利用已有的开源技术来集成所需要的交易平台。

DeFi 项目方需要什么样的去中心化交易开源技术呢?

去中心化交易平台的核心部件是:订单簿、撮合系统、结算合约。分别对应前端、后端和合约层。

DeFi 项目对自家流量入口的需求是:

  • 前端的订单簿和UI自定义、自管理;
  • 后端的撮合,和结算合约利用现有开源技术,以达到最少的开发成本和最好的交易体验。

那么,现在对于这样的交易系统的市场供给有哪些呢?以交易的撮合和结算在链上/链下来划分交易模式:

  • 撮合引擎在链上/链下导致了交易效率的高低;
  • 结算在链上/链下决定了资金的安全性

中心化交易所,因为资产不在链上,无法和智能合约交互而无缘DeFi。

去中心化交易所,都将资金结算放在链上,以保证资金的去托管化来实现安全性。而对撮合的不同处理,衍生出3种不同的交易模式:

①【链上模式】链上撮合引擎,问题是贵+慢。

②【Open 模式】链下靠订单广播,用户抢单。导致「订单冲突」和「抢先交易」问题。即:

  • 订单冲突(order collision):多人可能吃到同一个订单,但只有一个人能成交,剩下的人都吃单失败。订单失败或成功只能等区块链的确认结果,耽误交易时机。而且,越是市场变化剧烈、交易旺盛时,冲突越严重。
  • 抢先交易(front running): 即在上述情况下,谁的gas费出的高,谁就更有可能交易成功,普通交易者相对于机器人脚本劣势巨大。

③【Hybrid 模式】链下撮合引擎,链上结算合约。同时保证交易效率+资产安全。

对于用户来讲,所谓「去中心」交易需要的是资金托管的去中心,而不是撮合的「去中心」。对于撮合,要的是高效率、高流动性。因此,Hybrid模式很可能是在ETH 2.0前最好的去中心化交易模式。

Hybrid 模式哪家强?

作为一个DeFi项目,我要建一个交易平台,作为流量入口。在提供Hybrid交易模式的开源技术中,我应该如何选择?

在上述最具代表性的Hybrid模式交易所中,

  • DDEX采用的是Hydro协议;
  • Paradex采用的是0x协议;
  • IDEX 背后并没有一套开源的SDK开发工具包。

那么,为我的DeFi项目搭建交易平台,现在有2个选择:Hydro 或 0x。

0x的体验

0x的Hybrid模式体验怎么样呢?DDEX 作为曾经的0x relayer(中继商),在开发实践时,遇到了以下问题,可供参考:

1.无法收手续费

这个bug导致了:Relayer 无法赚钱。

0x要求用户购买ZRX作为手续费,就好像在A股交易时要求股民用美元交手续费。是一个给流动性带来摩擦的负面设计。

为了能让用户用交易对中的代币直接交手续费,Relayer采取一种hack的办法:用户签单时,把手续费签进订单价格。例如一个在订单簿显示价格为100的卖单,用户实际签署的价格为99,价差作为手续费。

这种hack不仅在工程上造成了很大的困难,又因为0x在撮合前不能够区分maker和taker,导致了maker和taker的费率无法实现差异化。

2.无法区分maker和taker费率

这个bug导致了:无法通过maker手续费优惠,从供给侧鼓励流动性。

Maker和taker不同费率是维护市场公平,促进流动性的重要机制。然而在0x中,只有当订单被撮合,我们才知道它是taker还是maker。上一点讲到,用户在发送订单前,即把手续费签到了价格中,所以不论最后当maker还是taker,用户交的手续费只能设定成一样的。

唯一的办法是Relayer定期向maker返点,这种做法成本高昂且需要Relayer和maker的相互信任。

3.无法做到价格优化

这个bug导致了Relayer多收用户的钱。

在0x中,订单会按照用户签署的价格成交。maker按maker价格成交;在taker按taker价格成交。听起来没毛病,但实践中会遇到这种问题:

在当前的订单簿,我下一个买单:价格120 数量3。

合理情况是:以价格100撮合第一个单,价格110撮合第二个单。花费 210。

而0x会以我的出价120来收费,两笔撮合的价格都是120,花费240。Relayer多收了我240-210=30 块钱。

Relayer需要后续单独返还差价给用户。

4. 无法支持市价单。

市价单本质上是一个价格无限高的买单/价格无限低的卖单,不论作为taker还是maker,我的成交价格都是maker价格,0x做不到,所以0x Relayer告别市价单。

5. 取消订单需要缴纳gas fee。

Hydro的改进

为了解决以上问题,Hydro 做了以下优化:

  • 按照计价货币作为手续费—Relayer利好
  • 区分maker和taker,并在合约层提供maker费率优化和返点—做市商利好
  • 价格优化—用户利好
  • 支持市价单—用户利好
  • 免费取消订单—用户利好

Relayer利好、做市商利好、用户利好本质上都是流动性利好。

哪项交易技术,能够最大化的促进流动性,带来最好的交易体验,才是DeFi产品的最终选择。

毕竟,在投资3要素:收益/风险/流动性中,DeFi产品相对于传统金融,根本优势不是更高的收益、更低的风险;

而是不局限于谁来交易、交易什么、什么时间交易、在哪儿交易,以此带来的无限流动性。

所以,一切对DeFi流动性造成摩擦的技术,终将被淘汰。在给DeFi淘金者卖水的生意里,谁的水流动性最好,生意就属于谁。

Hydro SDK 已开源。

本文希望把去中心化交易模式讲得明明白白,如果仍与疑问,或想加入讨论,欢迎联系!
加作者微信:Diane_1997,请注明来意哦。

本文经作者授权转载于Hydro社区公众号。

深入浅出区块链 - 打造高质量区块链技术博客,学区块链都来这里,关注知乎微博 掌握区块链技术动态。

LBC-Team wechat
欢迎订阅公众号:深入浅出区块链技术
0%