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 WebAppNgân sách độ trễ
| Giai đoạn | Mục tiêu | Thực tế (P50) | Thực tế (P95) |
|---|---|---|---|
| Announce | 5 s | 4,2 s | 4,8 s |
| Commit | 30 s | 29,5 s | 30 s |
| Reveal | 15 s | 14,7 s | 15 s |
| Settle | 10 s | 7,3 s | 9,8 s |
| Tổng Round | 60 s | 55,7 s | 59,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.