Những điểm chính

  • zkEVM là một Ethereum Virtual Machine có tính năng zero-knowledge có thể thực thi smart contract theo cách tương thích với công nghệ zero-knowledge proof (ZKP).

  • zkEVM mở rộng zk-rollups trên Ethereum để hỗ trợ ứng dụng phi tập trung (DApps), chứ không chỉ các giao dịch chuyển token đơn giản.

  • Các nhà phát triển có thể chuyển đổi các DApp và smart contract Ethereum hiện có sang zkEVM mà không cần phải học mật mã zero-knowledge.

  • zkEVM được chia thành bốn loại chính dựa trên sự đánh đổi giữa mức tương thích với EVM và hiệu quả tạo bằng chứng ZK.

Binance Academy courses banner

Giới thiệu

Các nhà phát triển Ethereum đã không thiết kế mạng ngay từ đầu với mục tiêu sử dụng các bằng chứng zero-knowledge (ZKP) khi họ lần đầu đề xuất mạng vào năm 2014. Trong những năm sau đó, công nghệ ZKP đã đạt được đà phát triển đáng kể trong lĩnh vực blockchain, và các đội ngũ đã nỗ lực để đưa khả năng ZKP vào Ethereum.

Kết quả là zkEVM, một loại máy ảo có thể chạy các smart contract Ethereum đồng thời tạo ra các bằng chứng mật mã chứng minh tính đúng đắn của chúng. Bài viết này giải thích zkEVM là gì, nó hoạt động như thế nào và những mạng nào đã đưa công nghệ này vào thực tiễn.

ZK-Rollups là gì?

Rollup là một giải pháp mở rộng quy mô Lớp 2 xử lý nhiều giao dịch ngoài Ethereum mainnet, rồi gửi một bản tóm tắt đã được nén lên Ethereum như một giao dịch duy nhất. Cách tiếp cận này giúp tăng thông lượng và giảm chi phí so với việc thực thi từng giao dịch trên Lớp 1.

zk-rollup là một rollup sử dụng công nghệ ZKP để chứng minh rằng mọi giao dịch ngoài chuỗi (off-chain) đã được xử lý đúng. Thay vì công bố toàn bộ dữ liệu giao dịch, nó sẽ gửi một bằng chứng tính đúng đắn (validity proof) kèm theo bản cập nhật trạng thái. Optimistic rollups lại đi theo cách khác, dựa vào fraud proofs (bằng chứng gian lận) và các khuyến khích kinh tế thay vì các cam kết mật mã.

Các zk-rollup ban đầu bị giới hạn ở các thao tác đơn giản như chuyển token. zkEVM mở rộng điều này để bao phủ toàn bộ phạm vi thực thi smart contract, khiến zk-rollups phù hợp cho các DApp đa mục đích.

EVM là gì?

Ethereum Virtual Machine (EVM) là môi trường thực thi trong Ethereum nơi các smart contract được triển khai. Mỗi lần một smart contract chạy, EVM chuyển từ một trạng thái sang trạng thái khác. Tất cả các node trong mạng phải đồng ý về trạng thái này để duy trì đồng thuận.

EVM được định nghĩa bởi một tập hợp các opcode, tức là các lệnh mức thấp. Khi các nhà phát triển viết hợp đồng bằng Solidity hoặc Vyper, các hợp đồng đó được biên dịch thành EVM bytecode mà EVM có thể diễn giải. Chuẩn dùng chung này là thứ giúp các smart contract Ethereum có thể chuyển đổi (port) được giữa các chuỗi tương thích.

zkEVM hoạt động như thế nào?

zkEVM mô phỏng môi trường Ethereum bên trong một zk-rollup. Nó nhận một trạng thái ban đầu, xử lý một batch giao dịch theo các quy tắc EVM, rồi xuất ra trạng thái mới kèm theo một validity proof. Một smart contract kiểm chứng trên Ethereum mainnet sẽ kiểm tra bằng chứng này mà không cần thực thi lại từng giao dịch.

Cách tiếp cận này có nghĩa là tính đúng đắn của mọi lần chuyển trạng thái được đảm bảo bằng mặt mật mã, chứ không chỉ là giả định. Các nhà phát triển có thể triển khai các smart contract Ethereum hiện có trên zkEVM với ít hoặc không cần chỉnh sửa, vì môi trường thực thi tuân theo cùng các quy tắc như trên mainnet.

