Nguồn: Cộng đồng Linkedin
zk-SNARK và zk-STARK là gì? Cả hai đều là bằng chứng không có kiến thức, nhưng chúng có đặc tính gì và so sánh với nhau như thế nào.
Bằng chứng không có kiến thức (ZKP) là các giao thức mật mã cho phép một bên (người chứng minh) thuyết phục một bên khác (người xác minh) rằng một tuyên bố nhất định là đúng mà không tiết lộ bất kỳ thông tin nào ngoài tính hợp lệ của bản thân tuyên bố có thật. ZKP là một công nghệ mang tính cách mạng cho hệ sinh thái blockchain, cho phép khả năng mở rộng blockchain thông qua giải pháp lớp thứ hai và xây dựng các ứng dụng bảo vệ quyền riêng tư. Hai loại ZKP nổi bật nhất là zk-SNARK và zk-STARK, mỗi loại có các tính năng và trường hợp sử dụng khác nhau.
Trong bài viết này, chúng ta sẽ thảo luận về zk-SNARK và zk-STARK, các tính năng chính của chúng và cách so sánh chúng.
Điều kiện tiên quyết
Hiểu ZKP: Bạn cần biết mạch, ràng buộc, nhân chứng, người xác minh và người chứng minh là gì.
Zk-SNARK (Đối số kiến thức không tương tác ngắn gọn) là gì
Zk-SNARK là một phạm vi rộng Lớp hệ thống ZKP không tương tác, nghĩa là không có giao tiếp qua lại giữa người chứng minh và người xác minh sau khi bằng chứng ban đầu được tạo ra. Chúng được biết đến với tính hiệu quả, cung cấp kích thước bằng chứng ngắn và thời gian xác minh nhanh, không đổi bất kể mức độ phức tạp.
Các tính năng chính của zk-SNARK
Cài đặt đáng tin cậy: SNARK yêu cầu một nền tảng đáng tin cậy giai đoạn thiết lập của chữ cái, trong đó một bộ tham số ban đầu được tạo ra, thường được gọi là Chuỗi tham chiếu có cấu trúc (SRS). Giai đoạn thiết lập này sử dụng một bí mật mà nếu bị lộ sẽ phá vỡ 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 này. Dữ liệu thiết lập này thường được gọi là "chất thải độc hại". Thiết lập đáng tin cậy thường bị coi là bất lợi vì chúng tiềm ẩn các vấn đề về tin cậy: người dùng phải tin tưởng rằng thiết lập đã được thực hiện chính xác và bí mật đã bị hủy sau đó.
Mật mã đường cong elip (ECC): Nhiều cấu trúc SNARK dựa vào mật mã đường cong elip, tùy thuộc vào độ khó của bài toán logarit rời rạc (DLP). Mặc dù điều này mang lại khả năng bảo mật mạnh mẽ trước các máy tính cổ điển nhưng nó khiến SNARK có khả năng dễ bị tấn công bởi các máy tính lượng tử trong tương lai, vốn có thể giải quyết DLP một cách hiệu quả.
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 đáng tin cậy của một 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. Nó thường được sử dụng trong các dự án blockchain như Zcash do kích thước bằng chứng nhỏ gọn của nó.
PLONK (Đối số hoán vị dựa trên cơ sở Lagrange của đối số kiến thức không tương tác phổ quát): PLONK là một giao thức SNARK linh hoạt hơn, Việc sử dụng một phổ quát và SRS có thể cập nhật nghĩa là nó có thể được sử dụng trong bất kỳ mạch nào và có thể được sửa đổi để hỗ trợ các mạch lớn hơn. Không giống như Groth16, cài đặt của PLONK không dành riêng cho bất kỳ mạch cụ thể nào và có thể được sử dụng lại cho nhiều mạch. Điều này làm giảm nhu cầu lặp lại các thiết lập đáng tin cậy và giúp việc thêm các chương trình hoặc mạch mới dễ dàng hơn mà không cần phải thực hiện lại toàn bộ quá trình thiết lập.
Các tính năng của zk-SNARK
Kích thước bằng chứng >: Nhỏ gọn, giúp SNARK phù hợp với các ứng dụng có băng thông và dung lượng lưu trữ hạn chế.
An ninh hậu lượng tử: Bị hạn chế do phụ thuộc vào ECC. SNARK không kháng lượng tử vì một máy tính lượng tử đủ mạnh có thể giải được DLP.
Cài đặt đáng tin cậy: Điều này là bắt buộc (trong hầu hết các SNARK). Giai đoạn thiết lập đưa ra giả định về sự tin cậy có thể tạo ra rủi ro bảo mật tiềm ẩn nếu không được quản lý đúng cách.
Khả năng 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ù nhu cầu thiết lập đáng tin cậy có thể thực hiện được trong môi trường rất năng động là một hạn chế .
Zk-STARK (Đối số kiến thức minh bạch có thể mở rộng) là gì
Zk-STARKs là một loại ZKP khác được thiết kế để giải quyết các vấn đề của zk-SNARK thiếu sót. Chúng được thiết kế để có thể mở rộng và "minh bạch", 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-STARK sử dụng hàm băm và tính ngẫu nhiên được biết đến rộng rãi để xây dựng bằng chứng, giúp 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-STARK
Cài đặt minh bạch: STARK không dựa vào tham số bí mật. Thay vào đó, bằng chứng của chúng được tạo ra bằng cách sử dụng tính ngẫu nhiên mở, có nghĩa là chúng không có "chất thải độc hại" có thể phá vỡ hệ thống và không yêu cầu thiết lập đáng tin cậy.
Bảo mật dựa trên hàm băm: STARK dựa vào các hàm băm, chẳng hạn như SHA-256, thay vì mật mã đường cong elip. Điều này làm cho chúng có khả năng chống lại các cuộc tấn công lượng tử, vì các hàm băm được coi là an toàn trước máy tính lượng tử theo các giả định về mật mã hiện tại.
Đặc điểm của STARK
Kích thước bằng chứng: Bằng chứng STARK có thể lớn hơn nhiều lần so với bằng chứng SNARK, điều này làm tăng thời gian xác minh và gây bất lợi trong môi trường có băng thông hoặc bộ nhớ hạn chế. Điều này là do tính minh bạch của chúng, việc sử dụng các lời hứa đa thức và cách tiếp cận khả năng mở rộng.
An ninh hậu lượng tử: Mạnh mẽ. Vì STARK sử dụng hàm băm thay vì mật mã đường cong elip nên chúng ít bị tấn công lượng tử hơn theo các giả định mật mã hiện tại.
Cài đặt đáng tin cậy: Không bắt buộc. STARK sử dụng thiết lập minh bạch, giúp loại bỏ nhu cầu tin cậy trong giai đoạn thiết lập và tăng cường bảo mật.
Khả năng mở rộng: Khả năng mở rộng cao, đặc biệt đối với các phép tính lớn, chúng cho thấy những lợi thế về hiệu suất rõ ràng hơn khi độ phức tạp tăng lên. Vì không cần thiết lập đáng tin cậy nên chúng linh hoạt hơn vì không cần thực hiện lại thiết lập cho mỗi ứng dụng hoặc trường hợp sử dụng mới.
So sánh zk-SNARK và zk-STARK
Tóm tắt h2>
Zk-SNARKs là một hệ thống chứng minh không có kiến thức. Chúng cung cấp kích thước bằng chứng hiệu quả và thời gian xác minh nhanh, nhưng yêu cầu thiết lập đáng tin cậy và sử dụng mã hóa đường cong elip, khiến chúng dễ bị tấn công lượng tử.
Zk-STARK không yêu cầu cài đặt đáng tin cậy. Thay vào đó, họ dựa vào các hàm băm để bảo mật (làm cho chúng có khả năng kháng lượng tử) và có khả năng mở rộng cao hơn cho các phép tính lớn. Tuy nhiên, kích thước chứng minh của chúng lớn hơn và việc xác minh chậm hơn đối với các tính toán nhỏ hơn.
Hai ZKP chính này rất quan trọng trong việc xây dựng giao thức ZK trong hệ sinh thái blockchain, cho phép khả năng mở rộng blockchain thông qua các giải pháp lớp 2 và xây dựng các ứng dụng bảo vệ quyền riêng tư.