Skip to content

아키텍처 개요

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 (톤-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 (에드몹 SSV) 콜백 수신기                │
│      • zk-SNARK (제로지식 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)
Announce5초4.2초4.8초
Commit30초29.5초30초
Reveal15초14.7초15초
Settle10초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을 발행할 수는 없습니다.

Built on TON.