Zero-Knowledge Proofs: ZK-SNARK vs ZK-STARK — So sánh và ứng dụng blockchain

Zero-Knowledge Proofs: ZK-SNARK vs ZK-STARK — So sánh và ứng dụng blockchain

Zero-Knowledge Proofs (ZKP) cho phép một bên chứng minh họ biết một bí mật mà không tiết lộ bí mật đó. Công nghệ này đang là xương sống của sự mở rộng quy mô blockchain và bảo mật dữ liệu riêng tư.

Hai kỹ thuật ZKP phổ biến nhất là ZK-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) và ZK-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge). Cả hai đều đạt được tính zero-knowledge nhưng khác biệt về thiết kế, trade-offs và ứng dụng thực tế.

Minh họa ví dụ Ali Baba cave cho Zero-Knowledge Proof: Peggy vào hang đường A hoặc B trong khi Victor đợi bên ngoài từ Wikipedia

Ví dụ kinh điển để hiểu ZKP là bài toán Ali Baba cave. Peggy muốn chứng minh mình biết mật khẩu mở cửa bí mật trong hang mà không tiết lộ mật khẩu. Victor (người xác thực) yêu cầu Peggy ra từ một lối ngẫu nhiên. Nếu Peggy biết mật khẩu, cô luôn xuất hiện đúng lối Victor yêu cầu sau nhiều lần lặp lại.

ZK-SNARK sử dụng trusted setup (cài đặt tin cậy) để tạo ra tham số chung. Điều này tạo ra bằng chứng nhỏ gọn (khoảng 200 bytes) và xác thực nhanh, nhưng yêu cầu một buổi tạo tham số tin cậy — nếu bị xâm phạm, hệ thống có thể bị tạo ra bằng chứng giả. Các dự án sử dụng ZK-SNARK: Zcash, Tornado Cash (trước khi bị sanction), và các Layer 2 như zkSync Era.

Minh họa bước 2 Ali Baba cave: Victor chọn ngẫu nhiên lối ra, Peggy xuất hiện đúng lối yêu cầu chứng minh kiến thức bí mật không tiết lộ từ Wikipedia

So sánh nhanh: ZK-SNARK ưu tiên kích thước bằng chứng và tốc độ xác thực (phù hợp Layer 1, privacy coin), ZK-STARK ưu tiên minh bạch, an toàn lượng tử và không trusted setup (phù hợp Layer 2 scaling, rollup). Xu hướng hiện tại là các ZK rollup mới (StarkNet, Linea, Scroll) chọn ZK-STARK hoặc các biến thể của nó.

Ứng dụng thực tế: ZKP cho phép xác thực giao dịch mà không tiết lộ số dư/người gửi/người nhận (privacy), rollup để scale Ethereum (zkEVM), xác thực identity không tiết lộ dữ liệu cá nhân (ZK identity), và machine learning zero-knowledge (zkML).

Tham khảo thêm: Wikipedia: Zero-knowledge proof, Wikipedia: ZK-SNARK, StarkNet Documentation

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Solana là gì: blockchain tốc độ cao với cơ chế Proof of History

Solana là gì: blockchain tốc độ cao với cơ chế Proof of History Solana là một blockchain layer-1 được ra mắt vào năm 2020, thiết kế để đạt được giao…

Xem thêm

Validator node là gì: chạy node Ethereum và nhận phần thưởng

Validator node là gì: chạy node Ethereum và nhận phần thưởng Validator node (nút xác thực) là một máy tính tham gia vào việc xác thực giao dịch và đề…

Xem thêm

Bitcoin halving là gì: giảm thưởng khối và ảnh hưởng tới thợ đào

Bitcoin halving là gì: cơ chế giảm thưởng khối Bitcoin halving là sự kiện giảm một nửa phần thưởng khối mà thợ đào nhận được sau mỗi 210.000 khối được…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất