ALI:Vitalik:如何实现跨Rollup DEX

来源|ethresear.ch

作者|VitalikButerin

假设我们有两种rollup解决方案A和B,Alice想要用rollupA上一定数量的代币来换取rollupB上同样的代币。已经有人提出方案解决这个问题了,如果rollupA和B都是完全支持智能合约时,那么就可以去中心化地实现这个假设。然而这篇文章提出的是,当仅有rollupB完全地支持智能合约时(且rollupA只能处理简单交易)如何实现跨rollup转账。

我们假定rollupA上的交易有某种“备注字段”;如果没有的话,可以使用该交易值的低位数字作为备注发送。

提案

假设我们有一个交换中介Ivan(在实现时有许多中介可供选择)。Ivan在rollupA中拥有一个(完全由他控制的账户)?IVAN_A。同时,Ivan还在rollupB的智能合约?IVAN_B?中存了一些资金。

RNS.ID:Vitalik Buterin获得帕劳共和国RNS.ID数字身份证:1月5日消息,帕劳共和国数字身份证RNS.ID团队发推表示,以太坊创始人Vitalik Buterin已正式获得RNS.ID数字身份证。[2023/1/5 10:23:30]

智能合约?IVAN_B?具有以下规则:

??如果任意用户发送了一笔交易(发送某代币交易值?TRADE_VALUE?至账户?IVAN_A),(交易中还附上了一个目的地址B?DESTINATION?作为备注),则在最小偿还延迟?MIN_REDEMPTION_DELAY?区块之后,该用户就可以返还一笔交易至账户?IVAN_B?中(其中包括之前的转账证明),然后这笔交易就会排队等候提款至地址?DESTINATION?中。

欧洲刑警组织打击比利时庞氏局Vitae,收回150万欧元加密货币:欧盟法律机构欧洲刑警组织打击了比利时庞氏局Vitae。欧洲刑警组织突袭了与该网站相关的17个地点,这些地点被宣传为拥有自己的加密货币的社交媒体网站。该公司以VITAE AG的名义在瑞士运营。在此次行动中,执法人员收回了110万欧元现金和150万欧元的加密货币。(Bitcoin)[2021/6/28 0:11:32]

??等待一定的延迟(例如一天)后,按照转账打包进rollupA的批次和索引顺序处理提款。

??当Ivan发现其账户?IVAN_A?收到款项时,他就可以亲自发送?TRADE_VALUE*(1-fee)?代币至?DESTINATION?中。他可以用?IVAN_B?的方法发送交易来完成上述操作,这个方法保存了一个记录,防止合约中的自动发送条款触发该交易。

Vitalik:捐赠的50万亿枚SHIB不会获得税务冲销:5月19日消息,Vitalik表示,其向印度新冠加密救援基金捐赠的超50万亿枚SHIB不会获得税务冲销(税务减免)。据悉,SHIB币价波动剧烈,此前其捐赠款价值20亿美元,目前缩水到8亿美元左右。(彭博社)[2021/5/19 22:19:08]

预期的行为很简单:

??Alice发送一笔交易至账户?IVAN_A?中(包含N代币和一个备注?ALICE_B)

??Ivan通过IVAN_B发送?TRADE_VALUE*(1-fee)?代币至?ALICE_B?中

第二笔交易紧接着第一笔交易发生。如果Ivan可以证明第一笔交易和第二笔交易之间的时间戳差异非常小,那么合约甚至有规则允许提高费用fee。

动态 | OKB上线新加坡币星交易所及去中心化交易所ViteX:本周,OKB先后上线新加坡币星交易所及去中心化交易所ViteX,并借助他们在新加坡、俄罗斯、东南亚及欧美地区的影响,拓宽海外用户。本月以来,随着价格的增长,OKB市场活跃度明显提高。此前韩国2家交易所,Bitribe和BW也已支持OKB币币交易。

截至目前,OKB开启美元、欧元、韩元、越南盾、印尼卢比等法币通道,并已上线50余个交易所,覆盖了全球141个国家和地区的百万用户。[2020/2/26]

最糟糕的情况是,Ivan没有如他所期望那样向?ALICE_B?发送代币。遇到这种情况,Alice可以等待rollupA上的交易确认之后,在rollupB上找到其他获取代币的替代路径来支付费用,然后就可以自己认领其资金。

