Blockchain Basicsbeginnerarticle15 min read

Verifier Prover Là Gì? Hiểu Zero Knowledge Proof Qua Cái Nhìn Của Người Thầy

Giải thích Zero Knowledge Proof (ZKP) qua ví dụ người thầy chấm bài: Prover, Verifier, Witness, Completeness, Soundness, Zero-Knowledge, Trusted Setup, SNARK vs STARK.

Vietcardano teamTeam

Đội ngũ biên tập VietCardanoCommunity — các chuyên gia blockchain và Cardano, cung cấp nội dung giáo dục và nghiên cứu chuyên sâu cho cộng đồng.

Published 31 tháng 8, 2026Updated 30 tháng 8, 2026

Every Vietnamese student knows the feeling of submitting a test paper and waiting for the teacher to grade it. But imagine this: the teacher gives the score without reading a single word on the paper. Strange, isn’t it? That’s the core idea of Zero Knowledge Proof (ZKP) – an algorithm that allows someone to prove “I know the answer” without revealing what the answer is. In cryptographic terms, the prover convinces the verifier without revealing the secret. If you’re wondering what a verifier prover is or what a basic ZKP is, this article uses the analogy of a teacher grading a paper without reading it to explain the zero knowledge proof concept in plain language.

1. Ba vai trò: học sinh, giáo viên và bí mật

Trong lớp học ZKP, có ba nhân vật chính – mỗi người giữ một phần của bức tranh:

Vai trò của ZKPNhân vật lớp họcNhiệm vụ
Prover (Người chứng minh)Học sinh giỏiBiết đáp án (làm chứng), viết bài làm, tạo ra "bằng chứng"
Người kiểm chứng (Verifier)Người thầyKhông biết câu trả lời, chỉ xem "kiểm tra", đưa ra quyết định Đạt/Không đạt
Chứng từ/Bí mậtKiến thức thực sự của học sinhĐiều mà học sinh chỉ biết, không viết ra giấy, nhưng là gốc rễ của mọi thứ

Key point: Giáo viên không bao giờ thấy đáp án. Giáo viên chỉ thấy một "chứng minh toán học" - một chuỗi ký tự có vẻ vô nghĩa - từ đó giáo viên chắc chắn rằng: "Sinh viên này thực sự biết."

Ba vai trò ZKP: Học sinh (Prover) giữ Witness (bí mật) tạo Proof gửi cho Người thầy (Verifier). Verifier chỉ nhận Proof, không thấy Witness.

Hình 1: Ba vai trò trong ZKP — Prover, Verifier, Witness

2. Ba tính chất: Cuộc thi có quy tắc ngắt nghèo

Mọi ZKP phải đáp ứng ba tính chất – giống như một kỳ thi công bằng phải có quy tắc:

2.1 Tính đầy đủ – "Sinh viên giỏi luôn đạt điểm cao"

Nếu học sinh thực sự biết (có chứng nhân hợp lệ) và thực hiện theo quy trình, giáo viên luôn cho đậu. Không có trường hợp học sinh giỏi nhưng bị trượt do lỗi hệ thống.

2.2 Tính đúng đắn – "Học sinh không thể lười biếng khi không biết"

Một học sinh không biết đáp án (không có witness) muốn lừa người thầy. Xác suất người thầy bị lừa thấp đến mức có thể bỏ qua (negligible). Chúng ta thử 100 lần, 1000 lần — xác suất trượt vẫn gần như 0.

2.3 Zero-Knowledge (Không tiết lộ kiến thức) – "Thầy chỉ biết Đạt/Không đạt, không biết học sinh nghĩ gì"

Sau khi chấm bài, giáo viên chỉ học được một bit: "sinh viên này biết". Giáo viên không học được đáp án cụ thể, không học được quy trình suy nghĩ, không học được tài liệu mà sinh viên tham khảo. Kiến thức của sinh viên an toàn tuyệt đối. Ba tính chất ZKP: Completeness (học sinh giỏi luôn đậu), Soundness (học sinh kém không thể lười qua), Zero-Knowledge (thầy chỉ thấy Đạt/Không đạt).

