Bài viết này là một bài đóng góp từ cộng đồng. Tác giả là Kenny Li, đồng sáng lập Manta Network, một giao thức Layer 1 về quyền riêng tư có thể lập trình được hỗ trợ bởi công nghệ chứng minh không biết.
Các quan điểm trong bài viết này là của nhà đóng góp/tác giả và không nhất thiết phản ánh quan điểm của Binance Academy.
Tóm lại
Máy ảo Ethereum không biết (zkEVM) là một máy trạng thái Ethereum có thể thực thi các hợp đồng thông minh theo cách tương thích với công nghệ chứng minh không biết (ZKP).
zkEVM mở rộng khả năng của các rollup không biết (zk-rollups) trên Ethereum để hỗ trợ các ứng dụng phi tập trung (DApps).
zkEVMs giúp dễ dàng triển khai cả các dự án Ethereum hiện tại và mới bằng cách sử dụng ZKP để tăng cường hệ sinh thái Ethereum.
Giới thiệu
Các nhà phát triển Ethereum ban đầu không xem xét công nghệ ZKP khi họ lần đầu tiên đề xuất mạng vào năm 2014. Tuy nhiên, trong những năm gần đây, ZKP đã thu hút sự chú ý và được dự đoán sẽ đóng vai trò nổi bật hơn trong không gian blockchain. Do đó, các nỗ lực kết hợp công nghệ ZKP và máy ảo Ethereum đã gia tăng.
Để hiểu zkEVM là gì, hãy cùng chúng tôi xem xét ngắn gọn hai khái niệm nền tảng của nó: zk-rollups và EVM.
Zk-Rollups là gì?
Một rollup là một giải pháp mở rộng quy mô tổng hợp nhiều lần thực hiện giao dịch bên ngoài chuỗi chính và gửi dữ liệu trở lại mạng chính như một giao dịch duy nhất. Quy trình này làm tăng khả năng thông lượng trong khi giảm chi phí thực hiện các giao dịch này.
Trên Ethereum, các giao dịch trong một rollup được nén và gửi đến mạng chính Ethereum với chi phí xác minh một giao dịch duy nhất. Mạng chính Ethereum cung cấp thanh toán và xác minh dữ liệu giao dịch chứa trong rollup.
Một zk-rollup là một loại rollup sử dụng công nghệ ZKP, một công nghệ mật mã cho phép xác minh tính hợp lệ của một thông tin mà không cần tiết lộ thông tin đó. Các zk-rollups không cần công bố tất cả dữ liệu giao dịch lên mạng chính Ethereum; chúng chỉ cần nêu sự khác biệt (chẳng hạn như thay đổi trong trạng thái tài khoản người dùng) và chứng minh tính hợp lệ, giảm phí gas trong quá trình này.
Bảo mật của zk-rollups đến từ mật mã ZKP, nơi các phương tiện mật mã được sử dụng để xác minh chứng minh và đạt được tính không đáng tin cậy. Điều này khác với các rollups khác như rollups tối ưu, bảo mật của chúng đến từ lý thuyết trò chơi kinh tế, nơi những kẻ xấu bị khuyến khích không tham gia bởi những tổn thất tiềm năng và những người thách thức được động viên bởi các khuyến khích.
EVM là gì?
EVM là một máy trạng thái nơi hệ thống tài khoản Ethereum và các hợp đồng thông minh hoạt động. Mỗi lần thực thi hợp đồng thông minh kích hoạt EVM chuyển từ trạng thái cũ sang trạng thái mới. EVM định nghĩa quy tắc để tính toán các trạng thái mới và hợp lệ từ một khối sang khối khác.
Trạng thái là một khái niệm quan trọng trong Ethereum. Nó là một cấu trúc dữ liệu Merkle Patricia Trie đại diện cho trạng thái hiện tại của Ethereum và cho phép bất kỳ ai theo dõi thông tin giao dịch từ khối hiện tại cho đến khối khởi đầu.
Tất cả các nút tham gia duy trì Ethereum đều tồn tại để đảm bảo tính liên tục và đồng thuận, cho phép mỗi nút thấy chính xác trạng thái hiện tại. EVM đóng một vai trò quan trọng trong việc duy trì tính nhất quán này.
ZkEVM hoạt động như thế nào?
EVM không hỗ trợ ZKP theo mặc định. zkEVM nhằm đảm bảo tính liên tục trạng thái Ethereum trong khi cung cấp chứng minh rằng tất cả thông tin là chính xác. Bằng cách này, các yếu tố khác nhau liên quan đến tính toán của các quy trình này được xác minh trong khi vẫn duy trì bảo mật và quyền riêng tư.
zkEVM thực hiện điều này bằng cách tái tạo môi trường Ethereum như zk-rollups. Nó lấy trạng thái ban đầu, tính toán tất cả các giao dịch, sau đó xuất ra một trạng thái mới, được cập nhật cùng với một ZKP đi kèm. Chứng minh này được gửi đến một hợp đồng thông minh xác minh kiểm tra tính chính xác của cả đầu ra trạng thái ban đầu và mới mà không cần phải xác minh tất cả các giao dịch riêng lẻ.
Bởi vì zkEVMs dựa trên EVM, các nhà phát triển có thể dễ dàng chuyển các DApps Ethereum và hợp đồng thông minh sang zkEVM mà không cần phải thực hiện công việc phát triển ZKP. Nói cách khác, zkEVMs cho phép zk-rollups thực hiện các hợp đồng thông minh, ngoài việc hoán đổi token và thanh toán trước đây được hỗ trợ mà không cần zkEVM.
Nhờ tính năng tương thích của EVM, các nhà phát triển có thể xây dựng sản phẩm mới bằng cách sử dụng các công cụ và ngôn ngữ lập trình EVM hiện có, Solidity, trong khi tận hưởng sự bảo mật nâng cao đi kèm với zkEVM. Các lợi ích tương tự cũng áp dụng cho người dùng — họ có thể tiếp tục sử dụng cùng một DApps và công cụ quen thuộc nhưng với sự bảo mật và quyền riêng tư được tăng cường.
Tính tương thích EVM so với tính tương đương EVM
Khi một blockchain được gọi là tương thích với EVM, điều đó có nghĩa là nó cung cấp một môi trường có thể triển khai các DApps được viết bằng ngôn ngữ lập trình Solidity. Solidity được thiết kế để phát triển các hợp đồng thông minh chạy trên mạng Ethereum.
Thực tế, các nhà phát triển Ethereum có thể sao chép và dán mã của các DApps hiện có từ Ethereum và triển khai nó trên các chuỗi tương thích EVM khác với những sửa đổi tối thiểu. Đối với người dùng, bất kỳ địa chỉ chuỗi tương thích EVM nào cũng giống như địa chỉ Ethereum của họ.
Điều này có nghĩa là địa chỉ tương thích với các ví chính thống như Metamask và Trust Wallet. Hiện tại, các chuỗi tương thích EVM chính bao gồm BNB Chain, Avalanche C-Chain và Polygon.
Tính tương thích EVM không nên nhầm lẫn với tính tương đương EVM, điều này có nghĩa là từ góc nhìn của nhà phát triển DApp, các rollup Layer 2 gần như giống hệt với Layer 1 Ethereum.
Để sử dụng một phép ẩn dụ về hệ điều hành, tính tương đương EVM giống như việc khôi phục các tệp và cài đặt thông qua Apple Cloud nếu máy tính trước đó và máy tính mới của người dùng đều chạy trên hệ điều hành của Apple.
Ngược lại, tính tương thích EVM có nghĩa là nếu một máy tính mới chuyển sang hệ thống Windows, các tệp gốc cần phải được tải xuống qua lưu trữ đám mây và chuyển đổi để khôi phục các cài đặt ưa thích và tệp cũ.
Các loại ZkEVM khác nhau
Việc tạo và xác minh ZKP trực tiếp bằng EVM cực kỳ chậm vì Ethereum không được thiết kế ban đầu để hỗ trợ công nghệ ZKP. Trong một số trường hợp, có thể mất đến vài giờ. Tuy nhiên, điều quan trọng là phải đạt được sự cân bằng giữa tính tương thích EVM và hiệu quả ZKP.
Người sáng lập Ethereum, Vitalik Buterin đã phân loại zkEVM thành bốn loại sau. Tương tự như tam giác blockchain, mỗi loại có những đánh đổi khác nhau giữa hiệu suất ZKP và tính tương thích EVM.
Loại 1: Tính tương đương mức đồng thuận — zkEVM hoàn toàn tương đương với Ethereum
Ở mức đồng thuận, một zkEVM loại 1 — còn được gọi là rollup được công nhận — tương đương với Ethereum, và trạng thái chuỗi zkEVM và các giao dịch hoàn toàn giống với Ethereum. Chúng có thể xác minh lẫn nhau các khối và được sử dụng trực tiếp với các khách hàng thực thi Ethereum.
Các zkEVM loại 1 làm cho Ethereum trở nên có thể mở rộng hơn và có thể được giới thiệu trực tiếp lên mạng chính Ethereum. Nhược điểm là hiệu quả ZKP cực kỳ kém và cần một lượng lớn tính toán để xác minh. Giải pháp là sử dụng các trình xác thực song song quy mô lớn hoặc các mạch tích hợp chuyên dụng cho zk-SNARKs trong tương lai.
Các zkEVM loại 1 có hiệu suất ZK cao sẽ là hình thức lý tưởng nhất của zkEVM. Hiện tại, có nhiều dự án xây dựng hoặc khám phá loại zkEVM này.
Loại 2: Tính tương đương mức bytecode — hoàn toàn tương đương với EVM
Loại 2 hoàn toàn tương đương với EVM nhưng không phải Ethereum. Nó khác với Ethereum về cấu trúc dữ liệu (chẳng hạn như cấu trúc khối và cây trạng thái) và xóa một số thao tác ngăn xếp không thân thiện với ZK.
Nó hoàn toàn tương thích với các DApps hiện tại của Ethereum, các công cụ gỡ lỗi và cơ sở hạ tầng cho nhà phát triển. Tính tương đương mức bytecode có thể tăng tốc thời gian prover, mặc dù không đáng kể. Một nhược điểm rõ ràng của Loại 2 là nó đắt đỏ, không hợp tác với ZK, với hiệu quả thấp và tốn kém.
Loại 2.5: Tương tự như Loại 2 nhưng có thay đổi về phí gas
Loại 2.5 chia sẻ các ưu điểm và nhược điểm của Loại 2 nhưng có phí gas thấp hơn một chút.
Loại 3: Tính tương đương mức bytecode — gần như tương đương với EVM
Dựa trên Loại 2, Loại 3 hy sinh thêm tính tương thích để cải thiện hiệu suất ZK. Nó xóa các chức năng khó thực hiện trên zkEVM, chẳng hạn như các precompile, vì vậy một số mã được sử dụng trong DApps yêu cầu chức năng này cần phải được viết lại.
Loại 4: Tính tương đương mức ngôn ngữ phát triển — ngôn ngữ cấp cao tương đương với EVM
Các EVM loại 4 có hiệu suất ZK cao nhất nhưng tương thích tương đối kém.
Kết luận
Mục đích chính của việc triển khai zkEVM là mở rộng hỗ trợ tính toán ZKP cho việc thực thi hợp đồng thông minh và từ đó, mở rộng DApps cho tất cả các giao thức tương thích EVM. Nhưng các ứng dụng của ZKP không dừng lại ở đây.
Công nghệ ZKP có thể tương thích với các trường hợp sử dụng Web2. Kết hợp các trường hợp sử dụng Web2 khác nhau với ZKP có thể làm cho các ứng dụng Web3 mượt mà và thân thiện hơn với người dùng. Nó cũng sẽ cấp quyền truy cập cho người dùng đã quen với các trình duyệt Internet truyền thống vào Web3 và từ đó, thúc đẩy sự chấp nhận Web3.
Đọc thêm
Chứng minh không biết là gì và nó ảnh hưởng đến Blockchain như thế nào?
Rollups tối ưu so với chứng minh không biết: Sự khác biệt là gì?
Cải thiện tính minh bạch tiền điện tử với chứng minh không biết
Tuyên bố miễn trừ trách nhiệm và cảnh báo rủi ro: Nội dung này được trình bày cho bạn trên cơ sở “như có” với thông tin chung và mục đích giáo dục chỉ, không có đại diện hoặc bảo đảm nào. Nó không nên được hiểu là lời khuyên tài chính, pháp lý hoặc chuyên nghiệp khác, cũng như không có ý định 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 kiếm lời khuyên của riêng bạn từ các cố vấn chuyên nghiệp thích hợp. Nơi mà bài viết được đóng góp bởi một bên thứ ba, xin lưu ý rằng những quan điểm được thể hiện thuộc về bên đóng góp thứ ba và không nhất thiết phản ánh những quan điểm của Binance Academy. Vui lòng đọc tuyên bố miễn trừ trách nhiệm đầy đủ của chúng tôi ở đây để biết thêm chi tiết. Giá tài sản kỹ thuật số có thể biến động. Giá trị đầu tư của bạn có thể giảm hoặc tăng và bạn có thể không lấy 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 cho bất kỳ khoản lỗ nào mà bạn có thể phải chịu. Tài liệu này không nên được hiểu là lời khuyên tài chính, pháp lý hoặc chuyên nghiệp khác. Để biết thêm thông tin, hãy xem các Điều khoản Sử dụng và Cảnh báo Rủi ro của chúng tôi.


