zk-SNARK là viết tắt của Zero-Knowledge Succinct Non-Interactive Argument of Knowledge.
Tên nghe có vẻ phức tạp, nhưng ý tưởng cốt lõi lại đơn giản:
Một công nghệ giúp bạn chứng minh rằng bạn biết một bí mật mà không cần tiết lộ bí mật đó.
Ví dụ
Hãy tưởng tượng bạn có một mật khẩu.
Thông thường, bạn sẽ nhập mật khẩu để đăng nhập.
Với zk-SNARKs, bạn có thể:
Giữ mật khẩu ẩn
Chứng minh rằng mật khẩu là đúng
Thuyết phục hệ thống mà không tiết lộ mật khẩu
Nó được sử dụng trong Zcash như thế nào?
Trong một blockchain điển hình, mọi người đều có thể thấy:
Ai đã gửi giao dịch
Ai là người nhận
Số tiền đã được gửi là bao nhiêu
Với zk-SNARKs của Zcash, bạn có thể ẩn:
Người gửi
Người nhận
Số tiền giao dịch
Đồng thời, mạng vẫn có thể xác minh rằng:
Các đồng tiền là hợp lệ
Chưa xảy ra chi tiêu hai lần
Ẩn dụ đơn giản
Hãy tưởng tượng bạn có một chiếc chìa khóa.
Tôi hỏi:
"Khóa này có mở được căn phòng không?"
Sử dụng zk-SNARKs:
Bạn không cho tôi thấy chìa khóa
Bạn đi vào căn phòng rồi quay ra
Điều đó chứng minh rằng bạn có đúng chìa khóa mà không tiết lộ nó.
Tại sao điều này quan trọng?
Bitcoin đã giới thiệu khái niệm một blockchain phi tập trung.
Zcash đã phát triển ý tưởng bằng cách giới thiệu:
Một blockchain có các biện pháp bảo vệ quyền riêng tư mạnh mẽ.
Công thức
Dữ liệu bí mật
↓
Đường cong Elliptic
↓
Bộ tạo bằng chứng
↓
Bằng chứng zk-SNARK
↓
Xác minh cặp
↓
Hợp lệ / Không hợp lệ
Vì điều này, nhiều người trong cộng đồng mật mã coi zk-SNARKs là một trong những đổi mới quan trọng nhất trong công nghệ blockchain sau chính Bitcoin.
Tóm lại:
zk-SNARK = Chứng minh mà không tiết lộ. 🔐
