ZKP (Zero Knowledge Proof) là gì? Tại sao cần phải có ZKP?

LyMacSau

🐋Cá Voi Phake🐋

1. Khái niệm

- ZKP (Zero Knowledge Proof) là một phương pháp được sử dụng trong mật mã để chứng minh rằng chúng ta biết một thông tin nào đó nhưng không tiết lộ một cách trực tiếp. Cơ bản nó cho phép thông tin cá nhân được giữ bí mật trong một cuộc trao đổi.

ZKP là một bằng chứng gián tiếp cho phép bạn chứng minh bạn biết một bí mật mà không bao giờ tiết lộ cho bất kỳ ai. Bạn chỉ dẫn chứng một cách gián tiếp rằng bạn đang nói sự thật (như kiểu 2 người nói chuyện với nhau về bóng đá nhưng không dùng một từ nào có dính đến chữ bóng đá, mà dùng những khái niệm, ký hiệu, đặc điểm để nói cho nhau hiểu - ý hiểu cá nhân người viết).
1646920914360.png

- ZKP xuất hiện khoảng 1980 liên quan đến tích hợp hệ thống chứng minh (proof system). Trong ZKP có 2 vai trò cơ bản​
  • Người cung cấp (Prover)
  • Người xác minh (Verifiers)
Prover phải chứng minh cho Verifiers là anh ta biết được nội dung thông tin bí mật nào đó mà không tiết lộ nội dung thông tin bí mật cho Verifiers. Nếu prover biết được bí mật đó thì sẽ qua hết các bài kiểm tra của verifier, chỉ cần 1 lần không qua được tức là nói dối.​

2. Tại sao cần có ZKP ?

+ Cải thiện tính riêng tư cho người dùng blockchain. Giữ bí mật thông tin của người tham gia cũng như các giao dịch.
Ví dụ: Chúng ta muốn đăng nhập vào web bằng mật khẩu thì phải nhập mật khẩu và gửi chúng đến máy chủ, máy chủ hash mật khẩu và so sánh với bản hash nó đã lưu trên hệ thống. Đúng thì được đăng nhập vào, nhưng xuất hiện vấn đề máy chủ đang nắm giữ thông tin riêng tư của chúng ta. Nếu kẻ xấu tấn công máy chủ và lấy được mã hash mật khẩu thì rất không có lợi cho người dùng.
=> Vậy ZKP được tạo ra để khắc phục điểm yếu đó.

+ Cải thiện khả năng mở rộng của blockchain. Các nốt có thể xác nhận kết quả của một sự tinh toán mà không cần thực sự thực hiện việc tính toán đó.

3. Tính chất

- Tính hoàn thiện (Completeness): Nếu thông tin là đúng thì Verifiers trung thực có thể bị thuyết phục bởi Prover trung thực (thậm chí có thể bởi prover gian dối)

- Tính đúng đắn (soundness): Nếu thông tin là sai, không có prover gian dối nào có thể thuyết phục được Verifiers trung thực rằng thông tin là đúng (vẫn có xác xuất có thể thuyết phục nhưng rất nhỏ)

- Kiến thức có được bằng không: Nếu thông tin là đúng thì verifier cũng không biết thêm gì ngoài những thông tin mảnh ghép rời rạc đó.

- Xác suất để verifier tin prover không bao giờ đạt 100%.

Hy vọng với những thông tin mình vừa chia sẻ, các bạn sẽ hiểu được ZKP là gì và sự quan trọng của nó trong blockchain. Nếu anh em thấy hay và bổ ích thì nhớ múc và chia sẻ cho mình nha.

:2676-pepe-okei-sighn::2676-pepe-okei-sighn::2676-pepe-okei-sighn:
 
Thẻ
blockchain thị trường crypto tiền mã hóa zero-knowledge proof zkp là gì
Bên trên