Hình 2: Ba tính chất bắt buộc của mọi ZKP

3. Từ kỳ thi tương tác đến kỳ thi "mang về nhà"

3.1 ZKP tương tác – "Thầy hỏi, học sinh trả lời, nhiều vòng"

Ban đầu, ZKP là tương tác: giáo viên đặt câu hỏi (challenge), học sinh trả lời (response), lặp lại nhiều vòng. Mỗi vòng giáo viên càng tin hơn. Nhược điểm: giáo viên và học sinh phải online cùng lúc — không phù hợp cho blockchain.

3.2 ZKP không tương tác (NIZK) – "Kỳ thi mang về nhà, nộp một lần"

Fiat-Shamir transform biến kỳ thi tương tác thành một lần nộp: học sinh tự tạo một thách thức từ hàm băm (hash) của bài làm, trả lời, nộp gói duy nhất. Người giáo viên kiểm tra một lần, xong. Đây là dạng được sử dụng trong blockchain, ZK-rollup, ZK-SNARK, ZK-STARK. So sánh Interactive ZKP vs Non-Interactive ZKP (NIZK): Interactive nhiều vòng, NIZK một lần nhờ Fiat-Shamir.

Hình 3: Interactive ZKP vs Non-Interactive ZKP (NIZK) — Fiat-Shamir biến đổi

4. Cài đặt đáng tin cậy: Người tạo đề có thể gian lận không?

Một số ZKP (đặc biệt là ZK-SNARK kiểu Groth16) cần trusted setup – một buổi "sinh tham số chung" (ceremony) trước khi sử dụng.

Comparison to classroom learning: Just like the exam setter (the teacher) knows the answers in advance. If the setter lies (keeps the "toxic waste" — toxic waste), they can create fake assignments that make the teacher believe that the student is good.

  • ZK-SNARK (Groth16): Cần thiết lập tin cậy cho mỗi mạch (circuit). Rủi ro nếu nghi lễ bị tấn công.
Lời khuyên cho người mới: Nếu nghe "trusted setup" — hãy nhớ "người ra đề thi". Hỏi: nghi lễ có công khai, đa thành viên, có kiểm toán không?
Trusted Setup rủi ro: SNARK cần Ceremony MPC tạo Toxic Waste, STARK dùng hàm băm công khai không cần setup.

Hình 4: Trusted Setup rủi ro — SNARK cần setup, STARK không cần

5. Ứng dụng thực tế: ZKP đang được sử dụng ở đâu?

Ngành nghềVai trò của ZKPCác ví dụ về dự án
ZK-Rollup (tăng cường L2)Prover nén hàng nghìn giao dịch thành 1 proof, Verifier trên chuỗi kiểm trazkSync, Starknet, Scroll, Linea
Tiền điện tử bảo mậtXác minh số dư đủ mà không tiết lộ số dư/người nhậnZcash, Aleo
ZK-IdentityKhẳng định "tôi > 18 tuổi" mà không tiết lộ ngày sinhWorldcoin, zkPass
ZK-MLHãy chứng minh mô hình AI hoạt động đúng mà không tiết lộ trọng sốzkCNN, Giza
Cầu nối/InteropHãy chứng minh trạng thái chain A đúng để chain B tinzkBridge, Herodotus

6. Tại sao người Việt Nam nên hiểu về ZKP ngay từ hôm nay?

Việt Nam có truyền thống "học theo thầy, không theo bạn" – tôn trọng người thầy, nhưng cũng thực tế. ZKP mang lại những gì mà xã hội chúng ta đang tìm kiếm:

  • Transparency without privacy leaks: Similar to the public ledger (blockchain) but with personal privacy (ZKP).
  • Verification without trusted intermediaries: No banks, no notaries — mathematics does the scoring.
  • Job opportunities: ZKP developers are one of the highest-paid positions in crypto (usually $150k–$300k/year). Learning ZKP is an investment in your future.

