Autor: Vitalik Buterin
Compilado por: Peng Sun, Foresight News
Link original: https://vitalik.eth.limo/general/2024/05/23/l2exec.html
Há dois anos e meio, mencionei no artigo “Endgame” que os diferentes caminhos de desenvolvimento do blockchain no futuro parecem muito semelhantes, pelo menos tecnicamente. Em ambos os casos, há um grande número de transações na cadeia e o processamento dessas transações requer: (1) muita computação (2) muita largura de banda de dados; Nós Ethereum comuns (como o nó de arquivo reth de 2 TB em execução no meu computador agora), mesmo com poderoso desempenho de engenharia de software e árvores Verkle, não são suficientes para verificar diretamente a enorme quantidade de dados e cálculos. Pelo contrário, nos dois esquemas de "fragmentação L1" e centrado em Rollup, ZK-SNARK é usado para verificar os cálculos e DAS é usado para verificar a disponibilidade dos dados. Quer se trate de fragmentação L2 ou Rollup, o DAS é o mesmo e a tecnologia ZK-SNARKs é a mesma. Eles são códigos de contrato inteligente e uma função do protocolo. Em um sentido técnico real, Ethereum é fragmentação e Rollup é fragmentação.
Isso naturalmente levanta a questão: Qual é a diferença entre os dois? Uma delas é que as consequências das vulnerabilidades de código são diferentes: no Rollup, os tokens serão roubados no sharding, o consenso será quebrado; Mas espero que, à medida que o protocolo se estabilize e as técnicas formais de verificação melhorem, o impacto das vulnerabilidades do código se torne cada vez menor. Então, que outras diferenças existem entre estas duas opções potencialmente de longo prazo?
Diversidade em ambientes de execução
Uma ideia que discutimos brevemente no Ethereum em 2019 foram os ambientes de execução. Essencialmente, Ethereum terá diferentes “zonas” que podem ter regras diferentes para contas (incluindo métodos completamente diferentes como UTXO), como a máquina virtual funciona e outras funções. Isso permite a diversidade de métodos em várias partes da pilha, o que seria difícil de conseguir se o Ethereum tentasse agrupar várias funções em uma.
No final, abandonámos alguns dos planos mais ambiciosos e mantivemos apenas o EVM. No entanto, pode-se dizer que Ethereum L2 (incluindo rollups, valdiums e Plasmas) funciona como um ambiente de execução. Atualmente, muitas vezes nos concentramos no equivalente EVM do L2, mas ignoramos a diversidade trazida por muitos outros métodos:
● Arbitrum Stylus, que adiciona um segundo oráculo baseado em WASM além do EVM;
● Fuel, que utiliza uma arquitetura baseada em UTXO semelhante ao Bitcoin (mas mais completa);
● Aztec, que introduz uma nova linguagem e paradigma de programação projetado em torno de contratos inteligentes que preservam a privacidade baseados em ZK-SNARKs.
Arquitetura baseada em UTXO, fonte: Documentação de combustível
Podemos tentar transformar o EVM em uma supermáquina virtual que cubra todos os paradigmas possíveis, mas isso reduzirá bastante a eficiência de cada função. É melhor deixar essas plataformas fazerem suas tarefas profissionais.
Compensação de segurança: escalabilidade e velocidade de transação
Ethereum L1 oferece segurança muito forte. Se o bloco final em L1 contiver determinados dados, então todo o consenso (incluindo o consenso social em casos extremos) trabalhará arduamente para garantir que estes dados não serão modificados e que qualquer execução desencadeada por estes dados não será revertida, e ainda assim. ter acesso aos dados. Para alcançar esta garantia de segurança, Ethereum L1 está disposto a aceitar um custo elevado. No momento em que este artigo foi escrito, as taxas de transação eram relativamente baixas: a Layer2 cobra menos de 1 centavo por transação e, mesmo em L1, uma transferência básica de ETH custa menos de US$ 1. Se a tecnologia avançar suficientemente rápido e o crescimento do espaço de bloco disponível acompanhar a procura, então estas taxas poderão permanecer baixas no futuro, mas talvez não. Para muitas aplicações não financeiras, como redes sociais ou jogos, mesmo US$ 0,01 por transação é muito alto.
Mas as redes sociais e os jogos não exigem o mesmo modelo de segurança do L1. Se alguém puder pagar um milhão de dólares para desfazer seu recorde de derrota em uma partida de xadrez, ou fazer parecer que um de seus tweets foi postado três dias depois de ter sido realmente postado, tudo bem. Portanto, estas aplicações não devem pagar os mesmos custos de segurança. As soluções L2 conseguem isso suportando uma variedade de métodos de disponibilidade de dados, desde rollups até plasma e validiums.
Outro compromisso surge em torno da questão da transferência de ativos de L2 para L2. Prevejo que nos próximos 5 a 10 anos, todos os Rollups serão ZK Rollups, e sistemas de prova ultraeficientes como Binius e Circle STARKs com pesquisas, juntamente com uma camada de agregação de prova, permitirão que L2 forneça a raiz do estado final em cada slot se torna possível. Mas atualmente, só podemos combinar de forma complicada o Optimistic Rollup e o ZK Rollup e usar diferentes janelas de tempo de prova. Se implementarmos o sharding de execução em 2021, o modelo de segurança para manter os shards honestos será o Optimitic Rollup, não o ZK, então L1 terá que gerenciar a lógica complexa à prova de fraude do sistema on-chain, e os tempos de retirada serão de até um semana , para transferir ativos entre fragmentos. Mas, assim como os bugs de código, acho que esse problema é temporário.
A velocidade das transações é o terceiro e mais permanente aspecto da compensação de segurança. Ethereum produz blocos a cada 12 segundos e não pode ficar mais rápido, caso contrário o nível de centralização seria muito alto. No entanto, muitos L2s estão explorando a compactação dos tempos de bloco para centenas de milissegundos. 12 segundos não é tão ruim: em média, os usuários têm que esperar cerca de 6 a 7 segundos após enviar uma transação antes de serem incluídos em um bloco (e não apenas 6 segundos, já que o próximo bloco pode não incluí-los). Isso é comparável à quantidade de tempo que tenho que esperar ao pagar com cartão de crédito. No entanto, muitas aplicações exigem velocidades mais rápidas e o L2 pode oferecer isso.
Para agilizar, o L2 possui um mecanismo de pré-confirmação: os próprios validadores do L2 prometem digitalmente incluir uma transação em um horário específico, e são punidos caso a transação não seja incluída. O mecanismo StakeSure promove ainda mais este mecanismo.
Pré-confirmação L2
Agora podemos tentar implementar todos esses recursos em L1. L1 pode incluir um sistema de “pré-confirmação rápida” e de “confirmação final lenta”. Ele pode conter diferentes fragmentos com diferentes níveis de segurança. No entanto, isso aumenta a complexidade do protocolo. Além disso, fazer todo o trabalho em L1 corre o risco de sobrecarregar o consenso, uma vez que muitas abordagens de maior escala ou de maior rendimento apresentam maiores riscos de centralização ou requerem formas mais fortes de “governança” se forem feitas em L1. repercutir em outras partes do acordo. Ethereum pode evitar amplamente esses riscos, fornecendo uma compensação com L2.
Benefícios da Camada 2 para Organizações e Cultura
Imagine um país dividido em dois, com metade se tornando um país capitalista e a outra metade se tornando um país altamente dominado pelo governo (ao contrário do que acontece na realidade, digamos neste experimento mental que isso não é o resultado de nenhuma guerra traumática, Mas um dia a fronteira aparece naturalmente e pronto). Na parte capitalista, os restaurantes são todos compostos por diferentes propriedades descentralizadas, blockchain e direitos de voto. Num país dominado pelo governo, todos são ramos do governo, tal como o departamento de polícia. No primeiro dia, não mudará muita coisa. As pessoas seguirão em grande parte os hábitos existentes, e o que funciona e o que não funciona depende de realidades técnicas, como as competências laborais e as infraestruturas. Porém, depois de um ano, vemos grandes mudanças, pois diferentes estruturas de incentivo e controle levam a grandes mudanças de comportamento, o que afeta quem entra e fica, o que é construído, o que é mantido e o que é abandonado.
A teoria da organização industrial tem muito a dizer sobre estas distinções: ela fala não apenas sobre a diferença entre uma economia gerida pelo governo e uma economia capitalista, mas também sobre uma economia dominada por grandes franquias e uma economia em que cada supermercado é gerido por um empresário independente. Acho que a diferença entre um ecossistema centrado em L1 e um ecossistema centrado em L2 é semelhante.
Há um grande problema com a arquitetura “os principais desenvolvedores gerenciam tudo”
Como um ecossistema centrado em L2, acredito que as principais vantagens do Ethereum são as seguintes:
Como o Ethereum é um ecossistema centrado em L2, você tem a liberdade de construir de forma independente um subecossistema com seus próprios recursos exclusivos, ao mesmo tempo que faz parte do Ethereum maior.
Se você está apenas construindo um cliente Ethereum, você faz parte do Ethereum maior e, embora tenha algum espaço para inovação, não é tão bom quanto o L2. E se você estiver construindo uma cadeia completamente independente, terá muito espaço para criatividade, mas também perderá os benefícios da segurança compartilhada e dos efeitos de rede compartilhados. L2 é um bom equilíbrio.
Não só fornece oportunidades técnicas para experimentar novos ambientes de execução e compensações de segurança que permitem escalabilidade, flexibilidade e velocidade, como também fornece um mecanismo de incentivo que incentiva tanto os desenvolvedores a construir e manter, como o apoio da comunidade.
O fato de cada L2 ser isolado também significa que a implantação de novos métodos não exige permissão: não há necessidade de convencer todos os desenvolvedores principais de que seu novo método é "seguro" para o resto da cadeia. Se o seu L2 falhar, a responsabilidade é sua. Qualquer um pode ter uma ideia estranha (por exemplo, a abordagem Plasma da Intmax) e, mesmo que os principais desenvolvedores do Ethereum não estejam prestando atenção, eles podem continuar a construí-la e, eventualmente, implantá-la. Este não é o caso dos recursos e da pré-compilação L1, e mesmo no Ethereum, o sucesso ou fracasso do desenvolvimento L1 muitas vezes acaba sendo político em maior medida do que gostaríamos. Não importa o que possa ser construído em teoria, os diferentes incentivos criados por um ecossistema centrado em L1 e um ecossistema centrado em L2 acabarão por ter um sério impacto sobre o que é realmente construído, o nível de qualidade e a ordem em que é construído. .
Que desafios o ecossistema centrado em L2 do Ethereum enfrenta?
Algo está terrivelmente errado com a arquitetura L1 + L2. Fonte da imagem: Reddit
Esta abordagem centrada em L2 enfrenta um desafio fundamental que os ecossistemas centrados em L1 raramente enfrentam: a coordenação. Em outras palavras, embora o Ethereum tenha muitos L2s, o desafio é como fazer com que ele ainda pareça “Ethereum” e tenha os efeitos de rede do Ethereum, em vez de N cadeias independentes. Hoje, esta situação é insatisfatória em muitos aspectos:
● As cadeias cruzadas entre L2 geralmente requerem uma ponte centralizada entre cadeias cruzadas, o que é muito complicado para usuários comuns. Se você tiver tokens no Optimism, não poderá colar o endereço Arbitrum de outra pessoa em sua carteira para enviar fundos.
● Tanto para carteiras de contratos inteligentes pessoais quanto para carteiras organizacionais (incluindo DAO), o suporte a carteiras de contratos inteligentes entre cadeias não é muito bom. Se você alterar a chave de um L2, também precisará alterar a chave de cada L2.
● Muitas vezes falta infra-estrutura de verificação descentralizada. Ethereum está finalmente começando a conseguir clientes leves decentes, como Helios. No entanto, não faz sentido se todas as atividades acontecerem em L2 e exigirem seu próprio RPC centralizado. Em princípio, não é difícil construir um cliente leve para L2 uma vez que você tenha o cabeçalho do bloco Ethereum, mas na prática, pouca atenção é dada a este ponto;
A comunidade está trabalhando duro para melhorar essas três áreas. Para troca de tokens entre cadeias, o padrão ERC-7683 é uma nova solução. Ao contrário das "pontes entre cadeias centralizadas" existentes, ele não possui nós, tokens ou governança centralizados fixos. Para contas de cadeia cruzada, a abordagem adotada pela maioria das carteiras é usar mensagens reproduzíveis entre cadeias para atualizar chaves no curto prazo e acúmulos de armazenamento de chaves no longo prazo. Clientes leves para L2 estão começando a aparecer, como Beerus para Starknet. Além disso, melhorias recentes na experiência do usuário por meio de carteiras de próxima geração resolveram problemas mais fundamentais, como a não necessidade de os usuários trocarem manualmente de rede para acessar DApps.
Rabby tem uma visão abrangente dos saldos de ativos de várias cadeias, o que as carteiras anteriores não conseguiam fazer!
Mas é importante perceber que os ecossistemas centrados em L2 têm dificuldade em tentar coordenar-se até certo ponto. Porque não existe qualquer incentivo económico natural para que um único L2 construa a infra-estrutura de coordenação: os L2 de pequena escala não o farão, porque apenas querem obter uma pequena parte dos benefícios, nem os L2 de grande escala, porque podem; beneficiar do fortalecimento dos seus próprios efeitos de rede local Obter tanto ou mais benefícios. Se cada L2 pensar apenas em si mesmo e ninguém pensar em como ele se encaixa no sistema Ethereum mais amplo, então fracassaremos, assim como a utopia urbana nas imagens alguns parágrafos acima.
É difícil dizer que existe uma solução perfeita para esse problema. Tudo o que posso dizer é que o ecossistema precisa de reconhecer mais plenamente que a infraestrutura cross-L2 é tanto um tipo de infraestrutura Ethereum como os clientes L1, ferramentas de desenvolvimento e linguagens de programação e, portanto, deve ser valorizada e financiada. Temos a Guilda do Protocolo, talvez precisemos da Guilda de Infraestrutura Básica.
Resumir
Em várias discussões públicas, “L2” e “sharding” são frequentemente considerados como duas estratégias opostas para a expansão da blockchain. No entanto, ao observar a tecnologia subjacente, você encontrará um enigma: os métodos reais de escalonamento subjacentes são exatamente os mesmos. Quer se trate de fragmentação de dados, validadores de fraude ou validadores ZK-SNARK, ou soluções que se comunicam através de “rollups, shards”, a principal diferença é: quem é responsável por construir e atualizar esses componentes e quanta autonomia eles têm?
Um ecossistema centrado em L2 é fragmentação no verdadeiro sentido técnico, mas dentro da fragmentação você pode construir seus próprios fragmentos com suas próprias regras. Isso é uma criatividade muito poderosa e ilimitada e pode gerar muita inovação independente. Mas também apresenta alguns desafios importantes, especialmente em termos de coordenação. Para que um ecossistema centrado em L2 como o Ethereum seja bem-sucedido, ele deve compreender esses desafios e enfrentá-los de frente, a fim de colher o máximo possível de benefícios de um ecossistema centrado em L1 e estar próximo do melhor de ambos.