zk-SNARKs và zk-STARKs là gì? Chúng đều là Bằng chứng không kiến thức, nhưng đặc điểm của chúng là gì, và chúng được so sánh như thế nào với nhau.
Bằng chứng không kiến thức(ZKP)là mã hóa giao thức, cho phép một bên (chứng minh viên) thuyết phục bên kia (Người xác thực) rằng một tuyên bố nào đó là đúng mà không cần tiết lộ bất kỳ thông tin nào vượt quá tính hợp lệ của tuyên bố đó. ZKP là công nghệ cách mạng trong hệ sinh thái blockchain, có thể giải quyết vấn đề mở rộng của blockchain thông qua các giải pháp lớp 2 và xây dựng ứng dụng bảo vệ quyền riêng tư. Hai loại ZKP nổi bật nhất là zk-SNARKs và zk-STARKs, mỗi loại đều có đặc điểm và trường hợp sử dụng khác nhau.
Trong bài viết này, chúng tôi sẽ thảo luận về zk-SNARKs và zk-STARKs, các đặc điểm chính của chúng, và so sánh giữa chúng.
Điều kiện tiên quyết
Hiểu ZKPs: Bạn cần biết mạch, ràng buộc, bằng chứng, Người xác thực và chứng minh viên là gì.
zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) là gì
Zk-SNARKs là một loại hệ thống ZKP phổ biến, chúng là không tương tác, điều này có nghĩa là sau khi chứng minh ban đầu được tạo ra, không có sự giao tiếp qua lại giữa người chứng minh và Người xác thực. Chúng được biết đến với hiệu suất cao, cung cấp kích thước chứng minh nhỏ gọn và thời gian xác minh nhanh chóng, mà không thay đổi bất kỳ độ phức tạp nào.
Tính năng quan trọng của zk-SNARKs
Thiết lập đáng tin cậy: SNARK yêu cầu giai đoạn thiết lập đáng tin cậy trong đó một tập hợp các tham số ban đầu, thường được gọi là Chuỗi tham chiếu có cấu trúc (SRS), được tạo. Giai đoạn thiết lập này sử dụng một bí mật, nếu bị lộ, sẽ ảnh hưởng đến tính bảo mật của tất cả các bằng chứng tiếp theo được tạo bằng cách sử dụng thiết lập đó. Dữ liệu thiết lập này thường được gọi là "chất thải độc hại". Cài đặt đáng tin cậy thường được coi là một nhược điểm, vì chúng gây ra vấn đề tin cậy tiềm ẩn: người dùng phải tin tưởng rằng các cài đặt được thực hiện chính xác và bí mật sẽ bị phá hủy sau đó.
Mật mã đường cong Elliptic(ECC):Many SNARK constructions rely on Mật mã đường cong Elliptic, which depends on the difficulty of the Discrete Logarithm Problem (DLP). While this provides strong security for classical computers, it makes SNARKs vulnerable to future Máy tính lượng tử attacks, as Máy tính lượng tử can efficiently solve the DLP.
Giao thức zk-SNARK phổ biến
Groth16:Groth16 là một trong những giao thức SNARK được sử dụng rộng rãi nhất. Nó yêu cầu thiết lập tin cậy cho mạch cụ thể và rất hiệu quả, tạo ra các bằng chứng rất nhỏ và thời gian xác minh nhanh chóng. Do kích thước chứng minh gọn nhẹ của nó, nó thường được sử dụng trong các dự án Blockchain như Zcash.
PLONK(dựa trên chứng minh thay thế tri thức phi tương tác phổ quát dựa trên cơ sở Lagrange): PLONK là một giao thức SNARK linh hoạt hơn, sử dụng SRS phổ quát và có thể cập nhật, điều này có nghĩa là nó có thể được sử dụng cho bất kỳ mạch nào và có thể được điều chỉnh để hỗ trợ mạch lớn hơn. Khác với Groth16, cài đặt của PLONK không phụ thuộc vào bất kỳ mạch cụ thể nào, có thể tái sử dụng cho nhiều mạch. Điều này giảm thiểu nhu cầu cài đặt tin cậy lặp lại và giúp thêm các chương trình hoặc mạch mới một cách dễ dàng mà không cần phải thiết lập lại toàn bộ.
Tính năng của zk-SNARKs
Chứng minh kích thước: Nhỏ, điều này làm cho SNARKs phù hợp với ứng dụng có băng thông và bộ nhớ hạn chế.
An ninh sau lượng tử: Hạn chế, do dựa vào ECC. ARKS không phải là chống lại lượng tử, vì máy tính lượng tử mạnh có thể giải quyết DLP.
Cài đặt đáng tin cậy:Điều này là bắt buộc( trong hầu hết các SNARKs )。Giai đoạn thiết lập giả định về sự tin cậy, nếu quản lý không đúng cách, có thể mang lại nguy cơ an ninh tiềm ẩn.
Mở rộng:Rất hiệu quả đối với các ứng dụng yêu cầu bằng chứng nhỏ gọn và xác minh nhanh, mặc dù việc cấu hình đáng tin cậy trong môi trường động cao có thể là một hạn chế.
zk-STARK (Chứng minh tri thức minh bạch mở rộng) là gì?
Zk-STARKs là một loại ZKP khác nhằm giải quyết những thiếu sót của zk-SNARKs. Chúng được thiết kế để có thể mở rộng và "minh bạch", có nghĩa là chúng không yêu cầu giai đoạn thiết lập đáng tin cậy. Thay vào đó, zk-STARKs sử dụng hàm Hàm băm và tính ngẫu nhiên được biết đến công khai để xây dựng các bằng chứng, tăng cường tính bảo mật và khả năng mở rộng của chúng.
Các tính năng chính của zk-STARKs
Cài đặt trong suốt: STARKs không phụ thuộc vào các tham số bí mật. Thay vào đó, chứng minh của chúng được tạo ra bằng cách sử dụng ngẫu nhiên công khai, điều này có nghĩa là chúng không thể phá hoại hệ thống bằng "rác độc hại" và không cần cài đặt đáng tin cậy.
Độ an toàn dựa trên Hàm băm: STARKs phụ thuộc vào hàm băm như SHA-256 thay vì Mật mã đường cong Elliptic. Điều này làm cho chúng chống lại các cuộc tấn công lượng tử, bởi vì trong giả thiết mã hóa hiện tại, hàm băm được coi là an toàn trước Máy tính lượng tử.
Đặc điểm của STARKs
Chứng minh kích thước: Chứng minh STARK có thể lớn hơn một vài lần so với chứng minh SNARK, điều này làm tăng thời gian xác thực và là một nhược điểm trong môi trường có băng thông hoặc lưu trữ hạn chế. Điều này là do tính minh bạch, việc sử dụng cam kết đa thức và cách thực hiện khả năng mở rộng.
后量子安全性:强。由于 STARKs 使用Hàm băm函数而不是Mật mã đường cong Elliptic,它们在当前的mã hóa假设下不易受到量子攻击。
Cài đặt đáng tin cậy: Không cần thiết. STARKs sử dụng cài đặt trong suốt, loại bỏ nhu cầu tin cậy trong giai đoạn thiết lập, tăng cường tính bảo mật.
Khả năng mở rộng : Có thể mở rộng cao, đặc biệt là đối với các tính toán lớn, chúng thể hiện lợi thế về hiệu suất rõ ràng hơn khi phức tạp hóa. Do không cần cài đặt đáng tin cậy, chúng linh hoạt hơn vì cài đặt không cần phải được thực hiện lại cho mỗi ứng dụng hoặc trường hợp sử dụng mới.
So sánh giữa zk-SNARKs và zk-STARKs
Tổng kết
Zk-SNARKs là Hệ thống chứng cứ không kiến thức. Chúng cung cấp kích thước chứng minh hiệu quả và thời gian xác minh nhanh chóng, nhưng yêu cầu cài đặt đáng tin cậy và sử dụng mã hóa đường cong Elliptic, làm cho chúng dễ bị tấn công bởi các tấn công của lượng tử.
Zk-STARKs không cần thiết thiết lập đáng tin cậy. Thay vào đó, chúng phụ thuộc vào hàm băm để đảm bảo an toàn (với tính chống lại lượng tử) và có tính mở rộng tốt đối với các tính toán lớn. Tuy nhiên, kích thước chứng minh của chúng lớn và tốc độ xác thực tính toán nhỏ hơn.
Hai loại chính ZKP là cực kỳ quan trọng cho việc xây dựng giao thức ZK trong hệ sinh thái blockchain, giúp đạt được tính mở rộng của blockchain thông qua các giải pháp lớp hai và xây dựng ứng dụng bảo vệ quyền riêng tư.
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.
So sánh toàn diện: zk-SNARKs và zk-STARKs là gì?
Nguồn: Cộng đồng Chuỗi Khối
zk-SNARKs và zk-STARKs là gì? Chúng đều là Bằng chứng không kiến thức, nhưng đặc điểm của chúng là gì, và chúng được so sánh như thế nào với nhau.
Bằng chứng không kiến thức(ZKP)là mã hóa giao thức, cho phép một bên (chứng minh viên) thuyết phục bên kia (Người xác thực) rằng một tuyên bố nào đó là đúng mà không cần tiết lộ bất kỳ thông tin nào vượt quá tính hợp lệ của tuyên bố đó. ZKP là công nghệ cách mạng trong hệ sinh thái blockchain, có thể giải quyết vấn đề mở rộng của blockchain thông qua các giải pháp lớp 2 và xây dựng ứng dụng bảo vệ quyền riêng tư. Hai loại ZKP nổi bật nhất là zk-SNARKs và zk-STARKs, mỗi loại đều có đặc điểm và trường hợp sử dụng khác nhau.
Trong bài viết này, chúng tôi sẽ thảo luận về zk-SNARKs và zk-STARKs, các đặc điểm chính của chúng, và so sánh giữa chúng.
Điều kiện tiên quyết
Hiểu ZKPs: Bạn cần biết mạch, ràng buộc, bằng chứng, Người xác thực và chứng minh viên là gì.
zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) là gì
Zk-SNARKs là một loại hệ thống ZKP phổ biến, chúng là không tương tác, điều này có nghĩa là sau khi chứng minh ban đầu được tạo ra, không có sự giao tiếp qua lại giữa người chứng minh và Người xác thực. Chúng được biết đến với hiệu suất cao, cung cấp kích thước chứng minh nhỏ gọn và thời gian xác minh nhanh chóng, mà không thay đổi bất kỳ độ phức tạp nào.
Tính năng quan trọng của zk-SNARKs
Thiết lập đáng tin cậy: SNARK yêu cầu giai đoạn thiết lập đáng tin cậy trong đó một tập hợp các tham số ban đầu, thường được gọi là Chuỗi tham chiếu có cấu trúc (SRS), được tạo. Giai đoạn thiết lập này sử dụng một bí mật, nếu bị lộ, sẽ ảnh hưởng đến tính bảo mật của tất cả các bằng chứng tiếp theo được tạo bằng cách sử dụng thiết lập đó. Dữ liệu thiết lập này thường được gọi là "chất thải độc hại". Cài đặt đáng tin cậy thường được coi là một nhược điểm, vì chúng gây ra vấn đề tin cậy tiềm ẩn: người dùng phải tin tưởng rằng các cài đặt được thực hiện chính xác và bí mật sẽ bị phá hủy sau đó.
Giao thức zk-SNARK phổ biến
Tính năng của zk-SNARKs
zk-STARK (Chứng minh tri thức minh bạch mở rộng) là gì?
Zk-STARKs là một loại ZKP khác nhằm giải quyết những thiếu sót của zk-SNARKs. Chúng được thiết kế để có thể mở rộng và "minh bạch", có nghĩa là chúng không yêu cầu giai đoạn thiết lập đáng tin cậy. Thay vào đó, zk-STARKs sử dụng hàm Hàm băm và tính ngẫu nhiên được biết đến công khai để xây dựng các bằng chứng, tăng cường tính bảo mật và khả năng mở rộng của chúng.
Các tính năng chính của zk-STARKs
Đặc điểm của STARKs
So sánh giữa zk-SNARKs và zk-STARKs
Tổng kết
Zk-SNARKs là Hệ thống chứng cứ không kiến thức. Chúng cung cấp kích thước chứng minh hiệu quả và thời gian xác minh nhanh chóng, nhưng yêu cầu cài đặt đáng tin cậy và sử dụng mã hóa đường cong Elliptic, làm cho chúng dễ bị tấn công bởi các tấn công của lượng tử.
Zk-STARKs không cần thiết thiết lập đáng tin cậy. Thay vào đó, chúng phụ thuộc vào hàm băm để đảm bảo an toàn (với tính chống lại lượng tử) và có tính mở rộng tốt đối với các tính toán lớn. Tuy nhiên, kích thước chứng minh của chúng lớn và tốc độ xác thực tính toán nhỏ hơn.
Hai loại chính ZKP là cực kỳ quan trọng cho việc xây dựng giao thức ZK trong hệ sinh thái blockchain, giúp đạt được tính mở rộng của blockchain thông qua các giải pháp lớp hai và xây dựng ứng dụng bảo vệ quyền riêng tư.