Những điểm chính:
- Zero-Knowledge Proof là một công nghệ đầy tiềm năng khai thác. Tuy nhiên, ứng dụng của nó lại là chuyện khác.
- Có hai loại bằng chứng không kiến thức: tương tác và không tương tác.
- IZKP yêu cầu xác minh lẫn nhau giữa người chứng minh và người xác minh. NIZKP không cần tương tác, người kể tự tạo ra bằng chứng độc lập để làm sáng tỏ vấn đề.
Zero-Knowledge Proof và các ứng dụng của nó vẫn còn rất nhiều tiềm năng để thực hành. Không chỉ phương pháp mà tùy trường hợp có thể áp dụng từng loại ZKP.
Tuy nhiên, liệu ứng dụng của công nghệ này có giống nhau? Cùng Oneblock giải đáp vấn đề này cho bạn đọc trong bài viết sau.
Zero-knowledge proof (ZKP) – Bằng chứng không tri thức là gì?
Với sự phát triển không ngừng của công nghệ máy tính trong kỷ nguyên số, chúng ta có thể dễ dàng lưu trữ, truyền và phân tích một lượng lớn dữ liệu cá nhân và doanh nghiệp trên Internet, làm dấy lên lo ngại về quyền. Bảo mật dữ liệu và quyền riêng tư cũng đang gia tăng.
Bằng chứng không kiến thức là một loại mật mã. ZKP hoạt động theo nguyên tắc một bên chứng minh cho bên xác minh thấy rằng thông tin anh ta cung cấp là đúng mà không tiết lộ bất kỳ thông tin thực tế nào.
Đối với những người yêu cầu quyền kiểm soát và độc lập đối với thông tin của họ, ZKP cung cấp cả sự linh hoạt và lựa chọn. Một số trường hợp sử dụng sẽ được giải quyết nếu kết hợp công nghệ chuỗi khối và ZKP.
Các loại bằng chứng Zero-Knowledge
Có hai loại bằng chứng không kiến thức: tương tác và không tương tác.
Bằng chứng không có kiến thức tương tác (IZKP) cần một cuộc trò chuyện qua lại giữa người chứng minh và người xác minh, trong đó người xác minh trả lời các câu hỏi của người xác minh. Sự tham gia này có thể xảy ra trực tiếp hoặc qua mạng như Internet. Một số tương tác với người xác minh là cần thiết để người xác minh yêu cầu thêm thông tin về khẳng định đang được chứng minh. Trong mỗi vòng, người chứng minh phải trả lời câu hỏi của người xác minh.
Cách tiếp cận chứng minh tương tác này có thể thực hiện được đối với một số bài toán lớn nhất định, nhưng nó gây ra những lo ngại về thời gian và chi phí tính toán cũng như yêu cầu giao tiếp từ tất cả người chơi.
Mặt khác, bằng chứng không kiến thức không tương tác (NIZKP) không cần sự tương tác giữa người chứng minh và người xác minh. Thay vào đó, người chứng minh tạo ra một bằng chứng độc lập, duy nhất mà người xác minh có thể kiểm tra độc lập mà không cần trao đổi thêm. Vì người chứng minh và người xác minh không nhất thiết phải trực tuyến cùng lúc hoặc trao đổi nhiều tin nhắn nên điều này có thể thuận tiện và hiệu quả hơn so với bằng chứng tương tác.
Bằng chứng không tương tác nhanh hơn bằng chứng tương tác và liên quan đến ít quá trình xử lý và giao tiếp hơn. Tuy nhiên, đôi khi nó có thể không phải là một phương pháp khả thi, chẳng hạn như khi cần thêm thông tin để chứng minh hoặc khi chứng minh một mệnh đề cực kỳ phức tạp.
Mức độ tin cậy cần thiết giữa người chứng minh và người xác minh là một trong những điểm khác biệt cơ bản giữa bằng chứng không kiến thức tương tác và không tương tác. Trong một bằng chứng tương tác, người xác minh phải tin tưởng người chứng minh tuân theo giao thức và trả lời trung thực các yêu cầu của họ. Ngược lại, trong bằng chứng không tương tác, người xác minh không cần tin tưởng vào người chứng minh vì họ có thể kiểm tra bằng chứng một cách độc lập mà không phụ thuộc vào bất kỳ thông tin nào do người chứng minh cung cấp.
Cả bằng chứng không kiến thức tương tác và không tương tác đều có ưu điểm và nhược điểm, và tùy chọn tối ưu cho một trường hợp cụ thể sẽ được xác định bởi các nhu cầu và hạn chế.
- Bằng chứng tương tác có thể phù hợp hơn trong các trường hợp khi người chứng minh và người xác minh đều trực tuyến và có thể dễ dàng trao đổi.
- Mặt khác, bằng chứng không tương tác có thể phù hợp hơn trong các trường hợp khi người chứng minh và người xác minh không trực tuyến cùng một lúc hoặc độ tin cậy của người chứng minh là đáng nghi ngờ. Cuối cùng, bằng chứng không kiến thức tương tác và không tương tác thường được chọn dựa trên các thách thức và tình huống ứng dụng cụ thể.
IZKPs không thể được triển khai rộng rãi
Một trong những loại bằng chứng không kiến thức lâu đời nhất được khám phá và sử dụng rộng rãi là bằng chứng không kiến thức tương tác. Sẽ có nhiều vòng tiếp xúc giữa người chứng minh và người xác minh trong suốt quy trình chứng minh này.
Tương tác giữa người chứng minh và người xác minh là bắt buộc đối với IZKP, điều này có thể không hiệu quả và tốn thời gian. Để hoàn thành việc chứng minh, người chứng minh phải trao đổi nhiều thông điệp với người chứng minh. Khi tốc độ là yếu tố quan trọng, chẳng hạn như trong giao dịch tần suất cao hoặc ra quyết định theo thời gian thực, thì đây có thể là một vấn đề.
Ví dụ: bạn phải vào một cửa hàng để mua rượu, nhưng bạn không thể xác minh tuổi của mình ngoài ngoại hình khi người bán hàng vị thành niên nghi ngờ. Tại thời điểm này, bạn sẽ phải giải thích cách bạn có thể mua rượu bằng cách sử dụng phần thuyết minh.
IZKP cho rằng người chứng minh và người xác minh là trung thực và sẽ không cố gắng gian lận hoặc thay đổi bằng chứng. Tuy nhiên, giả định này không phải lúc nào cũng đúng và người chứng minh có thể cố gắng đánh lừa người xác minh bằng cách gửi tín hiệu không có thật hoặc sửa đổi bằng chứng theo một cách nào đó. Điều này có thể gây nguy hiểm cho tính toàn vẹn của bằng chứng và làm giảm giá trị sử dụng của nó.
Nói trắng ra là bạn chưa đủ tuổi uống rượu nhưng bạn vẫn dùng lời lẽ để chứng minh ngược lại. Nếu vậy thì thật là tai hại.
Do đó, mặc dù IZKP có khả năng cung cấp bảo mật tuyệt vời và đảm bảo quyền riêng tư, nhưng những nhược điểm nêu trên đã hạn chế việc sử dụng rộng rãi của chúng.
ZK-SNARK
ZK-SNARK là viết tắt của “zero-knowledge succinct non-interactive argument of knowledge” (đối số tri thức không tương tác cô đọng).
Trong các từ viết tắt của SNARK, từ “succinct” (cô đọng), có nghĩa là những bằng chứng này có kích thước nhỏ và có thể được xác minh nhanh chóng. “Non-interactive” (không tương tác), có nghĩa là có ít hoặc không có tương tác giữa bên chứng minh và bên xác minh. Các phiên bản cũ hơn của giao thức không kiến thức thường yêu cầu bên chứng minh và bên xác minh giao tiếp qua lại, và do đó, được coi là bằng chứng zk “Interactive”(Tương tác). Nhưng với cách xây dựng “non-interactive” (không tương tác), bên chứng minh và bên xác minh chỉ phải trao đổi một bằng chứng.
Giao thức ZK-SNARK có các đặc điểm sau:
- Người xác minh không có thông tin có thể xác nhận sự thật của một tuyên bố mà không cần biết bất cứ điều gì khác về nó. Điều duy nhất người xác minh biết về tuyên bố đó là đúng hay sai.
- Nói một cách dễ hiểu, bằng chứng không kiến thức đơn giản hơn bằng chứng và có thể được hiển thị nhanh chóng.
- Bằng chứng không tương tác được phân biệt với bằng chứng tương tác bởi thực tế là người chứng minh và người xác minh chỉ giao tiếp một lần, trái ngược với bằng chứng tương tác, đòi hỏi nhiều vòng giao tiếp.
- Lập luận: Vì bằng chứng đáp ứng yêu cầu về ‘tính hợp lý’ nên rất khó xảy ra gian lận.
- (Của) Kiến thức: Rất khó để đưa ra bằng chứng không có kiến thức nếu không có quyền truy cập vào thông tin nhạy cảm. Một người chứng minh không có nhân chứng sẽ thấy việc tính toán một bằng chứng không có kiến thức hợp lệ là rất khó, nếu không muốn nói là không thể.
Để sử dụng thiết lập đáng tin cậy, người dùng phải tin tưởng những người tham gia tạo tham số. Tuy nhiên, việc tạo ra ZK-STARK đã cho phép trình diễn các giao thức hoạt động trong bối cảnh không ổn định.
ZK-STARK
Thuật ngữ ZK-STARK là viết tắt của“zero-knowledge succinct transparent argument of knowledge” (đối số tri thức không minh bạch cô đọng).
zk-STARK đã được tạo ra như là một phiên bản thay thế của bằng chứng zk-SNARK và được coi là một phương thức triển khai công nghệ nhanh và rẻ hơn. Nhưng quan trọng hơn, zk-STARK không yêu cầu thiết lập tín thác ban đầu (do đó, “T” ở đây chính là minh bạch (transparent))
ZK-STARK giống với ZK-SNARK, nhưng có những điểm khác biệt sau:
- Có thể mở rộng: Khi quy mô của nhân chứng lớn hơn, ZK-STARK tạo và xác minh bằng chứng nhanh hơn ZK-SNARK. Sử dụng bằng chứng STARK, thời gian của người chứng minh và người xác minh tăng lên rất ít khi số lượng nhân chứng tăng lên (thời gian người chứng minh và người xác minh SNARK tăng tuyến tính với quy mô nhân chứng).
- Tính minh bạch: Thay vì xây dựng lòng tin, ZK-STARK dựa vào sự ngẫu nhiên có thể kiểm chứng công khai để đưa ra các thông số công khai nhằm chứng minh và xác minh. Do đó, chúng ít mờ đục hơn ZK-SNARK.
ZK-STARK tạo ra bằng chứng lớn hơn ZK-SNARK, nghĩa là chi phí xác minh cao hơn. Tuy nhiên, trong một số trường hợp nhất định (ví dụ: bằng chứng về bộ dữ liệu khổng lồ), ZK-STARK có thể tiết kiệm chi phí hơn ZK-SNARK.
Tổng kết
Không giống như zkSNARK, zkSTARK dựa trên nền tảng của các bằng chứng tương tác, ngắn gọn, ngụ ý rằng các bằng chứng có thể được xác minh nhanh chóng mà không yêu cầu bất kỳ tương tác nào giữa người chứng minh và người xác minh. Do đó, zkSTARK có lợi ích tốt hơn về bảo mật và khả năng mở rộng.
Tuy nhiên, khi công nghệ tiến bộ, các công nghệ không có kiến thức sẽ tiếp tục phát triển và được sử dụng.
Mặc dù Blockchain cung cấp tính phân cấp, tính minh bạch và nhiều lợi thế khác, nhưng việc chỉ sử dụng địa chỉ thay vì danh tính sẽ không đảm bảo quyền riêng tư.
Về mặt xác minh quyền riêng tư và bảo mật, công nghệ không có kiến thức cung cấp nhiều ứng dụng. Mặc dù nó không phải là một công nghệ mới, nhưng ứng dụng của nó đối với sự phát triển của lĩnh vực Blockchain vẫn còn rất nhiều điều mới để khám phá và thể hiện qua thực tế.