http://www.7klian.com

Vitalik说的跨Rollup DEX是啥?

当人们还在思考用rollup的方法缓解Layer1拥堵的时候,Vitalik已经在思量rollup之间怎么做交互。

6天前,Vitalik提倡了一个叫做“跨rollupDEX”的提案,个中提到当一条rollup有智能合约陈设,另一条rollup没有完全的智能合约成果的时候,资产可以在两条rollup之间以去中心化的方法转移。有一点“隔空挪物”的感受。

这个进程到底是怎么实现的呢?哔哔News将提案,以及Vitalik和社区成员间的出色接头内容翻译如下:

假设我们有两条rollup,别离是rollup A和rollup B。Alice想要把rollup A上特定命量的代币转移到rollup B上。假如A和B都有完全的智能合约支持,在这种环境下,已经有关于如何故去中心化的方法办理这个问题的提案。本提案想要为只有rollup B有完全的智能合约支持(rollup A只能处理惩罚简朴的生意业务)的环境提供思路

我们假设,rollupA上的生意业务有某种“备注字段”,假如没有的话,我们可以利用值的低阶位作为备注发送。

提案

假设存在一个生意业务中介Ivan(在实际实现中,将有很多中介可供选择)。Ivan在rollup A上有一个账户IVAN_A(他完全节制该帐户)。Ivan还将一些资金存入rollup B上的智能合约IVAN_B中。

智能合约IVAN_B有以下法则假如任何人发送TRADE_VALUE数量的代币到IVAN_A,个中包括一个地点DESTINATION作为备注,那么在MIN_REDEMPTION_DELAY块之后, IVAN_B将收到一笔生意业务,,该生意业务包括一个代币转移的证明,从而把提取TRADE_VALUE数量代币这样一笔生意业务列队到DESTINATION地点。提币凭据生意业务被包罗到rollupA中的批次和索引顺序处理惩罚,要颠末一些延迟(好比1天)。

当Ivan看到他在IVAN_A收到资金时,他可以亲自将TRADE_VALUE *(1 - fee)数量的代币发送到DESTINATION地点。他可以通过IVAN_B中的要领发送生意业务,该要领生存一笔记录,防备合约中的自动发送条款触发该生意业务。

预期的操纵很简朴:

-Alice向IVAN_A发送一生意业务,个中包括N个代币备足地点ALICE_B

-Ivan通过IVAN_B发送TRADE_VALUE * (1 - fee)数量的代币到ALICE_B

第二步可以在第一步之后当即举办。假如Ivan证明第二笔生意业务和第一笔生意业务之间的时间戳差别很是小,那么合约甚至可以拟定法则答允用度更高。

“最坏的环境”是Ivan没有像预期的那样向ALICE_B发送代币。在这种环境下,Alice可以期待rollup A上的生意业务确认,找到得到rollup B上的代币的其他途径来付出用度,然后她本身就可以索要资金。

成本本钱

该方案的主要限制是,IVAN_B需要持有大量资金,以确保所有发送者都能获得付出。出格是假设我们把生意业务金额上限配置为TRADE_LIMIT所以发送到IVAN_A的生意业务中,生意业务值> TRADE_LIMIT的生意业务都不是有效生意业务)

同时,我们配置每个rollup批次最多可包括的生意业务数量是TXS_PER_BATCHAlice可以本身查抄rollup A即将到来的批处理惩罚之前有几多未处理惩罚生意业务,她在IVAN_B合约中看到的资金减去这个值,并查抄剩余的金额是否足够。由于提币是按顺序处理惩罚的(这是上面顺序机制的方针),Alice不需要担忧在她本身提币之前IVAN_B会去处理惩罚后头的提币需求

在一个批次中可以生意业务的最大金额是TRADE_LIMIT * TXS_PER_BATCH,因此IVAN_B合约需要至少持有这个数量的ETH,再加上足够的资金来包围未处理惩罚的生意业务。

譬喻,假设TRADE_LIMIT = 0.1 ETH(上限可以设得较量低,因为一笔较高金额的生意业务可以通过多笔生意业务完成),而且TXS_PER_BATCH = 1000。那么,IVAN_B需要100 ETH的资金

留意,在这个设计中有特另外隐含用度,因为任何生意业务高出0.1ETH的人都需要耗损区块空间,这与资金要求相衡量:假如你耗损掉一半的区块空间那么的资金要求也会翻倍(大概指隐含用度更高),反之亦然。要成立符合的均衡,好像应该让隐含用度比市场上呈现的显性用度少几倍。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。