以太坊联合创始人VitalikButerin提出了一种针对特定类型的跨rollup扩容解决方案,以应对不断增长的交易费用,同时创建一个统一的生态系统。
这个提议概述了两个使用rollup的协议如何在保持互连性和可组合性的同时相互通信。
Rollup是L2扩容解决方案,本质上是处理和存储主链之下的交易数据的智能合约网络。但是,有许多不同的rollup类型,每种类型都使用独特的智能合约,例如“optimistic”和“零知识(zero-knowledge)”。
尽管许多DeFi项目已部署了L2rollup,例如Loopring和Synthetix,但不同的rollup意味着项目无法在L2上直接相互通信。
Buterin的提议假定一种rollup可以处理简单的交易,而另一种rollup则完全受智能合约支持。已经有人提议使用rollup在两个支持智能合约的协议之间进行传输。
为了解释这个提议是如何运作的,Buterin提供了一个他称为“Ivan”的假设的交易中介的例子——Ivan在rollup a上有一个完全控制的账户“IVAN_A”,还在rollup B上的智能合约“IVAN_B”中存入了一些资金。
为了确保未来交易的安全,智能合约将被编程为接受“备忘录”,其中包括任何人向它发送的额外数据。交易创建了一个连接层,连接层将在所有这些单独合约中保存存款,允许rollup a通过连接层发送到rollup B。
Buterin认为,这种行为的工作方式应如下:
“Alice发送一个交易给IVAN_A,其中包含N个代币和一个备忘录Alice_B。Ivan通过Ivan_B将Trade_Value*(1-fee)代币发送给Alice_B。”
他补充说,最坏的情况是Ivan没有像预期的那样向ALICE_B发送代币。
在谈到使用拟议方案可能出现的“最坏情况”时,Buterin强调,Alice仍然可以等待rollupA上的交易确认,找到一些替代方法获取rollupB上的代币以支付费用,然后自己获取资金。
针对这个提议,Alon Muroch指出其工作方式与银行清算交易的方式类似:
“这很有趣,就像银行之间的交易清算一样。将资产批量分配到单独的“账户”中可能会有限制,一种解决方案可能是在两端都设有一个大池,并按比例分摊费用。”