Solo con fines educativos; no constituye asesoramiento ni recomendación de inversión. Las inversiones pueden ocasionar pérdidas.
Respuesta directa
Una red peer-to-peer permite que cada nodo descubra y mantenga un conjunto limitado de pares directos, intercambie mensajes de protocolo autenticados y construya su propia vista local sin dirigirlo todo por un servidor central. No es un grafo completo, un mempool global ni una fuente de verdad por sí sola. Que un par reciba, valide o reenvíe un objeto no demuestra que todos los nodos lo hayan visto, que un bloque lo haya incluido ni que el consenso lo haya finalizado.
Ethereum después de The Merge utiliza dos redes P2P distintas. Los clientes de ejecución emplean descubrimiento, RLPx y la capacidad versionada eth para sincronización e intercambio de transacciones. Los clientes de consenso emplean discv5 para descubrimiento y gossip de libp2p más protocolos de solicitud-respuesta para bloques beacon, attestations y otros objetos de consenso. Ambos clientes se coordinan localmente mediante la Engine API autenticada; una wallet suele enviar mediante JSON-RPC y eso no la convierte en nodo gossip.
Cómo funciona
- Fije cadena, red, génesis y configuración de forks, versiones de clientes de ejecución y consenso, identidades de nodo y momento de observación. Represente por separado cliente de ejecución, cliente de consenso, validator opcional, Engine API local y RPC para usuarios.
- Compruebe cada vía de descubrimiento: bootnodes integrados, listas DNS, pares estáticos o de confianza, identidad ENR o enode, endpoint y secuencia anunciados, compatibilidad de red, NAT y accesibilidad entrante. Un ENR firmado vincula un registro a una clave; no demuestra honestidad, sincronización ni accesibilidad actual.
- Registre por separado conexión y negociación de protocolo. Los pares de ejecución establecen sesiones RLPx y negocian capacidades como
eth; los pares de consenso negocian transporte libp2p, seguridad e identificadores de protocolo tras el descubrimiento discv5. Encontrar un endpoint no implica compatibilidad de aplicación. - Siga cada objeto por su vía real. Una transacción puede pasar del envío RPC a la validación local y al mempool de ejecución, y después a anuncios y solicitudes
eth. Los objetos de consenso usan validación gossip específica del topic, mientras los bloques ausentes pueden obtenerse por solicitud-respuesta. - Aplique decodificación acotada, deduplicación, límites de tasa y comprobaciones de firma, sintaxis y estado antes de admitir o reenviar localmente. Registre resultados inválidos, ignorados, no disponibles o limitados por recursos; la puntuación y desconexión de pares son decisiones locales de implementación, no reputación de consenso.
- Mantenga recepción, validación, reenvío, inclusión de la transacción, resultado de ejecución, fork choice, justificación y finalidad como estados y relojes separados. Compare varios pares o nodos cuando un pool, head o historial local sea incompleto, conflictivo u obsoleto.
- Supervise diversidad de pares entrantes y salientes, operador, concentración por prefijo IP y ASN, rotación, latencia, pérdida, ancho de banda, colas, tráfico inválido, reloj y dependencias RPC. Ensaye pérdida de bootnodes, fallo NAT, partición, eclipse, sobrecarga y recuperación sin afirmar resistencia absoluta.
Descubrimiento de pares, seguridad de transporte y validez de aplicación resuelven problemas distintos. Los bootnodes presentan candidatos, pero no retransmiten el tráfico ordinario ni eligen la cadena canónica. El cifrado protege contenido y autenticación de la sesión, pero los pares conocen endpoints y tiempos; un proveedor RPC remoto puede observar además consultas, direcciones y transacciones enviadas.
La propagación es concurrente y depende de la topología. Fanout, rutas duplicadas, serialización por ancho de banda, CPU de validación, colas, pérdidas, retransmisión, puntuación y reglas del objeto determinan distribución y cola de los tiempos de llegada. Una fórmula como delay = hops * perHopTime es solo un modelo didáctico serial declarado, no una garantía de red.
Ejemplos
- Ruta serial frente a pipeline. En una ruta didáctica de
4 hops, cada salto tiene80 msde red y20 msde validación. El proceso totalmente serial da4 * (80 + 20) = 400 ms. Si la validación se solapa con la siguiente transmisión, un límite inferior simplificado es4 * 80 + 20 = 340 ms. Ningún valor es el tiempo de propagación de toda la red. - Anuncio y obtención de transacciones. Un nodo recibe
20hashes y ya posee6, por lo que faltan20 - 6 = 14cuerpos. Si una solicitud didáctica admite como máximo8, necesitaceil(14 / 8) = 2 batches. Con120 msde ida y vuelta más30 msde validación por lote, el total serial es2 * (120 + 30) = 300 ms; el total paralelo ideal,150 ms. Los límites reales dependen de la versiónethnegociada y del cliente. - Probabilidad simplificada de eclipse. Si cada uno de
8pares salientes se muestreara de forma independiente y los candidatos maliciosos fueran25%, la probabilidad de que todos fueran maliciosos sería0.25^8 = 0.0000152587890625 = 0.00152587890625%. Sesgo del descubrimiento, identidades Sybil, correlación IP/ASN y retención violan la independencia; no es una garantía de seguridad. - Sobrecarga de validación. Entran
900 messages/s;4workers validan250 messages/scada uno, dando capacidad de1,000 messages/s, margen de100 messages/sy utilización de90%. Un ataque de1,400 messages/sacumula400 messages/sy6,000 messagesen15 seconds. Una cola de5,000-messagese llena en5,000 / 400 = 12.5 secondsantes de descartes o límites, ignorando variación del servicio.
Riesgos
- Cadena, génesis o configuración de fork equivocadas.
- Incompatibilidad entre cliente de ejecución, consenso o Engine API.
- Descubrimiento por bootnode o DNS concentrado o secuestrado.
- Metadatos de endpoint obsoletos, falsificados o inaccesibles.
- NAT, firewall o puertos bloquean la accesibilidad prevista.
- Ataque de eclipse que filtra la vista local del nodo.
- Identidades Sybil y concentración de IP, ASN, operador o nube.
- Dependencia excesiva de pares estáticos o de confianza.
- Censura de transacciones o retransmisión selectiva.
- Divergencia entre flujo de órdenes público y privado.
- Divergencia local de admisión, reemplazo y expulsión del mempool.
- Gossip inválido agota la CPU de validación.
- Solicitudes sobredimensionadas, descompresión o agotamiento de ancho de banda, memoria o disco.
- Manipulación de la puntuación de pares o penalizaciones falsas.
- Contrapresión de colas descarta mensajes sensibles al tiempo.
- Latencia, pérdida o desfase del reloj causan divergencia temporal del head.
- Incompatibilidad de versión de protocolo o fork digest.
- Historial podado o respuesta sin recursos se interpreta como inexistencia.
- Filtración de privacidad de IP, tiempos, consultas y origen de transacciones.
- RPC centralizado o expuesto permite seguimiento, vistas obsoletas, censura o compromiso.
Errores comunes
- Todos los nodos se conectan directamente entre sí. Cada nodo tiene un conjunto local finito y cambiante; distintos nodos pueden ver temporalmente mensajes y heads diferentes.
- Un bootnode es fuente fiable de bloques o participante del consenso. Su función normal es presentar pares; validez de cadena y fork choice se verifican en otro lugar.
- Una transacción aceptada por un par se difunde globalmente y tiene inclusión garantizada. Admisión y retransmisión son locales, y builders o proposers pueden omitirla.
- La validación gossip significa consenso y finalidad. Es una barrera local temprana; fork choice, justificación y finalidad son máquinas de estado separadas.
- Más pares o transporte cifrado proporcionan automáticamente anonimato y resistencia a eclipse. Importan diversidad y selección; pares y proveedores RPC aún pueden correlacionar endpoints, tiempos y actividad.
Temas relacionados
Fuentes
- Networking layer - Ethereum.org (consultado: 2026-08-13)
- Ethereum Wire Protocol (ETH) - Ethereum devp2p (consultado: 2026-08-13)
- The RLPx Transport Protocol - Ethereum devp2p (consultado: 2026-08-13)
- Node Discovery Protocol v5 - Wire Protocol - Ethereum devp2p (consultado: 2026-08-13)
- Phase 0 – Networking - Ethereum Consensus Specs (consultado: 2026-08-13)
- gossipsub v1.1: Security extensions to improve on attack resilience and bootstrapping - libp2p (consultado: 2026-08-13)
- Connecting To The Network - go-ethereum (consultado: 2026-08-13)
- Spin up your own Ethereum node - Ethereum.org (consultado: 2026-08-13)