Ethereum atualizou-se mais em 2024 do que nos últimos três anos juntos.
Mas uma proposta muda tudo silenciosamente: a execução paralela.
EIP-7928 pode ser o momento em que o Ethereum finalmente deixa de ser de thread único.👇🧵
Nós vimos a atualização Fusaka, a atualização kohaku, tantas EIPs e ERCs, mas a EIP-7928 atinge o cerne da EVM. ----------------------------------------
O que é EIP-7928?
𝘌𝘐𝘗-7928 é uma atualização proposta que introduz Listas Atômicas Vinculadas (𝘉𝘈𝘓𝘴), uma maneira formal para transações declararem que estado elas lerão ou escreverão antes da execução.
Ao incluir um "manifesto de acesso ao estado" estruturado, os clientes Ethereum podem determinar se duas transações afetam as mesmas partes do estado, e se não o fizerem, podem ser executadas em paralelo.
Isso resolve um dos maiores problemas do Ethereum, é um sistema que faz as execuções acontecerem sequencialmente, onde cada transação deve ser executada em ordem.
Com o EIP-7928, o Ethereum dá um grande passo em direção a um ambiente de execução multi-threaded, permitindo mais throughput sem redefinir a EVM. ----------------------------------------
O que é BAL (Bounded Atomic List)?
Uma Lista Atómica Limitada (BAL) é metadados que dizem à rede exatamente quais contas e locais de armazenamento uma transação pretende ler ou modificar antes mesmo de ser executada.
Isto transforma a EVM de um executor de transações em caixa-preta para um sistema previsível onde o uso de recursos é conhecido antecipadamente. Um BAL funciona como um esboço compacto e determinístico da pegada de execução.
Isso dá confiança aos validadores que:
➢ a transação não tocará em nada fora de seus limites declarados
➢ nenhum conflito de estado oculto aparecerá durante a execução
➢ as decisões de agendamento tomadas antes da execução permanecerão válidas depois
Os BALs são fundamentais para permitir o paralelismo seguro porque os nós agora podem raciocinar sobre conflitos de transação sem executar primeiro a EVM.
----------------------------------------
Existem os diferentes tipos de LBA
1. O Read BAL que aparece em transações que acessam o estado, mas não alteram nenhuma parte dele. Estes podem ser raros em fluxos normais do Ethereum, mas tornam-se extremamente valiosos para sistemas em lote.
2. O Write BAL que define o subconjunto de estado que a transação irá atualizar. Estas transações requerem resolução de conflitos, mas podem ainda ser executadas em paralelo com outras que tocam áreas diferentes do estado.
3. O BAL de Leitura-Gravação inclui ambos os conjuntos, permitindo que os clientes comparem as sobreposições de leitura/gravação em milhares de transações pendentes.
Isto permite ao programador criar grupos de execução ótimos sem arriscar resultados inconsistentes ou cascatas de reversão. ----------------------------------------
Mecanismo do EIP-7928
O mecanismo por trás do EIP-7928 tem 3 componentes principais: declaração, validação e agendamento.
1. Declaração de Pré-Execução
Cada transação inclui um BAL, um manifesto compacto de todas as contas e slots de armazenamento que serão acessados. Esta declaração faz parte da carga útil da transação e é verificada antes do início da execução. Isto, por si só, torna possível a deteção de conflitos sem correr o EVM.
2. Validação Estática do BAL
Antes de executar qualquer transação, os clientes Ethereum verificam:
➢ se o BAL está bem formado
➢ se a transação tenta acessar algo fora de seus conjuntos declarados
➢ se os conjuntos declarados respeitam os limites definidos na norma
Se a transação tocar em algo que não está incluído no BAL, ela é inválida. Isso protege a rede e garante confiança no agendamento paralelo.
3. Construção do Gráfico de Conflito
Usando os BALs, o nó constrói um gráfico de conflitos onde cada transação é um nó, uma aresta significa conjuntos de leitura/escrita sobrepostos, sem aresta significa que as transações são independentes.
Este gráfico informa ao agendador exatamente quais transações podem ser executadas simultaneamente.
4. Agendamento Paralelo
O cliente divide o conjunto de transações em lotes que podem ser executados simultaneamente. Lotes independentes são enviados para diferentes núcleos ou threads da CPU.
Exemplos: múltiplas trocas em diferentes pools, múltiplas emissões afetando estados de contrato independentes, transferências não relacionadas tocando diferentes contas
Essas executam ao mesmo tempo, maximizando a utilização da CPU.
5. Compromisso Determinístico
Embora a execução ocorra em paralelo, o compromisso com o estado é sempre aplicado na ordem canónica dos blocos. Isso preserva o determinismo em todos os nós. O paralelismo acelera a execução, mas a ordenação evita a divergência de consenso. ----------------------------------------
Ciclo de Vida de um Bloco 7928-Ativado
As transações com BALs entram no mempool, os nós classificam e agrupam-nas, a execução paralela começa, os resultados são mesclados de forma determinística e o bloco é finalizado mais rapidamente. Tanto os construtores quanto os validadores beneficiam de um tempo de execução reduzido e padrões de conflito previsíveis.
Benefícios do EIP-7928
➢ EIP-7928 desbloqueia a verdadeira execução paralela, permitindo que o Ethereum finalmente utilize hardware moderno de múltiplos núcleos para aumentar dramaticamente a capacidade de processamento.
➢ Ao eliminar a congestão mais rapidamente, o EIP-7928 suaviza os picos de gás e estabiliza os mercados de taxas durante períodos de alta atividade.
➢ A execução paralela reduz o tempo de verificação de blocos, fortalecendo a descentralização ao diminuir os requisitos de hardware para todos os validadores.
➢ Com limites claros de acesso ao estado, os construtores de blocos podem estruturar estratégias MEV e fluxos em lote de forma mais segura e eficiente.
➢ EIP-7928 melhora a camada de execução do Ethereum sem exigir novas máquinas virtuais, reescritas de contratos ou quebrar ferramentas existentes. ---------------------------------------- Em conclusão, o EIP-7928 parece ser uma daquelas atualizações que muda tudo de forma discreta.
Da minha perspetiva, esta é a primeira vez que o Ethereum está estabelecendo bases reais para a execução paralela de alto rendimento sem reescrever toda a pilha.
Se conseguirmos fazer isso corretamente, os desenvolvedores ganham, os usuários ganham e o Ethereum finalmente começa a usar todo o potencial do hardware moderno, e esse é um futuro que me entusiasma genuinamente.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Ethereum atualizou-se mais em 2024 do que nos últimos três anos juntos.
Mas uma proposta muda tudo silenciosamente: a execução paralela.
EIP-7928 pode ser o momento em que o Ethereum finalmente deixa de ser de thread único.👇🧵
Nós vimos a atualização Fusaka, a atualização kohaku, tantas EIPs e ERCs, mas a EIP-7928 atinge o cerne da EVM.
----------------------------------------
O que é EIP-7928?
𝘌𝘐𝘗-7928 é uma atualização proposta que introduz Listas Atômicas Vinculadas (𝘉𝘈𝘓𝘴), uma maneira formal para transações declararem que estado elas lerão ou escreverão antes da execução.
Ao incluir um "manifesto de acesso ao estado" estruturado, os clientes Ethereum podem determinar se duas transações afetam as mesmas partes do estado, e se não o fizerem, podem ser executadas em paralelo.
Isso resolve um dos maiores problemas do Ethereum, é um sistema que faz as execuções acontecerem sequencialmente, onde cada transação deve ser executada em ordem.
Com o EIP-7928, o Ethereum dá um grande passo em direção a um ambiente de execução multi-threaded, permitindo mais throughput sem redefinir a EVM.
----------------------------------------
O que é BAL (Bounded Atomic List)?
Uma Lista Atómica Limitada (BAL) é metadados que dizem à rede exatamente quais contas e locais de armazenamento uma transação pretende ler ou modificar antes mesmo de ser executada.
Isto transforma a EVM de um executor de transações em caixa-preta para um sistema previsível onde o uso de recursos é conhecido antecipadamente.
Um BAL funciona como um esboço compacto e determinístico da pegada de execução.
Isso dá confiança aos validadores que:
➢ a transação não tocará em nada fora de seus limites declarados
➢ nenhum conflito de estado oculto aparecerá durante a execução
➢ as decisões de agendamento tomadas antes da execução permanecerão válidas depois
Os BALs são fundamentais para permitir o paralelismo seguro porque os nós agora podem raciocinar sobre conflitos de transação sem executar primeiro a EVM.
----------------------------------------
Existem os diferentes tipos de LBA
1. O Read BAL que aparece em transações que acessam o estado, mas não alteram nenhuma parte dele. Estes podem ser raros em fluxos normais do Ethereum, mas tornam-se extremamente valiosos para sistemas em lote.
2. O Write BAL que define o subconjunto de estado que a transação irá atualizar. Estas transações requerem resolução de conflitos, mas podem ainda ser executadas em paralelo com outras que tocam áreas diferentes do estado.
3. O BAL de Leitura-Gravação inclui ambos os conjuntos, permitindo que os clientes comparem as sobreposições de leitura/gravação em milhares de transações pendentes.
Isto permite ao programador criar grupos de execução ótimos sem arriscar resultados inconsistentes ou cascatas de reversão.
----------------------------------------
Mecanismo do EIP-7928
O mecanismo por trás do EIP-7928 tem 3 componentes principais: declaração, validação e agendamento.
1. Declaração de Pré-Execução
Cada transação inclui um BAL, um manifesto compacto de todas as contas e slots de armazenamento que serão acessados.
Esta declaração faz parte da carga útil da transação e é verificada antes do início da execução.
Isto, por si só, torna possível a deteção de conflitos sem correr o EVM.
2. Validação Estática do BAL
Antes de executar qualquer transação, os clientes Ethereum verificam:
➢ se o BAL está bem formado
➢ se a transação tenta acessar algo fora de seus conjuntos declarados
➢ se os conjuntos declarados respeitam os limites definidos na norma
Se a transação tocar em algo que não está incluído no BAL, ela é inválida. Isso protege a rede e garante confiança no agendamento paralelo.
3. Construção do Gráfico de Conflito
Usando os BALs, o nó constrói um gráfico de conflitos onde cada transação é um nó, uma aresta significa conjuntos de leitura/escrita sobrepostos, sem aresta significa que as transações são independentes.
Este gráfico informa ao agendador exatamente quais transações podem ser executadas simultaneamente.
4. Agendamento Paralelo
O cliente divide o conjunto de transações em lotes que podem ser executados simultaneamente.
Lotes independentes são enviados para diferentes núcleos ou threads da CPU.
Exemplos: múltiplas trocas em diferentes pools, múltiplas emissões afetando estados de contrato independentes, transferências não relacionadas tocando diferentes contas
Essas executam ao mesmo tempo, maximizando a utilização da CPU.
5. Compromisso Determinístico
Embora a execução ocorra em paralelo, o compromisso com o estado é sempre aplicado na ordem canónica dos blocos. Isso preserva o determinismo em todos os nós. O paralelismo acelera a execução, mas a ordenação evita a divergência de consenso.
----------------------------------------
Ciclo de Vida de um Bloco 7928-Ativado
As transações com BALs entram no mempool, os nós classificam e agrupam-nas, a execução paralela começa, os resultados são mesclados de forma determinística e o bloco é finalizado mais rapidamente.
Tanto os construtores quanto os validadores beneficiam de um tempo de execução reduzido e padrões de conflito previsíveis.
Benefícios do EIP-7928
➢ EIP-7928 desbloqueia a verdadeira execução paralela, permitindo que o Ethereum finalmente utilize hardware moderno de múltiplos núcleos para aumentar dramaticamente a capacidade de processamento.
➢ Ao eliminar a congestão mais rapidamente, o EIP-7928 suaviza os picos de gás e estabiliza os mercados de taxas durante períodos de alta atividade.
➢ A execução paralela reduz o tempo de verificação de blocos, fortalecendo a descentralização ao diminuir os requisitos de hardware para todos os validadores.
➢ Com limites claros de acesso ao estado, os construtores de blocos podem estruturar estratégias MEV e fluxos em lote de forma mais segura e eficiente.
➢ EIP-7928 melhora a camada de execução do Ethereum sem exigir novas máquinas virtuais, reescritas de contratos ou quebrar ferramentas existentes.
----------------------------------------
Em conclusão, o EIP-7928 parece ser uma daquelas atualizações que muda tudo de forma discreta.
Da minha perspetiva, esta é a primeira vez que o Ethereum está estabelecendo bases reais para a execução paralela de alto rendimento sem reescrever toda a pilha.
Se conseguirmos fazer isso corretamente, os desenvolvedores ganham, os usuários ganham e o Ethereum finalmente começa a usar todo o potencial do hardware moderno, e esse é um futuro que me entusiasma genuinamente.
O que pensa sobre o EIP-7928?