Gần đây thị trường đang đồn thổi về Trend công nghệ ZK, đây là công nghệ được ứng dụng nhiều trên các Layer2 như Zksync, Starknet, Aztec, Taiko,... Và hầu như các Layer2 đang phát triển cho mình một zkEVM. Vậy sự khác biệt của các nền tảng zkEVM này là gì? Hãy cùng mình tìm hiểu ở bài viết này nhé!
Bài viết này được viết bởi Vitalik Buterin và mình chỉ tóm tắt lại để mọi người cùng đọc. Nếu muốn đọc bài viết gốc thì bạn có thể tham khảo tại đây.
Tổng Quan Về zkEVM
zkEVM là máy ảo Ethereum (EVM - Ethereum Virtual Machine) được đặt trên các nền tảng sử dụng công nghệ Zkrollup. Công nghệ ZK có nhiều ứng dụng để phát triển các ý tưởng bảo vệ quyền riêng tư cho người dùng. Tuy vậy nhưng công nghệ này rất khó phát triển.
Giống như các nền tảng tương thích với Ethereum như BNB Chain, Polygon, Avax C-chain, Fantom,... zkEVM giúp các nhà phát triển sử dụng ngôn ngữ Solidity trên Ethereum sẽ dàng phát triển dApp trên các nền tảng ZK mà không cần phải chỉnh sửa hoặc chỉnh sửa một ít Code.
Việc tinh chỉnh nhiều hay ít phụ thuộc vào nền tảng zkEVM có tưởng với Ethereum nhiều hay không. Và dựa vào độ tương thích này Vitalik đã chia thành 5 loại zkEVM. Vậy các loại zkEVM đó khác nhau như thế nào? Hãy đọc tiếp phần sau nhé!
Các Loại ZK-EVM
Loại 1 (tương đương với Ethereum)
zkEVM loại 1 là hoàn toàn tương đương với Ethereum. Nó không thay đổi bất kỳ phần nào của hệ thống Ethereum để giúp tạo bằng chứng dễ dàng hơn. Chúng không thay thế hàm băm, trạng thái, phí giao dịch hoặc bất kỳ logic không đồng thuận nào khác.
Ưu điểm: Khả năng tương thích hoàn hảo
Mục tiêu là có thể xác minh các khối Ethereum như hiện tại hoặc ít nhất là xác minh phía lớp thực thi (vì vậy, không bao gồm beacon chain consensus logic, nhưng bao gồm tất cả việc thực hiện giao dịch, hợp đồng thông minh và logic tài khoản).
zkEVM loại 1 là làm cho bản thân Layer1 Ethereum có khả năng mở rộng cao hơn các loại zkEVM khác. Về lâu dài, các sửa đổi đối với Ethereum thử nghiệm trong zkEVM loại 2 hoặc loại 3 có thể được đưa vào Ethereum dễ dàng, nhưng việc tái cấu trúc như vậy đi kèm với sự phức tạp của chính nó.
zkEVM loại 1 cũng lý tưởng cho các bản tổng hợp, vì chúng cho phép các bản tổng hợp sử dụng lại hầu hết cơ sở hạ tầng của Ethereum. Ví dụ: các ứng dụng hoạt động trên Ethereum có thể được sử dụng nguyên trạng để tạo và xử lý các khối và có thể sử dụng lại công cụ như trình khám phá khối, sản xuất khối,...
Bất lợi: Thời gian chứng minh
Ethereum ban đầu không được thiết kế dựa trên tính thân thiện với ZK, do đó có nhiều phần của giao thức Ethereum cần một lượng lớn tính toán để chứng minh bằng chứng ZK. Loại 1 nhằm mục đích sao chép chính xác Ethereum nên nó không có cách nào giảm thiểu những điểm kém hiệu quả này. Hiện tại, bằng chứng của các khối Ethereum mất nhiều giờ để tạo ra. Điều này có thể được giảm thiểu bằng kỹ thuật thông minh để đồng bộ hóa song song hoặc sử dụng ASIC ZK-SNARK (đang phát triển).
Dự án đang xây dựng với zkEVM loại 1
Phiên bản zkEVM Community Edition (được khởi động bởi những người đóng góp cho cộng đồng bao gồm Privacy và Scaling Explorations, nhóm Scroll, Taiko và những người khác) là zkEVM loại 1.
Loại 2 (tương đương với EVM)
zkEVM loại 2 chính xác là tương đương với EVM, nhưng không hoàn toàn tương đương với Ethereum. Chúng giống hệt Ethereum ở bên trong, nhưng chúng có một số khác biệt ở bên ngoài, đặc biệt là về cấu trúc dữ liệu như cấu trúc khối và trạng thái.
Mục tiêu là hoàn toàn tương thích với các ứng dụng hiện có trên Ethereum, nhưng khi triển khai dApp cần thực hiện một số sửa đổi nhỏ để tạo ra bằng chứng nhanh hơn.
Ưu điểm: Tương đương hoàn hảo ở cấp độ EVM
zkEVM loại 2 thực hiện các thay đổi đối với cấu trúc dữ liệu chứa trạng thái Ethereum. Đây là những cấu trúc mà bản thân EVM không thể truy cập trực tiếp nhưng các ứng dụng hoạt động trên Ethereum hầu như sẽ vẫn hoạt động trên bản tổng hợp zkEVM loại 2. Các Dev sẽ không thể sử dụng nguyên trạng các máy khách thực thi Ethereum, nhưng có thể sử dụng chúng với một số sửa đổi và có thể sử dụng các công cụ sửa lỗi EVM và hầu hết cơ sở hạ tầng dành cho nhà phát triển khác.
Có một số ít trường hợp ngoại lệ, sự không tương thích phát sinh đối với các ứng dụng xác minh bằng chứng Merkle về lịch sử các khối Ethereum để xác minh các khiếu nại về các giao dịch, biên lai hoặc trạng thái lịch sử. Một zkEVM thay thế Keccak bằng một hàm băm khác sẽ phá vỡ các bằng chứng này. Tuy nhiên, không nên xây dựng các ứng dụng theo cách này, bởi vì những thay đổi Ethereum trong tương lai sẽ phá vỡ các ứng dụng như vậy ngay cả trên chính Ethereum. Một giải pháp thay thế tốt hơn là chính Ethereum sẽ bổ sung các bản biên dịch trước khi truy cập lịch sử bằng chứng trong tương lai.
Nhược điểm: Cải thiện nhưng vẫn còn chậm
zkEVM loại 2 cung cấp thời gian chứng minh nhanh hơn loại 1 chủ yếu bằng cách loại bỏ các phần của ngăn xếp Ethereum dựa trên mật mã phức tạp không cần thiết và không thân thiện với ZK. Đặc biệt, họ có thể thay đổi cây Merkle Patricia dựa trên Keccak và RLP của Ethereum và cả cấu trúc khối và biên nhận. Thay vào đó, các zkEVM loại 2 có thể sử dụng một hàm băm khác, (ví dụ Poseidon). Một sửa đổi tự nhiên khác là sửa đổi cây trạng thái để lưu mã băm và keccak.
Những sửa đổi này cải thiện đáng kể thời gian xác thực, nhưng chúng không giải quyết được mọi vấn đề. Sự chậm chạp trong việc phải chứng minh EVM nguyên trạng, với tất cả sự kém hiệu quả và tính không thân thiện với ZK vốn có của EVM vẫn còn.
Dự án đang xây dựng với zkEVM loại 2
Dự án zkEVM của Scroll đang xây dựng hướng tới ZK-EVM loại 2, cũng như Polygon Hermez. Còn ở hiện tại thì chúng chưa phải là ZK-EVM loại 2.
Loại 2.5 (tương đương EVM, trừ phí gas)
Một cách để cải thiện đáng kể thời gian chứng minh trong trường hợp tệ nhất là tăng phí gas của các hoạt động chứng minh ZK trong EVM. Điều này có thể liên quan đến tiền biên dịch, opcode KECCAK và có thể là các mẫu gọi hợp đồng cụ thể hoặc truy cập bộ nhớ, bộ lưu trữ, hoàn nguyên.
Thay đổi chi phí gas có thể làm giảm khả năng tương thích của công cụ dành cho nhà phát triển và làm hỏng một vài ứng dụng, nhưng nó thường được coi là ít rủi ro hơn so với những thay đổi EVM sâu hơn.
Một cách khác để quản lý các ràng buộc tài nguyên là chỉ cần đặt các giới hạn cứng về số lần hoạt động có thể được gọi. Điều này dễ thực hiện hơn trong các mạch, nhưng hoạt động kém hơn nhiều với các giả định bảo mật EVM.
Loại 3 (gần như tương đương với EVM)
zkEVM loại 3 gần như tương đương với EVM, nhưng phải hy sinh một chút để đạt được sự tương đương chính xác nhằm cải thiện hơn một nữa thời gian chuẩn hóa và giúp EVM dễ dàng phát triển hơn.
Ưu điểm: Dễ xây dựng hơn và thời gian chứng minh nhanh hơn
zkEVM loại 3 có thể loại bỏ một số tính năng đặc biệt khó triển khai trong ZK-EVM. Ngoài ra, ZK-EVM Loại 3 đôi khi cũng có những khác biệt nhỏ trong cách chúng xử lý mã hợp đồng, bộ nhớ hoặc ngăn xếp.
Nhược điểm: Không tương thích nhiều hơn
Mục tiêu của zkEVM Loại 3 là tương thích với hầu hết các ứng dụng và chỉ yêu cầu viết lại tối thiểu cho phần còn lại. Điều đó nói rằng, sẽ có một số ứng dụng cần phải được viết lại vì chúng sử dụng các bản biên dịch không khớp với zkEVM Loại 3.
Dự án đang xây dựng với zkEVM loại 3
Scroll and Polygon đều là Loại 3 ở dạng hiện tại, mặc dù chúng được kỳ vọng sẽ cải thiện khả năng tương thích theo thời gian. Polygon có một thiết kế độc đáo trong đó họ đang xác minh ZK bằng ngôn ngữ nội bộ của riêng họ được gọi là zkASM và họ diễn giải mã zkEVM bằng cách sử dụng zkASM.
Ngày nay, không có nhóm zkEVM nào muốn trở thành loại 3, loại 3 chỉ đơn giản là một giai đoạn chuyển tiếp cho đến khi công việc phức tạp thêm tiền biên dịch kết thúc và dự án có thể chuyển sang loại 2.5. Tuy nhiên, trong tương lai zkEVM loại 1 hoặc loại 2 có thể tự nguyện trở thành zkEVM loại 3, bằng cách thêm vào các bản biên dịch trước thân thiện với zk-SNARK mới cung cấp chức năng cho các nhà phát triển với thời gian kiểm chứng và chi phí gas thấp.
Loại 4 (tương đương ngôn ngữ bậc cao)
Hệ thống zkEVM loại 4 hoạt động bằng cách lấy mã nguồn hợp đồng thông minh được viết bằng ngôn ngữ cấp cao (ví dụ: Solidity , Vyper hoặc một số trung gian mà cả hai đều biên dịch thành) và biên dịch mã nguồn đó sang một số ngôn ngữ được thiết kế rõ ràng để thân thiện với zk-SNARK .
Ưu điểm: Thời gian chứng minh rất nhanh
Có rất nhiều chi phí mà bạn có thể tránh được bằng cách không chứng minh ZK trong các bước thực thi EVM mà bắt đầu trực tiếp từ mã cấp cao hơn. Biên dịch trực tiếp từ các ngôn ngữ cấp cao thực sự có thể giảm đáng kể chi phí và giúp phân cấp bằng cách làm cho việc trở thành một người chứng minh dễ dàng hơn.
Nhược điểm: Không tương thích nhiều
Một ứng dụng bình thường được viết bằng Vyper hoặc Solidity có thể được biên dịch và nó sẽ hoạt động bình thường, nhưng có một số cách khiến rất nhiều ứng dụng không bình thường:
- Các hợp đồng có thể không có cùng địa chỉ trong hệ thống loại 4 như trong EVM, vì địa chỉ hợp đồng CREATE2 phụ thuộc vào mã byte chính xác. Điều này phá vỡ các ứng dụng dựa trên hợp đồng đối chứng chưa được triển khai, ví ERC-4337, đĩa đơn EIP-2470 và nhiều ứng dụng khác.
- Mã byte EVM viết tay khó sử dụng hơn. Nhiều ứng dụng sử dụng mã byte EVM viết tay ở một số phần để đạt hiệu quả. Các hệ thống loại 4 có thể không hỗ trợ nó, mặc dù có nhiều cách để triển khai hỗ trợ mã byte EVM hạn chế nhằm đáp ứng các trường hợp sử dụng này mà không cần nỗ lực trở thành ZK-EVM loại 3.
- Rất nhiều cơ sở hạ tầng gỡ lỗi, bởi vì cơ sở hạ tầng như vậy chạy trên mã byte EVM. Điều đó nói rằng, nhược điểm này được giảm thiểu bằng cách truy cập nhiều hơn vào cơ sở hạ tầng gỡ lỗi từ các ngôn ngữ trung cấp hoặc cấp cao (ví dụ: LLVM).
Dự án đang xây dựng với zkEVM loại 4
ZKSync là một hệ thống loại 4, mặc dù nó có thể bổ sung khả năng tương thích cho mã byte EVM theo thời gian. Dự án Warp của Nethermind đang xây dựng một trình biên dịch từ Solidity đến Cairo của Starkware, sẽ biến StarkNet thành một hệ thống Loại 4 trên thực tế.
Tương lai của các loại zkEVM
Các loại zkEVM đều có mỗi ưu và nhược điểm riêng, chúng là những điểm khác nhau về sự đánh đổi: các loại có số thứ tự thấp hơn tương thích cao hơn với cơ sở hạ tầng hiện có nhưng chậm hơn và các loại có số thứ tự cao hơn ít tương thích hơn với cơ sở hạ tầng hiện có nhưng nhanh hơn.
Ngoài ra, các dự án zkEVM có thể dễ dàng bắt đầu ở các loại được đánh số cao hơn và chuyển sang các loại được đánh số thấp hơn (hoặc ngược lại) theo thời gian.
Theo cá nhân Vitalik, ông hy vọng rằng mọi thứ sẽ trở thành loại 1 theo thời gian, thông qua sự kết hợp giữa các cải tiến trong zkEVM và các cải tiến đối với chính Ethereum để làm cho nó trở nên thân thiện với zk-SNARK hơn. Trong tương lai như vậy, sẽ có nhiều zkEVM có thể được sử dụng cho cả các bản tổng hợp ZK và để xác minh chính chuỗi Ethereum. Về mặt lý thuyết, Ethereum không cần phải chuẩn hóa trên một zkEVM, các khách hàng khác nhau có thể sử dụng các bằng chứng khác nhau.
Tuy nhiên, sẽ mất khá nhiều thời gian cho đến khi chúng ta có được một tương lai như vậy. Trong thời gian chờ đợi, chúng ta sẽ thấy rất nhiều sự đổi mới trong các con đường khác nhau để mở rộng quy mô Ethereum và zkRollup trên Ethereum.
Tổng Kết
Bài viết cung cấp một góc nhìn bao quát nhất về zkEVM, công nghệ mà tương lai sẽ phát triển mạnh mẽ để mở rộng Ethereum. Nhưng đó chỉ là tường lai, còn trong hiện tại công nghệ này vẫn đang được các dự án chạy đua để phát triển nó nhanh nhất.
Hy vọng bài viết mang đến cho bạn nhiều kiến thức hữu ích!
💁 Disclaimer: Tất cả bài viết của Hak Research được cung cấp với mục tiêu là chia sẻ kiến thức và không được xem là lời khuyên đầu tư.
- Crypto Weekly W30: Nga Cho Phép Đào Bitcoin & Solana ETF Spot Chính ThứcXuất Hiện - August 12, 2024
- Crypto Weekly W29: Bóng Ma Khủng Hoảng Phủ Khắp Thị Trường Crypto - August 6, 2024
- Crypto Spotlight W28: Cựu Tổng Thống Donald Trump Lạc Quan Về Crypto, Ethereum ETF Spot Chính Thức Được Giao Dịch - July 29, 2024