Zero knowledge proof là gì? ZK trong blockchain dễ hiểu
Zero knowledge proof (ZK) là cách chứng minh một điều đúng mà không lộ dữ liệu phía sau. Ví dụ đời thường, zk-SNARK và zk-STARK, ZK rollup, giới hạn.
Mục lục 9 phần
- 01Zero knowledge proof hoạt động thế nào?
- 02Bằng chứng tương tác và không tương tác khác nhau thế nào?
- 03zk-SNARK và zk-STARK khác nhau thế nào?
- 04ZK dùng để làm gì trong blockchain?
- 05ZK rollup là gì?
- 06ZK có làm giao dịch ẩn danh không?
- 07“Coin ZK”, “token ZK” là gì?
- 08Zero knowledge proof có hạn chế gì?
- 09Pháp luật Việt Nam nói gì về zero knowledge proof?
- Câu hỏi thường gặp
- Nguồn tham khảo
Tóm tắt nhanh
- Zero knowledge proof (ZKP, bằng chứng không tiết lộ thông tin) là cách một bên chứng minh cho bên kia rằng một phát biểu là đúng mà không đưa ra dữ liệu làm nên phát biểu đó. Ví dụ: chứng minh mình đủ 18 tuổi mà không đưa ngày sinh.
- Ý tưởng có từ bài báo năm 1985 của Shafi Goldwasser, Silvio Micali và Charles Rackoff. Một bằng chứng như vậy phải đủ ba tính chất: đầy đủ, đúng đắn, không tiết lộ.
- Trong blockchain, ZK dùng chủ yếu để mở rộng mạng (ZK rollup: kiểm một bằng chứng thay vì chạy lại cả lô giao dịch) và để giữ riêng tư giao dịch (Zcash). Hai họ kỹ thuật hay gặp là zk-SNARK và zk-STARK.
- ZK không phải một đồng coin. Token có chữ ZK trong tên là token của một dự án cụ thể; dùng công nghệ ZK không làm dự án đó an toàn hơn hay đáng mua hơn.
- Ở Việt Nam, sàn được cấp phép vẫn phải xác minh danh tính người mở tài khoản (Nghị quyết 05/2025/NQ-CP Điều 15). ZK không thay được KYC theo quy định hiện hành.