Việc tạo các bằng chứng ZK cho việc thực thi EVM là rất nặng về mặt tính toán. Trong những năm gần đây, phần cứng tăng tốc và các cải tiến theo thuật toán đã rút ngắn đáng kể thời gian tạo proof cho nhiều triển khai, từ mức từng có thể là vài giờ xuống còn vài phút hoặc vài giây trong một số cấu hình, dù điều này còn tùy thuộc vào mạng và kích thước batch.

Tương thích với EVM vs. Tương đương EVM

Tương thích với EVM nghĩa là một blockchain có thể triển khai và chạy các contract dựa trên Solidity với ít thay đổi. Nhiều chuỗi (bao gồm BNB Smart Chain) tương thích với EVM. Nhìn chung, nhà phát triển có thể sao chép các contract Ethereum và triển khai chúng với chỉ một số điều chỉnh nhỏ.

Tương đương EVM đi xa hơn nữa. Điều đó có nghĩa là một zkEVM hoạt động giống hệt Ethereum ở mức độ kỹ thuật sâu, nên các công cụ, môi trường debug và hạ tầng phát triển hiện có có thể hoạt động mà không cần chỉnh sửa. zkEVM càng tiến gần đến mức tương đương hoàn toàn thì việc di chuyển càng dễ, nhưng việc tạo các bằng chứng ZK hiệu quả lại càng khó.

Các loại zkEVM khác nhau

Trong một bài blog, đồng sáng lập Ethereum Vitalik Buterin đã phân loại zkEVM thành bốn loại dựa trên sự đánh đổi giữa hiệu quả ZK và mức tương thích với EVM.

Loại 1: tương đương ở cấp độ đồng thuận

zkEVM Loại 1 tương đương đầy đủ với Ethereum ở cấp độ đồng thuận. Nó có thể xác minh trực tiếp các khối của Ethereum. Vì vậy, đây là loại tương thích nhất, nhưng việc tạo bằng chứng ZK lại đòi hỏi tính toán nặng nề nhất. Một ví dụ là zkEVM Loại 1 của Taiko mainnet, được ra mắt vào giữa năm 2024.

Loại 2: tương đương ở cấp bytecode

zkEVM Loại 2 tương thích hoàn toàn với EVM nhưng khác Ethereum ở một số cấu trúc dữ liệu nội bộ, chẳng hạn cây trạng thái (state tree). Nó hỗ trợ mọi DApp Ethereum và công cụ hiện có. Thời gian tạo proof được cải thiện so với Loại 1, nhưng vẫn đáng kể. Scroll và Polygon zkEVM là các ví dụ về mạng Loại 2.

Loại 2.5: Loại 2, với chi phí gas đã được điều chỉnh

Loại 2.5 tương tự Loại 2 nhưng điều chỉnh chi phí gas cho các thao tác đắt đỏ khi cần tạo proof. Việc này cải thiện hiệu quả của prover với tác động nhỏ đến mức tương thích đầy đủ.

Loại 3: gần tương đương với EVM

zkEVM Loại 3 đánh đổi một phần tương thích để có hiệu năng ZK tốt hơn. Chúng có thể loại bỏ một số precompile hoặc các tính năng EVM khác vốn khó để tạo proof một cách hiệu quả. Một số DApp có thể cần chỉnh sửa nhẹ để triển khai.

Loại 4: tương đương ở ngôn ngữ bậc cao

zkEVM Loại 4 biên dịch trực tiếp các ngôn ngữ bậc cao như Solidity thành bytecode thân thiện với ZK, bỏ qua bytecode của EVM hoàn toàn. Cách này mang lại hiệu năng proof tốt nhất nhưng mức tương thích thấp nhất. zkSync Era sử dụng một hướng tiếp cận theo Loại 4.

Câu hỏi thường gặp (FAQ)

zkEVM là gì?

zkEVM là một Ethereum Virtual Machine (Máy ảo Ethereum) có tính năng zero-knowledge, xử lý các smart contract trong một zk-rollup, rồi tạo ra một bằng chứng mật mã chứng minh rằng tất cả các giao dịch đã được thực thi đúng. Nó cho phép các nhà phát triển sử dụng code Ethereum hiện có, đồng thời có thêm các lợi ích về bảo mật và khả năng mở rộng nhờ công nghệ ZKP.

