Vitalik proposes solution to link certain layer-two scaling projects
L2 DeFi protocols currently cannot communicate with each other, so Vitalik has proposed a fix.
In an ongoing effort to battle escalating transaction fees while creating a unified ecosystem, Ethereum co-founder Vitalik Buterin has proposed a solution for a particular type of cross-rollup scaling.
The proposal outlines how two protocols using rollups can communicate with each other while maintaining interconnectivity and composability.
Rollups are layer-two solutions that are essentially smart contract networks that process and store transaction data off the main chain. However, there are a number of different rollup types, with each using unique smart contracts such as optimistic and zero-knowledge.
While a number of DeFi projects have deployed layer-two rollups, such as Loopring and Synthetix, the particulars of the various rollups mean projects are unable to communicate to one another directly on layer-two.
Buterin’s proposal assumes that one rollup can process simple transactions whereas the other has full smart contract support. There are already proposals for transfers between two smart contract enabled protocols using rollups.
To explain how the proposal works, Buterin provides the example of a hypothetical exchange intermediary he called ‘Ivan’ — where Ivan has an account ‘IVAN_A’ on rollup A that he fully controls, and also has some funds deposited in a smart contract ‘IVAN_B’ on rollup B.
The smart contract would be programmed to accept “memos” that include additional data from anyone sending to it in order to secure any future transactions. The transactions create a connecting layer that keeps deposits in all these isolated contracts, allowing rollup A to send to rollup B via this layer.
Buterin suggested that the behavior would work as follows;
“Alice sends a transaction to IVAN_A with N coins and a memo ALICE_B. Ivan sends a transaction sending TRADE_VALUE * (1 – fee) coins through IVAN_B to ALICE_B”
He added that the worst-case behavior would be if Ivan does not send coins to ALICE_B as he is expected to.
Addressing the “worst-case” scenario that could arise as a result of using the proposed situation, Buterin emphasized that Alice would still be able to wait until the transaction on rollup A confirms, find some alternate route to getting coins on rollup B to pay fees, and then simply claim the funds herself.
Responding to the proposal, Alon Muroch pointed out that it worked in a similar way to how banks clear transactions:
“That’s very interesting, similar to how banks clear transactions between themselves. Batching assets into separate “accounts” could have limitations, a solution could be just big pools on either ends and fees split pro-rata.”