Lượt xem quảng cáo được xác thực bằng zk
Lượt xem quảng cáo tài trợ cho Prize Pool (Quỹ thưởng). Do đó, giao thức phải chứng minh rằng lượt xem quảng cáo thực sự đã diễn ra — chứ không chỉ đơn thuần là client tuyên bố đã xem.
Cơ chế thất bại ngây thơ
Một tuyên bố "đã xem quảng cáo" từ phía client rất dễ bị làm giả. Người dùng có thể phát lại sự kiện "tôi đã xem" vô số lần. Nếu không có xác minh, hệ thống sẽ trả tiền cho Prize Pool (Quỹ thưởng) từ doanh thu quảng cáo bằng không.
AdMob SSV làm nguồn sự thật
Server-Side Verification (SSV) của Google AdMob là nguồn sự thật: khi một quảng cáo hoàn tất, máy chủ AdMob gửi một callback đã ký đến một endpoint được cấu hình, bao gồm ID quảng cáo, ID người dùng, dấu thời gian và siêu dữ liệu doanh thu của lần hiển thị. Callback được AdMob ký bằng khóa công khai mà Google công bố.
Mỗi callback đã được xác minh là bản ghi có thẩm quyền của giao thức cho một quảng cáo đã được xem. Tín dụng thưởng cho lượt xem đó chỉ được cấp sau khi callback được nhận và xác minh.
Vấn đề về quyền riêng tư
Việc thanh toán on-chain ngây thơ của SSV sẽ công bố lịch sử xem quảng cáo của từng người dùng. Điều này không thể chấp nhận được vì:
- Nó tiết lộ các mẫu tương tác quảng cáo của những người dùng có thể nhận dạng.
- Nó tiết lộ siêu dữ liệu kiếm tiền (eCPM, nhà quảng cáo, vị trí địa lý).
- Nó liên kết với danh tính người dùng theo cách vi phạm quyền riêng tư và có thể vi phạm Điều khoản dịch vụ của AdMob.
Cấu trúc zk-SNARK
CashPop bọc mỗi callback AdMob SSV trong một zk-SNARK chứng minh rằng:
"Tôi sở hữu một callback AdMob SSV hợp lệ cho người dùng
i, quảng cáoj, tại dấu thời giant, được ký bởi khóa công khai đã biết của AdMob."
mà không tiết lộ nội dung của chữ ký SSV.
Về mặt hình thức, người chứng minh xây dựng:
Bộ xác minh on-chain chấp nhận π_i làm bằng chứng của một lượt xem quảng cáo. Bản thân chữ ký SSV bị hủy sau khi tạo bằng chứng.
Triển khai
- Người chứng minh: SP1 zkVM (Succinct), tạo ra các bằng chứng Plonky3 được bọc Groth16.
- Bộ xác minh: một smart contract TON triển khai xác minh Groth16 trên BN254.
- Kích thước bằng chứng: ~200 byte mỗi lượt xem quảng cáo.
- Chi phí xác minh: ~0.001 TON mỗi bằng chứng.
Ở quy mô lớn, các lượt xem quảng cáo được tổng hợp trước khi thanh toán. Một batch (lô) gồm N lượt xem tạo ra một bằng chứng tổng hợp (tổng hợp đệ quy), đưa chi phí xác minh mỗi lượt xem xuống còn ~$0.00001.
Trạng thái Phase 2
Đường ống zk-SNARK được nhắm mục tiêu cho Phase 2 (Giai đoạn 2) (Q4 2026). Cho đến lúc đó, việc thanh toán lượt xem quảng cáo sử dụng đa chữ ký liên bang: các callback AdMob SSV được nhận bởi 3 nhà điều hành độc lập, mỗi người xác nhận độc lập trước khi ghi có POP (điểm). Điều này cung cấp khả năng chịu lỗi Byzantine trên một tập hợp nhỏ các nhà điều hành, trong khi đường ống zk hoàn thiện.
Tại sao điều này quan trọng
Thị trường gian lận quảng cáo (gian lận click, gian lận hiển thị, gian lận quy kết) khiến ngành quảng cáo thiệt hại ước tính 80 tỷ USD/năm (Juniper Research, 2026). Tính toàn vẹn cấu trúc của CashPop dựa trên việc không thể thổi phồng số lượt xem quảng cáo. Đường ống xác thực zk đặt giao thức vào vị trí toàn vẹn mạnh nhất được biết đến: dựa trên mật mã, không dựa trên chính sách.