Skip to content

Tổng quan kiến trúc

Cấu trúc sáu lớp

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

Luồng dữ liệu

Người dùng nhấn "Play" trong Telegram

L0: WebApp mở ra, yêu cầu tham gia Round (vòng)

L4: Hiển thị quảng cáo (AdMob), chờ callback SSV

L4: SSV được xác minh → tín dụng POP (điểm) được cấp

L1: Người dùng nhận câu hỏi Round (từ L2)

L1: Người dùng commit c_i trong giai đoạn Commit

L1: Người dùng reveal (s_i, b_i) trong giai đoạn Reveal

L1: Round Engine tính toán đa số, xây dựng Merkle Root

L3: Trọng số hiệu dụng = α × r_i được áp dụng

L1: Prize Pool (quỹ thưởng) được phân phối cho người sống sót

L5: Merkle Root được commit lên TON (gộp mỗi 24h)

Người dùng thấy tín dụng POP + kết quả Round trong WebApp

Ngân sách độ trễ

Giai đoạnMục tiêuThực tế (P50)Thực tế (P95)
Announce5 s4,2 s4,8 s
Commit30 s29,5 s30 s
Reveal15 s14,7 s15 s
Settle10 s7,3 s9,8 s
Tổng Round60 s55,7 s59,6 s

Giai đoạn Settle bao gồm xây dựng và xác minh Merkle Root; việc commit on-chain lên TON được gộp riêng theo nhịp 24 giờ.

Hạ tầng

  • Lưu trữ: Cloudflare Workers + R2 + KV (phân phối biên, độ trễ thấp).
  • Cơ sở dữ liệu: Postgres (chính), Redis (trạng thái Round, tạm thời), R2 (tạo tác Round, lưu trữ).
  • Round Engine: binary Go không trạng thái; mở rộng ngang phía sau anycast của Cloudflare.
  • TON Client: SDK ton-core; kết nối full-node qua TonAPI Cloud.
  • Giám sát: OpenTelemetry → Grafana Cloud; Sentry cho lỗi phía client.

Thành phần mã nguồn mở

  • Round Engine: MIT, github.com/cashpop-protocol/round-engine
  • WebApp: MIT, github.com/cashpop-protocol/webapp
  • Smart contracts (sau TGE): MIT, github.com/cashpop-protocol/contracts
  • Question reservoir build pipeline: source-available, github.com/cashpop-protocol/reservoir

Toàn bộ stack CashPop sẽ có thể tự lưu trữ sau TGE: bất kỳ operator nào cũng có thể chạy một fork-instance, nhưng không thể phát hành $POP nếu không có sự chấp thuận của DAO.

Built on TON.