Sumário executivo

Este relatório apresenta os resultados de uma simulação de Monte Carlo analisando a frequência de lacunas de nonce em um ambiente de mempool de blob fragmentado. Uma lacuna de nonce ocorre quando transações consecutivas de blob (tipo 3) do mesmo remetente são atribuídas a diferentes fragmentos no mesmo slot, potencialmente causando problemas de ordem de transação para proponentes de bloco.

Descoberta chave: Com a atribuição aleatória de fragmentos, uma percentagem significativa de transações de blob (até cerca de 36% nos piores cenários) é afetada por lacunas nonce. A frequência depende do número de fragmentos e da assimetria da distribuição da transação entre os remetentes. Isto destaca a necessidade de mecanismos aprimorados de anúncio de transações, conforme proposto no EIP-8077.


1. Motivação: Apoio ao EIP-8077

1.1 Escopo: Transações de Blob e Fragmentação de Mempool

Esta análise centra-se exclusivamente transações tipo 3 (transações blob) introduzido em EIP-4844. Examinamos especificamente a fragmentação do pool de memória do blob em vez do mempool de transação regular pelos seguintes motivos:

  1. Tamanho do blob: cada blob tem 128 KB, significativamente maior que as transações regulares (normalmente <1 KB)
  2. Consumo de largura de banda: A propagação de blob domina o uso da largura de banda da rede
  3. Pressão de escalabilidade: À medida que a adoção de L2 cresce, a demanda por blobs aumenta, tornando a fragmentação de mempool essencial
  4. Remetentes concentrados: as transações de blob vêm principalmente de sequenciadores L2 (Base, Optimism, Arbitrum, etc.), criando distribuições de remetentes altamente distorcidas

A fragmentação do mempool do blob permite que os nós assinem um subconjunto de blobs, reduzindo os requisitos de largura de banda e mantendo a conectividade da rede. No entanto, isso introduz o problema do intervalo de nonce que este estudo quantifica.

1.2 O Problema

EIP-8077 propõe estender o protocolo devp2p do Ethereum para incluir o endereço do remetente e informações de nonce em anúncios de transações. Este estudo de simulação fornece evidências quantitativas de por que esse aprimoramento é necessário.

Em um mempool de blob fragmentado, as transações de blob do mesmo remetente (por exemplo, um sequenciador L2) podem ser distribuídas em diferentes fragmentos ou chegar em momentos diferentes. Quando um proponente de bloco recebe transações de blob, ele precisa:

  1. Ordenar transações corretamente por nonce para cada remetente
  2. Identifique lacunas de uso único que tornaria as transações temporariamente inincluíveis
  3. Priorizar a busca transações que preenchem lacunas em relação àquelas que criam novas

Sem informações de remetente e nonce nos anúncios, os nós devem:

  • Buscar transações cegamente, arriscando lacunas nonce
  • Use tentativa e erro ineficientes para preencher lacunas
  • Manter grandes caches de hash de transações
  • Perder oportunidades de busca seletiva por endereço de origem

1.3 Por que este estudo é importante

Esta simulação quantifica o escala do problema de lacuna de nonce em condições realistas:

  • Até 36% das transações pode ser afetado por lacunas nonce em cenários de alta assimetria e muitos fragmentos
  • A assimetria impacta significativamente a frequência de lacunas – redes com remetentes dominantes (principais sequenciadores L2 como Base, Optimism, Arbitrum) enfrentam taxas de gap mais altas
  • Análise no mesmo slot concentra-se no que é importante para os proponentes – lacunas dentro de um período de construção de bloco único

Essas descobertas demonstram que à medida que o Ethereum cresce (mais fragmentos, maior rendimento), a busca inteligente de transações se torna crítica. Os metadados do EIP-8077 permitem que os nós tomem decisões informadas sobre quais transações buscar, reduzindo o desperdício de largura de banda e melhorando a consistência do mempool.

1.4 Principais implicações para EIP-8077

Encontrando Implicação para EIP-8077
Taxa de lacuna de até 36% Uma parcela significativa das transações de blob foi afetada sem busca inteligente
A distorção é importante Sequenciadores L2 de alto volume (Base, Optimism, Arbitrum) impactados desproporcionalmente
Espaços no mesmo slot são comuns Os proponentes precisam de informações nonce em tempo real para a construção eficiente de blocos
Mais fragmentos = mais lacunas O problema piora à medida que a fragmentação do mempool do blob aumenta

2. Parâmetros de Simulação

2.1 Parâmetros Configuráveis

Parâmetro Valor Descrição
NUM_SLOTS 216.000 30 dias de slots
AVG_TX_PER_SLOT 14 Meta de transações médias por slot
MAX_TX_PER_SLOT 21 Máximo de transações por slot (capacidade da cadeia)
NUM_SENDERS 100 Número de remetentes únicos

2.2 Valores Derivados

Métrica Valor
Período de simulação 30 dias
Slots por hora 300
Máximo de transações por hora 6.300
Total de transações (aprox.) ~3 milhões

2.3 Configurações de fragmentos

Seis configurações de fragmentos foram testadas:

