Skip to content

Fundamentos

Rollups otimistas vs ZK explicados de forma simples

Atualizado:

Nesta página

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:

  1. Taxa de execução L2. Paga pela execução da sua transação no rollup. Geralmente é minúscula.
  2. 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.