À medida que o Ethereum (ETH) continua a enfrentar desafios de escalabilidade, os optimistic rollups surgiram como uma solução promissora para resolver a congestão da rede e as altas taxas de transação. Este guia abrangente explora como os optimistic rollups funcionam e fornece instruções detalhadas para usá-los a fim de obter transações mais rápidas.
Como Funcionam os Optimistic Rollups?
Os optimistic rollups funcionam de maneira semelhante a um sistema bancário baseado em cheques. Assim como os bancos honram cheques a menos que contestados, os optimistic rollups consideram todas as transações válidas a menos que desafiadas por meio de provas de fraude. Este sistema opera como uma solução de escalonamento de Camada 2, mantendo a segurança por meio da camada base do Ethereum enquanto processa transações fora da cadeia.
Componentes Principais
A arquitetura dos optimistic rollups depende de vários componentes críticos:
- A Máquina Virtual Optimistic (OVM) serve como o ambiente de execução, garantindo a execução determinística de contratos inteligentes entre a Camada 1 e a Camada 2. Este ambiente isolado garante transições de estado consistentes entre as camadas.
- O Optimistic Geth funciona como o cliente da Camada 2, apresentando um sequenciador único responsável pela ordenação e aplicação de lotes de transações ao contrato principal da cadeia. Este sequenciador desempenha um papel crucial na manutenção da ordem das transações e da gestão do estado.
- Os Contratos de Cadeia formam a espinha dorsal do sistema de optimistic rollup, operando na mainnet do Ethereum. Dois contratos essenciais são:
- A Cadeia de Transações Canônicas OVM (CTC) mantém um registro de apenas anexos das transações aplicadas ao estado OVM. O sequenciador adiciona lotes de transações L2 a esta cadeia, enquanto também permite que os usuários enfileirem transações L2.
- A Cadeia de Compromisso de Estado OVM (SCC) armazena as raízes de estado propostas correspondentes às transações CTC, mantendo uma relação de um para um com transações na cadeia canônica.
Acelerando Transações de Blockchain Usando Optimistic Rollups
Processo de Depósito
Para iniciar transações mais rápidas, os usuários devem primeiro entender o processo de depósito. Ao transferir ativos da Camada 1 para a Camada 2, ocorre a seguinte sequência:
Os usuários enviam tokens para o contrato de ponte de tokens na Camada 1. A ponte escrows esses tokens e aciona uma mensagem por meio do contrato Messenger, visando a ponte correspondente na Camada 2 com um pedido de conclusão do depósito. Esta transação é inserida na CTC por meio de uma função de fila.
O sequenciador deve executar esta transação enfileirada, chamando a função relayMessage no contrato L2 Messenger. Finalmente, o contrato Messenger instrui a ponte a completar o depósito por meio da cunhagem de tokens equivalentes na Camada 2, que são então liberados para o endereço L2 do usuário.
Processo de Retirada
O processo de retirada espelha a sequência de depósito, mas introduz complexidade adicional devido a considerações de segurança. Ao retirar ativos, o sistema segue estas etapas:
Os usuários iniciam a retirada através da ponte de tokens L2, que queima os tokens e comunica-se com o contrato Messenger. Esta informação é registrada na árvore de estado L2 e eventualmente aparece na CTC uma vez que o sequenciador a atualiza com o novo lote de transações.
O sequenciador publica o estado para o SCC, iniciando um período de espera obrigatório durante o qual a mudança de estado pode ser desafiada. Este período normalmente abrange uma semana, permitindo tempo para a submissão de prova de fraude, se necessário.
Após expirar o período de desafio, a mensagem pode ser retransmitida para o contrato L1 Messenger, que verifica a janela de prova de fraude transcorrida antes de instruir a ponte de tokens a liberar tokens para o usuário.
Abordando Atrasos nas Retiradas
O período de disputa de uma semana apresenta um desafio significativo para os usuários que buscam acesso rápido aos seus fundos. No entanto, existem várias estratégias para mitigar este atraso:
Retiradas Rápidas Assistidas por Provedores de Liquidez
Esta solução inovadora introduz provedores de liquidez (LPs) para facilitar retiradas mais rápidas. Os LPs operam nós completos de L2 para verificar as transações CTC e podem oferecer liquidez imediata aos usuários, cobrando uma taxa por este serviço.
O processo de verificação permite que os LPs avaliem a validade das transações antes que o sequenciador publique raízes de estado. Quando um LP aceita um pedido de retirada, eles fornecem liquidez imediata ao usuário enquanto reivindicam a liberação de ponte atrasada para si, criando um arranjo mutuamente benéfico.
Este sistema oferece várias vantagens:
- Os usuários obtêm acesso imediato aos seus fundos sem esperar pelo final do período de disputa.
- Os LPs ganham taxas por fornecer liquidez ao mesmo tempo que mantêm a segurança através da verificação de transações.
- O processo permanece seguro, pois os LPs podem verificar transações através da CTC, independentemente das publicações de raiz de estado do sequenciador.
No entanto, esta abordagem apresenta certas limitações:
- Tokens de baixa liquidez podem enfrentar custos elevados de provisão de liquidez.
- Eventos de retirada maciça podem causar escassez de liquidez.
- Os LPs devem manter processos de verificação precisos para evitar perdas financeiras.
Equilibrando Velocidade com Segurança
Os optimistic rollups representam uma solução de escalonamento sofisticada que equilibra segurança com velocidade de transação. Enquanto o atraso inerente à retirada apresenta desafios, as retiradas assistidas por provedores de liquidez oferecem uma solução prática para usuários que precisam de acesso imediato aos fundos. À medida que o ecossistema continua a evoluir, podemos esperar novos refinamentos nestes mecanismos, potencialmente introduzindo novas soluções para melhorar a velocidade das transações, mantendo as robustas garantias de segurança que tornam os optimistic rollups uma solução de escalonamento atraente para o Ethereum.