Configuração Número de fragmentos
1 1 (linha de base)
2 2
3 4
4 8
5 16
6 32

2.4 Configurações de assimetria

Seis padrões de distribuição de remetentes foram modelados usando funções de decaimento exponencial P(i) = exp(-λ * i):

Nível de assimetria Taxa de decaimento (λ) Descrição
Muito alto 0,15 Concentração extrema em alguns remetentes (por exemplo, principais L2s como Base, Otimismo)
Alto 0,10 Concentração forte (por exemplo, múltiplos sequenciadores L2 ativos)
Médio Alto 0,07 Concentração moderada-alta
Médio Baixo 0,04 Concentração moderada-baixa
Baixo 0,02 Ligeira concentração
Uniforme 0,00 Probabilidade igual para todos os remetentes

3. Metodologia

3.1 Distribuição de transações ao longo do tempo

As transações são distribuídas ao longo do período de simulação com padrões aleatórios e não periódicos para simular atividades de rede realistas:

  1. Ruído de base aleatório: Cada slot começa com uma taxa de transação aleatória centrada em torno da média alvo
  2. Explosões aleatórias: 200 rajadas de atividades aleatórias com duração variável (50-2.000 slots) e intensidade (1,2x-2,0x)
  3. Calmarias aleatórias: 100 períodos aleatórios de baixa atividade com duração variável (100-1500 slots) e intensidade (0,3x-0,7x)
  4. Limite de capacidade: todos os slots são limitados a MAX_TX_PER_SLOT

Figura 1: Taxa de transação durante o período de simulação de 30 dias mostrando rajadas e calmarias aleatórias (sem periodicidade artificial).

3.2 Distribuição do Remetente

A probabilidade de uma transação ser enviada pelo remetente i segue uma distribuição exponencial:

P(sender = i) = exp(-λ * i) / Σ exp(-λ * j)

Onde λ é a taxa de decaimento que controla a assimetria.

Figura 2: Distribuição de probabilidade mostrando como a frequência das transações varia entre os remetentes para diferentes níveis de assimetria.

Figura 3: Número absoluto de transações por remetente para cada tipo de distribuição.

3.3 Distância de transação entre o mesmo remetente

Um fator importante na frequência do intervalo de nonce é a frequência com que o mesmo remetente realiza múltiplas transações no mesmo slot. Isso depende da assimetria da distribuição.

Figura 4: Distribuição das distâncias dos slots entre transações consecutivas do mesmo remetente. Distribuições mais distorcidas resultam em distâncias mais curtas (mais pares no mesmo slot).

3.4 Atribuição de Fragmentos

Cada transação é atribuída a um fragmento uniformemente ao acaso:

shard = random.randint(0, num_shards - 1)

Isto modela um cenário em que a atribuição de fragmentos é independente da identidade do remetente.

3.5 Medição de Gap Nonce

Decisão Crítica de Design: contamos apenas intervalos de nonce entre transações consecutivas do mesmo remetente que ocorrem dentro do mesmo slot. Isso ocorre porque:

  • Diferentes slots são construídos por diferentes proponentes
  • Um proponente só se preocupa com lacunas de nonce dentro de seu próprio bloco
  • As lacunas entre slots são irrelevantes para a construção de blocos

A métrica que medimos é:

Nonce Gap Frequency = (Shard Switches in Same-Slot Pairs) / (Total Transactions)

Isto representa o porcentagem de todas as transações envolvidas em um intervalo de nonce no mesmo slot.


4. Resultados

4.1 Mapa de calor de frequência de intervalo Nonce

Figura 5: Mapa de calor mostrando a frequência de intervalo de uso único (como porcentagem do total de transações) em todas as configurações de fragmentos e assimetria.

4.2 Resultados Numéricos

Fragmentos Muito alto Alto Médio Alto Médio Baixo Baixo Uniforme
1 0,0% 0,0% 0,0% 0,0% 0,0% 0,0%
2 18,6% 13,7% 10,8% 6,9% 4,6% 3,6%
4 27,6% 21,1% 16,1% 10,5% 7,0% 5,5%
8 32,3% 24,4% 19,0% 12,2% 8,1% 6,4%
16 34,6% 26,0% 19,8% 12,8% 8,8% 6,7%
32 36,0% 27,2% 20,9% 13,5% 9,1% 6,9%

4.3 Padrões Chave

  1. Padrão vertical (mais fragmentos): O aumento de fragmentos aumenta a frequência do intervalo, mas com retornos decrescentes
  2. Padrão horizontal (mais assimetria): Maior assimetria aumenta drasticamente a frequência do intervalo
  3. Pior caso: Assimetria muito alta + 32 fragmentos = aproximadamente 36% das transações afetadas
  4. Melhor caso: Distribuição uniforme + 2 fragmentos = ~3,6% das transações afetadas

5. Análise

5.1 Por que a assimetria é importante

