p2p: allowed_peers list propagated network-wide instead of being local to the node

Abierto
#3,254 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
go
Área
networking

Línea de trabajo

Comienza rastreando la configuración de CLI --allowed_peers a través de las rutas de anuncio de peers P2P y de gestión de conexiones. Reproduce la topología sequencer/fullnode descrita en el issue y verifica después que la restricción solo la haga cumplir el nodo que la estableció y que los fullnodes sin restricciones acepten nuevos peers.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

C:p2p

Sequencer version : v1.1.0-rc.1

Description

When running a sequencer node with --allowed_peers=fullnode-1,fullnode-2, the allowed peers list appears to be propagated to the rest of the network. As a result, other fullnodes that try to connect via P2P to fullnode-1 or fullnode-2 are rejected, even though those fullnodes never set allowed_peers themselves.

Expected Behavior

The allowed_peers configuration should be local to the node that runs the argument. It should only restrict which peers that specific node accepts connections from. It must not be advertised or enforced on other nodes in the network.

Actual Behavior

The allowed_peers list set on the sequencer is propagated across the network. Nodes that did not set allowed_peers still refuse connections from nodes not on the sequencer's list.

Network Topology

The following diagram illustrates the affected network and the expected isolation of the allowed_peers constraint:

                        Eden Testnet Network
  ┌─────────────────────────────────────────────────────────────────────┐
  │                                                                     │
  │   ┌───────────────────────────────┐                                 │
  │   │  Sequencer                    │                                 │
  │   │  allowed_peers=fullnode-1,    │                                 │
  │   │             fullnode-2        │                                 │
  │   └──────────────┬────────────────┘                                │
  │                  │ P2P                                              │
  │         ┌────────┴────────┐                                        │
  │         │                 │                                        │
  │   ┌─────▼──────┐   ┌──────▼─────┐                                 │
  │   │ fullnode-1 │   │ fullnode-2 │                                  │
  │   └─────┬──────┘   └──────┬─────┘                                 │
  │         │                 │                                        │
  │         │ P2P  (EXPECTED) │ P2P  (EXPECTED)                       │
  │         │                 │                                        │
  │   ┌─────▼─────────────────▼─────┐                                 │
  │   │     new-fullnode-N ...       │                                 │
  │   │  (unable to connect — BUG)  │                                 │
  │   └─────────────────────────────┘                                 │
  │                                                                     │
  └─────────────────────────────────────────────────────────────────────┘

  Legend:
    ──►  P2P connection (established / expected)
    BUG: new-fullnode-N cannot connect to fullnode-1 or fullnode-2
         because the sequencer's allowed_peers list is enforced there
Intended behavior (allowed_peers should be local)
  Sequencer  ←──(only accepts fullnode-1, fullnode-2)──►  fullnode-1
                                                       ──►  fullnode-2

  fullnode-1  ←──(no restriction; accepts any peer)──►  new-fullnode-N
  fullnode-2  ←──(no restriction; accepts any peer)──►  new-fullnode-N

Steps to Reproduce

  1. Start a network with: sequencer, fullnode-1, fullnode-2.
  2. Run the sequencer with --allowed_peers=fullnode-1,fullnode-2.
  3. Attempt to join a new fullnode that connects via P2P to fullnode-1 or fullnode-2.
  4. Observe: the new fullnode is rejected by fullnode-1/fullnode-2 despite them not having allowed_peers set.

Environment

  • Network: eden-testnet
  • Observed: week of 2026-04-14

Impact

Any new node attempting to sync via fullnode-1 or fullnode-2 is silently blocked, making fullnode only syncing through DA unless modifying the sequencer's allowed_peers list.

Lenguaje dominante
Go
Estrellas
361
Forks
281
Merge medio
2 d 23 h
PR fusionados (30 d)
15

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de evstack/ev-node

Todos los issues de evstack/ev-node

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.