Nền tảng blockchain đảm bảo tính minh bạch rõ ràng thông qua những dữ liệu on-chain, tuy nhiên, người dùng blockchain đang phải đối mặt với sự xâm phạm nghiêm trọng.quyền riêng tư. Để giải quyết vấn đề trên, công nghệ Zero-Knowledge Proof và zkEVM đã được ra đời và hứa hẹn sẽ tạo nên xu hướng mới trong lĩnh vực blockchain của tương lai. Cùng iBlockchain tìm hiểu khái niệm Zero-Knowledge Proof là gì cũng như toàn bộ thông tin về zkEVM trong bài viết dưới đây!
Nội dung
Zero-Knowledge Proof là gì?
Zero-Knowledge Proof là một phương pháp giúp xác thực tính đúng đắn trong thông tin được đưa ra bởi một cá nhân hoặc một tổ chức mà không cần phải tiết lộ toàn bộ chi tiết về thông tin. Giao thức này được ứng dụng rộng rãi trong các dự án crypto, tiêu biểu là Zcash, Nucypher hay dApp Tornado.Cash.
Công nghệ Zero-Knowledge bao gồm 3 tính chất như sau:
- Tính toàn vẹn: Nếu một nhận định được phát biểu bởi 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 rằng nhận định này là đúng.
- Tính chắc chắn: Nếu một nhận định là sai thì khả năng cao là người xác thực sẽ “vạch trần” được sự dối trá của người chứng minh.
- Tính “zero-knowledge”: Nếu một nhận định là đúng thì không cần phải tiết lộ thêm bất kì thông tin gì khác ngoài lời xác thực rằng đây là một nhận định đúng.
Cần lưu ý rằng bản chất của công nghệ Zero-knowledge là xác suất, tức vẫn có khả năng một người chứng minh sử dụng một nhận định không chính xác để thành công 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 rất thấp.
Zero-Knowledge Proof cũng được phân ra thành hai loại chính, cụ thể là:
- Interactive zero-knowledge proof: Người chứng minh và người xác thực cần tương tác qua lại nhiều lần để tăng xác suất về tính chính xác của nhận định được đưa ra.
- Non-interactive zero-knowledge proof: Người chứng minh chỉ cần 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 tương tác nhiều lần. Phương pháp này cũng tiêu tốn 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?
Để trả lời cho câu hỏi này, chúng ta cần quay trở lại thời kì đầu của Internet khi mà các tin nhắn trao đổi trên không gian mạng chưa được mã hóa đầu cuối.
Ở thời kì đầu, khi tất cả các dữ liệu đều “trần trụi” dưới con mắt của các hacker nên chúng dễ dàng thực hiện những kiểu tấn công “nghe lén” (eavesdropping) hoặc Man-in-the-Middle (MitM). Ngoài ra, chúng còn lén thay đổi nội dung trao đổi giữa các cá nhân trên không gian mạng nhằm trục lợi cho bản thân.
Với sự xuất hiện của giao thức mã hóa Transport Layer Security, các cuộc hội thoại trên Internet đã được bảo mật tốt hơn. Đồng thời, sự xuất hiện này cũng đã gây ra không ít tranh cãi, đặc biệt là sự phản đối của Cơ quan An ninh Quốc gia Hoa Kỳ (National Security Agency). Khi 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ủ Mỹ hoặc 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 dùng.
Các giao dịch trên blockchain hiện nay cũng giống như các tin nhắn trên Internet ở thời kỳ đầu. Mọi thứ đều được công khai hoàn toàn. Một mặt, điều này sẽ đảm bảo tính “minh bạch” của blockchain nhưng mặt khác, nó cũng khiến sự riêng tư của người dùng gặp rủi ro cao. Vì vậy, giải pháp đặt ra chính là các dữ liệu cần phải được “mã hóa” nhưng đồng thời, tính minh bạch – giá trị cốt lõi của blockchain – vẫn phải được đả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 không thể áp dụng được cho blockchain bởi giao thức này chỉ áp dụng cho những kiểu kết nối từ điểm này tới điểm kia (point-to-point) còn các giao tiếp trên blockchain đòi hỏi tất cả mọi người đều có khả năng nhìn thấy 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 thì mạng lưới blockchain sẽ không còn khả năng “xác thực” xem giao dịch nào là hợp lệ và đảm bảo được tính minh bạch cần có nữa.
Với công nghệ ZK, tính minh bạch của blockchain sẽ được bảo toàn và vẫn sẽ đảm bảo sự riêng tư cho người dùng. Tất cả các giao dịch đều được công khai trên blockchain và tính hợp lệ của chúng sẽ được xác nhận thông qua việc sử dụng ZK proof.
ZK còn giúp 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 rồi sử dụng chúng để giảm thiểu lượng dữ liệu gửi lên blockchain Layer 1. Từ đó giúp tăng khả năng mở rộng của Ethereum tốt hơn.
zkEVM là gì?
Xuất phát từ vấn đề Blockchain sôi động nhất thế giới với Ethereum không được thiết kế để tối ưu hóa cho công nghệ ZK. Vì vậy, một cuộc chiến mang tên zkEVM đã nổ ra giữa các dự án Layer 2 lấy 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à một dạng rollup có khả năng tương thích tốt hơn với máy ảo của Ethereum (EVM), từ đó giúp các dApps đang hoạt động trên Layer 1 của Ethereum có thể dễ dàng khởi chạy trên các dự án Layer 2 này hơn.
Hiện tại, zkEVM đang diễn ra với sự xuất hiện của 3 cái tên chính: Polygon, zkSync, và Scroll.
Polygon đã tung public testnet cho giải pháp zkEVM của mình vào hôm 10/10 vừa qua, zkSync vẫn đang trong giai đoạn cuối cùng của việc khởi chạy mainnet với zkEVM mang tên HyperChains vào ngày 28/10, còn Scroll chỉ mới đ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 zkEVM hiện có của zkSync, Polygon và Scroll
Tuy nhiên, khả năng tương thích với Ethereum và máy ảo của Ethereum sẽ tỉ lệ nghịch với tốc độ tổng hợp proof của công nghệ ZK.
Theo bài viết tổng hợp về các giải pháp zkEVM đang được xây dựng trên thị trường của Vitalik Buterin, có bốn nhóm zkEVM chính như sau:
Nhóm 1: Hoàn toàn tương thích với Ethereum
- Không đòi hỏi bất kì điều chỉnh gì từ node của Ethereum.
- Lợi thế là có thể tái sử dụng rất nhiều phần trong cơ sở hạ tầng của Ethereum, ví dụ như các công cụ block explorer hay block production.
- Khuyết điểm lớn nhất là thời gian để tạo proof cho các block trên Ethereum sẽ 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 vẫn được sử dụng nhưng với một chút thay đổi.
- Về cơ bản thì các DApp hoạt động trên Ethereum vẫn có thể hoạt động trên các ZK-rollups thuộc nhóm này.
- Thời gian xác thực các bằng chứng nhanh hơn so với các rollup trong nhóm 1 nhưng vẫn bị xem 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 để cải thiện tốc độ tạo proof, ngoài ra không thay đổi những phần khác của EVM.
- Thay đổi phí gas có thể làm giảm khả năng tương thích của một số ứng dụng nhưng sự can thiệp này. được. Được xem 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 để cải thiện tốc độ tạo proof nhưng đồng thời vẫn giúp các DApps dễ dàng được triển khai tại đây.
- Một số ứng dụng khi triển khai trên các rollups thuộc nhóm 3 vẫn cần phải cải biên lại.
- Giải pháp hiện tại của Polygon và Scroll được Vitalik xếp vào nhóm này nhưng trong tương lai khi một số bộ tiền xử lý (pre-compiler) được bổ sung thêm, các 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 ở phía 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ư Solidity, Vyper,… sang một ngôn ngữ khác được thiết kế để sử dụng công nghệ ZK tốt hơn.
Ưu và nhược điểm:
- Ưu điểm tất nhiên 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 các ứng dụng trên Ethereum và vì vậy, các ứng dụng được xây dựng trên rollups thuộc nhóm 4 cũng sẽ không thể tận dụng lại các cơ sở hạ tầng sẵn có dành cho các ứng dụng trên Ethereum.
Lời kết
Zero-Knowledge Proof là một công nghệ nghệ tuyệt vời, dù không phải là mới, nhưng việc áp dụng vào để phát triển ngành blockchain vẫn còn nhiều điều mới mẻ cần khám khá. Trong bài viết trên, iBlockchain đã giới thiệu đến bạn toàn bộ thông tin về Zero-Knowledge Proof cũng như toàn bộ thông tin giải pháp hiện nay. Nếu còn bất cứ thắc mắc gì bạn hãy để lại bình luận phía dưới, chúng tôi sẽ phản hồi nhanh nhất có thể!