Ao contrário da nossa hipótese inicial, a assimetria afeta significativamente a frequência do intervalo nonce. Isso ocorre porque:

  1. Distribuições distorcidas concentram transações entre menos remetentes
  2. Remetentes concentrados têm mais pares consecutivos no mesmo slot
  3. Mais pares no mesmo slot = mais oportunidades para lacunas nonce

Com distribuição uniforme, as transações de blob são espalhadas por 100 remetentes, tornando raros os pares consecutivos no mesmo slot do mesmo remetente. Com assimetria muito alta (refletindo uma rede dominada pelos principais sequenciadores L2 como o Base), alguns remetentes dominantes produzem muitos pares consecutivos no mesmo slot, cada um com uma probabilidade (N-1)/N de ser um gap.

5.2 Por que isso é compatível com EIP-8077

Observação Benefício EIP-8077
Sequenciadores L2 de alto volume criam mais lacunas Os nós podem priorizar a busca de sequências nonce completas para os principais L2s
Lacunas no mesmo slot afetam a construção de blocos Os proponentes precisam de informações imediatas do nonce para construir blocos válidos
A frequência do intervalo varia de acordo com o remetente A busca seletiva por endereço do remetente torna-se valiosa
Até 36% das transações de blob afetadas Ganhos significativos de eficiência são possíveis com busca inteligente

5.3 Implicações para Diferentes Condições de Rede

Cenário Taxa de lacuna Valor EIP-8077
Dominado por L2 (alta assimetria, muitos fragmentos) 27-36% Crítico – os principais sequenciadores L2 precisam de tratamento prioritário
Ecossistema L2 misto (alta assimetria, poucos fragmentos) 14-19% Alto – vários L2s precisam de ordenação consistente
Diversos remetentes de blob (baixa assimetria) 4-9% Moderado – ainda benéfico para a eficiência
Fragmento único 0% Baixo – sem fragmentação significa sem lacunas

6. Conclusões

6.1 Principais conclusões

  1. As lacunas de nonce são um problema significativo: até 36% das transações podem ser afetadas em cenários de alta assimetria e muitos fragmentos.

  2. A distorção é um fator importante: Redes com remetentes de blob dominantes (principais sequenciadores L2 como Base, Optimism, Arbitrum) enfrentam taxas de gap substancialmente mais altas do que redes com distribuição uniforme de transações.

  3. A fragmentação agrava o problema: Mais fragmentos = mais lacunas, seguindo a probabilidade (N-1)/N para cada par do mesmo slot.

  4. A análise do mesmo slot é crítica: focar no que é importante para os proponentes (lacunas na janela de construção de blocos) fornece insights acionáveis.

6.2 Suporte para EIP-8077

Esta simulação fornece forte suporte quantitativo para EIP-8077:

  • O problema é real: Uma percentagem significativa de transações é afetada por lacunas nonce
  • O problema é escalonável: Piora à medida que Ethereum adiciona mais fragmentos/rendimento
  • A solução é direcionada: Os metadados do remetente/nonce permitem a busca inteligente
  • O benefício é mensurável: Os nós podem reduzir o desperdício de largura de banda e melhorar a eficiência da construção de blocos

6.3 Recomendações

  1. Adote EIP-8077 para fornecer aos nós os metadados necessários para busca inteligente de transações de blob
  2. Priorize os principais sequenciadores L2 ao buscar para manter sequências nonce completas para remetentes de blob de alto volume
  3. Considere a atribuição de fragmentos com reconhecimento de remetente como uma estratégia complementar para reduzir lacunas ao nível do protocolo

7. Trabalho Futuro

  • Simule o impacto dos metadados do EIP-8077 na eficiência de busca
  • Modele diferentes estratégias de busca habilitadas pelas informações do remetente/nonce
  • Analise padrões reais de transação da rede principal Ethereum para calibração de assimetria
  • Considere cenários de rebalanceamento dinâmico de fragmentos
  • Estude a interação com outras soluções de escalonamento (rollups, amostragem de disponibilidade de dados)

Apêndice: Estrutura do Código

O código pode ser encontrado aqui: eth-research/EIP-8077 em main · migalabs/eth-research · GitHub

A simulação é implementada em EIP-8077/simu.py com os seguintes componentes:

Função Propósito
get_sender_distribution() Gera uma distribuição de probabilidade para seleção de remetente
generate_transaction_rate() Cria padrões de transação aleatórios e não periódicos
simulate_nonce_gaps() Função principal de simulação (análise no mesmo slot)
plot_distributions() Visualiza distribuições de probabilidade do remetente
plot_transactions_per_sender() Mostra contagens absolutas de transações
plot_transactions_over_time() Exibe intermitência temporal (gráfico de barras, por hora)
plot_sender_distance_boxplot() Mostra a distribuição das distâncias de transação do mesmo remetente

Parâmetros Configuráveis (no topo de EIP-8077/simu.py):

NUM_SLOTS = 216000        # 30 days worth of slots
AVG_TX_PER_SLOT = 14      # Target average transactions per slot
MAX_TX_PER_SLOT = 21      # Maximum transactions per slot
NUM_SENDERS = 100         # Number of unique senders

Dependências: numpy, matplotlib, aleatório

Fontesethresear

By victor

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *