Giải thích về zk-SNARKs và zk-Starks
Trang chủ
Bài viết
Giải thích về zk-SNARKs và zk-Starks

Giải thích về zk-SNARKs và zk-Starks

Nâng cao
Đã đăng Feb 26, 2019Đã cập nhật Feb 22, 2024
6m
Đối với cộng đồng tiền điện tử, quyền riêng tư luôn được xem như là một tính năng quan trọng có giá trị. Nó là tiền thân của tính linh hoạt của tiền điện tử, một đặc điểm cần thiết để cho một loại hình tiền được sử dụng rộng rãi. Tương tự, hầu hết những holder sở hữu tài sản tiền điện tử không muốn các tài sản và lịch sử giao dịch của họ được công khai hoàn toàn. Trong số các kỹ thuật mã hóa cung cấp quyền riêng tư cho các blockchain, bằng chứng zk-SNARK và zk-STARK là hai ví dụ đáng chú ý.

zk-SNARK là viết tắt của “zero-knowledge succinct non-interactive argument of knowledge” (đối số tri thức không tương tác cô đọng), và zk-STARK là viết tắt của “zero-knowledge succinct transparent argument of knowledge” (đối số tri thức không minh bạch cô đọng). Bằng chứng Zk-SNARK đã được sử dụng trên Zcash, trên hệ thống thanh toán dựa trên blockchain của JPMorgan Chase, và đóng vai trò như một phương thức để xác thực kết nối an toàn từ máy khách tới máy chủ. Trong khi zk-SNARK đã có những bước tiến đáng kể để được thiết lập và chấp nhận, zk-STARK hiện đang được quảng cáo là phiên bản giao thức mới và cải tiến, giúp giải quyết nhiều nhược điểm trước đây của zk-SNARK.


Câu chuyện ngụ ngôn về hang động kho báu của Alibaba

Năm 1990, một bài báo với tựa đề "Làm thế nào để giải thích các giao thức Zero-Knowledge cho con của bạn" đã được xuất bản bởi nhà mật mã học Jean-Jacques Quisquater (cùng với các đồng sự khác). Bài viết giới thiệu khái niệm về bằng chứng ZK bằng một câu chuyện ngụ ngôn liên quan đến hang động kho báu của Alibaba. Kể từ khi được tạo ra, đến nay câu chuyện ngụ ngôn này đã có nhiều dị bản. Tuy nhiên, về cơ bản, nội dung truyền tải là giống nhau.

Chúng ta hãy tưởng tượng về một hang động với một lối vào duy nhất và có một ô cửa ma thuật ngăn thành hai đường hai bên. Để đi qua ô cửa ma thuật, người ta cần phải nói chính xác câu thần chú bí mật. Vì vậy, hãy xem xét trường hợp sau: Alice (màu vàng) muốn chứng minh với Bob (màu xanh) rằng cô ấy biết câu thần chú là gì trong khi vẫn giữ được bí mật của câu thần chú. Để làm được như vậy, Bob đồng ý đợi bên ngoài, trong khi Alice vào hang và đi bộ cho đến khi kết thúc một trong hai đường đi. Trong ví dụ này, cô quyết định đi trên Đường 1.

Sau một lúc, Bob đi qua lối vào và nói to lên rằng anh ta muốn Alice xuất hiện từ đường nào (trong trường hợp này là Đường 2).

Nếu Alice thực sự biết bí mật, cô ấy sẽ xuất hiện từ đường mà Bob gọi tên lên. 

Toàn bộ quá trình có thể được lặp đi lặp lại nhiều lần như là một cách để xác nhận rằng Alice chọn đúng đường không phải là do may mắn.

Truyện ngụ ngôn hang động châu báu của Alibaba minh họa khái niệm về bằng chứng zero-knowledge, một phần của giao thức zk-SNARK và zk-STARK. Bằng chứng ZK có thể được sử dụng để chứng minh một đối tượng có tri thức về một cái thứ nào đó mà không phải tiết lộ bất kỳ thông tin nào về nó.


zk-SNARKs

Zcash là ứng dụng đầu tiên được biết đến của zk-SNARK. Trong khi các dự án quyền riêng tư khác như Monero sử dụng chữ ký vòng và các kỹ thuật khác - qua đó tạo ra một màn khói xung quanh đối tượng gửi đi. Theo cách đó, zk-SNARKs thay đổi căn bản cách thức chia sẻ dữ liệu. Quyền riêng tư của Zcash bắt nguồn từ thực tế là các giao dịch trong mạng lưới có thể vẫn được mã hóa nhưng vẫn được xác minh là hợp lệ bằng cách sử dụng bằng chứng không tri thức. Vì vậy, những người đang thực thi các quy tắc đồng thuận không cần biết tất cả dữ liệu nằm bên dưới mỗi giao dịch. Điều đáng nói là các tính năng quyền riêng tư trong Zcash không được kích hoạt theo mặc định mà là tùy chọn và tùy thuộc vào cài đặt thủ công.

Bằng chứng không tri thức cho phép một cá nhân chứng minh cho đối tượng khác rằng một tuyên bố nào đó là đúng, mà không phải tiết lộ bất kỳ thông tin nào ngoài tính hợp lệ của tuyên bố đó. Các bên liên quan thường được gọi là bên chứng minh và bên xác minh, và tuyên bố họ giữ bí mật với nhau được gọi là bằng chứng. Mục tiêu chính của các bằng chứng này là tiết lộ càng ít dữ liệu càng tốt giữa hai bên. Nói cách khác, người ta có thể sử dụng bằng chứng không tri thức để chứng minh rằng họ có tri thức nhất định mà không tiết lộ bất kỳ thông tin nào về tri thức đó.

