【TL; DR】
1. Công nghệ Zero knowledge nhằm mục đích chứng minh một mệnh đề cho người xác nhận, nhưng trong quá trình chứng minh, nó không tiết lộ bất kỳ thông tin nào ngoại trừ "mệnh đề là đúng".
2. Chứng minh Zero knowledge proof cần ba yếu tố: tính đầy đủ, độ tin cậy và không cần phải có nhiều kiến thức.
3. Công nghệ Zk-SNARKs có thể chứng minh rằng ai đó có một số thông tin nhất định mà không bị tiết lộ và phổ biến rộng rãi trong lĩnh vực blockchain.
4. Các quy trình bằng chứng sao chép và bằng chứng không gian được Filecoin áp dụng dựa trên công nghệ zk-SNARK đề cập đến việc tải lên giá trị băm được tính toán vào chuỗi và định kỳ chứng minh tính hợp lệ của bộ lưu trữ.
5. ZK-rollup tải dữ liệu giao dịch thô lên chuỗi và sử dụng bằng chứng không có kiến thức để tự động xác nhận tính hợp lệ của giao dịch.
Giả sử một ngày nọ, Alibaba bị cướp và đang đối phó với những kẻ bắt cóc trước kho báu. Tương ứng, có phương pháp nào anh ta có thể chứng minh với kẻ bắt cóc rằng anh ta thực sự biết mật khẩu mà không nói cho kẻ bắt cóc biết mật khẩu để mở cửa, cứu mạng anh ta không? Có một số phương pháp. Alibaba có thể để kẻ bắt cóc đứng ở một khoảng cách thích hợp với cung tên, không quá gần anh ta (kẻ bắt cóc có thể nghe thấy mật khẩu dùng để mở cửa) cũng không quá xa anh ta (có lẽ Alibaba dễ dàng trốn thoát). Sau đó, Alibaba chỉ cần chỉ cho những kẻ bắt cóc một cánh cửa mở và đóng, để anh ta có thể chứng minh rằng anh ta thực sự biết mật khẩu mà không cần nói cho kẻ bắt cóc biết mật khẩu thực sự. Trong quá trình này, Alibaba đã không cung cấp bất kỳ thông tin hữu ích nào cho kẻ bắt cóc (người xác nhận), mà để kẻ bắt cóc (người xác nhận) xác nhận tính xác thực của một kết luận. Đây cũng là khái niệm cơ bản của phương pháp chứng minh bằng không (ZKP).
ZKPs là gì?
ZKPs được tạo ra vào năm 1985 và lần đầu tiên được đề xuất trong một bài báo có tựa đề “Sự phức tạp về kiến thức của các hệ thống chứng minh tương tác” bởi các giáo sư Safi Godwasser, Silvio Micali và Charles Lakford. Công nghệ ZKP nhằm mục đích chứng minh một mệnh đề cho người xác nhận, nhưng trong quá trình chứng minh, nó không tiết lộ bất kỳ thông tin nào ngoại trừ "mệnh đề là đúng". Do đó, "ZKPs" cũng có thể được coi là một "đề xuất không tiết lộ".
Khái niệm này nghe có vẻ hơi khó hiểu, nhưng nội hàm của nó rất rõ ràng. ZKP cần có ba yếu tố sau:
1. Hoàn thành. Câu tục ngữ cần có khả năng chứng minh cho người xác nhận rằng mệnh đề đó là đúng, hoặc để thuyết phục người xác nhận.
2. m thanh. Nếu mệnh đề là sai, thì câu tục ngữ không thể chứng minh cho người xác nhận rằng mệnh đề đó là đúng, để đảm bảo rằng bằng chứng là đáng tin cậy.
3. Không cần quá nhiều kiến thức. Trong quá trình chứng minh rằng mệnh đề là đúng với trình xác nhận, thông tin hợp lệ khác hoàn toàn không được tiết lộ.
ZKP là một trong những nền tảng của mật mã hiện đại. Shafi Godwasser và Silvio Micali cũng đã giành được Giải thưởng Turing năm 2012 cho những thành tích của họ trong ZKPs. Trong Internet hiện đại, ZKP là một trong những công nghệ cơ bản nhất trong tính toán quyền riêng tư. Trong lĩnh vực blockchain, vì dữ liệu trên chuỗi hoàn toàn mở cho công chúng nên không có cơ chế bảo vệ quyền riêng tư nào ngoại trừ việc địa chỉ trên chuỗi không thể tương ứng với danh tính thực ngoại tuyến của mọi người. Do đó, zero knowledge cũng đã thu được nhiều ứng dụng trên blockchain, chẳng hạn như hệ thống nhận dạng, bảo vệ quyền riêng tư, mở rộng quy mô ngoài chuỗi, v.v. Đặc biệt, công nghệ zk-SNARKs (đối số ngắn gọn của kiến thức) có thể chứng minh rằng ai đó có một số thông tin nhất định không tiết lộ thông tin và phổ biến rộng rãi trong lĩnh vực blockchain.
Ứng dụng của ZKPs
1 / Filecoin
Filecoin là một dự án lưu trữ phân tán dựa trên giao thức Internet mới - hệ thống tệp liên hành tinh (giao thức IPFS). Nó cũng là dự án nổi tiếng nhất dựa trên IPFS. Trong khi đó, do sử dụng công nghệ bằng chứng lưu trữ dựa trên ZKPs, Filecoin cũng là mạng ZKPs lớn nhất trên thế giới. Cụ thể, các quy trình bằng chứng sao chép và bằng chứng không gian được Filecoin áp dụng dựa trên công nghệ zk-SNARK đề cập đến việc tải lên giá trị băm được tính toán lên chuỗi bằng cách lưu trữ dữ liệu thô vào chuỗi ngoài và định kỳ chứng minh tính hợp lệ của bộ lưu trữ.
Khi lưu trữ tệp, cần phải xây dựng cây Merkle cho dữ liệu thô, tính toán từng lớp VDE và cuối cùng là tải gốc cây của cây Merkle lên chuỗi trực tiếp. Quá trình mã hóa này tiêu tốn rất nhiều công suất tính toán, nhưng kích thước của dữ liệu trên chuỗi là rất hạn chế. Nó có thể nén hàng trăm KBS dữ liệu xuống chỉ còn hàng trăm byte. Do đó, nó là một phương pháp xử lý “đổi thời gian lấy không gian”. Sau khi dữ liệu được xâu chuỗi, cần xác thực dữ liệu trên một lá Merkle được chọn ngẫu nhiên theo các khoảng thời gian đều đặn và tính toán tất cả các đường đi từ gốc đến lá. Quá trình này còn được gọi là bằng chứng không gian. Nếu nút được yêu cầu cung cấp bằng chứng không lưu trữ dữ liệu tương ứng, nó không thể cung cấp các giá trị băm của tất cả các đường dẫn được yêu cầu trong một thời gian giới hạn, vì vậy nó không thể vượt qua xác thực. Bằng cách này, chúng tôi xác nhận tính hợp lệ của việc lưu trữ dữ liệu mà không để lộ dữ liệu được lưu trữ thông qua ZKP.
Để biết thêm chi tiết về IPFS và FileCoin, vui lòng tham khảo:
Giao thức IPFS có thể cách mạng hóa Internet và FileCoin đến cùng
(The IPFS Protocol That Could Revolutionize the Internet, and the FileCoin that Came Along)
2 / Zk-Rollup
Filecoin sử dụng công nghệ zk-SNARKs để lưu trữ phân tán nhằm xác nhận tính hợp lệ của việc lưu trữ dữ liệu chung. ZK-rollup tải dữ liệu giao dịch thô lên trên chuỗi và sử dụng ZKP để tự động xác nhận tính hợp lệ của giao dịch. Tuy nhiên, tất cả dữ liệu giao dịch cần phải được chứng minh, điều này dẫn đến chi phí tính toán lớn và hiệu suất kém của cuộn ZK.
Trong hệ thống blockchain, mỗi nút cần tính toán thông tin khối để xác thực độ tin cậy của thông tin giao dịch. Đối với toàn bộ hệ thống, phép tính này có tính lặp lại cao và rõ ràng là xác nhận trực tiếp thông tin khối sẽ nhanh hơn so với tính toán thông tin khối. Đây là nguyên tắc cơ bản của việc mở rộng quy mô chuỗi khối của Zk-rollup. Về cấu trúc dữ liệu, nó cũng duy trì một cây Merkle toàn cục cho các trạng thái giao dịch trong hệ thống, và mỗi trạng thái là một nút lá trên cây. Nếu cấu trúc cây Merkle nhị phân được thông qua, để hỗ trợ 1 triệu người dùng và 1000 loại tài sản, độ sâu của cây Merkle cần đạt khoảng 30. Nếu mỗi giao dịch thay đổi thông tin của 5 đến 10 nút lá, khoảng 200 băm tính toán sẽ được yêu cầu.
Để biết thêm chi tiết về các giải pháp zk-Rollup, vui lòng tham khảo:
Crack "Tam giác bất khả thi": Crack The "Impossible Triangle": Overview of Layer 2 Solutions
Will Layer 2 and the Future Sharding Update to be Activated in 2022 be Ethereum’s Ultimate Solution to Boost Scalability?
Kết luận
ZKP là viên ngọc quý của mật mã. Nó đóng một vai trò quan trọng trong việc bảo vệ quyền riêng tư và giảm tính toán kép. Những tính năng tuyệt vời này chắc chắn sẽ giúp chúng ta mở ra một tương lai blockchain riêng tư, an toàn và nhanh chóng.
Trả lời câu hỏi để kiếm phần thưởng
Tác giả:
Ashley.H, Nhà nghiên cứu trực thuộc Gate.io
* Bài viết này chỉ trình bày quan điểm của nhà nghiên cứu và không cấu thành bất kỳ lời khuyên đầu tư nào.
* Gate.io bảo lưu mọi quyền đối với bài viết này. Việc đăng lại bài viết sẽ được cho phép với điều kiện tham chiếu Gate.io. Trong tất cả các trường hợp khác, hành động pháp lý sẽ được thực hiện do vi phạm bản quyền.