アーキテクチャ概要
6層トポロジー
┌──────────────────────────────────────────────────────────┐
│ L0 — Telegram Bot API │
│ • Botフレームワーク(Telegraf、Node) │
│ • WebApp UI(Next.js、TON Connect) │
│ • インラインキーボード + WebApp起動 │
├──────────────────────────────────────────────────────────┤
│ L1 — Round Engine │
│ • 決定性FSM(Go) │
│ • フェーズ: Announce → Commit → Reveal → Settle │
│ • Commit-Reveal検証 │
│ • Merkle Root(マークルルート)構築 │
├──────────────────────────────────────────────────────────┤
│ L2 — Oracle Aggregator │
│ • 質問リザーバ(Postgres + IPFS) │
│ • LLMアンサンブルパイプライン(Claude + GPT + Gemini)│
│ • 敵対的デバイアサー │
│ • DRANDビーコンフェッチャー │
│ • TON-VRFポーリング │
├──────────────────────────────────────────────────────────┤
│ L3 — Identity Layer │
│ • Trust Ladder(トラストラダー)L0–L7状態機械 │
│ • Worldcoin / PoH / Gitcoin Passportアダプター │
│ • KYCベンダー統合(Sumsub) │
│ • Reputation Score(レピュテーションスコア)ベイズ更新器│
├──────────────────────────────────────────────────────────┤
│ L4 — Ad-Revenue Settlement │
│ • AdMob SDK(モバイル + WebApp) │
│ • Telegram Ads SDK │
│ • AdMob SSVコールバック受信機 │
│ • zk-SNARK証明器(SP1、Phase 2) │
├──────────────────────────────────────────────────────────┤
│ L5 — TON Settlement │
│ • $POP Jetton(ジェットン)コントラクト(FunC) │
│ • Vesting(ベスティング)ラッパーコントラクト │
│ • Round Merkle Rootコミットコントラクト │
│ • 紛争解決コントラクト │
│ • DAOガバナンスコントラクト(Phase 3) │
└──────────────────────────────────────────────────────────┘データフロー
ユーザーがTelegramで「Play」をタップ
↓
L0: WebAppが開き、Round(ラウンド)エントリーを要求
↓
L4: 広告を表示(AdMob)、SSVコールバックを待機
↓
L4: SSV検証完了 → POP(ポイント)クレジット発行
↓
L1: ユーザーがRound質問を受信(L2より)
↓
L1: ユーザーがCommitフェーズ中にc_iをコミット
↓
L1: ユーザーがRevealフェーズ中に(s_i, b_i)を公開
↓
L1: Round Engineが多数決を計算、Merkle Rootを構築
↓
L3: 有効重み = α × r_i を適用
↓
L1: Prize Pool(プライズプール)が生存者に分配
↓
L5: Merkle RootがTONにコミット(24時間ごとにバッチ処理)
↓
ユーザーがWebAppでPOPクレジットとRound結果を確認レイテンシー予算
| フェーズ | 目標 | 実績(P50) | 実績(P95) |
|---|---|---|---|
| Announce | 5秒 | 4.2秒 | 4.8秒 |
| Commit | 30秒 | 29.5秒 | 30秒 |
| Reveal | 15秒 | 14.7秒 | 15秒 |
| Settle | 10秒 | 7.3秒 | 9.8秒 |
| Round合計 | 60秒 | 55.7秒 | 59.6秒 |
SettleフェーズにはMerkle Rootの構築と検証が含まれます。オンチェーンへのTONコミットは別途24時間間隔でバッチ処理されます。
インフラストラクチャ
- ホスティング: Cloudflare Workers + R2 + KV(エッジ分散、低レイテンシー)。
- データベース: Postgres(プライマリ)、Redis(Round状態、一時的)、R2(Roundアーティファクト、アーカイブ)。
- Round Engine: ステートレスなGoバイナリ。CloudflareのAnycast背後で水平スケーリング。
- TONクライアント: ton-core SDK。TonAPI Cloud経由のフルノード接続。
- 可観測性: OpenTelemetry → Grafana Cloud。クライアントエラーはSentry。
オープンソースコンポーネント
- Round Engine: MIT、
github.com/cashpop-protocol/round-engine - WebApp: MIT、
github.com/cashpop-protocol/webapp - スマートコントラクト(TGE後): MIT、
github.com/cashpop-protocol/contracts - 質問リザーバビルドパイプライン: ソース公開、
github.com/cashpop-protocol/reservoir
CashPop(キャッシュポップ)スタック全体はTGE後にセルフホスト可能となります。任意のオペレーターがフォークインスタンスを起動できますが、DAOの承認なしに$POPを発行することはできません。