Ethereum em 30 minutos por Vitalik Buterin
Vitalik Buterin sobre a evolução do Ethereum como um computador mundial descentralizado, cobrindo a Prova de Participação (PoS), escalabilidade de camada 2 (l2), abstração de conta e o caminho a seguir.
Date published: 12 de novembro de 2024
Vitalik Buterin, fundador do Ethereum, abre a Devcon SEA com uma visão geral abrangente da evolução do Ethereum como um computador mundial descentralizado. Vitalik aborda a Prova de Participação (PoS), a escalabilidade de camada 2 (l2), a diversidade de clientes e os aplicativos que definem para onde o ecossistema Ethereum está se dirigindo.
Esta transcrição é uma cópia acessível da transcrição original do vídeo (opens in a new tab) publicada pela Fundação Ethereum. Ela foi levemente editada para facilitar a leitura.
Introdução (0:02)
Ótimo, então Ethereum em 30 minutos. Esta é uma apresentação que eu fiz em basicamente todas as Devcon desde o lançamento. O que é interessante é como, à medida que o ecossistema Ethereum muda, e à medida que o protocolo Ethereum muda, conforme os tempos mudam, o conteúdo também acaba mudando bastante. Se você voltar ao equivalente a isso de 2015, ouvirá muito sobre blocos uncle. Claro, blocos uncle são um recurso da Prova de Trabalho (PoW). Agora temos a Prova de Participação (PoS) e, portanto, não temos mais blocos uncle. O Ethereum também, é claro, agora tem camadas 2 (l2), e naquela época isso não conteria camadas 2 (l2) de forma alguma. Agora sabemos que as camadas 2 (l2) são metade da história. O Ethereum é, acima de tudo, um ecossistema em evolução, e o conteúdo disso continuará mudando à medida que a tecnologia muda, e também à medida que a ênfase do ecossistema muda da construção de infraestrutura básica para colocar um foco enorme em aplicativos.
Então, o que é o Ethereum? Primeiro, o Ethereum é o computador mundial. Quem aqui se lembra do Ethereum sendo o computador mundial? Este é o lugar onde eu deveria colocar aquele meme onde tem o cara com a arma no espaço dizendo "sempre foi", mas eu nunca entendi por que dar a alguém uma revelação tão incrível e bonita deve acontecer ao mesmo tempo em que se atira nela no espaço a 20.000 quilômetros de casa. Então, não vou fazer isso hoje. O Ethereum é o computador mundial. Sempre foi, sempre será.
Além disso, o Ethereum é uma economia onchain incrivelmente grande e diversificada. Felizmente, o Josh, logo antes de mim, fez uma apresentação incrivelmente boa falando sobre todos os diferentes aspectos da economia. O Ethereum também é uma comunidade global incrivelmente grande e diversificada. O Ethereum é muitas coisas. Acho que provavelmente eu deveria colocar um letreiro piscante dizendo "ETH é dinheiro" também, mas o Ethereum é muitas coisas.
Como o computador mundial funciona? A maneira como penso sobre isso é que a camada 1 (l1) é a máquina de confiança, e a camada 2 (l2) é a GPU. A camada 1 (l1) do Ethereum, ou seja, a blockchain principal do Ethereum, é a âncora que mantém o resto do ecossistema seguro e o mantém unido. A camada 1 (l1) é a razão pela qual as camadas 2 (l2) conseguem se comunicar umas com as outras sem necessidade de confiança. Pelo menos quando tudo for atualizado para o Estágio 2, você poderá pegar um ativo, emiti-lo na Optimism e, em seguida, movê-lo e mantê-lo dentro de um contrato inteligente na Arbitrum, e fazer isso com zero risco de contraparte. A camada 1 (l1) não está lá para ser ultrarrápida; não está lá para fazer um milhão de transações por segundo. A camada 1 (l1) está lá, antes de tudo, para ser descentralizada, para ser robusta e para ser algo confiável.
A camada 2 (l2) é a GPU. A camada 2 (l2) são todos vocês na sala que fazem parte de qualquer camada 2 (l2). Quem aqui faz parte de uma camada 2 (l2)? Eba. Quem aqui já usou uma camada 2 (l2)? Quem aqui já usou a camada 1 (l1)? Ótimo, somos todos usuários aqui. Existem muitas dessas diferentes GPUs, e o Ethereum, o computador mundial, consegue se manter unido porque cada uma dessas GPUs está conectada à máquina de confiança por meio de sistemas de prova otimista, provas de conhecimento zero, SNARKs, STARKs, plonk ou quaisquer que sejam as palavras da moda. Todos esses sistemas garantem que a camada 1 (l1) seja capaz de verificar sem necessidade de confiança o que está acontecendo dentro das camadas 2 (l2), e as camadas 2 (l2) também são capazes de ler sem necessidade de confiança o que está acontecendo na camada 1 (l1).
Descentralização e diversidade (5:11)
Há uma interação importante entre esses dois componentes e, juntos, eles formam o Ethereum que está aqui hoje. O que é a L1? É uma cadeia. Ela executa a Prova de Participação (PoS). Ela não quebra. O que isso significa? A L1 do Ethereum é uma cadeia que existe no total há mais de nove anos, e existe em sua forma atual de Prova de Participação (PoS) há pouco mais de dois anos. Uma das coisas realmente importantes para uma camada base ter é uma evidência clara de que você está construindo sobre uma camada base que é descentralizada, aberta, robusta e que provavelmente manterá essas características no futuro.
Uma parte disso é ser lenta para mudar. Você não quer um sistema que de repente vai acordar em uma terça-feira, ter uma nova gerência e então decidir que vai começar a deletar um monte de aplicativos, mudar todo o seu modelo, aumentar as taxas em um fator de 10 ou fazer outras coisas sem aviso prévio. Outra parte da descentralização e resiliência é a recuperação. Sempre que surge um problema, ser realmente capaz de se recuperar dele e melhorar as qualidades da camada 1 (l1) ao longo do tempo.
Se olharmos para um gráfico de pools de mineração de Prova de Trabalho (PoW) do Bitcoin versus pools de staking de Prova de Participação (PoS) do Ethereum, estou sendo deliberadamente generoso aqui, porque antes do The Merge, a descentralização da Prova de Trabalho (PoW) do Ethereum era ainda mais concentrada. O que vemos no lado da Prova de Participação (PoS) do Ethereum é um conjunto bastante diversificado de pools de staking. Se você der um zoom na Lido, ela tem algo um pouco abaixo de 30%, mas a Lido não é um único ator. É uma DAO. Tecnicamente, os depósitos são divididos entre aproximadamente 40 operadores de nó diferentes. É razoável pensar nela como estando em algum lugar entre um ator e 40 atores.
Então temos os "não identificados". Não identificado não é um ator, assim como a tecla "any" (qualquer) no seu teclado não é realmente uma tecla. Na verdade, não sabemos o que é. Provavelmente há muitos stakers solo, stakers de pequenas empresas e vários pools de staking minúsculos. A L1 do Ethereum hoje tem, na verdade, um grau surpreendentemente alto de descentralização em seu design de Prova de Participação (PoS), e essa é uma propriedade que só melhorou com o tempo.
Uma propriedade que realmente melhorou muito é a diversidade de clientes. O Ethereum, há cerca de cinco anos, era basicamente apenas o Go Ethereum (Geth). Quando você tem um ecossistema que é dominado por um cliente, isso por si só se torna um ponto central de falha. Quem aqui se lembra dos ataques DoS de 2016? Você acorda às 5h17 da manhã, recebe uma chamada de despertar no estilo militar, desce para a sala de guerra e alguém descobriu um bug no cliente. A cadeia inteira para. Nós consertamos e, dois ou três dias depois, alguém encontra outro bug. Isso continua por um mês inteiro até que, eventualmente, temos que fazer uma bifurcação rígida. Mas durante esse período, a capacidade do Ethereum de ter dois clientes diferentes — na época eram o Geth e o Parity — basicamente salvou a cadeia. Houve momentos em que um bug atingia o Geth, mas não o Parity, e momentos em que um bug atingia o Parity, mas não o Geth. O Ethereum ganhou muito por ter várias implementações de software, e isso é algo que, a partir de 2024, provavelmente está no seu melhor momento na história do Ethereum.
Múltiplos clientes e robustez (10:40)
Se olharmos para os clientes de consenso, que lidam com a parte de Prova de Participação (PoS) do Ethereum, e os clientes de execução, que lidam com a parte EVM do Ethereum, podemos ver que o único cliente com a maior participação de mercado é o Geth, que está em torno de 50%. O que acontece se houver um bug em qualquer cliente Ethereum literalmente hoje, agora mesmo? Verifique se o Ethereum ainda está funcionando. Eu diria que sim — eu apostaria 99,99% no PolyMarket.
Caso um: O que acontece se o cliente for o Geth? Esse é o pior caso. Se o cliente for o Geth e houver um bug, realisticamente a cadeia se divide ao meio. Uma metade segue o Geth, a outra metade segue os outros clientes, mas em ambos os lados, a cadeia para de finalizar. Para finalizar, você precisa de dois terços. Se você tiver menos de dois terços, os blocos continuam sendo criados, mas a cadeia para de finalizar. Se você é um usuário, um aplicativo ou uma empresa esperando a confirmação de alguma transação, você vai detectar que nenhuma das cadeias está finalizando e vai ficar em espera. O que realisticamente vai acontecer é que os desenvolvedores principais entram em alerta máximo, descobrem qual cliente realmente tem o bug, e o bug é consertado. A única vez que isso aconteceu no Ethereum — curiosidade, eu mesmo enviei a transação que causou isso lá em 2016 — basicamente tudo foi consertado em 12 horas.
Esse é o pior caso. Em todos os outros casos, basicamente se o Prysm ou o Lighthouse tiverem um bug, tudo o que acontece é que o Ethereum para de finalizar por cerca de um dia no máximo, e então basicamente volta ao normal. Com qualquer outro cliente, você não vai notar absolutamente nada. Em termos de descentralização prática, ter vários clientes é extremamente útil. Isso diversifica o poder e o controle sobre o ecossistema Ethereum, especialmente em qualquer tipo de situação contenciosa. Se algum tipo de incidente como a bifurcação da DAO acontecesse novamente, e uma equipe de desenvolvimento fizesse uma escolha impopular, os usuários poderiam facilmente mudar para outros clientes e contorná-los completamente.
Isso não é prático em um ecossistema de cliente único. Ter um ecossistema diversificado de vários clientes é difícil de alcançar. Além do Ethereum, nenhuma outra cadeia realmente alcançou algo perto disso. Mesmo fora do Ethereum, como navegadores da web — navegadores da web deveriam ser um padrão aberto. A realidade é que mais de 80% rodam em alguma bifurcação do WebKit, e o resto roda no Firefox, que está tentando bravamente se manter. O Ethereum conseguiu contrariar essa tendência.
Há dois anos, este gráfico era pior. A descentralização do Ethereum não só é capaz de não piorar, mas também é capaz de responder ativamente aos problemas e se esforçar agressivamente para melhorá-los ao longo do tempo. Se você está construindo um aplicativo que precisa existir daqui a 5 ou 10 anos, propriedades como essas são exatamente o que você estaria procurando.
Se você tem 32 ETH, ou menos se você se juntar a um pool, há cada vez mais opções de pools realmente interessantes aparecendo — como o squad staking da Obol, que permite criar pools menores com seus amigos. Existem muitas maneiras diferentes de você se tornar um staker e, se o fizer, você se torna parte dessa rede de nós que protege a blockchain do Ethereum.
Verificação de nó e escala (15:06)
Acho que é assim que a propaganda da fundação descreve isso — tem um elefante fofo. Então, vivas para o elefante! Você também pode se juntar à rede e ajudar a protegê-la. Mesmo que você não seja um staker, você também pode executar um nó Ethereum no seu computador e verificar voluntariamente a cadeia.
Acho que hoje em dia ninguém nem tem desktops que se parecem com isso. Eu joguei "computador desktop" no Stable Diffusion 3.5 e ele gerou isso, então esse é o computador que você tem. Mas você pode executar um nó Ethereum no seu computador para verificar a cadeia. Isso é realmente importante porque, se você tiver usuários verificando a cadeia, mesmo uma maioria ou supermaioria dos stakers agindo juntos não será capaz de mudar as regras para as pessoas sem que tudo quebre. As regras do Ethereum só podem mudar por meio de uma bifurcação rígida que seja acordada por meio de um amplo consenso da comunidade.
Acho que essa é uma daquelas coisas que é realmente valiosa de se preservar. Entre os ecossistemas de blockchain, são basicamente o Bitcoin e o Ethereum que realmente têm uma forte cultura de tentar tornar isso possível e continuar melhorando a capacidade das pessoas de verificar a cadeia. Há muitas atualizações de protocolo chegando com o objetivo preciso de tornar isso ainda mais fácil.
Amanhã você poderá executar um nó sem exigir mais do que uma pequena quantidade de armazenamento usando clientes sem estado. Esta é a parte "Verge" do roteiro. Também temos clientes leves. Há um projeto chamado Helios fazendo uma forma de verificação leve. A verificação leve não é perfeita, mas significa que você não precisa confiar em um nó RPC para lhe fornecer informações sobre a cadeia. O futuro a longo prazo é que queremos aplicar SNARK em toda a cadeia. Uma vez que aplicarmos SNARK em toda a cadeia, você poderá verificar as regras do Ethereum em hardwares extremamente grandes ou minúsculos.
Fazer staking com menos ETH também é um requisito de pesquisa muito ativo. 32 ETH ainda é alto. Eu gostaria que as pessoas fossem stakers com 1 ETH. Existem diferentes maneiras de fazer isso, como o Orbit, ou fazendo melhorias de agregação. No geral, muitas melhorias de protocolo estão chegando especificamente para tornar o staking e a execução de um nó mais fáceis e acessíveis.
O que roda na L1 do Ethereum? Alguns aplicativos de alto valor. Muitas finanças descentralizadas (DeFi) de alto valor rodam na L1. O ENS está atualmente na L1, embora esteja cada vez mais fazendo mais com as camadas 2 (l2). As pessoas mantêm ativos na camada 1 (l1). Além disso, a camada 1 (l1) gerencia raízes de bloco, raízes de estado e sistemas de prova para as camadas 2 (l2). Ela protege as camadas 2 (l2). A camada 1 (l1) precisa ser poderosa o suficiente para lidar com operações entre camadas, especialmente no caso em que uma camada 2 (l2) falha. A diferença entre uma camada 2 (l2) e uma cadeia independente é que, mesmo que sua camada 2 (l2) sofra um ataque de 51% ou a equipe encerre as atividades, a camada 1 (l1) ainda está lá para proteger os usuários. Os usuários são capazes de provar sua propriedade e estado dentro da camada 2 (l2) e migrá-los de volta para a camada 1 (l1).
Velocidades e roteiros das L2 (20:33)
Recentemente, houve um experimento ao vivo com isso. A dYdX v3 foi encerrada recentemente, e o pessoal do L2Beat escreveu sua própria implementação de software de mecanismo de saída. Sem nenhum envolvimento da equipe da dYdX, os usuários puderam pegar quaisquer ativos que tivessem dentro da dYdX v3 e trazê-los de volta para a L1 do Ethereum. Sair de uma camada 2 (l2) sem o envolvimento da equipe não é apenas teoria, é realidade.
Se a L1 executa aplicativos e protege as L2s, o que as L2s fazem? As L2s fornecem velocidade e escala. Este ano, as taxas da camada 2 (l2) caíram de cerca de 50 centavos para menos de 1 centavo. Basicamente, para uma classe incrivelmente ampla de aplicativos, o Ethereum passou da noite para o dia de ser basicamente inacessível para ser completamente acessível.
E quanto aos tempos de inclusão de transação? Quem aqui se lembra da experiência de enviar uma transação e esperar um número arbitrário de minutos — como 10, 40 ou 90 minutos — para que ela fosse incluída? Quem aqui se lembra de ter tido essa experiência no Ethereum nos últimos 6 meses? O Ethereum melhorou massivamente. Durante a era da Prova de Trabalho (PoW), o tempo de bloco médio no Bitcoin era de 10 minutos, mas no Ethereum o tempo de bloco médio é de 12 segundos. No entanto, havia um fenômeno irritante em que, se você não tivesse sorte com o preço do gás, teria que esperar 10 ou 20 minutos. A EIP-1559, que surgiu em 2021, basicamente resolveu isso.
Então veio o The Merge. Devido a uma peculiaridade interessante da matemática, embora o tempo médio entre os blocos tenha reduzido apenas de 13 segundos para 12 segundos, o tempo médio entre você enviar uma transação e sua inclusão reduziu de um pouco mais de 13 segundos para um pouco mais de seis segundos. Problema de matemática para você: descubra por que isso é verdade. Pós-The Merge, a inclusão basicamente cai para 6 a 30 segundos. Finalmente, com as camadas 2 (l2), você tem pré-confirmações, então as camadas 2 (l2) são rápidas o suficiente para confirmar sua transação em algumas centenas de milissegundos. Como usuário, você pode fazer parte de um aplicativo onde muitas coisas estão acontecendo e, ao mesmo tempo, suas taxas de transação continuam sendo baratas.
A história do Ethereum: novembro de 2013 foi o whitepaper. Julho de 2015 foi o lançamento. Por volta de 2018, o Ethereum definiu seu design aproximado para a Prova de Participação (PoS) e a amostragem de disponibilidade de dados. Os artigos originais para a amostragem de disponibilidade de dados e a codificação de apagamento eu escrevi lá em 2017.
Casper e escalabilidade de rollup (25:27)
Se você cavar no GitHub, pode procurar pelo diretório chamado simple_casper e encontrar contratos escritos em Serpent. Quem aqui se lembra do Serpent? Quem aqui usa o Serpent? Quero dizer, eu acho o Python muito bonito, mas se você quer isso, deveria programar em Vyper. O Vyper é realmente ótimo e continuou melhorando bastante. Dentro desse repositório em 2017, tentamos fazer uma abstração completa e escrever a lógica da Prova de Participação (PoS) diretamente como um contrato inteligente. Lançamos uma demonstração às 23h20, horário de Bangkok, em 31 de dezembro de 2017 — queríamos lançar algo antes do Ano Novo — e a demonstração acabou quebrando bem rápido. Eram os primeiros dias.
Desde então, não são mais os primeiros dias. No início de 2018, um esforço massivo começou para construir o sistema de Prova de Participação (PoS) e o sistema de escalabilidade do Ethereum, que desde então se transformou nos blobs que temos hoje. Em 2022 foi o The Merge, mudando da Prova de Trabalho (PoW) para a Prova de Participação (PoS). Em 2024, a parte um do "Surge". Se você olhar para o diagrama do roteiro, verá dois marcos: escalabilidade básica de rollup e escalabilidade completa de rollup. A escalabilidade básica de rollup significa que você precisa que as principais camadas 2 (l2) atinjam o Estágio 1, e você precisa que os blobs existam. Em 2024, nós realmente atingimos isso. O próximo passo é ter a amostragem de disponibilidade de dados totalmente em execução e as principais L2s atingindo o Estágio 2. Acho que isso acontecerá mais cedo do que as pessoas pensam.
Ainda há muitos problemas a serem resolvidos. Queremos atualizações para a descentralização. Quem aqui quer que o Ethereum seja centralizado? Ok, uma pessoa quer que o Ethereum seja centralizado. Resistência à censura — resistência quântica? Ok, uma mão. Talvez você sinta que precisa do colapso para que a renovação aconteça! Mas precisamos de mais atualizações para garantir que a descentralização, a resistência à censura e a resistência quântica continuem acontecendo.
Também precisamos de atualizações contínuas e progressivas para eficiência e escala. A camada 2 (l2) vai escalar extremamente rápido, e sua segurança vai melhorar nos próximos anos. Também espero atualizações contínuas progressivas, cautelosas, mas definitivas, para a capacidade da camada 1 (l1). Precisamos fazer isso para apoiar a atividade da L1 e porque a L1 atua como uma rede de segurança. A capacidade máxima teórica segura das L2s é proporcional à capacidade da L1.
Teremos atualizações na amostragem de disponibilidade de dados para aumentar o número de blobs que o Ethereum pode suportar. Há cerca de uma semana, o Ethereum realmente atingiu o modo de descoberta de preço para blobs, o que significa que o número de blobs sendo usados é exatamente igual à meta de longo prazo. Agora precisamos escalar esse número.
Escalamos o suficiente para que uma ampla variedade de aplicativos seja possível: ENS, pagamentos de consumidores, redes sociais. Uma categoria que acho que será extremamente importante na próxima década são os aplicativos mistos financeiros e não financeiros — aplicativos que fazem uso do poder das finanças, mas, em última análise, para servir a fins que vão além dos objetivos financeiros. Há muitos aplicativos muito poderosos aqui. Passamos muito tempo melhorando a tecnologia e continuaremos fazendo isso, mas ela está no nível em que agora é a hora de construir. Obrigado. [Aplausos]