Nel continuo tentativo di contrastare gli elevati costi di transazione in un ecosistema unificato, il co-fondatore di Ethereum, Vitalik Buterin, ha proposto una soluzione per un tipo particolare di scalabilità cross-rollup.

La proposta delinea come due protocolli basati su rollup possono comunicare tra loro mantenendo l’interconnettività e la componibilità.

I rollup sono soluzioni layer-two costituiti sostanzialmente da network di smart contract che elaborano e archiviano dati sulle transazioni al di fuori della blockchain principale. Tuttavia, esistono diverse tipologie di rollup, ciascuna con smart contract unici, tra cui optimistic e zero-knowledge.

Anche se diversi progetti DeFi, come Loopring e Synthetix, hanno implementato rollup layer-two, le caratteristiche uniche dei vari progetti impediscono loro di comunicare direttamente sul layer-two.

La proposta di Buterin presuppone che un rollup possa elaborare transazioni semplici, mentre l’altro offre pieno supporto per gli smart contract. Esistono già proposte per trasferimenti tra due protocolli basati su smart contract utilizzando i rollup.

Per spiegare il funzionamento della proposta, Buterin descrive l’esempio di un ipotetico intermediario di scambio chiamato ‘Ivan’ che possiede un account ‘IVAN_A’ sul rollup A di cui ha il pieno controllo, e dei fondi depositati in uno smart contract ‘IVAN_B’ sul rollup B.

Lo smart contract verrebbe programmato per accettare “memo” che includono dati aggiuntivi forniti dal mittente per proteggere qualsiasi transazione futura. Le transazioni creano un layer di collegamento: in tal modo è possibile mantenere i depositi all'interno di contratti isolati, ma al tempo stesso consentire al rollup A di inviare al rollup B attraverso tale layer

Buterin ha suggerito che la procedura si svolgerebbe in questo modo:

“Alice invia una transazione a IVAN_A con N monete e un memo ALICE_B. Ivan invia una transazione trasferendo TRADE_VALUE * (1 - commissione) monete tramite IVAN_B a ALICE_B”

Proseguendo, ha aggiunto che il rischio più grande è se Ivan non invia le monete a ALICE_B come dovrebbe. Ma Buterin ha sottolineato che Alice potrebbe comunque attendere la conferma della transazione sul rollup A, trovare un percorso alternativo per inviare le monete sul rollup B per pagare le commissioni e semplicemente reclamare direttamente i fondi.

In merito alla proposta, Alon Muroch ha fatto notare che funziona in modo simile a come le banche compensano le transazioni:

“È molto interessante, simile a come le banche compensano le transazioni tra di loro. Dividere asset in ‘account’ separati comporta potenziali limitazioni, una soluzione potrebbe essere grandi pool da entrambe le parti e commissioni ripartite proporzionalmente.”