Khái niệm hiện đại về hệ thống chứng minh không biết nguồn gốc từ bài báo do Goldwasser, Micali và Rackoff đồng tác giả vào năm 1985. Bài báo này khám phá lượng kiến thức cần trao đổi để chứng minh tính đúng đắn của một tuyên bố thông qua một hệ thống tương tác với số lần tương tác hạn chế. Nếu có thể thực hiện trao đổi không biết, thì được gọi là zk-SNARK.
Các hệ thống chứng minh không biết (零知识证明) sơ khai có những hạn chế về tính thực tiễn, chủ yếu dừng lại ở mức lý thuyết. Trong gần mười năm qua, với sự phát triển của mật mã trong lĩnh vực tiền điện tử, chứng minh không biết đã dần trở thành một hướng quan trọng. Trong đó, phát triển các giao thức chứng minh không biết tổng quát, không tương tác và có kích thước chứng minh hạn chế là một trong những hướng khám phá then chốt.
Đột phá lớn của zk-SNARK là bài báo của Groth được công bố vào năm 2010, đặt nền tảng lý thuyết cho zk-SNARK. Ở cấp độ ứng dụng, hệ thống chứng minh không kiến thức được Zcash áp dụng vào năm 2015 đã thực hiện bảo vệ quyền riêng tư giao dịch, mở ra những kịch bản ứng dụng rộng rãi hơn cho chứng minh không kiến thức.
Kể từ đó, một loạt các thành tựu học thuật quan trọng liên tục xuất hiện:
Giao thức Pinocchio năm 2013 đã nén thời gian chứng minh và xác minh
Năm 2016, Groth16 đã tinh giản quy mô chứng minh và nâng cao hiệu quả xác minh.
Thuật toán chứng minh ngắn không cần thiết lập đáng tin cậy đã được Bulletproofs đề xuất vào năm 2017
Năm 2018, zk-STARKs đã đề xuất một giao thức an toàn hậu lượng tử.
Ngoài ra, các tiến bộ như PLONK, Halo2 cũng đã cải tiến zk-SNARK.
Hai, Ứng dụng chính của zk-SNARK
zk-SNARK được ứng dụng rộng rãi nhất trong hai lĩnh vực là bảo vệ quyền riêng tư và mở rộng quy mô.
Trong lĩnh vực bảo vệ quyền riêng tư, các dự án tiêu biểu bao gồm Zcash, Monero, v.v. Lấy Zcash làm ví dụ, các bước thực hiện giao dịch riêng tư của nó sử dụng zk-SNARKs bao gồm: thiết lập hệ thống, tạo khóa, đúc đồng, chuyển khoản, xác minh và nhận. Tuy nhiên, Zcash vẫn có một số hạn chế, chẳng hạn như dựa trên mô hình UTXO, khó mở rộng, v.v.
Trong việc mở rộng, ZK Rollup là một ứng dụng quan trọng. ZK Rollup bao gồm hai loại vai trò là Sequencer và Aggregator: Sequencer chịu trách nhiệm đóng gói giao dịch, Aggregator chịu trách nhiệm gộp nhiều giao dịch lại và tạo ra bằng chứng. Ưu điểm của ZK Rollup là phí thấp, tính hoàn tất nhanh chóng, nhưng cũng có nhược điểm như khối lượng tính toán lớn và các vấn đề an toàn tiềm ẩn.
Hiện tại, các dự án ZK Rollup chính trên thị trường bao gồm StarkNet, zkSync, Aztec Connect, Polygon Hermez, v.v. Những dự án này chủ yếu chọn giữa SNARK và STARK trong lộ trình công nghệ, cũng như mức độ hỗ trợ EVM.
Ba, Nguyên lý cơ bản của ZK-SNARK
ZK-SNARK ( zk-SNARK ) có các đặc điểm sau:
zk-SNARK: Quy trình chứng minh không tiết lộ thông tin bổ sung
Đơn giản: kích thước xác minh nhỏ
Phi tương tác: không cần nhiều vòng tương tác
Độ tin cậy: Người chứng minh có khả năng hạn chế không thể giả mạo
Kiến thức: Người chứng minh phải biết thông tin hợp lệ
Lấy Groth16 làm ví dụ, nguyên lý chứng minh của ZK-SNARK bao gồm:
Chuyển đổi vấn đề thành mạch điện
Chuyển đổi mạch thành dạng R1CS
Chuyển R1CS sang dạng QAP
Thiết lập cấu hình đáng tin cậy, tạo khóa chứng minh và khóa xác minh
Tạo và xác minh chứng ZK-SNARK
ZK-SNARK đã đặt nền tảng cho việc ứng dụng rộng rãi của zk-SNARK, nhưng vẫn còn một số hạn chế. Trong tương lai, cần phải tối ưu và cải tiến thêm để đáp ứng nhu cầu của nhiều trường hợp ứng dụng hơn.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Lịch sử phát triển zk-SNARK: Từ lý thuyết đến ứng dụng ZK Rollup
Sự phát triển và ứng dụng của zk-SNARK
Một, lịch sử phát triển của zk-SNARK
Khái niệm hiện đại về hệ thống chứng minh không biết nguồn gốc từ bài báo do Goldwasser, Micali và Rackoff đồng tác giả vào năm 1985. Bài báo này khám phá lượng kiến thức cần trao đổi để chứng minh tính đúng đắn của một tuyên bố thông qua một hệ thống tương tác với số lần tương tác hạn chế. Nếu có thể thực hiện trao đổi không biết, thì được gọi là zk-SNARK.
Các hệ thống chứng minh không biết (零知识证明) sơ khai có những hạn chế về tính thực tiễn, chủ yếu dừng lại ở mức lý thuyết. Trong gần mười năm qua, với sự phát triển của mật mã trong lĩnh vực tiền điện tử, chứng minh không biết đã dần trở thành một hướng quan trọng. Trong đó, phát triển các giao thức chứng minh không biết tổng quát, không tương tác và có kích thước chứng minh hạn chế là một trong những hướng khám phá then chốt.
Đột phá lớn của zk-SNARK là bài báo của Groth được công bố vào năm 2010, đặt nền tảng lý thuyết cho zk-SNARK. Ở cấp độ ứng dụng, hệ thống chứng minh không kiến thức được Zcash áp dụng vào năm 2015 đã thực hiện bảo vệ quyền riêng tư giao dịch, mở ra những kịch bản ứng dụng rộng rãi hơn cho chứng minh không kiến thức.
Kể từ đó, một loạt các thành tựu học thuật quan trọng liên tục xuất hiện:
Ngoài ra, các tiến bộ như PLONK, Halo2 cũng đã cải tiến zk-SNARK.
Hai, Ứng dụng chính của zk-SNARK
zk-SNARK được ứng dụng rộng rãi nhất trong hai lĩnh vực là bảo vệ quyền riêng tư và mở rộng quy mô.
Trong lĩnh vực bảo vệ quyền riêng tư, các dự án tiêu biểu bao gồm Zcash, Monero, v.v. Lấy Zcash làm ví dụ, các bước thực hiện giao dịch riêng tư của nó sử dụng zk-SNARKs bao gồm: thiết lập hệ thống, tạo khóa, đúc đồng, chuyển khoản, xác minh và nhận. Tuy nhiên, Zcash vẫn có một số hạn chế, chẳng hạn như dựa trên mô hình UTXO, khó mở rộng, v.v.
Trong việc mở rộng, ZK Rollup là một ứng dụng quan trọng. ZK Rollup bao gồm hai loại vai trò là Sequencer và Aggregator: Sequencer chịu trách nhiệm đóng gói giao dịch, Aggregator chịu trách nhiệm gộp nhiều giao dịch lại và tạo ra bằng chứng. Ưu điểm của ZK Rollup là phí thấp, tính hoàn tất nhanh chóng, nhưng cũng có nhược điểm như khối lượng tính toán lớn và các vấn đề an toàn tiềm ẩn.
Hiện tại, các dự án ZK Rollup chính trên thị trường bao gồm StarkNet, zkSync, Aztec Connect, Polygon Hermez, v.v. Những dự án này chủ yếu chọn giữa SNARK và STARK trong lộ trình công nghệ, cũng như mức độ hỗ trợ EVM.
Ba, Nguyên lý cơ bản của ZK-SNARK
ZK-SNARK ( zk-SNARK ) có các đặc điểm sau:
Lấy Groth16 làm ví dụ, nguyên lý chứng minh của ZK-SNARK bao gồm:
ZK-SNARK đã đặt nền tảng cho việc ứng dụng rộng rãi của zk-SNARK, nhưng vẫn còn một số hạn chế. Trong tương lai, cần phải tối ưu và cải tiến thêm để đáp ứng nhu cầu của nhiều trường hợp ứng dụng hơn.