Skip to content

Resumen de la Arquitectura

Topología de seis capas

┌──────────────────────────────────────────────────────────┐
│  L0 — Telegram Bot API                                   │
│      • Bot framework (Telegraf, Node)                    │
│      • WebApp UI (Next.js, TON Connect)                  │
│      • Inline keyboards + WebApp launches                │
├──────────────────────────────────────────────────────────┤
│  L1 — Round Engine                                       │
│      • Deterministic FSM (Go)                            │
│      • Phases: Announce → Commit → Reveal → Settle       │
│      • Commit-Reveal verification                        │
│      • Merkle Root construction                          │
├──────────────────────────────────────────────────────────┤
│  L2 — Oracle Aggregator                                  │
│      • Question reservoir (Postgres + IPFS)              │
│      • LLM ensemble pipeline (Claude + GPT + Gemini)     │
│      • Adversarial debiaser                              │
│      • DRAND beacon fetcher                              │
│      • TON-VRF poll                                      │
├──────────────────────────────────────────────────────────┤
│  L3 — Identity Layer                                     │
│      • Trust Ladder L0–L7 state machine                  │
│      • Worldcoin / PoH / Gitcoin Passport adapters       │
│      • KYC vendor integration (Sumsub)                   │
│      • Reputation Score Bayesian updater                 │
├──────────────────────────────────────────────────────────┤
│  L4 — Ad-Revenue Settlement                              │
│      • AdMob SDK (mobile + WebApp)                       │
│      • Telegram Ads SDK                                  │
│      • AdMob SSV callback receiver                       │
│      • zk-SNARK prover (SP1, Phase 2)                    │
├──────────────────────────────────────────────────────────┤
│  L5 — TON Settlement                                     │
│      • $POP Jetton contract (FunC)                       │
│      • Vesting wrapper contract                          │
│      • Round Merkle Root commit contract                 │
│      • Dispute resolution contract                       │
│      • DAO governance contracts (Phase 3)                │
└──────────────────────────────────────────────────────────┘

Flujo de datos

El usuario toca "Jugar" en Telegram

L0: Se abre la WebApp, solicita entrada al Round (ronda)

L4: Se muestra anuncio (AdMob), se espera callback SSV

L4: SSV verificado → se emite crédito POP (puntos)

L1: El usuario recibe la pregunta del Round (desde L2)

L1: El usuario realiza Commit (compromiso) c_i durante la fase Commit

L1: El usuario revela (s_i, b_i) durante la fase Reveal (revelación)

L1: El Round Engine calcula la mayoría, construye Merkle Root (raíz Merkle)

L3: Peso efectivo = α × r_i aplicado

L1: Prize Pool (fondo de premios) distribuido a los supervivientes

L5: Merkle Root enviado a TON (lote cada 24h)

El usuario ve crédito POP + resultado del Round en la WebApp

Presupuesto de latencia

FaseObjetivoReal (P50)Real (P95)
Announce (anuncio)5 s4,2 s4,8 s
Commit30 s29,5 s30 s
Reveal15 s14,7 s15 s
Settle (liquidación)10 s7,3 s9,8 s
Total del Round60 s55,7 s59,6 s

La fase Settle incluye la construcción y verificación del Merkle Root; el envío on-chain a TON se agrupa por separado con una cadencia de 24 horas.

Infraestructura

  • Alojamiento: Cloudflare Workers + R2 + KV (distribuido en el borde, baja latencia).
  • Base de datos: Postgres (principal), Redis (estado del Round, efímero), R2 (artefactos del Round, archivo).
  • Round Engine: binario Go sin estado; escalable horizontalmente detrás del anycast de Cloudflare.
  • Cliente TON: SDK ton-core; conexiones a nodos completos mediante TonAPI Cloud.
  • Observabilidad: OpenTelemetry → Grafana Cloud; Sentry para errores de cliente.

Componentes de código abierto

  • Round Engine: MIT, github.com/cashpop-protocol/round-engine
  • WebApp: MIT, github.com/cashpop-protocol/webapp
  • Smart contracts (post-TGE): MIT, github.com/cashpop-protocol/contracts
  • Pipeline de construcción del reservoir de preguntas: fuente disponible, github.com/cashpop-protocol/reservoir

La pila completa de CashPop será auto-alojable después del TGE: cualquier operador puede poner en marcha una instancia bifurcada, aunque no podrá emitir $POP sin aprobación de la DAO.

Built on TON.