GH GambleHub

Señales entre nodos

1) Concepto de señal

Señal - unidad mínima de comunicación semántica en la red: evento, solicitud, confirmación, estado, límite, política. A diferencia del paquete «crudo», la señal tiene semántica (tipo, esquema, contexto, invariantes) y garantías (entrega, orden, idempotencia).
Objetivos: reducir la conectividad de los servicios, acelerar la respuesta al cambio, hacer que la red sea manejable y observable.

2) Taxonomía de señales

Eventos (Event): hechos sobre lo que ocurrió (Created, Updated, Settled, Slashed).
Comando (Command): intención de realizar una acción (Mint, Pause, RotateKey).
Consulta-respuesta (Query/Reply): permite obtener el estado/agregaciones.
Estado (State Snapshot): instantáneas periódicas (límites, cuotas, configuraciones).
Alertas/Incidentes (Alerta): desviaciones, degradaciones, violaciones de SLA.
治理/Politiki (Governance/Policy): opciones de tarifas, límites, versiones.
Dominio cruzado (X-Chain/X-Domain): permite transferir derechos/mensajes entre cadenas/zonas de confianza.

Cada clase es fijada por un esquema (ID de la versión, campos obligatorios, invariantes).

3) Modelo de mensaje

Composición mínima:
  • `signal_id` (ULID), `causality_id` (trace/span), `ts`, `ttl`
  • `type` (namespace:version), `schema_hash`
  • 'producer _ id', 'domain', 'auth _ proof' (firma/VC/ZK)
  • 'qos' (clase), 'retries', 'attempt'
  • `payload` (CBOR/JSON/ProtoBuf), `crc`
  • 'idempotency _ key' (por entidad empresarial)

4) QoS y clases de envío

Q0 Fire-and-Forget: sin confirmaciones (telemetría, métricas).
Q1 At-Least-Once: retraídas, dedoop en el receptor, idempotencia.
Q2 Exactly-Once (efectivo): entrada idempotente + dedoop + outbox/inbox transaccional.
Q3 Ordenado: guardar el orden de la clave de lote (partitioning clave).
Q4 Priority/Deadline: Prioridades y Deadline (EDF/LLF) para comandos críticos.

Solución: por defecto Q1 + idempotencia; Q3 - para los hilos con causalidad; Q4 - para avary/治理.

5) Orden, causalidad e idempotencia

Claves de causalidad: 'aggregate _ id', 'version', 'prev _ hash'.
Outbox/InBox-patrón: confirmación transaccional del evento y envío.
Hendlers idempotentes: guardar 'idempotency _ key' en 'seen table' + upsert.
Reconciliation: conciliaciones periódicas de snapshots y registros (repair jobs).
Límites de retraídas/TTL: protección contra repeticiones «eternas» y la deriva de estado.

6) Control de flujo y retroceso

Cuotas y tokens: leaky/bucket, rate-limit por tipo/consumidor.
Contrato de frecuencia/tamaño: batch size, window, max-in-flight.
Políticas de Drop/Degrade: telemetría de revisión en congestión; Los Q4 importantes no dropean.
Justicia: Planificación de colas WFQ/DRR.
Adaptabilidad: controladores PID: el crecimiento de la latencia → reducir la ventana.

7) Transporte y neumático

Bus de eventos local: Kafka/Pulsar/NATS/Redis Streams - Partición de llaves.
Consultas sincrónicas: gRPC/HTTP2 para Query/Reply, tiempos de espera y Circuit Breakers.
Canales de dominio cruzado: capas similares a IBC/CCIP, relayers con fianzas, confirmaciones probadas.
Edge/POP: búferes locales y retransmisión en el núcleo.

8) Seguridad de las señales

Autenticación: mTLS/OIDC para S2S; mensajes firmados (EdDSA/secp256k1).
Autorización: ABAC/RBAC sobre topics y tipos de señales; Derechos/límites RNFT.
Integridad: hashes/merclizaciones de batches, revistas inmutables.
Privacidad: campos en ZK/cifrado de campos (FPE para fugas parciales).
Anti-Frod: firmas de comportamiento, tráfico de «miel», controles estocásticos.

9) Observabilidad y rastreo

Correlación: trace-id/span-id en cada señal, etiquetas de extremo a extremo.
Métricas: p50/p95 latency por tipo, tasa de éxito, timeout/reties%, DLQ depth, lag de consumo.
Los registros de la política: quién, cuándo, qué cambió (治理/limity), firmas y diffs de las confiscaciones.
Alertings: SLO-presupuestos de errores; muestras sintéticas para rutas críticas.
DLQ/Replay: colas muertas, reprocess con protección contra tomas.

10) Esquemas y versionados

Registro de Schema: evolución de campos (compatible con back/forward), tipos semver.
Flags de función: activación gradual de campos/lógica.
Contratos de compatibilidad: pruebas de «viejo productor ↔ nuevo consumer» y viceversa.
Migraciones: dual-write/dual-read, topics espejados, planes sunset.

11) Políticas de retraimiento y deduplicación

