Trong mật mã, bằng chứng không có kiến thức là một phương pháp chứng minh đề cập đến một bên ( Người tục ngữ) chứng minh cho người khác bên (người xác minh) rằng một tuyên bố là đúng mà không tiết lộ bất kỳ thông tin nào khác ngoài tuyên bố đó là đúng.
Bằng chứng trong cuộc sống hàng ngày không phải là kiến thức không có gì. Ví dụ: khi người mua phải chứng minh họ trên 21 tuổi mới được mua rượu, họ phải xuất trình giấy tờ tùy thân có ngày sinh. Nhưng phương pháp chứng minh này có sai sót vì trong khi chứng minh rằng yêu cầu về độ tuổi được đáp ứng, nó cũng tiết lộ những thông tin nhạy cảm nhưng không liên quan khác, chẳng hạn như tên và địa chỉ.
So sánh, bằng chứng không có kiến thức là ưu việt hơn vì chúng không yêu cầu người chứng minh tiết lộ chi tiết về chính tuyên bố đó hoặc cách họ phát hiện ra sự thật. Giả sử Alice bị mù màu và không thể phân biệt được quả bóng xanh và quả bóng đỏ. Alice cho rằng hai quả bóng giống nhau, nhưng Bob muốn chứng minh cho Alice thấy rằng hai quả bóng khác nhau theo cách không có kiến thức. Bob có thể dựa vào các cơ chế sau.
Bob yêu cầu Alice cầm một quả bóng ở mỗi tay và đặt hai tay ra sau lưng, tay trái màu xanh và tay phải màu đỏ. Alice có thể quyết định có nên trao đổi quả bóng ở tay trái và tay phải của mình hay không. Sau đó, Alice cho Bob xem lại hai quả bóng và Bob nói với Alice xem cô ấy có đổi bóng hay không.
Alice: Tôi đã đổi bóng à? (Tay trái chuyển từ xanh sang đỏ)
Bob: Đúng vậy.
Alice: Tôi đã đổi bóng à? (Tay trái vẫn còn đỏ)
Bob: Không, không phải lần trước.
Alice và Bob tiếp tục lặp lại quá trình này cho đến khi Alice tin rằng hai quả bóng thực sự khác nhau, nếu không Bob sẽ không phải lúc nào cũng có thể xác định chính xác những gì Alice đang làm sau lưng cô ấy. Lưu ý rằng trong quá trình này, Bob không cần nói cho Alice biết quả bóng nào có màu xanh, anh ấy cũng không cần giải thích tại sao anh ấy biết được quả bóng đó.
Ví dụ bằng chứng không có kiến thức ở trên có tính tương tác. Mặc dù dễ hiểu nhưng nó không phải là một giải pháp thực tế vì nó đòi hỏi cả hai bên phải trao đổi với nhau nhiều lần trước khi đưa ra bằng chứng.
Các nhà nghiên cứu đã phát minh ra các bằng chứng không có kiến thức không tương tác để giải quyết những vấn đề này. Bằng chứng không tương tác chỉ yêu cầu một vòng giao tiếp giữa người chứng minh và người xác minh. Người chứng minh cung cấp thông tin vào một thuật toán đặc biệt để tính toán bằng chứng không có kiến thức. Sau đó, người xác minh có thể kiểm tra bằng chứng để đảm bảo tính hợp lệ của thông tin bí mật. Một lợi ích khác của bằng chứng không tương tác là khi bằng chứng được tạo ra, bất kỳ ai cũng có thể xác minh nó.
Trong lĩnh vực blockchain, bằng chứng không có kiến thức chủ yếu được sử dụng trong các tình huống tổng hợp. Nó cho phép blockchain cơ bản thuê ngoài tính toán trong khi vẫn đảm bảo tính xác minh của kết quả tính toán. Các máy tính ngoài chuỗi thực hiện giao dịch và sau đó gửi kết quả cùng với bằng chứng cho thấy giao dịch được thực hiện chính xác. Điều này làm giảm tắc nghẽn mạng trên chuỗi và tăng tốc độ giao dịch.
Bằng chứng không có kiến thức cho phép chuỗi khối cơ bản xác minh các giao dịch ngoài chuỗi mà không cần thực hiện lại. Mặc dù các bằng chứng không có kiến thức vượt trội về mặt kỹ thuật nhưng nghiên cứu xung quanh chủ đề này vẫn đang ở giai đoạn đầu. Sẽ phải mất ít nhất vài năm nữa trước khi công nghệ chứng minh không có kiến thức thực sự được áp dụng.
Có thể bạn quan tâm đến những điều sau:
- Vấn đề của các vị tướng Byzantine là gì