Trong các từ viết tắt của SNARK, từ “succinct” (cô đọng), có nghĩa là những bằng chứng này có kích thước nhỏ và có thể được xác minh nhanh chóng. “Non-interactive” (không tương tác), có nghĩa là có ít hoặc không có tương tác giữa bên chứng minh và bên xác minh. Các phiên bản cũ hơn của giao thức không kiến thức thường yêu cầu bên chứng minh và bên xác minh giao tiếp qua lại, và do đó, được coi là bằng chứng zk “Interactive”(Tương tác). Nhưng với cách xây dựng “non-interactive” (không tương tác), bên chứng minh và bên xác minh chỉ phải trao đổi một bằng chứng.

Hiện tại, bằng chứng zk-SNARK phụ thuộc vào thiết lập tin cậy ban đầu giữa bên chứng minh và bên xác minh, nghĩa là cần phải có một bộ tham số công khai để xây dựng bằng chứng không tri thức, và theo cách đó cho phép thực hiện các giao dịch riêng tư. Các tham số này đóng vai trò gần giống như là các quy tắc của trò chơi. Chúng được mã hóa vào giao thức và là một trong những yếu tố cần thiết để chứng minh một giao dịch là hợp lệ. Tuy nhiên, điều này làm phát sinh vấn đề tính tập trung bởi vì các tham số thường được tạo bởi một nhóm người nhỏ.

Mặc dù thiết lập công khai ban đầu là nền tảng cho việc triển khai zk-SNARK ngày nay, các nhà nghiên cứu đang nỗ lực tìm kiếm các giải pháp thay thế khác để giảm lượng tín thác cần có trong quy trình. Giai đoạn thiết lập ban đầu là rất quan trọng trong việc ngăn chặn gian lận chi khi có ai đó có quyền truy cập vào bộ sinh ngẫu nhiên, thứ đã tạo ra các tham số, và có thể tạo bằng chứng sai nhưng có vẻ hợp lệ đối với bên xác minh. Trong Zcash, giai đoạn thiết lập ban đầu được gọi là Lễ tạo thông số.
Tiếp đến là từ viết tắt “Argument” (đối số). zk-SNARKs được coi là có tính đúng đắn dựa trên sức  mạnh điện toán, có nghĩa là khả năng bên chứng minh đánh lừa hệ thống thành công là rất thấp. Đặc điểm này được gọi là tính đúng đắn với giả định rằng bên chứng minh có sức mạnh tính toán hạn chế. Về mặt lý thuyết, bên chứng minh khi có đủ sức mạnh tính toán có thể tạo ra bằng chứng giả. Và đây là một trong những lý do máy tính lượng tử được nhiều người coi là mối đe dọa đối với zk-SNARK và các hệ thống blockchain.

Mảnh ghép cuối cùng trọng cụm viết tắt là “Knowledge” (Tri thức), nghĩa là bên chứng minh không thể xây dựng một bằng chứng mà không thực sự có tri thức (hoặc nhân chứng) để hỗ trợ cho tuyên bố của mình.

Bằng chứng không tri thức có thể được kiểm chứng nhanh chóng và thường chiếm ít dữ liệu hơn nhiều so với tiêu chuẩn áp dụng cho giao dịch Bitcoin. Điều này giúp mở ra một cơ hội cho công nghệ zk-SNARK được sử dụng như một giải pháp bảo mật và mở rộng.


zk-Starks

zk-STARK đã được tạo ra như là một phiên bản thay thế của bằng chứng zk-SNARK và được coi là một phương thức triển khai công nghệ nhanh và rẻ hơn. Nhưng quan trọng hơn, zk-STARK không yêu cầu thiết lập tín thác ban đầu (do đó, “T” ở đây chính là minh bạch (transparent)).

Về mặt kỹ thuật, Zk-STARK không yêu cầu thiết lập tín thác ban đầu vì chúng dựa vào mật mã đối xứng hẹp thông qua các hàm băm chống xung đột. Theo đó, nó giúp loại bỏ được giả định rằng zk-SNARK là tốn kém và về mặt lý thuyết dễ bị tấn công bởi các máy tính lượng tử.

Một trong những lý do chính tại sao Zk-STARK cho phép triển khai nhanh hơn và rẻ hơn là vì số lượng vòng giao tiếp giữa bên chứng minh và bên xác minh là không đổi bất chấp sự tăng về sức mạnh tính toán. Ngược lại, trong zk-SNARK, càng cần nhiều sức mạnh tính toán, số lượng giao tiếp giữa các bên càng tăng. Do đó, kích thước dữ liệu tổng thể của zk-SNARK lớn hơn nhiều so với zk-STARK.

Liên quan đến quyền riêng tư, rõ ràng là cả zk-SNARK và zk-STARK đều thu hút sự quan tâm ngày càng tăng. Trong thế giới tiền điện tử, các giao thức này có tiềm năng lớn và có thể là một đột phá giúp tiền điện tử được áp dụng rộng khắp.
Chia sẻ bài đăng
Đăng ký tài khoản
Áp dụng kiến thức vào thực tế bằng cách mở tài khoản Binance ngay hôm nay.