Zero-knowledge proof (zk-proof) là kỹ thuật mật mã cho phép một bên (người chứng minh) chứng tỏ với bên khác (người xác minh) rằng họ sở hữu kiến thức nhất định mà không tiết lộ thông tin đó. Phương pháp này đảm bảo tính đầy đủ và chắc chắn, nghĩa là bằng chứng hợp lệ và đáng tin cậy mà không tiết lộ bất kỳ dữ liệu bổ sung nào.
Người xác minh yêu cầu người chứng minh thực hiện các nhiệm vụ cụ thể mà chỉ người có thông tin chính xác mới có thể hoàn thành. Nếu người chứng minh đang đoán mò, họ sẽ thất bại trong bài kiểm tra của người xác minh với xác suất cao.
Đặc điểm
Tính đầy đủ: Một người chứng minh trung thực có thể thuyết phục một người xác minh trung thực rằng họ có kiến thức chính xác nếu phát biểu là đúng.
Tính chắc chắn: Một người chứng minh không trung thực không thể thuyết phục một người xác minh trung thực nếu phát biểu là sai.
Không tiết lộ thông tin: Người xác minh không biết gì ngoài việc phát biểu là đúng.
Các loại Zero-Knowledge Proof: zk-SNARKs, zk-STARKs, PLONK và Bulletproofs.
Trường hợp sử dụng
Zero-knowledge proof được sử dụng trong giao dịch riêng tư, tính toán có thể xác minh, giải pháp layer 2 có khả năng mở rộng, và nhận dạng và xác thực phi tập trung. Các dự án như Zcash, StarkNet, zkSync và Loopring sử dụng ZKP để tăng cường bảo mật, quyền riêng tư và khả năng mở rộng.