Các đoạn trích sau đây được lấy từ trang Bằng chứng không kiến thức trên Wikipedia:
Trong mật mã học, một bằng chứng không kiến thức hoặc giao thức không kiến thức là một phương pháp mà một bên (người chứng minh) có thể chứng minh cho một bên khác (người xác minh) rằng một tuyên bố đã cho là đúng trong khi người chứng minh tránh truyền đạt bất kỳ thông tin bổ sung nào ngoài thực tế rằng tuyên bố là thực sự đúng. Bản chất của bằng chứng không có kiến thức là việc chứng minh rằng một người sở hữu kiến thức về một số thông tin nhất định bằng cách đơn giản tiết lộ nó là điều tầm thường; thách thức là chứng minh quyền sở hữu đó mà không tiết lộ thông tin hoặc bất kỳ thông tin bổ sung nào.
Nếu việc chứng minh một tuyên bố yêu cầu người chứng minh phải sở hữu một số thông tin bí mật, thì người xác minh sẽ không thể chứng minh tuyên bố đó cho bất kỳ ai khác mà không sở hữu thông tin bí mật đó. Tuyên bố đang được chứng minh phải bao gồm khẳng định rằng người chứng minh có kiến thức như vậy, nhưng không bao gồm hoặc truyền tải chính kiến thức đó trong khẳng định. Mặt khác, tuyên bố sẽ không được chứng minh bằng không kiến thức vì nó cung cấp cho người xác minh thông tin bổ sung về tuyên bố vào cuối giao thức. Bằng chứng tri thức không có kiến thức là trường hợp đặc biệt khi tuyên bố chỉ bao gồm thực tế là người hoạt ngôn sở hữu thông tin bí mật.
Thẩm quyền giải quyết: https://en.wikipedia.org/wiki/Zero-knowledge_proof
Ví dụ, giả sử rằng Alice biết rằng X Là 123 và Y Là 456, và Alice muốn chứng minh với Bob rằng X ít hơn Y. Do đó, Alice phải xây dựng một bằng chứng theo cách sao cho X và Y không được tiết lộ cho Bob.
Giả sử rằng giao thức ZKP được đề cập được triển khai dựa trên các giả định sau:
- Một có thể bắt nguồn từ X
- b có thể bắt nguồn từ Y
- X không thể bắt nguồn từ Một bởi Alice hoặc Bob (Alice chỉ có thể suy ra Một từ X)
- Y không thể bắt nguồn từ b bởi Alice hoặc Bob (Alice chỉ có thể suy ra b từ Y)
Một = f(X)
B = f(Y)
A < B // đúng
Bây giờ Bob có thể xác minh rằng X thực sự là ít hơn Y hoàn toàn bằng máy tính Một < B
và Alice không bao giờ tiết lộ X và Y gửi Bob.
Câu hỏi của tôi là, làm thế nào để Bob đảm bảo rằng Một và b có nguồn gốc từ X và Y (và do đó, biết rằng Alice không ác ý) mà không cần biết điều gì X và Y là?