Zero-Knowledge Proof (ZKP) là gì? Đây là phương pháp bảo mật cho phép xác minh thông tin mà không cần tiết lộ nội dung. Trong bối cảnh gian lận công nghệ ngày càng phức tạp, ZKP trở thành giải pháp bổ sung cho blockchain, đảm bảo tính bảo mật trong giao dịch. Tìm hiểu thêm về ZK-EVM qua bài viết sau.
Contents
Zero-Knowledge Proof là gì?
Zero-Knowledge Proof là gì? Đây là phương pháp xác thực tính đúng đắn trong thông tin được đưa ra bởi một cá nhân hay một tổ chức mà không cần phải tiết lộ toàn bộ chi tiết thông tin.
Công nghệ Zero-Knowledge Proof gồm 3 tính chất sau:
- Tính toàn vẹn: Nếu nhận định được phát biểu từ một người chứng minh (prover) là đúng thì người xác thực (verifier) phải có khả năng xác minh được nhận định này là đúng
- Tính chắc chắn: Nếu một nhận định là sai, khả năng cao người xác thực sẽ “vạch trần” được sự giả dối của người chứng minh
- Tính “zero-knowledge”: Nếu một nhận định là đúng, không cần phải tiết lộ bất kì thông tin gì ngoài lời xác thực rằng đây là một nhận định đúng
Lưu ý: bản chất của công nghệ Zero-knowledge là xác suất, nghĩa là vẫn có khả năng người chứng minh sử dụng nhận định không chính xác để thành công khi thuyết phục người xác thực tin vào nhận định này, với một xác suất cực kỳ thấp.
Zero-Knowledge Proof được phân ra thành hai loại sau đây:
- Interactive zero-knowledge proof: Người chứng minh và người xác thực cần phải tương tác qua lại nhiều lần nhằm tăng xác suất về tính chính xác của nhận định đưa ra.
- Non-interactive zero-knowledge proof: Người chứng minh chỉ gửi bằng chứng xác thực (proof) cho người chứng thực một lần duy nhất mà không cần phải tương tác nhiều lần. Dù tiện lợi hơn nhưng phương pháp này cũng tốn khá nhiều năng lượng hơn so với phương pháp interactive zero-knowledge proof nêu trên.
Vì sao blockchain lại cần tới công nghệ ZK?
Sau khi tìm hiểu khái niệm Zero-Knowledge Proof là gì? Nội dung tiếp theo chúng tôi muốn cung cấp cho bạn đó là Vì sao blockchain lại cần tới công nghệ ZK?
Để giải thích cho câu hỏi vì sao blockchain lại cần tới công nghệ ZK, chúng ta cùng quay trở lại thời kì đầu của Internet khi mà nhắn tin trao đổi trên không gian mạng chưa được mã hóa đầu cuối.
Khi đó, tất cả những dữ liệu đều “trần trụi” dưới con mắt của các hacker, vì thế mà chúng dễ dàng thực hiện tấn công “nghe lén” (eavesdropping) hay Man-in-the-Middle (MitM) mà ở đó, chúng đã lén thay đổi nội dung trao đổi giữa các cá nhân trên không gian mạng mục đích trục lợi cho bản thân.
Giao thức mã hóa Transport Layer Security xuất hiện, các cuộc trò chuyện trên Internet đã được bảo mật tốt hơn. Nhưng sự xuất hiện này cũng gây ra không ít tranh luận, nhất là sự phản đối của Cơ quan An ninh Quốc gia Mỹ (National Security Agency), về việc đánh đổi quyền tự do dân sự với an ninh quốc gia.
Hiện nay, tình thế đã hoàn toàn thay đổi: giao thức mã hóa này trở thành một phần bắt buộc đối với các website của chính phủ Hoa Kỳ hay của các doanh nghiệp riêng lẻ chịu trách nhiệm quản lý thông tin cá nhân của người sử dụng.
Những giao dịch trên blockchain hiện tại giống như các tin nhắn trên Internet ở thời kỳ đầu: tất cả đều được công khai hoàn toàn. Điều này sẽ đảm bảo tính “rõ ràng” của blockchain nhưng mặt khác, nó cũng làm cho sự riêng tư của người sử dụng gặp rủi ro cao.
Nếu muốn blockchain được ứng dụng rộng rãi hơn trong cuộc sống hằng ngày và tạo ra một cuộc cách mạng mang tên Web 3.0 như Internet đã làm được gần bốn thập kỷ trước, những dữ liệu cần phải được “mã hóa” đồng thời, tính rõ ràng – giá trị cốt lõi của blockchain – vẫn phải đảm bảo một cách trọn vẹn nhất.
Giao thức mã hóa từng áp dụng cho Internet nhưng không thể áp dụng được cho blockchain vì giao thức này chỉ áp dụng được những kiểu kết nối từ điểm này tới điểm kia (point-to-point) còn những giao tiếp trên blockchain đòi hỏi mọi người đều có khả năng nhìn thấy tất cả mọi thứ đang diễn ra trên mạng lưới. Nếu “mã hóa” tất cả những thứ này, mạng lưới blockchain sẽ không còn khả năng “xác thực” xem giao dịch nào hợp lệ và đảm bảo được tính minh bạch cần có nữa.
Đối với công nghệ ZK, tính rõ ràng của blockchain sẽ được giữ nguyên nhưng vẫn phải đảm bảo sự riêng tư cho người sử dụng khi tất cả các giao dịch đều được công khai trên blockchain và tính hợp lệ sẽ được xác nhận thông qua việc sử dụng ZK proof.
Không những thế ZK còn được ứng dụng trong việc giải quyết vấn đề mở rộng (scalability) của blockchain: Các dự án Layer 2 sẽ tổng hợp proof (bằng chứng xác thực nhằm xác nhận tính hợp lệ của các giao dịch) sau đó sử dụng chúng nhằm giảm thiểu lượng dữ liệu gửi lên blockchain Layer 1, từ đây giúp tăng khả năng mở rộng của Ethereum tốt hơn.
ZK-EVM là gì?
Mặc dù rất tiện dụng nhưng có một thực tế đáng buồn: Blockchain sôi động nhất thế giới – Ethereum – không được thiết kế tối ưu hóa cho công nghệ ZK.
Vì thế, cuộc chiến mang tên zkEVM đã bùng nổ giữa các dự án Layer 2 dùng công nghệ ZK làm mũi nhọn cho tốc độ nạp/rút trên rollup của mình về Layer 1 Ethereum. zkEVM là dạng rollup có khả năng tương thích tốt hơn so với máy ảo của Ethereum (EVM), giúp các dApps hoạt động trên Layer 1 của Ethereum sẽ dễ dàng khởi chạy trên các dự án Layer 2 này hơn.
Hiện nay, cuộc đua zkEVM vẫn đang diễn ra với sự xuất hiện của 3 cái tên chính đó là : Polygon, Scroll và zkSync. Polygon đã tung public testnet cho giải pháp zkEVM của mình vào ngày 10/10/202, zkSync cũng đã chạy mainnet với zkEVM mang tên HyperChains vào ngày 28/10/2022, còn Scroll mới chỉ đang hoàn thành bản nâng cấp Pre-alpha cho testnet của mình.
So sánh các giải pháp ZK-EVM hiện có của zkSync, Polygon và Scroll
Khả năng tương thích giữa Ethereum và máy ảo của Ethereum sẽ là tỉ lệ nghịch với tốc độ tổng hợp proof của công nghệ ZK.
Có bốn nhóm zkEVM chính về các giải pháp zkEVM đang được xây dựng trên thị trường như sau:
Nhóm 1: Hoàn toàn tương thích với Ethereum
- Không yêu cầu bất kì điều chỉnh gì từ node của Ethereum.
- Lợi thế là tái sử dụng rất nhiều phần trong cơ sở hạ tầng của Ethereum, chẳng hạn như các công cụ block explorer hay block production.
- Khuyết điểm là thời gian tạo proof cho các block trên Ethereum diễn ra rất lâu vì thiết kế của Ethereum không được tối ưu hóa cho công nghệ ZK.
Nhóm 2: Tương thích với EVM (máy ảo Ethereum)
- Ethereum node được sử dụng nhưng có một chút thay đổi.
- Cơ bản thì các DApp hoạt động trên Ethereum vẫn sẽ hoạt động trên các ZK-rollups thuộc nhóm này.
- Thời gian xác thực những bằng chứng nhanh hơn so với những rollup trong nhóm 1 nhưng vẫn bị coi là chậm.
Nhóm 2.5: Tương thích với EVM (ngoại trừ phần chi phí gas)
- Tăng phí gas lên nhằm cải thiện tốc độ tạo proof, những phần còn lại của EVM không thay đổi.
- Thay đổi phí gas sẽ làm giảm khả năng tương thích của một vài ứng dụng nhưng sự can thiệp này được coi là “nhẹ tay” nhất so với việc phải thay đổi nhiều chi tiết cốt lõi hơn trong EVM.
Nhóm 3: Gần như tương thích với EVM
- Không hoàn toàn tương thích với EVM nhằm cải thiện tốc độ tạo proof nhưn vẫn giúp các DApps dễ dàng được triển khai tại đây.
- Một vài ứng dụng khi triển khai trên các rollups thuộc nhóm 3 cần phải cải biên lại.
- Giải pháp hiện nay của Polygon và Scroll được Vitalik xếp vào nhóm này nhưng tương lai khi một số bộ tiền xử lý (pre-compiler) được bổ sung, những giải pháp này sẽ cải thiện được mức độ tương thích và nhích dần lên các nhóm 1, 2, 2.5 ở trên.
Nhóm 4: Tương thích với các ngôn ngữ lập trình bậc cao
- Chuyển code của các hợp đồng thông minh được viết ở các ngôn ngữ như Vyper, Solidity… sang ngôn ngữ khác được thiết kế để ứng dụng công nghệ ZK được tốt hơn.
- Ưu điểm là quá trình tạo proof sẽ nhanh hơn.
- Nhược điểm là tính tương thích kém với những ứng dụng trên Ethereum, vì vậy mà các ứng dụng được xây dựng trên rollups thuộc nhóm 4 sẽ không thể tận dụng lại các cơ sở hạ tầng đã sẵn có dành cho những ứng dụng trên Ethereum.
- Giải pháp của zkSync và StarkWare thuộc nhóm này, vì nó cần một ngôn ngữ lập trình riêng là Zinc và Cairo giúp tác vụ tạo proof trở nên nhanh chóng hơn.
Zero-knowledge proofs là thuật toán mật mã giúp xác thực tính đúng đắn và đầy đủ của một thông tin mà không cần phải tiết lộ những dữ liệu liên quan. Giải pháp Zero-knowledge proofs chính là ngọn cờ tiên phong trong việc đảm bảo quyền riêng tư của các giao dịch tiền điện tử, mở đường cho những đột phá trong công nghệ blockchain.
Hy vọng rằng bài viết Zero-Knowledge Proof là gì? ZK-EVM là gì trên đây mà iBlockchain cung cấp sẽ giúp bạn nắm được những thông tin cần thiết và có cách nhìn tổng quan nhất. Hãy để lại comment phía bên dưới cho chúng tôi khi bạn có bất kỳ câu hỏi nào liên quan đến Zero-Knowledge Proof.