金色财经独家分析 以太坊创始人Vitalik反对通过分叉方式抵制ASICs:在周五举行的开发者大会上,针对用分叉解决ASIC矿机的讨论,以太坊创始人Vitalik表示,“在这一点上,我个人倾向于不采取任何行动。”金色财经独家分析,据比特大陆官方消息,Antminer E3矿机将于7月开放销售。该款矿机将改变以太坊的挖矿算法。以太坊的开采历史上一直被GPUs所主导,这一改变将导致以太坊的挖掘中心化。另一方面,ASICs提高了进入的门槛,可能会排挤较小型的矿主。之前以太坊主要开发人员讨论是否要对区块链进行硬分叉,以抵制比特大陆ASIC矿机对算法的改变。在3月29日,以太坊开发者Piper Merriam提出了以太坊改进提案(EIP) #958,该方案寻求社区对区块链是否应该分叉以及它如何“抵抗ASIC”的建议。此次在开发者大会上,Vitalik反对通过分叉方式抵制ASICs,这似乎预示着以太坊不会针对ASIC矿机进行硬分叉。[2018/4/9]

资本成本

该方案的主要限制是,IVAN_B?需要持有大量的资金,以确保所有交易发送者都能得到支付。尤其是,假设出现以下情况:

??我们将交易上限设置为?TRADE_LIMIT?(所以当发送至?IVAN_A?的交易超出限额?value>TRADE_LIMIT?时,交易无效)

??每个rollup批次最多可以包含?TXS_PER_BATCH?笔交易

Alice可以自行检查rollupA下一批需要处理的交易之前,还有多少未处理的交易,用她在合约?IVAN_B?中的资金减去这些交易的总值,并检查剩余的金额是否足够。由于提款是按顺序处理的(这是上述的排列机制的目的),Alice不需要担心合约先处理其他提款申请,再处理她的提款交易申请。

在每批次中最大交易额为?TRADE_LIMIT*TXS_PER_BATCH?,因此?IVAN_B?合约中至少需要这么多的ETH,还需要额外的资金包含为处理的交易。举个例子,假设交易上限为0.1ETH?TRADE_LIMIT=0.1ETH?(交易上限可以设得比较低,因为一笔大额交易可以分成几笔小交易完成),并且每批次可以处理1000笔交易?TXS_PER_BATCH=1000。那么,合约?IVAN_B?需要持有100ETH。

注意,这个设计中还包括隐含的费用,因为交易额超过0.1ETH的任意用户都需要浪费区块空间。这与资本要求相权衡,也就是说,如果用户消耗了一半的区块空间,那么其资本要求将翻倍,反之亦然。如果想要获得合适的平衡,那么隐含的费用要比市场上明确的费用少几倍。

如果我们想要减少或者消除这种消耗,可以这样设计rollupA:让序列器发送一个已签名的信息,该信息证明了Alice在该批次的所有交易。然后Alice就会知道在她之前没有交易(尽管恶意的序列器可以Alice,但是作恶代价会很高)。

备注

上述设计基于一个假设:RollupA上的交易有一个备注字段,Alice可以通过该备注指定?ALICE_B?作为她接收代币的目的地址。如果rollup没有这种特性,那么我们可以使用以下解决方案。Alice可以在rollupB上的一个以顺序登记的合约上注册账号?ALICE_B?,并获得一个按顺序分配的ID(因此Alice的ID等于在她之前注册的用户数量)。

设置用户数的最大值?MAX_USER_COUNT?;如果有必要,这个值可以随时间向上调整。则Alice可以确保?TRADE_VALUE%MAX_USER_COUNT??等于(Alice的ID),使用?TRADE_VALUE?的低位数字(这个数字是这笔交易的一个小数值)来表示她想交易的代币数量。

从RollupB到RollupA的交易

如果Alice把RollupB上的代币转移到RollupA,她可以使用相同的机制,只是角色颠倒了:

??Alice将代币发送给?IVAN_B

??经过一段时间的延迟后,她将获得取回代币的权利

??如果Ivan可以向?IVAN_B?证明,他在RollupA上给Alice发送了代币,Alice就失去了这个权利

点击“阅读原文”获取文章内部链接!

原文链接:https://ethresear.ch/

ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ETH中文站。若需长期转载,请联系进行授权。

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

地球链

[0:15ms0-1:151ms