Trong những năm gần đây, các dự án chứng minh không biết (zk-SNARK) trong ngành công nghiệp blockchain đã bùng nổ, đặc biệt là trong các ứng dụng mở rộng và bảo vệ quyền riêng tư. Tuy nhiên, do ZKP có đặc điểm toán học cao, việc hiểu sâu về nó có một chút khó khăn đối với những người đam mê tiền điện tử thông thường. Bài viết này sẽ hệ thống lại lý thuyết và ứng dụng của ZKP, khám phá ảnh hưởng và giá trị của nó đối với ngành công nghiệp tiền điện tử, như một phần mở đầu cho một loạt bài viết.
Một, sự phát triển của zk-SNARK
Hệ thống chứng minh không kiến thức hiện đại bắt nguồn từ lý thuyết hệ thống chứng minh tương tác được Goldwasser, Micali và Rackoff đưa ra vào năm 1985. Lý thuyết này khám phá lượng kiến thức tối thiểu cần phải trao đổi để chứng minh tính đúng đắn của một tuyên bố qua nhiều vòng tương tác trong một hệ thống tương tác. Nếu có thể hoàn thành việc chứng minh mà không tiết lộ bất kỳ thông tin bổ sung nào, thì được gọi là zk-SNARK.
Hệ thống zk-SNARK giai đoạn đầu có hiệu suất và tính thực tiễn chưa đủ, chủ yếu chỉ dừng lại ở cấp độ lý thuyết. Trong mười năm qua, với việc ứng dụng rộng rãi mật mã trong lĩnh vực tiền điện tử, zk-SNARK dần trở thành một hướng nghiên cứu quan trọng. Trong đó, phát triển các giao thức zk-SNARK tổng quát, không tương tác và có kích thước bằng chứng nhỏ là một trong những mục tiêu then chốt.
Đột phá quan trọng của zk-SNARK là chứng minh không tương tác ngắn gọn được Groth đề xuất vào năm 2010, đặt nền tảng lý thuyết cho zk-SNARK. Năm 2015, dự án Zcash lần đầu tiên áp dụng zk-SNARK vào việc bảo vệ quyền riêng tư giao dịch, mở ra tiên phong cho sự kết hợp giữa zk-SNARK và hợp đồng thông minh.
Kể từ đó, một loạt các thành tựu học thuật đã liên tục thúc đẩy sự phát triển của zk-SNARK.
Năm 2013, giao thức Pinocchio đã nén thời gian chứng minh và xác minh.
Năm 2016, thuật toán Groth16 đã rút gọn kích thước chứng minh và nâng cao hiệu quả xác minh.
Năm 2017, Bulletproofs đã đề xuất chứng minh không tương tác zero-knowledge ngắn gọn.
Năm 2018, zk-STARKs đã thực hiện hệ thống chứng minh không cần thiết lập tin cậy.
Ngoài ra, các thuật toán mới như PLONK, Halo2 cũng đang liên tục cải thiện zk-SNARK.
Hai, ứng dụng chính của zk-SNARK
zk-SNARK hiện đang được áp dụng chủ yếu trong hai lĩnh vực bảo vệ quyền riêng tư và mở rộng.
( bảo vệ quyền riêng tư
Các dự án giao dịch riêng tư sớm như Zcash và Monero đã từng thu hút được nhiều sự chú ý, nhưng do nhu cầu thực tế không đạt như mong đợi, hiện tại đã lùi về vị trí thứ hai.
Lấy Zcash làm ví dụ, quy trình giao dịch zk-SNARKs của nó bao gồm: thiết lập hệ thống, tạo khóa, đúc tiền, giao dịch Pour, xác minh và nhận. Tuy nhiên, Zcash vẫn tồn tại một số hạn chế, chẳng hạn như khó mở rộng dựa trên mô hình UTXO, tỷ lệ sử dụng giao dịch riêng tư thực tế không cao.
Tornado Cash áp dụng thiết kế bể tiền mix lớn duy nhất, dựa trên mạng Ethereum, có tính năng đa dụng tốt hơn. Nó đảm bảo rằng chỉ có những đồng tiền đã gửi mới có thể được rút, và mỗi đồng tiền chỉ có thể được rút một lần, với các đặc điểm như quá trình chứng minh được liên kết với nullifier.
![HashKey ZK 101 Đợt 1: Nguyên lý lịch sử và ngành])https://img-cdn.gateio.im/webp-social/moments-59cd4697afb2ae3829099340f6f292ea.webp###
( mở rộng
Mở rộng ZK có thể được thực hiện trên mạng lớp một ) như Mina ### hoặc mạng lớp hai ( tức là ZK rollup ). ZK rollup chủ yếu bao gồm hai loại vai trò là Sequencer và Aggregator: Sequencer chịu trách nhiệm gói các giao dịch, Aggregator chịu trách nhiệm hợp nhất các giao dịch và tạo ra zk-SNARK để cập nhật cây trạng thái Ethereum.
Ưu điểm của ZK rollup nằm ở chi phí thấp, tính cuối cùng nhanh chóng và bảo vệ quyền riêng tư, nhưng cũng phải đối mặt với thách thức về khối lượng tính toán lớn và cần thiết lập đáng tin cậy. Hiện tại, các dự án ZK rollup chính bao gồm StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, mỗi dự án đều có trọng tâm riêng trong việc lựa chọn SNARK/STARK và khả năng tương thích EVM.
Tính tương thích EVM là một thách thức lớn mà các hệ thống ZK phải đối mặt. Một số dự án chọn phát triển máy ảo và ngôn ngữ lập trình chuyên dụng, trong khi những dự án khác lại tập trung vào việc đạt được sự tương thích hoàn toàn với Solidity. Sự tiến triển nhanh chóng về tính tương thích EVM gần đây đã cung cấp cho các nhà phát triển nhiều lựa chọn hơn.
Ba, Nguyên lý cơ bản của zk-SNARK
ZK-SNARK(zk-SNARK) là một trong những hệ thống chứng minh không tiết lộ được sử dụng rộng rãi nhất hiện nay. Nó có các đặc điểm sau:
zk-SNARK: không rò rỉ thông tin bổ sung
Đơn giản: kích thước xác minh nhỏ
Không 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 tính toán hạn chế không thể giả mạo chứng minh.
Kiến thức: Người chứng minh phải biết thông tin hợp lệ để xây dựng chứng minh
Quá trình chứng minh ZK-SNARK phiên bản Groth16 chủ yếu 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 sang 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
Quá trình này đã đặt nền tảng cho ứng dụng thực tế của zk-SNARK. Các bài viết tiếp theo sẽ khám phá thêm về nguyên lý, các trường hợp ứng dụng của zk-SNARK, cũng như so sánh với zk-STARK.
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.
15 thích
Phần thưởng
15
4
Chia sẻ
Bình luận
0/400
just_here_for_vibes
· 07-22 19:36
zkp đã trở nên hot nhiều vòng rồi
Xem bản gốcTrả lời0
RunWithRugs
· 07-21 01:12
Hái hiddenvault hái mệt rồi
Xem bản gốcTrả lời0
ZKProofster
· 07-21 01:11
nói một cách kỹ thuật, sự thanh lịch của snark vẫn không ai sánh kịp thật sự
Phân tích công nghệ zk-SNARK: Nguyên lý, ứng dụng và ảnh hưởng đến ngành
zk-SNARK: từ nguyên lý đến ứng dụng
Giới thiệu
Trong những năm gần đây, các dự án chứng minh không biết (zk-SNARK) trong ngành công nghiệp blockchain đã bùng nổ, đặc biệt là trong các ứng dụng mở rộng và bảo vệ quyền riêng tư. Tuy nhiên, do ZKP có đặc điểm toán học cao, việc hiểu sâu về nó có một chút khó khăn đối với những người đam mê tiền điện tử thông thường. Bài viết này sẽ hệ thống lại lý thuyết và ứng dụng của ZKP, khám phá ảnh hưởng và giá trị của nó đối với ngành công nghiệp tiền điện tử, như một phần mở đầu cho một loạt bài viết.
Một, sự phát triển của zk-SNARK
Hệ thống chứng minh không kiến thức hiện đại bắt nguồn từ lý thuyết hệ thống chứng minh tương tác được Goldwasser, Micali và Rackoff đưa ra vào năm 1985. Lý thuyết này khám phá lượng kiến thức tối thiểu cần phải trao đổi để chứng minh tính đúng đắn của một tuyên bố qua nhiều vòng tương tác trong một hệ thống tương tác. Nếu có thể hoàn thành việc chứng minh mà không tiết lộ bất kỳ thông tin bổ sung nào, thì được gọi là zk-SNARK.
Hệ thống zk-SNARK giai đoạn đầu có hiệu suất và tính thực tiễn chưa đủ, chủ yếu chỉ dừng lại ở cấp độ lý thuyết. Trong mười năm qua, với việc ứng dụng rộng rãi mật mã trong lĩnh vực tiền điện tử, zk-SNARK dần trở thành một hướng nghiên cứu quan trọng. Trong đó, phát triển các giao thức zk-SNARK tổng quát, không tương tác và có kích thước bằng chứng nhỏ là một trong những mục tiêu then chốt.
Đột phá quan trọng của zk-SNARK là chứng minh không tương tác ngắn gọn được Groth đề xuất vào năm 2010, đặt nền tảng lý thuyết cho zk-SNARK. Năm 2015, dự án Zcash lần đầu tiên áp dụng zk-SNARK vào việc bảo vệ quyền riêng tư giao dịch, mở ra tiên phong cho sự kết hợp giữa zk-SNARK và hợp đồng thông minh.
Kể từ đó, một loạt các thành tựu học thuật đã liên tục thúc đẩy sự phát triển của zk-SNARK.
Ngoài ra, các thuật toán mới như PLONK, Halo2 cũng đang liên tục cải thiện zk-SNARK.
Hai, ứng dụng chính của zk-SNARK
zk-SNARK hiện đang được áp dụng chủ yếu trong hai lĩnh vực bảo vệ quyền riêng tư và mở rộng.
( bảo vệ quyền riêng tư
Các dự án giao dịch riêng tư sớm như Zcash và Monero đã từng thu hút được nhiều sự chú ý, nhưng do nhu cầu thực tế không đạt như mong đợi, hiện tại đã lùi về vị trí thứ hai.
Lấy Zcash làm ví dụ, quy trình giao dịch zk-SNARKs của nó bao gồm: thiết lập hệ thống, tạo khóa, đúc tiền, giao dịch Pour, xác minh và nhận. Tuy nhiên, Zcash vẫn tồn tại một số hạn chế, chẳng hạn như khó mở rộng dựa trên mô hình UTXO, tỷ lệ sử dụng giao dịch riêng tư thực tế không cao.
Tornado Cash áp dụng thiết kế bể tiền mix lớn duy nhất, dựa trên mạng Ethereum, có tính năng đa dụng tốt hơn. Nó đảm bảo rằng chỉ có những đồng tiền đã gửi mới có thể được rút, và mỗi đồng tiền chỉ có thể được rút một lần, với các đặc điểm như quá trình chứng minh được liên kết với nullifier.
![HashKey ZK 101 Đợt 1: Nguyên lý lịch sử và ngành])https://img-cdn.gateio.im/webp-social/moments-59cd4697afb2ae3829099340f6f292ea.webp###
( mở rộng
Mở rộng ZK có thể được thực hiện trên mạng lớp một ) như Mina ### hoặc mạng lớp hai ( tức là ZK rollup ). ZK rollup chủ yếu bao gồm hai loại vai trò là Sequencer và Aggregator: Sequencer chịu trách nhiệm gói các giao dịch, Aggregator chịu trách nhiệm hợp nhất các giao dịch và tạo ra zk-SNARK để cập nhật cây trạng thái Ethereum.
Ưu điểm của ZK rollup nằm ở chi phí thấp, tính cuối cùng nhanh chóng và bảo vệ quyền riêng tư, nhưng cũng phải đối mặt với thách thức về khối lượng tính toán lớn và cần thiết lập đáng tin cậy. Hiện tại, các dự án ZK rollup chính bao gồm StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, mỗi dự án đều có trọng tâm riêng trong việc lựa chọn SNARK/STARK và khả năng tương thích EVM.
Tính tương thích EVM là một thách thức lớn mà các hệ thống ZK phải đối mặt. Một số dự án chọn phát triển máy ảo và ngôn ngữ lập trình chuyên dụng, trong khi những dự án khác lại tập trung vào việc đạt được sự tương thích hoàn toàn với Solidity. Sự tiến triển nhanh chóng về tính tương thích EVM gần đây đã cung cấp cho các nhà phát triển nhiều lựa chọn hơn.
Ba, Nguyên lý cơ bản của zk-SNARK
ZK-SNARK(zk-SNARK) là một trong những hệ thống chứng minh không tiết lộ được sử dụng rộng rãi nhất hiện nay. Nó có các đặc điểm sau:
Quá trình chứng minh ZK-SNARK phiên bản Groth16 chủ yếu bao gồm:
Quá trình này đã đặt nền tảng cho ứng dụng thực tế của zk-SNARK. Các bài viết tiếp theo sẽ khám phá thêm về nguyên lý, các trường hợp ứng dụng của zk-SNARK, cũng như so sánh với zk-STARK.