Le blockchain monolitiche hanno adottato nel tempo tecniche di scalabilità diverse, molte delle quali si sono rivelate infruttuose. Le blockchain modulari rappresentano un modo per suddividere una blockchain monolitica in più strati specializzati. Di conseguenza, ogni strato può implementare meccaniche per la scalabilità che potrebbero richiedere molti compromessi in un'architettura monolitica.
In uno stack modulare, un execution layer è un tipo di blockchain che è principalmente responsabile dell'esecuzione delle transazioni rivolte all'utente. I rollup sono emersi come un tipo comune di execution layer utilizzato nella scalabilità delle blockchain. I rollup sono essi stessi un tipo di blockchain che pubblica i propri blocchi su un layer base per garantire la validità e la disponibilità dei dati. Base layer è il termine che useremo per riferirci alle blockchain L1 che i rollup utilizzano. Nel tempo, sono emerse due progettazioni primarie per i rollup, gli optimistic rollup e i zk rollup.
Gli optimistic rollup pubblicano i loro blocchi su un layer base, che riceve il blocco e assume ottimisticamente che le transazioni siano corrette. Per consentire ai blocchi di rollup di essere contestati nel caso in cui il blocco sia sospetto di essere invalido, viene fornita una finestra di contestazione per effettuare le contestazioni. Se un blocco viene contestato, viene utilizzata una prova di frode per verificare se è invalido. Una volta chiusa la finestra di contestazione, non possono essere effettuate ulteriori contestazioni contro il blocco e viene considerato definitivo.