Zero knowledge proof (ZKP, thường gọi tắt là ZK, tiếng Việt hay dịch là bằng chứng không tiết lộ thông tin) là cách một bên chứng minh cho bên kia rằng một phát biểu là đúng mà không đưa ra dữ liệu làm nên phát biểu đó. Ethereum.org định nghĩa gọn: đó là cách chứng minh tính đúng của một phát biểu “mà không tiết lộ chính phát biểu đó”. Ý tưởng xuất hiện từ bài báo năm 1985 của ba nhà mật mã học Shafi Goldwasser, Silvio Micali và Charles Rackoff.
Trong tài sản mã hóa, ZK được dùng nhiều nhất ở hai việc: mở rộng mạng (ZK rollup trên Ethereum) và giữ riêng tư giao dịch (Zcash). Bài giải thích ZK hoạt động thế nào bằng ví dụ đời thường, zk-SNARK khác zk-STARK ra sao, “coin ZK” là gì, giới hạn của kỹ thuật này và điều người dùng ở Việt Nam cần biết.
Zero knowledge proof hoạt động thế nào?
Có hai vai: người chứng minh (prover) biết một bí mật, người kiểm (verifier) muốn chắc phát biểu là đúng. Sau quá trình chứng minh, người kiểm tin phát biểu đúng nhưng không biết thêm gì về bí mật.
Theo ethereum.org, một giao thức chỉ được gọi là zero knowledge khi có đủ ba tính chất:
| Tính chất | Nghĩa là | Nếu thiếu thì |
|---|---|---|
| Đầy đủ (completeness) | Phát biểu đúng thì người kiểm luôn chấp nhận | Người trung thực bị từ chối |
| Đúng đắn (soundness) | Phát biểu sai thì về lý thuyết không lừa được người kiểm chấp nhận | Kẻ gian làm giả được bằng chứng |
| Không tiết lộ (zero knowledge) | Người kiểm không biết gì thêm ngoài việc phát biểu đúng hay sai | Bí mật bị lộ dần qua quá trình kiểm |
Tính chất thứ ba làm nên tên gọi. Nó khác với cách chứng minh thông thường: muốn chứng minh biết mật khẩu, bạn thường phải nói ra mật khẩu, và người nghe từ đó cũng biết mật khẩu.
Ví dụ hang Ali Baba
Ví dụ kinh điển nằm trong bài “How to Explain Zero-Knowledge Protocols to Your Children” của Jean-Jacques Quisquater và Louis Guillou, viết cùng gia đình hai ông, bản tiếng Anh có Thomas Berson tham gia (kỷ yếu hội nghị CRYPTO ‘89, Springer xuất bản năm 1990, tr. 628–631). Một hang hình vòng tròn có hai lối A và B, cuối hang có cánh cửa phép nối hai lối, chỉ mở khi đọc đúng câu thần chú.
- Người chứng minh đi vào hang, tự chọn lối A hoặc B, người kiểm đứng ngoài không thấy.
- Người kiểm đi tới ngã rẽ và hô ngẫu nhiên: “đi ra ở lối A” hoặc “đi ra ở lối B”.
- Biết thần chú thì lần nào cũng ra đúng lối được hô, vì có thể mở cửa đi vòng sang. Không biết thì chỉ đúng khi tình cờ đã chọn trúng lối, xác suất 1/2.
- Lặp lại nhiều lần. Xác suất đoán mò qua được cả n lần là (1/2)^n. Với 20 lần: (1/2)^20 = 1/1.048.576, tức khoảng một phần triệu.
Người kiểm tin đến mức gần như chắc chắn, nhưng không học được thần chú. Hơn nữa, đoạn phim người kiểm quay lại cũng không thuyết phục được người thứ ba: trong bài gốc, một phóng viên khác dựng được đoạn phim y hệt bằng cách thuê người đóng thế không biết thần chú rồi cắt bỏ những lần ra sai lối. Bằng chứng chỉ thuyết phục người trực tiếp hô ngẫu nhiên, và không làm lộ bí mật cho ai.
Ví dụ đời thường: chứng minh đủ 18 tuổi
Đây là kiểu ứng dụng ethereum.org xếp vào nhóm bảo vệ danh tính: chứng minh một thuộc tính mà không đưa cả giấy tờ.
Hình dung một cơ quan cấp cho bạn một giấy chứng nhận số có chữ ký, ghi năm sinh. Khi một dịch vụ hỏi “bạn đủ 18 tuổi chưa”, thay vì đưa ảnh căn cước có tên, số định danh, địa chỉ, bạn đưa một bằng chứng ZK cho phát biểu “giấy này do cơ quan đó ký và năm sinh trên giấy cách hôm nay ít nhất 18 năm”. Dịch vụ kiểm được bằng chứng đúng, nhưng không biết bạn tên gì hay sinh ngày nào.
Đây mới là ý tưởng kỹ thuật, không phải cách mở tài khoản ở sàn tại Việt Nam. Sàn tài sản mã hóa được Bộ Tài chính cấp phép phải xác minh danh tính nhà đầu tư mở tài khoản (Nghị quyết 05/2025/NQ-CP Điều 15 khoản 2 điểm a), và có thể bị phạt 50–70 triệu đồng nếu không làm (Nghị định 284/2026/NĐ-CP Điều 8 khoản 3). Nghị quyết 05 không nhắc tới bằng chứng ZK. Sàn cần thu thập gì và cách nhận ra trang “KYC” giả có ở bài KYC là gì.
Bằng chứng tương tác và không tương tác khác nhau thế nào?
Bằng chứng tương tác cần hỏi đáp qua lại nhiều lượt như ví dụ hang; bằng chứng không tương tác chỉ cần một lần gửi, ai cũng tự kiểm được. Blockchain dùng loại thứ hai.
Ethereum.org ghi các giao thức đầu tiên là tương tác: người kiểm phải đặt câu hỏi và chờ trả lời nhiều vòng. Cách này không hợp với blockchain, nơi hàng nghìn nút cần kiểm cùng một bằng chứng mà không thể hỏi đáp riêng với người chứng minh. Bằng chứng không tương tác, do Manuel Blum, Paul Feldman và Silvio Micali đề xuất, chỉ cần một lượt gửi. Người chứng minh tạo một bằng chứng, đăng lên, mọi nút tự kiểm.
zk-SNARK và zk-STARK khác nhau thế nào?
Cả hai đều là bằng chứng không tương tác. zk-SNARK cho bằng chứng nhỏ, kiểm nhanh, nhưng nhiều biến thể cần bước thiết lập tin cậy; zk-STARK không cần bước đó và được xem là chống được máy tính lượng tử, đổi lại bằng chứng lớn hơn.
| Tiêu chí | zk-SNARK | zk-STARK |
|---|---|---|
| Tên đầy đủ | Zero-Knowledge Succinct Non-Interactive Argument of Knowledge | Zero-Knowledge Scalable Transparent Argument of Knowledge |
| Thiết lập tin cậy (trusted setup) | Nhiều biến thể cần | Không cần (“transparent”) |
| Kích thước bằng chứng | Nhỏ hơn | Lớn hơn |
| Máy tính lượng tử | Loại dựa trên đường cong elliptic có rủi ro | Ethereum.org xem là chống được |
| Ví dụ dùng | Zcash, nhiều ZK rollup | Starknet |
Nguồn: ethereum.org, trang Zero-knowledge proofs và Zero-knowledge rollups (đọc 28/10/2026); Zcash dùng zk-SNARK theo z.cash; Starknet dùng STARK theo starknet.io.
Bước thiết lập tin cậy tạo ra tham số công khai cho cả hệ thống. Ethereum.org lưu ý người dùng phải tin những người tham gia bước này. Zcash từng làm hai nghi thức nhiều bên cho các phiên bản Sprout và Sapling; từ bản nâng cấp mạng NU5 (tháng 5/2022), giao thức Orchard của Zcash dùng kỹ thuật Halo, theo Zcash là bỏ được bước thiết lập tin cậy. Rủi ro lượng tử với chữ ký và mật mã của tài sản mã hóa nói chung có ở bài máy tính lượng tử và bitcoin.
ZK dùng để làm gì trong blockchain?
Hai việc chính là mở rộng mạng và giữ riêng tư; ngoài ra còn xác thực danh tính, bỏ phiếu và kiểm chứng tính toán.
Ethereum.org liệt kê các nhóm ứng dụng sau:
- Kiểm chứng tính toán (verifiable computation). Một bên làm phép tính nặng rồi đưa bằng chứng là đã tính đúng; bên kia kiểm bằng chứng nhanh hơn nhiều so với tự tính lại. ZK rollup là ứng dụng lớn nhất của nhóm này.
- Thanh toán riêng tư. Giao dịch được kiểm là hợp lệ (không chi quá số dư, không chi hai lần) mà không lộ số tiền, người gửi, người nhận. Zcash tự giới thiệu là “ứng dụng rộng rãi đầu tiên” của zk-SNARK.
- Bảo vệ danh tính, xác thực. Chứng minh một thuộc tính (đủ tuổi, có tài khoản, là người thật) mà không đưa toàn bộ thông tin cá nhân.
- Bỏ phiếu trên chuỗi. Giảm mua chuộc, thông đồng vì người khác không xem được ai bầu gì.
Ngoài blockchain, Viện Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST) xếp ZK vào nhóm “mật mã tăng cường quyền riêng tư” và đã hợp tác với nhóm ZKProof trong giai đoạn 2019–2024 để xây tài liệu tham chiếu mở. ZK không phải sáng chế của giới tài sản mã hóa.
ZK rollup là gì?
ZK rollup là một loại layer 2: gom nhiều giao dịch xử lý bên ngoài Ethereum, rồi gửi lên Ethereum dữ liệu giao dịch kèm một bằng chứng hợp lệ (validity proof) cho cả lô.
Theo ethereum.org, ZK rollup ghi dữ liệu giao dịch lên Ethereum dưới dạng calldata hoặc blob, và dùng “bằng chứng hợp lệ ngắn gọn” để chứng minh việc cập nhật trạng thái bên ngoài là đúng. Ethereum chỉ cần kiểm bằng chứng, không chạy lại từng giao dịch. Hệ quả mà người dùng cảm nhận rõ nhất: rút tiền từ ZK rollup về Ethereum không phải chờ thời gian thử thách khoảng 7 ngày như optimistic rollup, tiền về khi bằng chứng đã được xác minh. Vì sao Ethereum mở rộng qua rollup thay vì để mọi nút chạy lại mọi giao dịch có ở bài bộ ba bất khả thi và sharding.
Đổi lại, ethereum.org ghi chi phí tạo và kiểm bằng chứng “đáng kể” và có thể làm tăng phí cho người dùng rollup. Các dự án ethereum.org nêu tên ở mục zkEVM gồm ZKsync Era, Starknet, Scroll, Taiko, Linea và Morph; riêng Morph được ethereum.org mô tả là rollup lai, dùng bằng chứng ZK cho khâu thử thách trạng thái. So sánh layer 1, layer 2, optimistic rollup và ZK rollup, kèm thời gian rút, có ở bài layer 1, layer 2 là gì. Vì sao các mạng tương thích EVM dùng chung địa chỉ 0x thì xem bài EVM là gì. Bitcoin mở rộng theo hướng khác, bằng kênh thanh toán ngoài chuỗi, có ở bài Lightning Network là gì.
ZK có làm giao dịch ẩn danh không?
Không mặc định. Phần lớn hệ thống dùng ZK để chứng minh tính toán đúng, còn giao dịch vẫn công khai; chỉ hệ thống thiết kế cho riêng tư mới dùng ZK để giấu thông tin giao dịch.
- ZK rollup: giao dịch trên ZKsync Era hay Starknet vẫn xem được trên trình khám phá khối của mạng đó. ZK ở đây phục vụ việc mở rộng, không phải riêng tư.
- Giao dịch che chắn của Zcash: theo Zcash, giao dịch che chắn được mã hóa trên blockchain nhưng vẫn kiểm được hợp lệ nhờ zk-SNARK.
- Dịch vụ trộn coin: ethereum.org lấy Tornado Cash làm ví dụ về dịch vụ dùng bằng chứng ZK để che chi tiết giao dịch. Lệnh trừng phạt, phán quyết của tòa và rủi ro pháp lý khi dùng chúng ở Việt Nam có ở bài crypto mixer là gì.
Riêng tư trên chuỗi không xóa được dấu vết ở điểm nạp rút. Khi bạn chuyển tài sản qua một sàn đã xác minh danh tính, sàn biết tài khoản đó là của ai, và vẫn phải nhận biết khách hàng, kể cả với giao dịch không thường xuyên từ 1.000 USD trở lên (Nghị quyết 05 Điều 15 khoản 2 điểm a, b).
“Coin ZK”, “token ZK” là gì?
Không có đồng coin nào tên là “công nghệ ZK”. Các token có chữ ZK trong tên hay mã giao dịch là token của từng dự án cụ thể, mỗi dự án một tokenomics và rủi ro riêng.
Người tìm “zk coin là gì” thường gặp ba thứ khác nhau:
- Token của một ZK rollup, dùng để bỏ phiếu quản trị dự án. Trên nhiều ZK rollup, phí giao dịch vẫn trả bằng ETH, nên token quản trị không bắt buộc để dùng mạng.
- Coin của mạng riêng tư dùng ZK, như ZEC của Zcash.
- Token bất kỳ gắn chữ ZK vào tên để mượn sức hút của công nghệ. Gắn chữ ZK không chứng minh dự án có dùng ZK thật.
Dùng ZK là một lựa chọn kỹ thuật, không làm token an toàn hơn hay có giá trị hơn. Muốn đánh giá một dự án, đọc tokenomics, lịch mở khóa token và whitepaper; cách làm từng bước ở bài cách thẩm định dự án crypto. Token và NFT cũng tạo được trên bitcoin mà không cần ZK hay hợp đồng thông minh, như Ordinals, BRC-20, Runes; cách hoạt động có ở bài Ordinals, BRC-20, Runes là gì. Bài này không gợi ý mua, bán token nào.
Zero knowledge proof có hạn chế gì?
Tốn phần cứng để tạo bằng chứng, tốn phí để kiểm trên chuỗi, có giả định tin cậy ở một số loại, và rủi ro lượng tử với loại dựa trên đường cong elliptic.
Ethereum.org nêu bốn hạn chế:
- Chi phí phần cứng: tạo bằng chứng cần tính toán rất nặng, thường phải dùng máy chuyên dụng.
- Chi phí kiểm bằng chứng: theo ethereum.org, một ZK rollup trả khoảng 500.000 gas để kiểm một bằng chứng zk-SNARK trên Ethereum, zk-STARK còn tốn hơn; phần này cộng vào phí người dùng. Gas là gì và tính thế nào có ở bài phí gas là gì.
- Giả định tin cậy: zk-SNARK có trusted setup buộc người dùng tin những người tham gia bước thiết lập.
- Mối đe dọa lượng tử: áp dụng cho zk-SNARK dựa trên đường cong elliptic.
Thêm một rủi ro thực tế: mật mã đúng không có nghĩa phần mềm đúng. Mạch chứng minh (circuit) và hợp đồng kiểm chứng đều do con người viết và có thể có lỗi. Đây là lý do một ZK rollup vẫn có rủi ro hợp đồng thông minh như mọi layer 2 khác.
Pháp luật Việt Nam nói gì về zero knowledge proof?
Văn bản pháp luật về tài sản mã hóa không nhắc tới ZK; quy định áp dụng theo việc bạn làm (giao dịch qua đâu, bán thì nộp thuế), không theo công nghệ của mạng.
- Chưa có sàn được cấp phép. Theo Nghị quyết 05/2025/NQ-CP Điều 4 khoản 4, chỉ tổ chức được Bộ Tài chính cấp phép mới được cung cấp dịch vụ và quảng cáo, tiếp thị liên quan đến tài sản mã hóa. Tính đến 28/10/2026 chưa tổ chức nào được cấp phép; tiến độ ở trang sàn tài sản mã hóa được cấp phép.
- Mốc 6 tháng, thuế. Mốc 6 tháng sau giấy phép đầu tiên và thuế 0,1% mỗi lần bán áp dụng như với mọi tài sản mã hóa khác, token trên ZK rollup không có cách tính riêng; chi tiết ở trang thuế tài sản mã hóa.
Hiểu ZK giúp bạn đọc tài liệu dự án tỉnh táo hơn, phân biệt được khi một dự án dùng ZK thật với khi chỉ mượn tên. Nó không thay đổi nghĩa vụ pháp lý của bạn khi giao dịch.
Chia sẻ bài viết
Câu hỏi thường gặp
Zero knowledge proof có phải là mã hóa không?
Không hẳn. Mã hóa giấu dữ liệu để chỉ người có khóa đọc được. Bằng chứng ZK không giấu rồi mở lại dữ liệu, mà cho người kiểm biết một phát biểu về dữ liệu là đúng, còn bản thân dữ liệu người kiểm không bao giờ thấy. Hai kỹ thuật hay dùng cùng nhau, ví dụ trong giao dịch che chắn của Zcash.
Trusted setup là gì, có nguy hiểm không?
Là bước tạo tham số công khai ban đầu mà một số loại zk-SNARK cần. Theo ethereum.org, người dùng phải tin những người tham gia bước này; nếu dữ liệu bí mật sinh ra trong bước đó không được hủy, về lý thuyết có thể tạo bằng chứng giả. Vì vậy các dự án thường làm nghi thức nhiều bên (Zcash từng làm hai lần), hoặc chuyển sang kỹ thuật không cần bước này như zk-STARK hay Halo.
Hang Ali Baba có được dùng thật trong blockchain không?
Không. Đây là ví dụ minh họa cho bằng chứng tương tác, cần người kiểm hô ngẫu nhiên nhiều lượt. Blockchain dùng bằng chứng không tương tác (một lần gửi, mọi nút tự kiểm), như zk-SNARK và zk-STARK.
Học về ZK bắt đầu từ đâu?
Trang Zero-knowledge proofs và Zero-knowledge rollups của ethereum.org là điểm bắt đầu trung lập, có dẫn tài liệu gốc. Bài báo năm 1985 của Goldwasser, Micali, Rackoff và bài 'How to Explain Zero-Knowledge Protocols to Your Children' (1990, ví dụ hang Ali Baba) là hai tài liệu gốc dễ tìm.
Nguồn tham khảo 11
Kiểm chứng ngày 28/10/2026
- 01ethereum.org: Zero-knowledge proofsethereum.org
- 02ethereum.org: Zero-knowledge rollupsethereum.org
- 03Goldwasser, Micali, Rackoff: The knowledge complexity of interactive proof-systems (STOC '85, tr. 291–304)doi.org
- 04Goldwasser, Micali, Rackoff: The Knowledge Complexity of Interactive Proof Systems (SIAM Journal on Computing 18, 1989)doi.org
- 05Quisquater, Guillou, Berson: How to Explain Zero-Knowledge Protocols to Your Children (CRYPTO '89, LNCS 435, 1990, tr. 628–631)doi.org
- 06Zcash: What are zk-SNARKs?z.cash
- 07Starknet: What is Starknet? (trang của dự án, chỉ dùng cho dữ kiện về Starknet)starknet.io
- 08NIST CSRC: Zero-knowledge proofs (Privacy-Enhancing Cryptography)csrc.nist.gov
- 09Chính phủ: toàn văn Nghị quyết 05/2025/NQ-CP về thí điểm thị trường tài sản mã hóaxaydungchinhsach.chinhphu.vn
- 10Công báo: Nghị định 284/2026/NĐ-CPcongbao.chinhphu.vn
- 11Công báo: Luật Thuế thu nhập cá nhân 109/2025/QH15congbao.chinhphu.vn