7. Tóm tắt nhanh: Verifier Prover là gì?

Khái niệmNghĩa đơn giảnVí dụ về lớp học
Từ ngữNgười tạo chứng minhHọc sinh viết bài
Kiểm traNgười kiểm tra chứng minhNgười giáo viên đánh giá
Người chứng kiếnChỉ Prover biết bí mật đóKiến thức thực của học sinh
Bằng chứngDãy ký tự gửi cho Verifier"Chứng minh toán học" trên bài
Tính toàn vẹnNgười biết luôn có thể chứng minh đượcHọc sinh giỏi luôn đạt điểm cao
An toànNgười không biết không thể lừa đượcSinh viên kém không thể lười biếng
Không biết thông tinVerifier không học được bí mậtThầy chỉ biết Đạt/Không đạt

8. Các câu hỏi thường gặp (FAQ)

Verifier prover là gì? Có khác nhau không?

Điều này hoàn toàn khác biệt. Prover (người chứng minh) nắm được bí mật và tốn nhiều công sức để tạo proof. Verifier (người kiểm chứng) không biết bí mật, chỉ chạy thuật toán đơn giản để chấp nhận/giảm nhẹ. Sự bất đối xứng này là lý do tại sao ZKP phù hợp với blockchain: verifier chạy trên chuỗi (rẻ), prover chạy ngoài chuỗi (đắt).

ZKP cơ bản khác chữ ký số (digital signature) như thế nào?

Chữ ký số chứng minh "tôi ký tài liệu này" (giấu khóa riêng nhưng tiết lộ thông điệp). ZKP chứng minh "tôi biết x sao cho f(x)=y" mà không tiết lộ x, không tiết lộ y (tùy theo thiết kế). ZKP mạnh hơn: có thể chứng minh tính chất phức tạp (ví dụ: "số dư > 1000" mà không tiết lộ số dư chính xác).

Khái niệm Zero knowledge proof có nghĩa là "bằng chứng không có kiến thức"?

Tên gọi gây hiểu lầm. "Zero-knowledge" = verifier không nhận được kiến thức mới về witness. Prover vẫn có kiến thức. Tên chính xác hơn: "bằng chứng không tiết lộ kiến thức" — verifier học được 0 bit về witness.

ZK-SNARK và ZK-STARK khác nhau ở điểm nào?

Đặc điểmZK-SNARKZK-STARK
Cài đặt đáng tin cậyCần (trừ universal)Không cần
Kích thước chứng minhThông thường (~200 byte)Lớn (~50-100 KB)
Thời gian xác minhRất nhanhTốc độ nhanh hơn SNARK ở quy mô lớn
Kháng lượng tử❌ (các cặp dựa trên)✅ (bảo mật dựa trên hash)
Dùng ở đâuzkSync, Di chuyểnStarknet, Polygon Miden

Để học ZKP, cần có nền tảng gì?

  • Toán học: toán học mô-đun, các trường hữu hạn, cam kết đa thức, đường cong elip (cho SNARK)
  • Mã: Rust (RISC Zero, SP1), TypeScript (o1js), Go (gnark), Cairo (Starknet)
  • Công cụ: Circom, Halo2, Plonky3, RISC Zero, SP1
  • Khuyến nghị: Hãy bắt đầu bằng o1js (TypeScript) hoặc Circom — dễ tiếp cận nhất cho các nhà phát triển web.

Bài viết thuộc series "Blockchain cơ bản cho người Việt" — giải thích công nghệ phức tạp bằng hình ảnh đời thường. Từ khóa: verifier prover là gì, zkp cơ bản, zero knowledge proof khái niệm.

Tags:

verifier prover là gìzkp cơ bảnzero knowledge proof khái niệm