如何让不同的扩容方案连接起来,保持DeFi协议最为人所知的可组合性和协作性? 在币乎社区的一次线上AMA中,Vitalik提到了目前Rollup等Layer2方案需要解决的两个问题: 以太坊的社区很多应用喜欢调用智能合约,比如DeFi的项目。但目前的ZK Rollup不支持智能合约,只支持发币、交易币等简单的应用。这是第一个问题。当我们有支持完整EVM的Rollup的时候,我觉得会有更多的用户搬到Rollup。 现在Rollup相关的基础设施生态还不多。比如我们还没有解决不同的Rollup之间交易的问题。如果我有一些币在ZKsync怎么把币搬到路印?首先需要把币从ZKsync的二层提取到以太坊底层,然后再转移到Loopring的二层账户。如果这样做了,交易费会不会特别高? 现在以太坊上会有很多用户体验方面的挑战(问题)。但我觉得6个月之后很多这些问题都会解决。 那么如何解决? 三、Vitalik提案:如何实现跨Rollup转账 几天前以太坊联合创始人Vitalik Buterin提了个想法,将不同的第二层扩展解决方案连接起来,这样它们就可以相互“交谈”,以保持DeFi协议的可组合性和协同性。 假设存在两个Rollup:A和B。用户Alice想要将Rollup A上的一些代币,换成Rollup B上的另外一些代币。假设存在两种情况: Rollup A和Rollup B都能够支持合约 只有一个Rollup支持智能合约,另一个Rollup只支持简单的转账。 第一种情况,社区也有一份提案,名为"Hop:Send Tokens Across Rollups(Hop:跨Rollup发送代币)",地址见:https://ethresear.ch/t/hop-send-tokens-across-rollups/8581。 Vitalik的提案,针对第二种情形,即:如果RollupA只支持简单的转账交易,而Rollup B支持智能合约。 V神提议,有一种简单的方法,可以将这些各自孤立的合约网络连接起来。 跨Rollup转账的基本场景 “假设有一个交易中介,名为Ivan(当然有很多中介可以选择,这里只是举例)。Ivan在Rollup A上有一个帐户IVAN_A(他完全控制该帐户)。Ivan也有一些资金存入到Rollup B上的智能合约IVAN_B中。” 设想有如下的操作: Alice向Rollup A上的IVAN_A账户发起一笔交易,转账到Rollup B上的账户:ALICE_B。(Alice在Rollup A上转给IVAN) Ivan能怎么办呢?他会通过IVAN_B账户,发送一笔交易,将扣除了手续费之后的代币数量,发送到ALICE_B这个账号中。 在第一步之后,第二步可以立即进行。如果Ivan证明第二笔交易跟第一笔交易之间的差异非常小,那么甚至可以在合约里设置规则,允许收取更高的费用。 “最坏的情况”是Ivan没有像预期的那样向ALICE_B发送代币。在这种情况下,Alice可以等待Rollup A上的交易确认,然后通过其他途径获得Rollup B上的代币用来支付跨Rollup传输的手续费,然后她自己就可以claim,获得资金。 (责任编辑:admin) |