Có hai loại bằng chứng không có kiến thức (zk) phổ biến, đôi khi còn được gọi là giao thức zk – SNARK và STARK. Bằng chứng không có kiến thức là một phương pháp xác minh bằng 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ố đã cho 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ế là tuyên bố đó thực sự là đúng. true.
zk-STARK là viết tắt của “đối số minh bạch về kiến thức có thể mở rộng không có kiến thức. ” zk-STARK được hình thành bởi Eli-Ben Sasson, giáo sư tại Viện Công nghệ Technion-Israel. Không giống như 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, 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ã gọn gàng 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ề mặt 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 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 đắt hơn và có thể gây ra những hạn chế khi sử dụng công nghệ để gửi tiền điện tử và các ứng dụng khác qua mạng.
Các trường hợp sử dụng phổ biến cho bằng chứng không có kiến thức là khi cả quyền riêng tư và bảo mật đều cần thiết. Một ví dụ là 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 bạn phải chứng minh danh tính và quyền truy cập vào các nền tảng đó. Điều này thường yêu cầu cung cấp thông tin cá nhân như tên, email, ngày sinh, v.v.
Bằng chứng không có kiến thức có thể đơn giản hóa việc xác thực cho cả nền tảng và người dùng. Khi bằng chứng zk đã được tạo bằng cách sử dụng đầu vào công khai (dữ liệu xác nhận tư cách thành viên của nền tảng) và đầu vào riêng tư (chi tiết về 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 họ cần truy cập dịch vụ. Điều này 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 nghĩa vụ lưu trữ lượng thông tin cá nhân khổng lồ.