Um rollup é uma rede de camada 2 (layer 2) que executa transações fora da Ethereum, as agrupa e publica os dados de volta na Ethereum. Este artigo explica como isso funciona, como os rollups otimistas e os de conhecimento zero (zero-knowledge) diferem e por que toda taxa de rollup inclui um custo para a Ethereum.
Para a visão geral das camadas, veja layer 1, layer 2 e layer 3 explicadas.
Como um rollup agrupa transações
Quando você envia uma transação em um rollup como a Base, ela não vai direto para a Ethereum. Vai para o operador do rollup, que a executa e atualiza o estado do próprio rollup, como os saldos. Alguns segundos depois, muitas dessas transações são comprimidas em um lote (batch). O lote é então publicado na Ethereum em uma única transação.
A palavra "roll up" (enrolar, agrupar) descreve isso: muitas transações são enroladas em uma só. O custo da transação na Ethereum é dividido por todos no lote, e esse é o principal motivo de as taxas serem menores do que na própria Ethereum.
O sequenciador
O sequenciador (sequencer) é o servidor que recebe as transações em um rollup, as coloca em ordem, as executa e produz os blocos da L2. Ele também dá aos usuários confirmações rápidas, muitas vezes bem abaixo de um segundo, antes que qualquer coisa chegue à Ethereum.
A maioria dos grandes rollups hoje roda um único sequenciador, operado pela equipe responsável pela rede. Isso é simples e rápido. Também traz trade-offs, descritos aqui de forma neutra:
- Poder de ordenação. O sequenciador escolhe a ordem das transações, então, em teoria, poderia atrasá-las ou reordená-las.
- Indisponibilidade. Se o sequenciador parar, o uso normal do rollup para. Os rollups têm um plano alternativo: os usuários podem enviar transações por um contrato na Ethereum, embora seja mais lento e mais caro.
- Não pode roubar fundos sozinho. O sequenciador não consegue criar um saque válido de dinheiro que não possui, porque as provas ou verificações na Ethereum o rejeitariam.
Equipes de todo o setor falam em descentralizar os sequenciadores ao longo do tempo. O estado atual difere em cada rede, então consulte a documentação de cada projeto.
Publicando dados na Ethereum: calldata e blobs
Um rollup precisa publicar seus dados na Ethereum para que qualquer pessoa possa verificar a rede. Historicamente, ele fazia isso em calldata, um campo de uma transação comum da Ethereum. O calldata é permanente e compete com toda a outra atividade da Ethereum, por isso era caro.
Em 2024, a Ethereum acrescentou os blobs por meio do EIP-4844. Um blob é um grande bloco de dados que os nós da Ethereum guardam por um período curto, não para sempre, e tem seu próprio mercado de taxas, separado do gas normal. Isso é muito mais barato para os rollups e reduziu o custo típico das transações de L2. Você pode ler a especificação em eips.ethereum.org.
Rollups otimistas
Um rollup otimista (optimistic rollup) presume que os lotes publicados estão corretos, a menos que alguém prove o contrário. Esse é o otimismo do nome.
- Depois que um lote é publicado, há uma janela de contestação (challenge window). Durante ela, qualquer pessoa que perceba um resultado inválido pode enviar uma prova de fraude (fraud proof) à Ethereum.
- Se a prova de fraude for válida, o resultado errado é descartado.
- Se ninguém contestar, o resultado é final na Ethereum depois que a janela se fecha.
A janela de contestação é de cerca de 7 dias para saques para a Ethereum pela ponte oficial. O uso do dia a dia no rollup não é atrasado. Só mover fundos de volta para a L1 pela ponte canônica precisa esperar. As pontes rápidas de terceiros podem acelerar isso mediante uma taxa, e pontes e seus riscos explica como.
Três redes do ChainMonitor são rollups otimistas: Arbitrum One, Base e OP Mainnet. Base e OP Mainnet usam a OP Stack. A Arbitrum usa sua pilha Nitro. Veja os guias da Arbitrum, da Base e da Optimism.
Rollups de conhecimento zero (ZK)
Um rollup ZK (zero-knowledge rollup) não depende de uma janela de contestação. Em vez disso, cada lote vem com uma prova de validade (validity proof), uma prova matemática de que o novo estado decorre do estado anterior segundo as regras. A Ethereum verifica a prova com um contrato inteligente. Se for válida, o lote é aceito.
Os benefícios são uma finalidade mais rápida na L1, porque não é preciso um longo período de espera, e uma garantia forte de que um estado inválido não pode ser aceito. Os custos são que gerar as provas exige muita computação e que a tecnologia é mais complexa de construir, principalmente ao suportar todos os recursos da Ethereum. Essa área está evoluindo rápido, e existem vários rollups ZK. Nenhuma das sete redes do ChainMonitor é um rollup ZK.
| Característica | Otimista | ZK |
|---|---|---|
| Suposição básica | Correto, a menos que contestado | Provado correto |
| Como os erros são detectados | Prova de fraude | A prova de validade é obrigatória |
| Saque para a L1 | Cerca de 7 dias (ponte canônica) | Mais rápido, após a prova ser verificada |
| Carga de computação | Menor | Maior, por causa das provas |
| No ChainMonitor | Arbitrum, Base, OP Mainnet | Nenhuma |
A taxa de dados L1 em toda taxa de L2
A taxa de uma transação de L2 tem duas partes:
- Taxa de execução L2. Paga pela execução da sua transação no rollup. Geralmente é minúscula.
- Taxa de dados L1. Paga a sua parte na publicação de dados na Ethereum. Muitas vezes é a maior parte da taxa.
A taxa de dados L1 muda quando os custos de dados da Ethereum mudam, então a taxa total em uma L2 pode oscilar mesmo quando a própria L2 está calma. No monitor de gas, os números das L2 incluem essa taxa de dados L1, então você vê o custo real. Para se aprofundar, leia gas e taxas.
O que isso significa para você
- No uso diário, os rollups otimistas e ZK parecem semelhantes: rápidos e baratos.
- Se você pretende mover fundos de volta para a Ethereum, confira quanto tempo leva. Nos otimistas, planeje cerca de 7 dias ou use uma ponte e leia os riscos dela.
- Seus fundos são guardados por contratos na Ethereum, mas um rollup ainda tem seu próprio código, seu sequenciador e suas regras de atualização. Esses são riscos separados.
Perguntas frequentes
O que é um rollup em cripto?
Um rollup é uma rede de layer 2 que processa transações fora da Ethereum, as agrupa em lotes e publica os dados na Ethereum para poder herdar a segurança dela.
Por que sacar da Arbitrum, Base ou Optimism leva 7 dias?
Essas redes são rollups otimistas. Depois que um saque é solicitado pela ponte oficial, há uma janela de contestação de cerca de 7 dias durante a qual qualquer pessoa poderia provar que ele é inválido. Os fundos são liberados após o fim da janela.
Qual é a diferença entre rollups otimistas e ZK?
Os rollups otimistas presumem que os resultados estão corretos e permitem contestações por um período. Os rollups ZK anexam uma prova matemática de validade a cada lote, então não é preciso um período de espera para contestações.
O que é um sequenciador?
Um sequenciador é o servidor que ordena e executa as transações em um rollup e dá confirmações rápidas. A maioria dos grandes rollups usa um único sequenciador operado pela equipe do projeto, o que é rápido, mas é um ponto de centralização.
O que são blobs na Ethereum?
Blobs são anexos de dados baratos e temporários introduzidos pelo EIP-4844. Os rollups os usam para publicar seus dados na Ethereum a um custo menor que o do calldata.