Quyền riêng tư luôn được cộng đồng tiền mã hóa coi là một đặc điểm rất quý giá. Đây là tiền đề cho khả năng thay thế, điều cần thiết cho một hình thức tiền tệ được sử dụng rộng rãi. Hầu hết chủ sở hữu tài sản tiền mã hóa không muốn tiết kiệm và lịch sử giao dịch của họ hoàn toàn công khai. Trong số các phương pháp mật mã khác nhau nhằm đảm bảo quyền riêng tư cho các chuỗi khối, có hai ví dụ về các chứng minh đáng chú ý, đó là zk-SNARK và zk-STARK.

zk-SNARK có nghĩa là lập luận ngắn gọn không tương tác về kiến thức với không tiết lộ, trong khi zk-STARK là lập luận ngắn gọn trong suốt về kiến thức với không tiết lộ. Chứng minh Zk-SNARK đã được sử dụng trong Zcash, hệ thống thanh toán của JP Morgan Chase dựa trên blockchain, và như một cách để xác thực an toàn khách hàng trên các máy chủ. Nhưng trong khi zk-SNARK đã đạt được những thành công đáng kể, trong việc hình thành và thích nghi, zk-STARK hiện đang được quảng cáo như một phiên bản mới và cải tiến của giao thức, khắc phục nhiều thiếu sót trước đó của zk-SNARK.


Ngụ ngôn về Ali Baba và cái hang

Năm 1990, nhà mật mã học Jean-Jacques Quisquater (cùng với các đồng nghiệp khác) đã công bố một bài viết có tiêu đề “Làm thế nào để Giải thích các Giao thức Không tiết lộ cho trẻ em của bạn”. Trong bài viết giới thiệu khái niệm chứng minh ZK với ngụ ngôn về cái hang của Ali Baba. Kể từ khi được công bố, nó đã trải qua một số lần chỉnh sửa, và hiện có một số phiên bản của nó. Tuy nhiên, thông tin chính về cơ bản vẫn là như nhau.

Hãy tưởng tượng một cái hang hình tròn với một lối vào và một khung cửa bí ẩn, chia tách hai con đường bên. Để đi qua khung cửa ma thuật, bạn cần thì thầm những từ bí mật đúng. Vì vậy, hãy lưu ý rằng Alice (màu vàng) muốn chứng minh với Bob (màu xanh) rằng cô ấy biết các từ bí mật, và đồng thời muốn giữ chúng trong bí mật. Để làm điều này, Bob đồng ý đợi bên ngoài trong khi cô ấy vào cái hang và đi đến cuối một trong hai con đường có thể. Trong ví dụ này, cô ấy quyết định đi con đường 1.

Что такое zk-SNARKs и zk-STARKs?

Sau một lúc, Bob đi qua lối vào và hét lên, từ phía nào anh ấy muốn Alice xuất hiện (con đường 2 trong trường hợp này).

Что такое zk-SNARKs и zk-STARKs?

Nếu Alice thực sự biết bí mật, cô ấy chắc chắn sẽ xuất hiện ở con đường mà Bob đã chọn.

Что такое zk-SNARKs и zk-STARKs?

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

Ngụ ngôn về Ali Baba và cái hang minh họa khái niệm chứng minh không tiết lộ, một phần của các giao thức zk-SNARK và zk-STARK. Chứng minh ZK có thể được sử dụng để xác nhận quyền sở hữu những kiến thức nhất định mà không tiết lộ bất kỳ thông tin nào về chúng.


zk-SNARKs

Zcash là ứng dụng zk-SNARKs đầu tiên có sẵn rộng rãi. Trong khi các dự án bảo mật khác như Monero sử dụng chữ ký vòng và các phương pháp khác, hiệu quả tạo ra một lớp khói quanh việc ai đã gửi cái gì, thì zk-SNARKS thay đổi bản chất của cách dữ liệu được trao đổi. Quyền riêng tư của Zcash dựa trên thực tế rằng các giao dịch trong mạng có thể vẫn được mã hóa, nhưng vẫn có thể được xác minh tính xác thực thông qua chứng minh không tiết lộ. Do đó, những người áp dụng các quy tắc đồng thuận không cần phải sở hữu tất cả các dữ liệu nền tảng cho mỗi giao dịch. Cần lưu ý rằng chức năng quyền riêng tư trong Zcash không được kích hoạt theo mặc định, mà phụ thuộc vào cấu hình thủ công và là tùy chọn.

