假设我们有两种rollup解决方案A和B,Alice想要用rollupA上一定数量的代币来换取rollupB上同样的代币。已经有人提出方案解决这个问题了,如果rollupA和B都是完全支持智能合约时,那么就可以去中心化地实现这个假设。然而这篇文章提出的是,当仅有rollupB完全地支持智能合约时(且rollupA只能处理简单交易)如何实现跨rollup转账。
我们假定rollupA上的交易有某种“备注字段”;如果没有的话,可以使用该交易值的低位数字作为备注发送。
提案
假设我们有一个交换中介Ivan(在实现时有许多中介可供选择)。Ivan在rollupA中拥有一个(完全由他控制的账户)IVAN_A。同时,Ivan还在rollupB的智能合约IVAN_B中存了一些资金。
Vitalik:因FTX的中心化性质,其崩溃是不可避免的:11月12日消息,以太坊联合创始人Vitalik Buterin表示,FTX的巨大崩溃是不可避免的,因为它的中心化性质。在被问及FTX和其他加密货币公司今年的崩溃时,V神说:“今年我们看到了大量这样的事情,因为它们的模式从根本上说是坏的”。
Buterin指出,FTX的营销类似于“1930年代独裁者”的“个人主义风格”,这与加密货币精神完全相反。(decrypt.co)[2022/11/12 12:54:33]
智能合约IVAN_B具有以下规则:
如果任意用户发送了一笔交易(发送某代币交易值TRADE_VALUE至账户IVAN_A),(交易中还附上了一个目的地址BDESTINATION作为备注),则在最小偿还延迟MIN_REDEMPTION_DELAY区块之后,该用户就可以返还一笔交易至账户IVAN_B中(其中包括之前的转账证明),然后这笔交易就会排队等候提款至地址DESTINATION中。
VitalikButerin等人发布Ethereum“账户抽象”提案ERC4337:9月29日,Ethereum创始人Vitalik Buterin联合KristofGazso、yoav.eth、DrorTirosh、NamraPatel、TomaszK.Stanczak等人发布账户抽象提案ERC4337,可在不改变以太坊共识层协议的情况下实现验证逻辑,该提案的开发者内测版本将于近期上线。
注:“账户抽象”是以太坊社区中讨论的改进提案之一,以实现交易不需要从私钥控制的EOA账户发起,而是可以直接从智能合约发起,具体的用例包括智能合约钱包、Tornado.Cash这类隐私保护工具等。[2021/9/29 17:15:22]
等待一定的延迟(例如一天)后,按照转账打包进rollupA的批次和索引顺序处理提款。
欧洲刑警组织打击比利时庞氏局Vitae,收回150万欧元加密货币:欧盟法律机构欧洲刑警组织打击了比利时庞氏局Vitae。欧洲刑警组织突袭了与该网站相关的17个地点,这些地点被宣传为拥有自己的加密货币的社交媒体网站。该公司以VITAE AG的名义在瑞士运营。在此次行动中,执法人员收回了110万欧元现金和150万欧元的加密货币。(Bitcoin)[2021/6/28 0:11:32]
当Ivan发现其账户IVAN_A收到款项时,他就可以亲自发送TRADE_VALUE*(1-fee)代币至DESTINATION中。他可以用IVAN_B的方法发送交易来完成上述操作,这个方法保存了一个记录,防止合约中的自动发送条款触发该交易。
预期的行为很简单:
Alice发送一笔交易至账户IVAN_A中(包含N代币和一个备注ALICE_B)
动态 | EOS的Activity指数为 3848 万 排名第1:据IMEOS报道,根据blocktivity.info的数据显示,截止北京时间18年12月25日11点00分 ,区块链活跃度指数排名前五名分别为:EOS,WAX,BitShares,Steem,Bitcoin。其中EOS的Activity指数为38,489,477,排名第1。Activity指数为最近24小时内在区块链上执行的操作数量。[2018/12/25]
Ivan通过IVAN_B发送TRADE_VALUE*(1-fee)代币至ALICE_B中
第二笔交易紧接着第一笔交易发生。如果Ivan可以证明第一笔交易和第二笔交易之间的时间戳差异非常小,那么合约甚至有规则允许提高费用fee。
最糟糕的情况是,Ivan没有如他所期望那样向ALICE_B发送代币。遇到这种情况,Alice可以等待rollupA上的交易确认之后,在rollupB上找到其他获取代币的替代路径来支付费用,然后就可以自己认领其资金。
资本成本
该方案的主要限制是,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.1ETHTRADE_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/t/cross-rollup-dex-with-smart-contracts-only-on-the-destination-side/8778
文章来源:CryptoBriefing原文作者:NiveshRustgi提要:·3月11日晚,加密艺术家beeple完成了一次史诗级拍卖,随后.
1900/1/1 0:00:00随着NFT的概念越来越热,NFT的发行方式也渐渐受到了重视,一些社区成员便提出以INO对首次NFT发行进行命名.
1900/1/1 0:00:002021年初,世界首富马斯克强力站台狗狗币和比特币,在领袖人物的风标下,全球的企业都把目光朝向了加密数字货币和区块链行业,在特斯拉投资15亿美金到比特币之后.
1900/1/1 0:00:00作者|秦晓峰编辑|郝方舟出品|Odaily星球日报 过去几个月,以太坊社区关于EIP-1559究竟是否实施,争论不休.
1900/1/1 0:00:00据TheBlock3月10日报道,加密支付项目MobileCoin在Signal创始人MoxieMarlinspike的指导下,已完成A轮融资,并筹集了1,135万美元.
1900/1/1 0:00:00比特币在2021年初实现了前所未有的上涨,达到了6.18万美元的高点,几乎是2017-2018年热潮时峰值的三倍.
1900/1/1 0:00:00