zkEVM khác gì so với một zk-rollup thông thường?

Các zk-rollup ban đầu chỉ hỗ trợ các tác vụ đơn giản như chuyển token. zkEVM mở rộng điều đó lên toàn bộ tập lệnh EVM, nghĩa là bất kỳ smart contract Ethereum nào, bao gồm các giao thức DeFi phức tạp và nền tảng NFT, đều có thể chạy trên zkEVM với ít hoặc gần như không cần chỉnh sửa.

Có những bốn loại zkEVM nào?

Vitalik Buterin đã định nghĩa bốn loại. Loại 1 tương đương hoàn toàn với Ethereum ở cấp độ đồng thuận. Loại 2 tương thích hoàn toàn với EVM nhưng khác ở một số cấu trúc dữ liệu nội bộ. Loại 3 đánh đổi một phần tương thích để có hiệu năng ZK tốt hơn. Loại 4 biên dịch các ngôn ngữ bậc cao trực tiếp sang bytecode thân thiện với ZK, mang lại hiệu quả tạo proof cao nhất.

zkEVM có làm Ethereum an toàn hơn không?

zkEVM sử dụng các bằng chứng tính đúng đắn (validity proofs) mật mã thay vì dựa vào lý thuyết trò chơi kinh tế để đảm bảo việc thực thi đúng. Điều này có nghĩa là tính đúng đắn của từng batch có thể được xác minh về mặt toán học, từ đó có thể tăng cường các cam kết bảo mật so với các hệ thống phụ thuộc vào người thách thức để bắt gian lận. Tuy nhiên, giống như mọi hệ thống blockchain, zkEVM vẫn có rủi ro liên quan đến smart contract và các rủi ro kỹ thuật khác mà người dùng cần tự tìm hiểu độc lập.

Những suy nghĩ kết

zkEVM kết hợp mức bảo mật của mật mã ZKP với khả năng tương thích đầy đủ với smart contract, giúp có thể chạy DApps với thông lượng cao hơn và chi phí thấp hơn mà không phải hy sinh các cam kết bảo mật tương đương cấp Ethereum. Đáng để hiểu các loại khác nhau và công nghệ có thể tương thích với các use case kiểu Web2 như thế nào.

Tài liệu đọc thêm

  • Zero-Knowledge Proof là gì và nó tác động gì đến blockchain?

  • Optimistic vs. Zero-Knowledge Rollups: Khác nhau ở điểm nào?

  • Cải thiện tính minh bạch trong crypto với Zero-Knowledge Proof

  • Zk-Rollups là gì? Kỹ thuật mở rộng quy mô Lớp 2

  • Blockchain Layer 1 vs. Các giải pháp mở rộng Layer 2

Tuyên bố miễn trừ: Nội dung này được cung cấp cho bạn dưới dạng "hiện trạng" chỉ để cung cấp thông tin chung và/hoặc mục đích giáo dục, không có bất kỳ đại diện hoặc bảo đảm nào. Không nên hiểu nội dung này là lời khuyên tài chính, pháp lý hay lời khuyên chuyên nghiệp khác, cũng không nhằm khuyến nghị việc mua bất kỳ sản phẩm hoặc dịch vụ cụ thể nào. Bạn nên tìm lời khuyên của riêng mình từ các cố vấn chuyên môn phù hợp. Nếu nội dung do bên thứ ba đóng góp, vui lòng lưu ý rằng những quan điểm được nêu thuộc về bên đóng góp thứ ba và không nhất thiết phản ánh quan điểm của Binance Academy. Giá tài sản kỹ thuật số có thể biến động. Giá trị khoản đầu tư của bạn có thể tăng hoặc giảm và bạn có thể không nhận lại được số tiền đã đầu tư. Bạn hoàn toàn chịu trách nhiệm cho các quyết định đầu tư của mình và Binance Academy không chịu trách nhiệm đối với bất kỳ khoản lỗ nào bạn có thể gặp. Để biết thêm thông tin, vui lòng xem Điều khoản Sử dụng, Cảnh báo Rủi ro và Điều khoản của Binance Academy.