Chứng minh không tiết lộ cho phép một người chứng minh cho người khác rằng một tuyên bố là đúng mà không tiết lộ bất kỳ thông tin nào ngoài thực tế của tuyên bố đó. Các bên liên quan thường được gọi là kiểm tra và xác thực, và tuyên bố mà họ giữ bí mật được gọi là chứng nhân. Mục tiêu chính của những chứng minh 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, có thể sử dụng chứng minh không tiết lộ để xác nhận rằng họ sở hữu những kiến thức nhất định mà không tiết lộ bất kỳ thông tin nào khác.

Từ viết tắt SNARK “nén” có nghĩa là các chứng minh này nhỏ hơn về kích thước và có thể được kiểm tra nhanh chóng. “Không tương tác” có nghĩa là tương tác giữa prover và verifier gần như không có. Các phiên bản cũ hơn của các giao thức không tiết lộ thường yêu cầu kiểm tra và xác thực liên lạc với nhau và do đó được coi là chứng minh zk “tương tác”. Nhưng trong các cấu trúc “không tương tác”, kiểm tra và xác thực chỉ cần trao đổi một chứng minh.

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

Mặc dù thiết lập công khai ban đầu là cơ sở cho các triển khai zk-SNARK hiện đại, các nhà nghiên cứu đang làm việc để tìm kiếm các lựa chọn thay thế khác như một cách để giảm mức độ tin cậy cần thiết trong quá trình này. Giai đoạn thiết lập ban đầu rất quan trọng để ngăn chặn các chi phí giả mạo, vì nếu ai đó có quyền truy cập vào ngẫu nhiên, tạo ra các tham số, họ có thể tạo ra các chứng minh giả mà có vẻ hợp lệ với verifier. Trong Zcash, giai đoạn thiết lập ban đầu được gọi là Lễ Tạo Tham số.

Chuyển sang “ARguments” như một phần của từ viết tắt. zk-SNARKs được coi là có cơ sở tính toán, có nghĩa là các kiểm tra gian lận có rất ít khả năng thành công trong việc lừa dối hệ thống. Tính chất này được gọi là độ bền và giả định rằng kiểm tra có công suất tính toán hạn chế. Về lý thuyết, một kiểm tra với đủ công suất tính toán có thể tạo ra chứng minh giả, và đó là một trong những lý do mà 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.

Phần cuối cùng của từ viết tắt này là “Kiến thức” (Knowledge), có nghĩa là kiểm tra không thể tạo ra chứng minh mà không có kiến thức (hoặc chứng nhân) xác nhận tuyên bố của họ.

Chứng minh không tiết lộ nhanh chóng được kiểm tra và thường chiếm ít dữ liệu hơn nhiều so với giao dịch Bitcoin tiêu chuẩn. Điều này mở đường cho việc sử dụng công nghệ zk-SNARK như một giải pháp cho quyền riêng tư và khả năng mở rộng.


zk-STARKs

zk-STARK được tạo ra như một phiên bản thay thế của zk-SNARK và được coi là một triển khai công nghệ nhanh hơn và rẻ hơn. Nhưng điều quan trọng hơn, zk-STARK không yêu cầu thiết lập tin cậy ban đầu (do đó, 'T' trong transparent - trong suốt).

Về mặt kỹ thuật, Zk-STARK không yêu cầu thiết lập tin cậy ban đầu, vì nó dựa vào mật mã đối xứng đơn giản hơn nhờ vào các hàm băm của nó, có khả năng chống va chạm. Cách tiếp cận này cũng loại bỏ các giả định lý thuyết số của zk-SNARK, mà tính toán tốn kém và lý thuyết dễ bị tấn công bởi máy tính lượng tử.

Một trong những lý do chính mà Zk-STARK cung cấp triển khai rẻ hơn và nhanh hơn là số lượng vòng trao đổi dữ liệu giữa kiểm tra và xác thực vẫn duy trì không đổi, tương đối với bất kỳ sự gia tăng nào trong tính toán. Ngược lại, trong zk-SNARKs, càng nhiều tính toán được yêu cầu, càng nhiều bên phải gửi tin nhắn qua lại. Do đó, tổng kích thước dữ liệu trong zk-SNARK lớn hơn nhiều so với zk-STARK.

Rõ ràng là cả zk-SNARKS và zk-STARKs đều phản ánh mối quan ngại ngày càng tăng về quyền riêng tư. 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ể trở thành đổi mới cần thiết cho việc áp dụng đại trà.