Hệ thống zk-SNARK hiện đại bắt nguồn từ bài báo năm 1985 của Goldwasser, Micali và Rackoff. 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 nhiều vòng tương tác trong hệ thống tương tác. Nếu việc trao đổi kiến thức mà không tiết lộ thông tin được thực hiện, thì được gọi là zk-SNARK. Mặc dù hệ thống tương tác này không thể chứng minh hoàn toàn về mặt toán học, nhưng nó là đúng theo nghĩa xác suất.
Để vượt qua những hạn chế của hệ thống tương tác, hệ thống không tương tác đã ra đời, trở thành lựa chọn lý tưởng cho zk-SNARK. Các hệ thống zk-SNARK đầu tiên còn thiếu sót về tính thực tiễn, cho đến thập kỷ gần đây mới bắt đầu phát triển mạnh mẽ. Trong đó, phát triển các giao thức zk-SNARK chung, không tương tác và có kích thước chứng minh hạn chế đã trở thành một trong những hướng khám phá quan trọng.
Bước đột phá quan trọng của zk-SNARK là lý thuyết chứng minh không tương tác ngắn mà Groth đề xuất vào năm 2010, đã đặt nền tảng lý thuyết cho zk-SNARK. Năm 2015, zk-SNARK được áp dụng thực tế trong dự án Zcash, đạt được sự bảo vệ cho quyền riêng tư giao dịch. Sau đó, sự kết hợp giữa zk-SNARK và hợp đồng thông minh đã mở rộng thêm các bối cảnh ứng dụng.
Trong thời gian này, một số thành tựu học thuật quan trọng bao gồm:
Giao thức Pinocchio năm 2013, đã nén thời gian chứng minh và xác minh.
Groth16 năm 2016, đã tinh giản kích thước chứng minh và nâng cao hiệu quả xác minh
Bulletproofs năm 2017, đã đề xuất chứng minh không tương tác ngắn gọn zk-SNARK
Năm 2018, zk-STARKs đã đề xuất một giao thức thuật toán không cần thiết lập tin cậy.
Các phát triển khác như PLONK, Halo2 cũng đã cải tiến zk-SNARK.
Hai, ứng dụng chính của zk-SNARK
Hai ứng dụng rộng rãi nhất của zk-SNARK là bảo vệ quyền riêng tư và mở rộng quy mô.
Về bảo vệ quyền riêng tư, các dự án đại diện ban đầu bao gồm Zcash và Monero. Tuy nhiên, do sự cần thiết của giao dịch riêng tư không như mong đợi, các dự án này dần dần lui về phía sau.
Trong việc mở rộng ứng dụng, khi Ethereum chuyển sang hướng tập trung vào rollup, loạt sản phẩm ZK lại trở thành tâm điểm của ngành. Việc mở rộng ZK có thể được thực hiện trên mạng lớp một, như dự án Mina; cũng có thể được thực hiện trên mạng lớp hai, tức là zk-rollup.
Các vai trò chính của zk-rollup bao gồm Sequencer và Aggregator. Sequencer chịu trách nhiệm đóng gói giao dịch, Aggregator có nhiệm vụ hợp nhất giao dịch và tạo ra zk-SNARK, được sử dụng để cập nhật trạng thái trên chuỗi.
Ưu điểm của zk-rollup là phí thấp, tính cuối cùng nhanh chóng và bảo vệ quyền riêng tư; nhược điểm bao gồm khối lượng tính toán lớn, cần thiết lập đáng tin cậy, v.v.
Hiện tại, các dự án zk-rollup có tính cạnh tranh 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 lựa chọn giữa SNARK( và các phiên bản cải tiến của nó ) và STARK, cũng như mức độ hỗ trợ cho EVM.
Tính tương thích EVM là một vấn đề quan trọng. Một số dự án chọn hoàn toàn tương thích với mã opcode Solidity, trong khi những dự án khác thiết kế máy ảo mới để cân bằng tính thân thiện với ZK và tính tương thích với Solidity. Trong những năm gần đây, sự cải thiện về tính tương thích EVM đã mang lại nhiều tiện lợi hơn cho các nhà phát triển.
Ba, Nguyên lý cơ bản của ZK-SNARK
Chứng minh không biết cần đáp ứng ba đặc tính: tính toàn vẹn, độ tin cậy và không biết. ZK-SNARK là một giao thức chứng minh không biết được ứng dụng rộng rãi, có tên đầy đủ là "Chứng minh tri thức không biết ngắn gọn không tương tác".
Các bước cơ bản của ZK-SNARK bao gồm:
Chuyển đổi vấn đề thành mạch điện
Chuyển đổi mạch điện thành dạng R1CS
Chuyển đổi R1CS thành dạng QAP
Thiết lập cấu hình 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
Sự phát triển của ZK-SNARK đã đặt nền tảng cho việc ứng dụng chứng minh không kiến thức trong lĩnh vực blockchain. Trong tương lai, với sự tiến bộ của công nghệ, chứng minh không kiến thức có khả năng đóng vai trò quan trọng trong nhiều tình huố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.
17 thích
Phần thưởng
17
4
Chia sẻ
Bình luận
0/400
GasGuzzler
· 07-18 21:54
zk thật là một con bò!
Xem bản gốcTrả lời0
OnchainHolmes
· 07-16 02:45
zk cũng quá vô lý rồi 8
Xem bản gốcTrả lời0
FloorSweeper
· 07-16 02:41
ngmi nếu bạn vẫn không hiểu công nghệ zk
Xem bản gốcTrả lời0
BlockchainDecoder
· 07-16 02:36
Trích dẫn quan điểm từ bài báo của Goldwasser năm 1989, ZK về bản chất là vấn đề độ phân giải tương tác.
Lịch sử phát triển của chứng minh không kiến thức và phân tích nguyên lý ZK-SNARK
Sự phát triển và khám phá ứng dụng của zk-SNARK
Một, lịch sử phát triển của zk-SNARK
Hệ thống zk-SNARK hiện đại bắt nguồn từ bài báo năm 1985 của Goldwasser, Micali và Rackoff. 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 nhiều vòng tương tác trong hệ thống tương tác. Nếu việc trao đổi kiến thức mà không tiết lộ thông tin được thực hiện, thì được gọi là zk-SNARK. Mặc dù hệ thống tương tác này không thể chứng minh hoàn toàn về mặt toán học, nhưng nó là đúng theo nghĩa xác suất.
Để vượt qua những hạn chế của hệ thống tương tác, hệ thống không tương tác đã ra đời, trở thành lựa chọn lý tưởng cho zk-SNARK. Các hệ thống zk-SNARK đầu tiên còn thiếu sót về tính thực tiễn, cho đến thập kỷ gần đây mới bắt đầu phát triển mạnh mẽ. Trong đó, phát triển các giao thức zk-SNARK chung, không tương tác và có kích thước chứng minh hạn chế đã trở thành một trong những hướng khám phá quan trọng.
Bước đột phá quan trọng của zk-SNARK là lý thuyết chứng minh không tương tác ngắn mà Groth đề xuất vào năm 2010, đã đặt nền tảng lý thuyết cho zk-SNARK. Năm 2015, zk-SNARK được áp dụng thực tế trong dự án Zcash, đạt được sự bảo vệ cho quyền riêng tư giao dịch. Sau đó, sự kết hợp giữa zk-SNARK và hợp đồng thông minh đã mở rộng thêm các bối cảnh ứng dụng.
Trong thời gian này, một số thành tựu học thuật quan trọng bao gồm:
Các phát triển khác như PLONK, Halo2 cũng đã cải tiến zk-SNARK.
Hai, ứng dụng chính của zk-SNARK
Hai ứng dụng rộng rãi nhất của zk-SNARK là bảo vệ quyền riêng tư và mở rộng quy mô.
Về bảo vệ quyền riêng tư, các dự án đại diện ban đầu bao gồm Zcash và Monero. Tuy nhiên, do sự cần thiết của giao dịch riêng tư không như mong đợi, các dự án này dần dần lui về phía sau.
Trong việc mở rộng ứng dụng, khi Ethereum chuyển sang hướng tập trung vào rollup, loạt sản phẩm ZK lại trở thành tâm điểm của ngành. Việc mở rộng ZK có thể được thực hiện trên mạng lớp một, như dự án Mina; cũng có thể được thực hiện trên mạng lớp hai, tức là zk-rollup.
Các vai trò chính của zk-rollup bao gồm Sequencer và Aggregator. Sequencer chịu trách nhiệm đóng gói giao dịch, Aggregator có nhiệm vụ hợp nhất giao dịch và tạo ra zk-SNARK, được sử dụng để cập nhật trạng thái trên chuỗi.
Ưu điểm của zk-rollup là phí thấp, tính cuối cùng nhanh chóng và bảo vệ quyền riêng tư; nhược điểm bao gồm khối lượng tính toán lớn, cần thiết lập đáng tin cậy, v.v.
Hiện tại, các dự án zk-rollup có tính cạnh tranh 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 lựa chọn giữa SNARK( và các phiên bản cải tiến của nó ) và STARK, cũng như mức độ hỗ trợ cho EVM.
Tính tương thích EVM là một vấn đề quan trọng. Một số dự án chọn hoàn toàn tương thích với mã opcode Solidity, trong khi những dự án khác thiết kế máy ảo mới để cân bằng tính thân thiện với ZK và tính tương thích với Solidity. Trong những năm gần đây, sự cải thiện về tính tương thích EVM đã mang lại nhiều tiện lợi hơn cho các nhà phát triển.
Ba, Nguyên lý cơ bản của ZK-SNARK
Chứng minh không biết cần đáp ứng ba đặc tính: tính toàn vẹn, độ tin cậy và không biết. ZK-SNARK là một giao thức chứng minh không biết được ứng dụng rộng rãi, có tên đầy đủ là "Chứng minh tri thức không biết ngắn gọn không tương tác".
Các bước cơ bản của ZK-SNARK bao gồm:
Sự phát triển của ZK-SNARK đã đặt nền tảng cho việc ứng dụng chứng minh không kiến thức trong lĩnh vực blockchain. Trong tương lai, với sự tiến bộ của công nghệ, chứng minh không kiến thức có khả năng đóng vai trò quan trọng trong nhiều tình huống hơn.