Quando DeFi encontra o Rollup
Podemos simplesmente colocar toda essa coisa de DeFi em um rollup?
Prezada Nação Bankless,
Duas coisas são importantes para escalar sistemas monetários cripto.
Primeiro, dimensionar a capacidade econômica. Segundo, escalonar o número de transações por segundo (TPS). E você tem que dimensionar os dois de maneira confiável, caso contrário, qual é o objetivo?
É possível escalar transações em uma cadeia separada que ainda é protegida pela cadeia base? Que tal o Santo Graal — e se você quiser executar protocolos DeFi nele?
Acontece que é um problema difícil.
Então, quando ouvi pela primeira vez sobre rollups, não estava otimista. Outra solução de escalabilidade de segunda camada? Sim, claro. Qual é o problema?
Então eu aprendi mais.
Talvez tenha algo interessante aqui. Talvez seja essa a tecnologia cripto que estávamos esperando.
Aprendi que os rollups:
Não exigem um novo token
Não exigem um Ethereum killer
Não exigem o redesenho dos protocolos e carteiras DeFi
Não tem jogos de saída desajeitados e preservam a mesma experiência do usuário
Podem executar tokens Ethereum e contratos inteligentes com centenas de TPS
Uau!
Então perguntei a um especialista se isso era real.
Perguntei-lhe "podemos colocar toda essa coisa de DeFi em um rollup?"
Esta foi a sua resposta.
- RSA
✨ Patrocinador: Com a Nodle você consegue ganhar criptomoedas em seu smartphone por meio do conceito de Connect-To-Earn! Baixe o aplicativo Nodle e receba o token NODL ao detectar e conectar seu celular a dispositivos inteligentes.
Quando DeFi encontra o Rollup
Autor: Daniel Goldman, engenheiro, pesquisador e escritor do Offchain Labs.
2019 marcou o surgimento de duas novas e modernas palavras-chave da Ethereum. No nível de aplicações, temos projetos "DeFi" que aproveitam contratos inteligentes para oferecer encarnações de serviços financeiros tradicionais sem a necessidade de confiança (com uma necessidade de confiança minimizada, ou pelo menos com a esperança de que um dia essa necessidade minimize). No universo paralelo de protocolos de escalabilidade, os pesquisadores começaram a fazer barulhos sobre os Optimistic Rollup, uma construção de camada 2 que vem se mostrando mais que apenas uma moda passageira.
No ano de 2022, com um ecossistema DeFi vivo e animado e rollups a caminho de atingir a rede principal, surge uma pergunta natural: como os dois se encontrarão?
Podemos usar rollups para escalar o ecossistema DeFi?
Em resumo: sim!
Embora, como seria de esperar, alguns novos desafios surgem.
Visão geral
Optimistic Rollups são uma construção de sidechain de seungda camada que busca aliviar a carga na cadeia principal do Ethereum. A ideia básica é que, em vez de validar todas as transações na sidechain de rollup, a cadeia principal simplesmente as publica e "otimisticamente" assume que elas são válidas, a menos que sejam explicitamente contestadas.
O principal benefício de utilizar rollups são os custos de gas mais baixos para os usuários, o que se traduz em mais transações por segundo (várias centenas de TPS pelo menos) para a rede como um todo. Transações mais baratas também significam que certos aplicativos que consumiriam muito gas para serem possíveis, como soluções de privacidade que empregam criptografia complexa, agora se tornam viáveis.
Assim, embora o rollup em si não ofereça benefícios inerentes à privacidade, é um substrato adequado para construir a tecnologia de preservação da privacidade. Da mesma forma, os rollups não aumentam inerentemente a latência da transação (velocidade), mas fornecem um ambiente agradável em que os canais, que podem oferecer transações praticamente instantâneas, podem ser construídos.
A maneira como os Optimistic Rollups tratam os dados dá às construções uma boa simplicidade, especialmente em relação aos protocolos alternativos da camada 2. Fundamentalmente, isso se traduz em UX para usuários finais que podem (e devem!) se sentir quase idênticos ao uso da camada 1. Da mesma forma, para desenvolvedores e designers de protocolo, muitas das ferramentas e modelos de pensamento aos quais estão acostumados ainda estarão disponíveis, embora, como veremos, enfrentar alguns desafios em torno da compossibilidade possa exigir algum trabalho adicional.
A perspectiva do usuário
Do ponto de vista de um usuário, interagir com um dApp, seja DeFi ou qualquer outro em um rollup, será quase idêntico a usá-lo na camada 1. Carteiras populares como Metamask e Burner wallet podem ser utilizadas, assim como block explorers para monitorar atividade da cadeia de rollup.
O ciclo de vida básico do uso de um dApp em rollup é o seguinte:
Primeiro, um usuário deposita alguns fundos (“fundos” podem ser Ether, ERC20s, ERC721s, etc.) em uma cadeia de rollup; essa primeira etapa reflete o UX de muitos dApps de camada 1, nos quais o usuário deve inicialmente transferir fundos para um contrato antes de usá-lo.
Nesse ponto, um usuário pode emitir transações no aplicativo como faria normalmente; se a cadeia de rollup for projetada para priorizar a resistência à censura, incluir uma transação não depende de mais confiança, reputação ou boa vontade — e não convida a mais censura ou front-running em potencial — do que publicar uma transação L1.
Quando um usuário deseja trazer seus ativos de volta para a camada 1, ele emite uma transação de retirada especial. Aqui vemos uma diferença potencial: lembre-se de que o modelo de segurança do Optimistic Rollup depende da capacidade das partes de lançar desafios; assim, precisamos permitir um período de carência para qualquer parte que monitore a atividade para (potencialmente) provar a fraude.
Isso significa que, uma vez solicitada a retirada, o usuário deve aguardar antes que os fundos sejam acessíveis novamente na camada 1; a segurança econômica que esse mecanismo oferece é uma função tanto da quantidade de participação necessária para produzir blocos em rollups quanto da duração desse período de espera (Ed Felten argumenta aqui que 3 horas são suficientes).
Com isso dito, a esperança/expectativa é que os usuários raramente, ou nunca, terão que realmente esperar por esse período de carência. Terceiros podem se oferecer para comprar a propriedade de sua retirada pendente enviando a você o valor equivalente na camada 1, menos alguma taxa, permitindo que você acesse seus fundos sem ter que esperar. Assim, desde que esses provedores de liquidez estejam realmente disponíveis e com uma interface que abstraia a complexidade, mesmo as retiradas atingirão a paridade do UX com a camada 1.
A palavra é: trustless
Ok, mas o Optimistic Rollup é realmente independente de confiança (trustless)? Em suma, sim.
Qualquer usuário pode usar um rollup de maneira independente de confiança se optar por isso e, se não, suas garantias de segurança ainda são fortes.
Para eliminar qualquer necessidade de confiança, qualquer pessoa (usuário ou não) pode se tornar um validador, permitindo que eles verifiquem por si mesmos que ninguém está tentando trapacear e impedi-los de fazê-lo se estiverem. Isso equivale a executar algum software adicional que precisa “verificar” pelo menos uma vez a cada período de disputa.
Para usuários que não executam validadores, transações fraudulentas (roubo de fundos, por exemplo) só são possíveis se 100% das partes validadoras estiverem envolvidas no crime e em conluio entre si.
Em outras palavras, desde que haja um validador honesto por aí – seja outro usuário, uma corretora, um desenvolvedor de aplicativos, um explorador de blocos, um provedor de carteira ou um adolescente em seu porão — ou, mesmo que todas as partes estejam de má-fé, desde que não estejam todos em conluio com outros para coletivamente mentir de forma consistente — toda a cadeia de rollup está a salvo de atos ilícitos.
Uma vez que a fraude é comprovada, os maus atores têm seu depósito de segurança reduzido, parte do qual é dado aos provadores de fraude; isso incentiva a validação honesta e coloca um preço em tentar incomodar outros validadores com ações desonestas deliberadas.
A perspectiva do desenvolvedor
Mudando para a perspectiva dos criadores de aplicativos, felizmente descobrimos que grande parte da experiência dos desenvolvedores de construir e implantar dApps em rollups também parecerá bastante familiar; ferramentas de desenvolvedores e bibliotecas como truflle, web3 e ethers.js podem ser reapropriadas para o desenvolvimento no contexto de rollups. Além disso, os contratos implantados em uma cadeia de rollups ainda podem ser escritos no Solidity, com apenas algumas restrições.
A maior diferença, então, em projetar e raciocinar sobre aplicações em rollups tem a ver com questões de compossibilidade, algo particularmente relevante para aplicativos DeFi.
O desafio da compossibilidade
Um dos recursos mais celebrados (e ocasionalmente alarmantes) dos aplicativos DeFi é sua capacidade de composição uns com os outros, integrando direta e sem permissão outros serviços financeiros.
Leitura complementar: Veja mais sobre compossibilidade aqui!
Essa interconectividade radical efetivamente vem “de graça” para contratos Ethereum na camada 1, com a desvantagem, é claro, sendo o gargalo de escalabilidade. À medida que particionamos a atividade em ambientes separados de camada 2, a interoperabilidade em diferentes cadeias de camada 2, embora não perdida, torna-se mais um desafio.
Para roubar uma analogia: se os aplicativos da camada 1 moram na mesma casa, os aplicativos em cadeias de rollup separadas são amigos que vivem em casas diferentes no mesmo bairro. Ou seja, seus aposentos estão menos cheios, mas agora, comunicar e planejar não é tão simples quanto se encontrar em seu espaço comum.
Considere o exemplo do PoolTogether, um aplicativo DeFi de loteria sem perdas. Os contratos do PoolTogether gerenciam a seleção aleatória dos vencedores da loteria e a dispersão dos fundos; os próprios fundos consistem em juros gerados pelo Compound, uma aplicação distinta (e pré-existente); e o próprio ativo (para um de seus pools) é o Dai, emitido por um contrato separado ainda. Essa interconectividade é perfeita com os três vivendo juntos na camada 1.
Mas e se todos os três contratos estivessem em cadeias de rollup separadas?
A migração de ativos como DAI de um rollup para outro não é um obstáculo e é muito semelhante à mudança entre contratos L1 regulares. Comprar um bilhete de loteria PoolTogether, no entanto, envolve usar PoolTogether para depositar ativos no Compound, o que, se PoolTogether e Compound estiverem em cadeias separadas, não é possível com uma transação simples. O rollup PoolTogether precisa de uma nova estratégia para acessar e “ouvir” as atualizações no rollup composto. Em alguns outros casos, podemos imaginar que dois contratos podem querer o poder de falar com o outro bidirecionalmente; ou talvez, em alguns casos, possamos exigir apenas que um lado receba “atualizações” ocasionais e periódicas do outro.
O conjunto de ferramentas de comunicação de rollups aqui é análogo aos métodos de comunicação entre blockchains de camada 1 ou entre diferentes shards no contexto de um sistema como o Eth2. Em suma, existem muitas abordagens adequadas para diferentes casos de uso, cada uma com seus próprios níveis de complexidade técnica e/ou trocas de UX, dependendo das necessidades específicas. Os detalhes técnicos estão fora do escopo aqui, mas as compensações de UX tendem a envolver coisas como pedir aos usuários que esperem mais para confirmar suas transações e/ou publicar várias transações para realizar a ação desejada.
Exagerando tortuosamente a analogia: os amigos deveriam migrar de casa em casa? Gritar um para o outro fora de suas janelas? Retransmitir mensagens através de alguma casa intermediária e comum? Conversar diretamente uns com os outros digitalmente (o que é rápido, mas requer tecnologia telefônica mais avançada)?
Existem muitas possibilidades, mas basta dizer que a comunicação entre diferentes rollups nunca será tão simples quanto conversar cara a cara.
Vale a pena mencionar: a comunicação cross-rollup ainda é mais fácil
A comunicação entre fragmentos e rollup cruzados é mais fácil do que a comunicação entre duas cadeias arbitrárias de pelo menos uma maneira: elas têm um quadro de referência comum - a cadeia de beacon para ETH 2.0 e a L1 subjacente para rollups.
No extremo oposto, podemos imaginar uma situação em que colocamos um monte de aplicativos, todos DeFi, digamos, em uma cadeia de rollup gigante. Aqui, as complicações da interoperabilidade cross-rollup desaparecem; Compound e PoolTogether podem se comunicar na camada 2 tão livremente quanto na camada 1.
O único problema com essa visão é que ela prejudica os próprios ganhos de escalabilidade que buscamos para começar a conversa. A escalabilidade da camada 2 vem em grande parte do trabalho de particionamento e localização que, de outra forma, teria que ser executado globalmente; um único e movimentado rollup torna-se mais difícil de validar e nos aproxima do problema que procuramos evitar. Em outras palavras, não queremos sair de uma casa superlotada apenas para superlotar uma nova.
Talvez, então, o cenário ideal esteja em algum lugar no meio: aplicativos que se beneficiam (ou exigem) a compossibilidade entre si, podem optar por se mover juntos em uma cadeia de rollup comum, enquanto se comunicam com outras cadeias pelos meios apropriados, conforme necessário.
Contudo, uma proposta de valor chave da camada 2 é a experimentação sem permissão que pode ocorrer (permissionless); aplicativos e usuários podem optar por ambientes locais com base nos serviços e interações que eles antecipam que precisarão, dando-lhes acesso a novos recursos e taxas mais baixas, ao mesmo tempo, em que aliviam o congestionamento de rede mais amplo.
No que diz respeito às construções da camada 2, os Optimistic Rollups são de longe o principal concorrente para fornecer esses benefícios, preservando grande parte dos principais usuários de UX que esperam. As questões sobre como facilitar a interoperabilidade são considerações importantes neste estágio, à medida que as soluções de escalabilidade se tornam utilizáveis e nos aproximamos da próxima fase na evolução das finanças descentralizadas.
🙏 Agradecimentos ao nosso patrocinador
NODLE
Conheça a Nodle, nossa parceira nessa Jornada Bankless. Com a Nodle você consegue ganhar criptomoedas gratuitamente em seu smartphone, é só baixar o aplicativo Nodle e começar a utilizar. A Nodle vem com a proposta de desenvolver a Internet das Coisas (IOT) por meio do conceito de Connect-To-Earn. É muito simples, é só abrir o app que ele detectará sensores e dispositivos inteligentes e se conectará a eles anonimamente. E em troca, o usuário recebe o token NODL!
Tem interesse em contribuir com o movimento Bankless no Brasil? Ficou com alguma dúvida depois de ler o artigo? Entre no nosso servidor do Discord, assine nossa Newsletter e embarque também nessa jornada!
Post original: When DeFi Meets Rollup
Algumas informações podem ter sido retiradas do texto original por conter conteúdo ultrapassado.
Alguns termos podem ter sido alterados para fazer mais sentido no contexto da língua portuguesa e/ou facilitar o entendimento.
Este texto não é recomendação financeira ou fiscal. Este boletim informativo é estritamente educacional e não é um conselho de investimento ou uma solicitação para comprar ou vender quaisquer ativos ou para tomar quaisquer decisões financeiras. Este boletim informativo não é um conselho fiscal. Fale com seu contador. Faça sua própria pesquisa.
Parêntesis. Ocasionalmente, podemos adicionar links para produtos que usamos neste boletim informativo. Podemos receber comissão se você fizer uma compra através de um desses links. Sempre iremos divulgar quando for o caso.
📩 Se você tem interesse em divulgar um produto, serviço ou protocolo no Bankless Brasil, mande um email para: contato@banklessbr.com