Các zk-SNARK

Nâng cao
Có hai loại bằng chứng zero-knowledge (zk) phổ biến, đôi khi còn được gọi là giao thức zk – SNARK và STARK. Bằng chứng Zero-knowledge là một phương pháp xác minh mật mã theo đó một bên (người chứng minh) có thể chứng minh cho bên kia (người xác minh) rằng một tuyên bố là đúng mà không cần cung cấp bất kỳ thông tin hỗ trợ nào ngoài thực tế tuyên bố đó thực sự đúng.
Zk-STARK là viết tắt của zero-knowledge scalable transparent argument of knowledge (đối số kiến thức minh bạch có thể mở rộng bằng không tri thức). zk-STARK được tạo ra bởi Eli-Ben Sasson, giáo sư tại Viện Công nghệ Technion-Israel. Không giống như các zk-SNARK phụ thuộc 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ác zk-STARK không yêu cầu thiết lập đáng tin cậy ban đầu vì chúng dựa vào mật mã tinh gọn hơn thông qua các hàm băm chống va chạ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 tiền về mặt tính toán và về mặt lý thuyết có thể dễ bị máy tính lượng tử tấn công .
Nói một cách đơn giản, bằng chứng zk-STARK trình bày một cấu trúc đơn giản hơn về mặt giả định mật mã. Tuy nhiên, điều này đi kèm với một nhược điểm đáng kể: chúng có kích thước bằng chứng lớn, thường lớn hơn zk-SNARK từ 10 đến 100 lần. Sự khác biệt về kích thước dữ liệu như vậy khiến chúng trở nên đắt đỏ hơn và có thể gây ra những hạn chế khi sử dụng công nghệ này để gửi qua mạng với tiền mã hóa và các ứng dụng khác.

Các trường hợp sử dụng phổ biến cho bằng chứng zero-knowledge là các trường hợp mà cả quyền riêng tư và bảo mật đều cần thiết. Một ví dụ là việc xác thực danh tính. Việc sử dụng một số dịch vụ trực tuyến nhất định yêu cầu chứng minh danh tính của bạn và quyền truy cập các nền tảng đó. Điều này thường yêu cầu người dùng cung cấp thông tin cá nhân như tên, email, ngày sinh, v.v.

Bằng chứng zero-knowledge có thể đơn giản hóa việc xác thực cho cả các nền tảng và người dùng. Khi một bằng chứng zk đã được tạo bằng đầu vào công khai (dữ liệu xác nhận tư cách thành viên của người dùng trong nền tảng) và đầu vào riêng tư (chi tiết của người dùng), người dùng có thể chỉ cần xuất trình nó để xác thực danh tính của họ bất cứ khi nào cần truy cập dịch vụ. Điều này giúp cải thiện trải nghiệm cho người dùng và giải phóng các tổ chức khỏi nhiệm vụ lưu trữ lượng thông tin cá nhân khổng lồ.