Trang chủ
Bảng thuật ngữ
Bằng chứng không có kiến thức

Bằng chứng không có kiến thức

Nâng cao

Bằng chứng zero-knowledge, đôi khi còn được gọi là giao thức zk, là một phương pháp xác minh diễn ra giữa một người chứng minh và một người xác minh. Trong hệ thống bằng chứng zero-knowledge, người chứng minh có thể chứng minh với người xác minh rằng họ có hiểu biết về một mẩu thông tin cụ thể (chẳng hạn như lời giải của một phương trình toán học) mà không tiết lộ chính thông tin đó. Các hệ thống bằng chứng này có thể được sử dụng bởi các nhà mật mã hiện đại để cung cấp mức độ riêng tư và bảo mật cao hơn.

Khái niệm về bằng chứng zero-knowledge lần đầu tiên được mô tả trong bài báo của MIT năm vào 1985, được xuất bản bởi Shafi Goldwasser và Silvio Micali. Các nhà toán học đã chứng minh rằng có thể chứng minh một số thuộc tính của một số mà không cần tiết lộ số đó hoặc bất kỳ thông tin bổ sung nào về nó. Bài viết này cũng giới thiệu phát hiện có ý nghĩa toán học rằng sự tương tác giữa người chứng minh và người xác minh có thể làm giảm lượng thông tin cần thiết để chứng minh một định lý nhất định. 

Bằng chứng zk phải đáp ứng hai yêu cầu cơ bản được gọi là tính đầy đủ và tính hợp lý. Tính đầy đủ đề cập đến khả năng của người chứng minh chứng tỏ hiểu biết về thông tin liên quan ở mức độ chính xác cao có thể xảy ra. Để bằng chứng hợp lý, người xác minh phải có khả năng xác định một cách đáng tin cậy liệu người chứng minh có thực sự sở hữu thông tin hay không. Cuối cùng, để thực sự không cần hiểu biết, bằng chứng này phải đạt được cả tính đầy đủ và tính hợp lý mà thông tin được đề cập không bao giờ được trao đổi giữa người chứng minh và người xác minh.

Bằng chứng zero-knowledge chủ yếu được sử dụng cho các ứng dụng mà trong đó quyền riêng tư và bảo mật là điều cần thiết. Ví dụ: các hệ thống xác thực có thể sử dụng bằng chứng zk để xác minh thông tin đăng nhập hoặc danh tính mà không trực tiếp tiết lộ chúng. Một ví dụ đơn giản, nó có thể được sử dụng để xác minh rằng một người có mật khẩu vào hệ thống máy tính mà không cần tiết lộ mật khẩu đó là gì. 

Một trường hợp sử dụng nổi bật của bằng chứng zero-knowledge đã được tìm thấy trong lĩnh vực tiền mã hóa và công nghệ blockchain. Sử dụng một loại bằng chứng được gọi là Đối số kiến thức ngắn gọn không tương tác (zk-SNARK), các loại tiền mã hóa tập trung vào quyền riêng tư như Zcash có thể cung cấp các giao dịch blockchain với mức độ riêng tư cao hơn cho người dùng của họ. Ethereum cũng đang sử dụng bằng chứng zk-SNARK kể từ bản cập nhật Byzantium vào năm 2017.