Saltar al contenido principal

Arquitectura de Red ULedgerNET

Descripción General​

ULedgerNET implementa una red peer-to-peer descentralizada utilizando un stack de red P2P modular. Esto proporciona descubrimiento robusto de peers, comunicación segura y propagación eficiente de mensajes.

Stack de Red​

🔍 click to expand

Descubrimiento de Peers​

Tabla Hash Distribuida (DHT)​

ULedgerNET utiliza una Tabla Hash Distribuida para el descubrimiento de peers:

🔍 click to expand

Flujo de Descubrimiento​

🔍 click to expand

Sistema de Mensajería​

Pub/Sub (Gossip Protocol)​

El mecanismo principal para difundir mensajes a través de la red:

🔍 click to expand

Propagación de Mensajes​

🔍 click to expand

Streams Directos​

Para comunicación punto a punto (por ejemplo, sincronización de datos, solicitudes de timestamp):

🔍 click to expand

Estructura de Mensajes de Red​

Formato de Mensaje​

🔍 click to expand

Tipos de Mensajes​

TipoDirecciónPropósito
MSG_PUBLISHDifusiónMensajes generales pub/sub
MSG_REQUEST_DATADirectoSolicitar datos específicos
MSG_RESPOND_DATADirectoRespuesta a solicitud de datos
MSG_REQUEST_TIMESTAMPDirectoObtener timestamp del peer
MSG_RESPOND_TIMESTAMPDirectoDevolver timestamp actual
MSG_REQUEST_TOPICSDirectoIntercambiar suscripciones de topics
MSG_RESPOND_TOPICSDirectoDevolver topics suscritos

Protocolo de Timestamping​

Acuerdo de Timestamp Distribuido​

ULedgerNET utiliza timestamps de peers para establecer el orden de transacciones:

🔍 click to expand

Parámetros de Tiempo​

ParámetroValorDescripción
Max Peers5Máximo de peers consultados para timestamps
Timeout10sTiempo de espera para solicitud de timestamp
Max Median Diff5sDiferencia de tiempo máxima permitida

Sincronización de Nodos​

Proceso de Reconciliación​

Cuando un nuevo nodo se une o se recupera de una partición:

🔍 click to expand

Tipos de Solicitudes de Sincronización​

🔍 click to expand

Gestión de Peers​

Almacén de Peers​

🔍 click to expand

Ciclo de Vida de un Peer​

🔍 click to expand

Manejo de Conexiones​

Flujo de Nueva Conexión​

🔍 click to expand

Manejo de Desconexión​

🔍 click to expand

Seguridad de Red​

Seguridad de Transporte​

CaracterísticaImplementación
CifradoTLS 1.3 / Noise Protocol
AutenticaciónID de peer derivado de clave pública
IdentidadClaves de red Ed25519

Seguridad de Protocolo​

CaracterísticaImplementación
Firma de MensajesTodos los mensajes de blockchain firmados
Protección contra ReplayIDs de solicitud únicos
Prevención de SpamValidación de mensajes en la capa de protocolo

Configuración​

Configuración P2P​

{
"p2pConfig": {
"port": 4001,
"bootstrapPeers": [
"/ip4/x.x.x.x/tcp/4001/p2p/QmXXX...",
"/dnsaddr/bootstrap.uledger.io/p2p/QmYYY..."
],
"dhtServer": true,
"enableRelay": false
}
}

Parámetros de Configuración​

ParámetroDescripciónValor por Defecto
portPuerto de escucha P2P4001
bootstrapPeersPeers iniciales para descubrimiento[]
dhtServerActuar como servidor DHTtrue
enableRelayHabilitar relay para traversal de NATfalse

Topología de Red​

Despliegue Típico​

🔍 click to expand

Siguiente: Smart Contracts & Tokens