Mangrove 简短介绍

Mangrove 是一个不需锁定资产的Orderbook 形式的DeFi 交易协定,不需要先将资产存入一个智能合约中才可以开始提供流动性,更可以用灵活的策略来提供流动性,比如说直接用放在Compound 的资产提供流动性。

达成这个目的的方式,就是让每笔订单(或是说Offer)都是一段可执行的程式码(称为脚本Script,不过要注意这段Script 也是智能合约) 加一个触发条件,当触发条件满足后就这段Script 就会被执行,并且在执行完之后会再次检查是否有满足触发条件,也就是有没有确实地交换两种代币,如果没有交换成功,这笔交易就会revert。

举例来说如果上图为Mangrove 订单簿,每个订单都会是一个Offer。每个Offer 里面都包含了:

  1. 打算提供多少数量的Token A
  2. 打算需要多少数量的Token B
  3. 这段程序执行需要多少gas
  4. 脚本(Script),实际执行的程序片段(智能合约)

当Taker 下了一个订单,符合Maker 的Offer 时,脚本就会被执行。我们先设定脚本的内容就是从Maker 的帐号里面取出1 ETH 转给Taker。当一个Taker 发出一个Market Order 符合上述Maker 提出的offer 时,此时就会执行Maker 的脚本。

脚本最简单的版本,就是直接从Maker 的帐户转1 ETH 给Taker 完成这笔交易,此时Mangrove 会验证交易内容,如果条件都符合(或是订单部分符合),那这笔交易就顺利完成。若脚本执行完的状态不符合Offer 的条件,此笔交易就会revert,此时gasreq 会补偿给Taker。

但因为Code 就是Offer 本体(Code as an Offer?),所以这边可以用很多灵活的方法来提供流动性。Maker 除了可以从自己的帐户拿钱出来,也可以直接从Compound, Aave 把自己在里面定存的钱拿出来交易,甚至也可以从Uniswap 把自己的Liquidity 抽出来当流动性,如果有找到适当的方式甚至可以用Flashloan 来提供流动性;更可以将交易完之后取得的代币,再放回其他DeFi 产品,比如说再塞回Compound 生利息。

这样有几个好处:

  1. 不需要刚开始就锁定资金,入金到某个智能合约
  2. 资金利用效率比较高,没在用的时候还是可以放在其他DeFi 产品生利息

另外在Mangrove 里面还可以用一段Code 管理许多Offers,当一个Offer 被吃掉后,他也可以同时更新其他由同一份Code 管理的Offer 的价格资讯,不需要像是一般Maket Maker 那样重复的取消、建立新的订单,只需要更新Offer 的参数即可。

本文链接地址:https://www.wwsww.cn/DeFi/10845.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。