Tính ẩn danh luôn được coi là một trong những đặc điểm rất có giá trị của cộng đồng tiền điện tử. Nó là tiền thân của tính có thể thay thế được, một đặc điểm cũng cần thiết cho một dạng tiền được sử dụng rộng rãi. Tương tự như vậy, hầu hết chủ sở hữu tài sản tiền điện tử đều không muốn tài sản và hồ sơ giao dịch của họ bị tiết lộ đầy đủ. Trong số tất cả các công nghệ mã hóa khác nhau đang hoạt động để cung cấp quyền riêng tư cho chuỗi khối, zk-SNARK và zk-STARK là hai ví dụ đáng chú ý.
zk-SNARK đại diện cho một bằng chứng không có kiến thức không tương tác được đơn giản hóa, trong khi zk-STARK đại diện cho một bằng chứng không có kiến thức hoàn toàn minh bạch được đơn giản hóa. Zk-SNARK đã được sử dụng trên các hệ thống thanh toán dựa trên blockchain như các dự án Zcash, JP Morgan Chase và như một phương thức xác minh an toàn từ máy khách đến máy chủ. Nhưng trong khi zk-SNARK đã được thiết lập tốt và được sử dụng rộng rãi, zk-STARK hiện đang được quảng cáo là phiên bản mới và cải tiến của giao thức nhằm giải quyết nhiều thiếu sót trước đây của zk-SNARK.
1990, mật mã học Jean-Jacques Quisquater (và các cộng tác viên khác) đã đồng xuất bản một bài báo có tựa đề "Cách giải thích các giao thức chứng minh không có kiến thức cho trẻ em". Bài viết này giới thiệu khái niệm về bằng chứng không có kiến thức, kết hợp với câu chuyện ngụ ngôn về hang động của Alibaba. Truyện ngụ ngôn này đã được chuyển thể nhiều lần kể từ khi nó được tạo ra và hiện tại chúng tôi có một số phiên bản. Nhưng nội dung thể hiện về cơ bản là giống nhau.
Hãy tưởng tượng một hang động hình tròn có lối vào và một cánh cửa thần kỳ ngăn cách hai con đường. Để mở được cánh cửa thần kỳ, người ta cần thì thầm đúng bí mật. Vì vậy, hãy xem xét rằng Alice (màu vàng) muốn chứng minh cho Bob (màu xanh) rằng cô ấy biết mật khẩu là gì, nhưng đồng thời giữ bí mật mật khẩu. Để làm được điều này, Bob đồng ý đợi bên ngoài trong khi Alice vào hang và chọn một trong hai con đường đi đến cuối. Trong trường hợp này, cô quyết định đi theo con đường 1.
Sau một lúc, Bob bước tới lối vào và gọi xem anh ấy muốn Alice xuất hiện từ phía nào (trong trường hợp này là phải là đường dẫn 2).
Nếu Alice biết mật khẩu này, cô ấy sẽ có thể đi theo đúng đường dẫn mà Bob yêu cầu.
Quá trình này có thể được lặp lại nhiều lần để xác nhận rằng Alice đã không chọn đúng con đường nhờ may mắn.
Dụ ngôn hang động của Alibaba minh họa khái niệm bằng chứng không có kiến thức, là một phần của giao thức zk-SNARK và zk-STARK. Bằng chứng không có kiến thức có thể được sử dụng để chứng minh việc sở hữu một số kiến thức nhất định mà không tiết lộ bất kỳ thông tin nào về nó.
Zcash là zk-SNARK đầu tiên sử dụng rộng rãi. Trong khi các dự án về quyền riêng tư như Monero cũng sử dụng chữ ký vòng và các kỹ thuật khác tạo ra màn khói một cách hiệu quả để bảo vệ người gửi, zk-SNARK về cơ bản sẽ thay đổi cách 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 có thể được mã hóa nhưng vẫn có thể được xác minh tính hợp lệ thông qua việc sử dụng bằng chứng không có kiến thức. Do đó, những người thực thi các quy tắc đồng thuận không cần phải biết tất cả dữ liệu về mỗi giao dịch. Điều đáng nói là các tính năng bảo mật trong Zcash theo mặc định không hoạt động và là tùy chọn, tùy thuộc vào cài đặt thủ công.
Bằng chứng không có kiến thức cho phép một người chứng minh với người khác rằng những gì họ tuyên bố là đúng mà không tiết lộ bất kỳ thông tin nào ngoài giá trị của tuyên bố đó. Các bên liên quan thường được gọi là người chứng minh và người xác minh, và những bí mật mà họ nắm giữ được gọi là bằng chứng. Mục đích chính của các chức năng này là cho phép trao đổi dữ liệu giữa hai bên càng ít càng tốt. Nói cách khác, mọi người có thể sử dụng bằng chứng không có kiến thức để chứng minh rằng họ biết điều gì đó mà không tiết lộ bất kỳ thông tin nào về chính kiến thức đó.
Trong từ viết tắt SNARK, các chữ cái đầu tiên "ngắn gọn" có nghĩa là những bằng chứng này đơn giản và có thể được xác minh nhanh chóng. "Không tương tác" có nghĩa là có rất ít sự tương tác giữa người chứng minh và người xác minh. Các phiên bản cũ hơn của các giao thức chứng minh không có kiến thức thường yêu cầu người chứng minh và người xác minh giao tiếp với nhau và do đó được coi là bằng chứng không có kiến thức "tương tác". Nhưng trong cấu trúc “không tương tác”, người chứng minh và người kiểm chứng chỉ cần trao đổi các bằng chứng liên quan.
Hiện tại, bằng chứng zk-SNARK dựa vào thiết lập đáng tin cậy ban đầu giữa người chứng minh và người xác minh, có nghĩa là cần có một tập hợp các tham số công khai để xây dựng bằng chứng không có kiến thức và do đó là giao dịch riêng tư . Các thông số này gần giống như luật chơi, chúng được lập trình vào giao thức và là một trong những yếu tố cần thiết để chứng minh giao dịch là hợp lệ. Tuy nhiên, điều này tạo ra các vấn đề tiềm ẩn về tập trung hóa vì các tham số thường được đặt bởi một nhóm rất nhỏ.
Mặc dù cài đặt công khai ban đầu là cơ sở cho việc triển khai zk-SNARK ngày nay, nhưng các nhà nghiên cứu đang nỗ lực tìm kiếm các giải pháp thay thế giúp giảm độ tin cậy cần thiết trong quá trình tương tác. Giai đoạn thiết lập ban đầu rất quan trọng để ngăn chặn các khoản thanh toán giả mạo, vì nếu ai đó có quyền truy cập vào tính ngẫu nhiên của các tham số được tạo, họ có thể tạo bằng chứng giả mạo hợp lệ cho người xác thực. Trong Zcash, giai đoạn thiết lập ban đầu được gọi là quá trình tạo tham số.
Hãy nói lại về từ viết tắt "ARguments". zk-SNARK được coi là có khả năng tính toán hợp lý, điều đó có nghĩa là khả năng người chứng minh giả gian lận thành công hệ thống là rất nhỏ. Thuộc tính này được gọi là độ bền và giả sử rằng người chứng minh có khả năng tính toán hạn chế. Về lý thuyết, một người chứng minh có đủ sức mạnh tính toán có thể tạo ra bằng chứng giả mạo, đó là một trong những lý do tại sao máy tính lượng tử được nhiều người coi là mối đe dọa có thể xảy ra đối với zk-SNARK và hệ thống blockchain.
Chữ viết tắt cuối cùng là “Kiến thức”, có nghĩa là người chứng minh không thể xây dựng bằng chứng nếu không có kiến thức thực tế (hoặc nhân chứng) để hỗ trợ cho tuyên bố của mình.
Bằng chứng không có kiến thức có thể được xác minh nhanh chóng và thường chiếm ít dữ liệu hơn nhiều so với các giao dịch Bitcoin tiêu chuẩn. Điều này mở ra một con đường mới cho công nghệ zk-SNARK được sử dụng như một giải pháp ẩn danh và khả năng mở rộng.
zk-STARK được sử dụng làm zk - Được tạo ra như một phiên bản thay thế của giao thức SNARK, nó được coi là cách triển khai công nghệ nhanh hơn và thuận tiện hơn. Nhưng quan trọng hơn, zk-STARK không yêu cầu cài đặt tin cậy ban đầu (do đó chữ "T" tượng trưng cho tính minh bạch).
Về mặt kỹ thuật, Zk-STARK không yêu cầu khởi tạo cài đặt đáng tin cậy vì chúng dựa vào phương thức mã hóa đối xứng hợp lý hơn thông qua xung đột hàm băm. Cách tiếp cận này cũng loại bỏ các giả định về lý thuyết số của zk-SNARK, vốn tốn kém về mặt tính toán và về mặt 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 khiến Zk-STARK có thể cung cấp cách triển khai thuận tiện hơn và nhanh hơn là do lượng giao tiếp giữa người chứng minh và người xác minh vẫn không đổi so với bất kỳ sự gia tăng nào trong tính toán.thay đổi. Ngược lại, trong zk-SNARK, càng cần nhiều tính toán thì các bên càng phải gửi tin nhắn qua lại nhiều lần hơn. Do đó, kích thước dữ liệu tổng thể của zk-SNARK lớn hơn nhiều so với kích thước dữ liệu trong bằng chứng zk-STARK.
Rõ ràng là cả zk-SNARKS và zk-STARK ngày càng thu hút nhiều câu hỏi về tính ẩn danh. Trong thế giới tiền điện tử, các giao thức này có tiềm năng rất lớn để trở thành một phương pháp đột phá được sử dụng rộng rãi.