Skip to content

การรับชมโฆษณาที่พิสูจน์ด้วย zk

รายได้จากโฆษณาเป็นแหล่งเงินทุนของ Prize Pool (กองทุนรางวัล) ดังนั้นโปรโตคอลจึงต้องพิสูจน์ว่าการรับชมโฆษณาเกิดขึ้นจริง — ไม่ใช่เพียงแค่การอ้างสิทธิ์จากฝั่งไคลเอ็นต์เท่านั้น

รูปแบบความล้มเหลวแบบพื้นฐาน

การอ้างสิทธิ์ "ดูโฆษณาแล้ว" จากฝั่งไคลเอ็นต์สามารถปลอมแปลงได้โดยง่าย ผู้ใช้สามารถเล่นซ้ำเหตุการณ์ "ใช่ ฉันดูแล้ว" ได้ไม่จำกัดจำนวนครั้ง หากไม่มีการตรวจสอบ ระบบจะจ่ายเงินให้ Prize Pool โดยไม่มีรายได้จากโฆษณาจริงเลย

AdMob SSV (การตรวจสอบฝั่งเซิร์ฟเวอร์ของ AdMob) ในฐานะแหล่งความจริง

AdMob SSV (Server-Side Verification) ของ Google AdMob เป็นแหล่งความจริง: เมื่อโฆษณาเล่นจบ เซิร์ฟเวอร์ของ AdMob จะส่ง callback (การเรียกกลับ) ที่ลงนามไปยัง endpoint (ปลายทาง) ที่กำหนดไว้ โดยรวมถึง ID โฆษณา ID ผู้ใช้ ประทับเวลา และ metadata (ข้อมูลเมตา) ของรายได้จากการแสดงผล Callback นี้ถูกลงนามโดย AdMob ด้วยคีย์สาธารณะที่ Google เผยแพร่

callback ที่ผ่านการตรวจสอบแต่ละครั้งคือบันทึกที่เชื่อถือได้ของโปรโตคอลว่าโฆษณาหนึ่งรายการถูกรับชมแล้ว เครดิต reward (รางวัล) สำหรับการรับชมนั้นจะออกให้หลังจากได้รับและตรวจสอบ callback แล้วเท่านั้น

ปัญหาด้านความเป็นส่วนตัว

การชำระบัญชี SSV แบบพื้นฐานบนเชนจะเผยแพร่ประวัติการรับชมโฆษณาของผู้ใช้แต่ละคน ซึ่งเป็นสิ่งที่ยอมรับไม่ได้เนื่องจาก:

  • ทำให้เห็นรูปแบบการมีส่วนร่วมกับโฆษณาของผู้ใช้ที่สามารถระบุตัวตนได้
  • ทำให้เห็น metadata (ข้อมูลเมตา) เกี่ยวกับการสร้างรายได้ (eCPM, ผู้ลงโฆษณา, ภูมิศาสตร์)
  • เชื่อมโยงกับข้อมูลประจำตัวผู้ใช้ในลักษณะที่ละเมิดความเป็นส่วนตัวของผู้ใช้และอาจละเมิดข้อกำหนดการให้บริการของ AdMob

โครงสร้าง zk-SNARK

CashPop ห่อหุ้ม callback AdMob SSV แต่ละรายการด้วย zk-SNARK ที่พิสูจน์ว่า:

"ฉันมี callback AdMob SSV ที่ถูกต้องสำหรับผู้ใช้ i, โฆษณา j, ณ ประทับเวลา t ซึ่งลงนามโดยคีย์สาธารณะที่รู้จักของ AdMob"

โดยไม่เปิดเผยเนื้อหาของลายเซ็น SSV เอง

ในทางคณิตศาสตร์ ผู้พิสูจน์จะสร้าง:

πi=Prove(SSVi:VerifypkAdMob(SSVi,ad_id,useri,t)=1)

ผู้ตรวจสอบบนเชนยอมรับ π_i เป็นหลักฐานว่ามีการรับชมโฆษณา ลายเซ็น SSV เองจะถูกทำลายหลังจากสร้างหลักฐานแล้ว

การนำไปใช้งาน

  • Prover (ผู้พิสูจน์): SP1 zkVM (Succinct) สร้างหลักฐาน Groth16 ที่ห่อหุ้ม Plonky3
  • Verifier (ผู้ตรวจสอบ): สมาร์ทคอนแทรกต์ TON ที่ใช้การตรวจสอบ Groth16 บน BN254
  • ขนาดหลักฐาน: ~200 ไบต์ต่อการรับชมโฆษณาหนึ่งครั้ง
  • ค่าใช้จ่ายในการตรวจสอบ: ~0.001 TON ต่อหลักฐาน

ในระดับขนาดใหญ่ การรับชมโฆษณาจะถูกรวมก่อนการชำระบัญชี ชุดการรับชม N ครั้งจะสร้างหลักฐานรวมหนึ่งรายการ (การประกอบแบบเรียกซ้ำ) ทำให้ค่าใช้จ่ายในการตรวจสอบต่อการรับชมลดลงเหลือ ~$0.00001

สถานะเฟส 2

ไปป์ไลน์ zk-SNARK มีเป้าหมายสำหรับเฟส 2 (Q4 2026) จนกว่าจะถึงเวลานั้น การชำระบัญชีการรับชมโฆษณาจะใช้ multi-signature (ลายเซ็นหลายรายการ) แบบ federated (สหพันธ์): callback AdMob SSV จะได้รับโดยผู้ดำเนินการอิสระ 3 ราย ซึ่งแต่ละรายจะยืนยันอย่างอิสระก่อนให้เครดิต POP (คะแนน) วิธีนี้ให้ความทนทานต่อความผิดพลาดแบบ Byzantine (Byzantine Fault Tolerance) เหนือกลุ่มผู้ดำเนินการขนาดเล็ก ในขณะที่ไปป์ไลน์ zk ยังคงพัฒนา

เหตุผลที่เรื่องนี้สำคัญ

ตลาดการฉ้อโกงโฆษณา (click fraud, impression fraud, attribution fraud) สร้างความเสียหายให้กับอุตสาหกรรมโฆษณาประมาณ 80 พันล้านดอลลาร์สหรัฐต่อปี (Juniper Research, 2026) ความสมบูรณ์ของโครงสร้างของ CashPop ขึ้นอยู่กับการไม่สามารถเพิ่มจำนวนการรับชมโฆษณาได้ ไปป์ไลน์ zk-attestation ทำให้โปรโตคอลอยู่ในตำแหน่งที่มีความสมบูรณ์แข็งแกร่งที่สุดเท่าที่ทราบ: เป็นการเข้ารหัส ไม่ใช่ตามนโยบาย

Built on TON.