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ộ. 🔐