Retraídas: retardo exponencial + jitter, máximo de intentos, quarantina después del umbral.
Dedoup: almacenar las últimas 'N' claves por lote o filtros de bloom; Registros TTL.
Anti-tormenta: ACK/NACK grupal, coalescing de eventos (debounce/aggregate).

12) SLA/SLO para señales

Ejemplo de SLO de destino (por clase):
  • Q4: p95 ≤ 200 ms, éxito ≥ 99. 99%, DLQ = 0, incidente MTTR ≤ 15 min.
  • Q3: p95 ≤ 500 ms, éxito ≥ 99. 9%, violación del orden ≤ 10⁻⁶/soobshcheniye.
  • Q1: éxito ≥ 99. 5% por la ventana T, p95 ≤ 1-2.

Error budget: sobrecoste → descarga automática de velocidades, activación de prioridades, flag de degradación.

13) Señales de cadena cruzada (multi-línea)

Pruebas de eventos: pruebas light-client/state en lugar de «confianza en el releer».
Finalidad: contabilización de los retrasos en la finalización del dominio, candados temporales (challenge period).
Garantías económicas: S-fianza de relés, slashings por confirmaciones falsas.
Idempotencia X-Domain: global 'x _ msg _ id', tablas seen en ambos extremos.
Políticas de salida: grúas de parada, límites de volumen/tiempo, quórum manual en ataques.

14) Anti-colusión y abuso

Señales de falsificación: strong auth + detector de comportamiento de anomalías.
Ataques de réplica: nonce/TTL y llaves únicas.
Colusión de productores: auditoría correlativa, muestras ciegas, multas por error sistemático.
Farming de eventos: tarificación por calidad (clase Q), rate limits por entidad.

15) Implementación de Playbook

1. Mapeo de dominios y tipos de señales. Definir criticidad (clase Q), propietarios, esquemas.
2. Selección de transporte y arquitectura topic. Partición por las claves de causalidad.
3. Definición de SLO/SLA. Presupuestos de errores, alertas, procedimientos de emergencia.
4. Security-by-default. Firmas, mTLS, ABAC, rotación clave.
5. Idempotencia y dedoup. Outbox/InBox, seen-tables, TTL.
6. Backpressure. Cuotas, ventanas, prioridades, dashboards lags.
7. Schema Registry & versioning. Contratos de compatibilidad, matrices de prueba.
8. Observabilidad. Rastreo de E2E, muestras sintéticas, DLQ/Replay.
9. Piloto y días de juego. Entrenamiento de incidentes, repetición de registros reales.
10. Escala. X-domain, límites, grúas de parada, post-mortem público.

16) Métricas y dashboards

Rendimiento: latency p50/p95/p99, throughput, consumer lag, in-flight.
Fiabilidad: tasa de éxito, retry%, DLQ depth, duplicate ratio.
Orden: out-of-order%, redering distance.
Economía: costo de procesamiento/comunicación, margen por clase, multas/incentivos.
Seguridad: rate señales sospechosas, fals-positivo/negativo.
治理: velocidad de laminación de esquemas/políticas, proporción de actualizaciones exitosas sin retroceso.

17) Plantillas de contratos/servicios

Puerta de enlace: validación, autenticación, normalización, priorización.
Registro de Schema: almacenamiento/validación de esquemas, compatibilidad.
Signal Router: enrutamiento por tipo/dominio, clases QoS, rate limits.
Idempotency Store: llaves, TTL, dedoop.
DLQ/Replay Service: cuarentena, procesamiento diferido, repetición por ventana.
X-Domain Relay: pruebas, garantías, slashing, finality.
Policy Hub: administración de límites/configuraciones, auditoría de cambios.

18) Lista de comprobación de disponibilidad

  • Se han definido clases de QoS y SLO para todo tipo de señales
  • Firmas incluidas, mTLS, rotación de claves, ABAC
  • Outbox/inbox personalizados, hendlers idempotentes, dedoop
  • Implementado rate limits, backpressure, prioridades
  • Introducido por Schema Registry, pruebas de interoperabilidad, unos planes
  • Dashboards disponibles: latency/lag/DLQ, alertas de presupuestos de errores
  • Incidentes trabajados (juegos-días), réplica, post-mortem
  • Para X-domain, se incluyen pruebas, fianzas y grúas de parada

19) Glosario

QoS: clase de garantía de entrega/prioridad.
Idempotency: volver a realizar sin efectos secundarios.
Backpressure: mecanismos que limitan la carga en caso de sobrecarga.
DLQ: cola «muerta» para el procesamiento fallido.
Trace/Span: identificadores de rastreo de extremo a extremo.
X-Domain/X-Chain: rutas de señal de dominio cruzado/cadena cruzada.

En pocas palabras: las señales correctamente diseñadas son el «sistema nervioso» de la red. Al estandarizar esquemas, garantías, seguridad y observabilidad, el ecosistema obtiene una entrega predecible, resistencia a fallas y una evolución manejable sin ataduras ocultas y muletas manuales.

Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.