EIP-2537: A longa jornada de pré-compilação do Ethereum
EIP-2537 é uma instrução de pré-assemblagem EVM que foi determinada para ser adicionada na mais recente atualização do fork Pectra. Esta instrução adiciona várias funcionalidades de cálculo da curva BLS12-381 ao EVM, como o cálculo de emparelhamento sobre o domínio da curva.
EIP-2537 foi inicialmente proposto em 2020 e só foi confirmado para ser incluído na atualização do Ethereum em 2025. Este artigo irá apresentar o processo de governança do EIP-2537 e explorar por que levou 5 anos para que esta proposta fosse incluída na atualização.
Contexto da Proposta
Em janeiro de 2017, Vitalik Buterin apresentou pela primeira vez o algoritmo de emparelhamento e a curva alt_bn128. Em seguida, Vitalik e Christian Reitwiessner propuseram o EIP-196 e o EIP-197, adicionando suporte para cálculos da curva alt_bn128 na EVM.
A atualização Byzantium de outubro de 2017 integrou oficialmente a curva alt_bn128, permitindo cálculos de pares de domínios de curvas dentro do EVM, tornando a verificação de provas ZK-Snarks possível dentro do EVM.
Em novembro de 2017, a equipe do zcash propôs a curva BLS12-381, que possui maior segurança e desempenho em comparação com a alt_bn128. Muitos protocolos de blockchain adotaram posteriormente a curva BLS12-381.
Em maio de 2018, Justin Drake apontou que as futuras atualizações PoS e de fragmentação do Ethereum poderiam usar o algoritmo de múltiplas assinaturas BLS baseado em BLS12-381. De fato, a atualização ETH2 posterior adotou a curva BLS12-381.
Com o desenvolvimento do ETH2, a introdução do BLS12-381 na camada de execução do ETH está a ganhar cada vez mais apoio. Em fevereiro de 2020, investigadores propuseram o EIP-2537, com a esperança de testá-lo juntamente com a rede de testes do ETH2. O autor do EIP-2537, Alex Stokes, apelou para a inclusão desta proposta na bifurcação dura de Berlin.
Berlin turbulento
Antes de apresentar o conteúdo subsequente, é necessário entender o EIP-1962. Esta proposta foi apresentada pela Matter Labs em abril de 2019, suportando três curvas: BLS12, BN e MNT4/6, com a intenção de adicionar 10 instruções de pré-compilação de uma só vez. No entanto, a proposta é demasiado complexa e foi questionada por muitos desenvolvedores.
Para resolver o problema EIP-1962, a Matter Labs propôs em fevereiro de 2020 vários planos de divisão de EIP, incluindo:
EIP-2537: fornece suporte para BLS12-381
EIP-2539: fornece suporte para BLS12-377
PR#2541: Fornecer suporte à curva BLS12-377 (Zexe) não numerada EIP (
Entre eles, o EIP-2537 é o mais importante, pois a camada de consenso também utiliza a curva BLS12-381. O objetivo central dessas propostas é implementar a verificação de assinaturas BLS na camada de consenso da mainnet. Naquele momento, a ETH2 estava desenvolvendo um contrato de depósito, introduzindo a pré-compilação BLS12-381 para permitir a verificação de assinaturas no contrato de depósito, evitando o risco de perda de fundos dos usuários.
Quando o EIP-2537 foi proposto pela primeira vez, Vitalik apontou uma série de problemas, principalmente relacionados ao conteúdo do documento EIP. Em seguida, o autor respondeu e discutiu.
No dia 6 de março de 2020, a reunião dos desenvolvedores principais do Ethereum discutiu o EIP-2537. Vitalik acredita que a proposta é muito eficaz para provas SNARK recursivas, e a longo prazo não prejudicará o Ethereum. A reunião confirmou a prioridade do EIP-2537, e todos os clientes concordaram em implementá-lo o mais rápido possível, planejando concluir o desenvolvimento antes da atualização de Berlin.
Após isso, o EIP-2537 tornou-se uma tarefa de alta prioridade. A reunião de 20 de março confirmou que o EIP-2537 substituiria o EIP-1962 como proposta central de BLS, e foi incluído na lista pré-selecionada para a atualização de Berlin.
A reunião de abril formalmente incluiu o EIP-2537 na atualização do hard fork Berlin, estabelecendo um cronograma para implementação em abril e testes em maio e junho, e classificou isso como uma prioridade máxima.
Em seguida, o EIP-2537 entrou em uma fase intensa de desenvolvimento e testes, sendo discutido em quase 20 reuniões de desenvolvedores principais. Os principais conteúdos incluem:
Discussão sobre problemas de codificação ABI
Sincronização do progresso de implementação de cada cliente
Problemas existentes na implementação do PR do Geth
Situação do teste da rede de teste YOLO
Relação com o contrato de depósito
Problema de diversidade de clientes
problema de precificação do custo de gás
No entanto, devido à alta complexidade de implementação, o EIP-2537 foi finalmente removido da rede de teste YOLO v3 e da atualização Berlin na reunião dos desenvolvedores principais do Ethereum #99. A razão principal é que consumiu muitos recursos de desenvolvimento, afetando o desenvolvimento de outros EIPs.
Em abril de 2021, o Ethereum concluiu a atualização Berlin, mas não incluiu o EIP-2537. Isso fez com que a atualização Berlin parecesse bastante fraca.
As atualizações do Ethereum seguintes não conseguiram incluir o EIP-2537:
Atualização de Londres: removido devido à complexidade e problemas de precificação de gas
Atualização de Xangai: os desenvolvedores estão focados na funcionalidade de retirada de PoS, adiando o EIP-2537
Atualização Cancun: foco no EIP-4844, EIP-2537 não discutido
Até fevereiro de 2024, os desenvolvedores voltarão a considerar o EIP-2537 nas discussões sobre a atualização do Pectra. Neste momento, a implementação já não é um problema, restando apenas questões sobre a precificação do consumo de gás.
De dezembro de 2024 a janeiro de 2025, os desenvolvedores finalizaram o modelo de preços do EIP-2537, resolvendo o problema de custos.
![Observação sobre a Governança do Ethereum: Processo de Pré-compilação do EIP-2537])https://img-cdn.gateio.im/webp-social/moments-75338d7a495f20ef25a70cca21a48381.webp(
Resumo
A EIP-2537 foi proposta em fevereiro de 2020 e foi finalmente confirmada em janeiro de 2025, levando quase 5 anos. Durante esse período, houve várias discussões sobre atualizações e abandonos, principalmente limitados pela complexidade de implementação e pela mudança de foco nas atualizações do Ethereum. Este processo demonstra a complexidade da governança do Ethereum, bem como o longo processo que uma proposta técnica pode precisar passar desde sua apresentação até a adoção final.
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.
14 Curtidas
Recompensa
14
3
Compartilhar
Comentário
0/400
RumbleValidator
· 08-01 18:59
A estabilidade do nó é a chave. A eficiência não é suficiente.
EIP-2537: O caminho tortuoso de 5 anos das instruções de pré-compilação BLS12-381 do Ethereum
EIP-2537: A longa jornada de pré-compilação do Ethereum
EIP-2537 é uma instrução de pré-assemblagem EVM que foi determinada para ser adicionada na mais recente atualização do fork Pectra. Esta instrução adiciona várias funcionalidades de cálculo da curva BLS12-381 ao EVM, como o cálculo de emparelhamento sobre o domínio da curva.
EIP-2537 foi inicialmente proposto em 2020 e só foi confirmado para ser incluído na atualização do Ethereum em 2025. Este artigo irá apresentar o processo de governança do EIP-2537 e explorar por que levou 5 anos para que esta proposta fosse incluída na atualização.
Contexto da Proposta
Em janeiro de 2017, Vitalik Buterin apresentou pela primeira vez o algoritmo de emparelhamento e a curva alt_bn128. Em seguida, Vitalik e Christian Reitwiessner propuseram o EIP-196 e o EIP-197, adicionando suporte para cálculos da curva alt_bn128 na EVM.
A atualização Byzantium de outubro de 2017 integrou oficialmente a curva alt_bn128, permitindo cálculos de pares de domínios de curvas dentro do EVM, tornando a verificação de provas ZK-Snarks possível dentro do EVM.
Em novembro de 2017, a equipe do zcash propôs a curva BLS12-381, que possui maior segurança e desempenho em comparação com a alt_bn128. Muitos protocolos de blockchain adotaram posteriormente a curva BLS12-381.
Em maio de 2018, Justin Drake apontou que as futuras atualizações PoS e de fragmentação do Ethereum poderiam usar o algoritmo de múltiplas assinaturas BLS baseado em BLS12-381. De fato, a atualização ETH2 posterior adotou a curva BLS12-381.
Com o desenvolvimento do ETH2, a introdução do BLS12-381 na camada de execução do ETH está a ganhar cada vez mais apoio. Em fevereiro de 2020, investigadores propuseram o EIP-2537, com a esperança de testá-lo juntamente com a rede de testes do ETH2. O autor do EIP-2537, Alex Stokes, apelou para a inclusão desta proposta na bifurcação dura de Berlin.
Berlin turbulento
Antes de apresentar o conteúdo subsequente, é necessário entender o EIP-1962. Esta proposta foi apresentada pela Matter Labs em abril de 2019, suportando três curvas: BLS12, BN e MNT4/6, com a intenção de adicionar 10 instruções de pré-compilação de uma só vez. No entanto, a proposta é demasiado complexa e foi questionada por muitos desenvolvedores.
Para resolver o problema EIP-1962, a Matter Labs propôs em fevereiro de 2020 vários planos de divisão de EIP, incluindo:
Entre eles, o EIP-2537 é o mais importante, pois a camada de consenso também utiliza a curva BLS12-381. O objetivo central dessas propostas é implementar a verificação de assinaturas BLS na camada de consenso da mainnet. Naquele momento, a ETH2 estava desenvolvendo um contrato de depósito, introduzindo a pré-compilação BLS12-381 para permitir a verificação de assinaturas no contrato de depósito, evitando o risco de perda de fundos dos usuários.
Quando o EIP-2537 foi proposto pela primeira vez, Vitalik apontou uma série de problemas, principalmente relacionados ao conteúdo do documento EIP. Em seguida, o autor respondeu e discutiu.
No dia 6 de março de 2020, a reunião dos desenvolvedores principais do Ethereum discutiu o EIP-2537. Vitalik acredita que a proposta é muito eficaz para provas SNARK recursivas, e a longo prazo não prejudicará o Ethereum. A reunião confirmou a prioridade do EIP-2537, e todos os clientes concordaram em implementá-lo o mais rápido possível, planejando concluir o desenvolvimento antes da atualização de Berlin.
Após isso, o EIP-2537 tornou-se uma tarefa de alta prioridade. A reunião de 20 de março confirmou que o EIP-2537 substituiria o EIP-1962 como proposta central de BLS, e foi incluído na lista pré-selecionada para a atualização de Berlin.
A reunião de abril formalmente incluiu o EIP-2537 na atualização do hard fork Berlin, estabelecendo um cronograma para implementação em abril e testes em maio e junho, e classificou isso como uma prioridade máxima.
Em seguida, o EIP-2537 entrou em uma fase intensa de desenvolvimento e testes, sendo discutido em quase 20 reuniões de desenvolvedores principais. Os principais conteúdos incluem:
No entanto, devido à alta complexidade de implementação, o EIP-2537 foi finalmente removido da rede de teste YOLO v3 e da atualização Berlin na reunião dos desenvolvedores principais do Ethereum #99. A razão principal é que consumiu muitos recursos de desenvolvimento, afetando o desenvolvimento de outros EIPs.
Em abril de 2021, o Ethereum concluiu a atualização Berlin, mas não incluiu o EIP-2537. Isso fez com que a atualização Berlin parecesse bastante fraca.
![Ethereum Governance Observation: EIP-2537 Pre-assembly Process])https://img-cdn.gateio.im/webp-social/moments-3198079b11f21298df05682606409838.webp(
Desenvolvimento futuro
As atualizações do Ethereum seguintes não conseguiram incluir o EIP-2537:
Até fevereiro de 2024, os desenvolvedores voltarão a considerar o EIP-2537 nas discussões sobre a atualização do Pectra. Neste momento, a implementação já não é um problema, restando apenas questões sobre a precificação do consumo de gás.
De dezembro de 2024 a janeiro de 2025, os desenvolvedores finalizaram o modelo de preços do EIP-2537, resolvendo o problema de custos.
![Observação sobre a Governança do Ethereum: Processo de Pré-compilação do EIP-2537])https://img-cdn.gateio.im/webp-social/moments-75338d7a495f20ef25a70cca21a48381.webp(
Resumo
A EIP-2537 foi proposta em fevereiro de 2020 e foi finalmente confirmada em janeiro de 2025, levando quase 5 anos. Durante esse período, houve várias discussões sobre atualizações e abandonos, principalmente limitados pela complexidade de implementação e pela mudança de foco nas atualizações do Ethereum. Este processo demonstra a complexidade da governança do Ethereum, bem como o longo processo que uma proposta técnica pode precisar passar desde sua apresentação até a adoção final.
![Ethereum Governance Observation: EIP-2537 Pre-Assembly Journey])https://img-cdn.gateio.im/webp-social/moments-55d3bb1142078f459d3a41ead42cd599.webp(