zkSync 2.0 sắp ra mắt mainnet, phân tích sơ lược các loại zkEVM
Tuyển chọn TechFlowTuyển chọn TechFlow
zkSync 2.0 sắp ra mắt mainnet, phân tích sơ lược các loại zkEVM
Trong số các lựa chọn đường đi kỹ thuật của Rollups, ZK Rollup được coi là mục tiêu cuối cùng về mở rộng quy mô cho Ethereum.
Phát triển của Ethereum ngày càng thiên về Blockchain mô-đun (Modular Blockchain), bản chất là sự kết hợp giữa phân mảnh dữ liệu (data sharding) ở Layer1 và mở rộng quy mô thông qua Rollups ở Layer2, tạo thành một kiến trúc mô-đun, từ đó thúc đẩy Ethereum hiện thực hóa mục tiêu ban đầu là "máy tính thế giới".
Trong các lựa chọn kỹ thuật cho Rollups, ZK Rollup được coi là mục tiêu cuối cùng về việc mở rộng quy mô cho Ethereum.
ZK Rollup
Cơ chế cốt lõi của ZK Rollup là nén và lưu trữ trạng thái người dùng trên chuỗi vào một cây Merkle, đồng thời chuyển việc thay đổi trạng thái người dùng ra ngoài chuỗi, đồng thời sử dụng bằng chứng zksnark/zkstark để đảm bảo tính đúng đắn của quá trình thay đổi trạng thái này bên ngoài chuỗi. Hiểu đơn giản, ZK Rollup có thể hiểu là sử dụng zksnark hoặc zkstark để xử lý dưới tuyến tính nhằm xác minh số lượng tuyên bố theo tuyến tính. Ví dụ: 1.000 tuyên bố cần 10 lần kiểm tra của bộ xác minh, 10.000 tuyên bố chỉ cần 11 lần kiểm tra. Do đó, kết quả đạt được là ZK Rollup có thể mở rộng quy mô cho Ethereum.

Quy trình xử lý giao dịch blockchain tổng quát của ZK Rollup như sau:
-
Người dùng khóa tài sản của họ trong hợp đồng thông minh zk rollup trên L1;
-
Người dùng gửi các giao dịch liên quan đến tài sản này lên L2, một số vai trò nhất định trong L2 (Sequencer, phần lớn dự án ban đầu tập trung hóa, cũng có dự án bắt đầu áp dụng cách phi tập trung) sẽ thu thập các giao dịch này theo một số quy tắc thành các đợt có thứ tự, đồng thời tạo bằng chứng hiệu lực (zksnark/zkstark) và cập nhật trạng thái tổng hợp cho mỗi đợt;
-
Cập nhật trạng thái và bằng chứng này được gửi lên hợp đồng thông minh zk rollup trên L1 và được xác minh, từ đó cập nhật lên blockchain L1;
-
Người dùng có thể sử dụng trạng thái L1 này (phụ thuộc vào các cơ chế khả dụng dữ liệu khác nhau) để truy xuất tài sản của mình, từ đó đạt được quyền tự quản hoàn toàn, vì vậy zk rollup cũng được cho là kế thừa an ninh của Ethereum.
Tính cần thiết của zkEVM
Như đã biết, thế hệ đầu tiên của ZK Rollup không hỗ trợ EVM, khả năng lập trình và tổ hợp kém, chỉ giới hạn trong một số trường hợp cụ thể, ví dụ: Loopring chỉ giới hạn trong Payments & Swaps; Immutable chỉ giới hạn trong NFT Minting & Trading & Games; zksync1.0 thực tế cũng không hỗ trợ zkEVM. Không mang tính phổ quát.
Sau đó, những dự án ZK Rollup hàng đầu bắt đầu khám phá phát triển môi trường thực thi mã bytecode EVM trên ZK Rollup, giúp các hợp đồng thông minh trên Ethereum có thể di chuyển sang ZK Rollup mà không cần viết lại mã từ đầu.
EVM là máy ảo blockchain Turing hoàn chỉnh đầu tiên, ra mắt năm 2015. Đây là máy ảo blockchain được kiểm nghiệm lâu nhất cho tới nay, cũng là cơ sở hạ tầng hợp đồng thông minh cực kỳ quan trọng của Ethereum. Thậm chí khi nói đến các blockchain khác, người ta cũng dùng tiêu chí tương thích với EVM để đánh giá, bởi vì đằng sau sự tương thích EVM không chỉ là môi trường thực thi hợp đồng thông minh, mà còn là hệ sinh thái và bộ công cụ sẵn có của Ethereum, và hơn hết là hiệu ứng mạng lưới đáng kể. Vì vậy, các ZK Rollup cũng không dám bỏ qua khía cạnh này.
zkEVM có thể hiểu là chạy EVM như một động cơ hợp đồng thông minh bên trong ZK Rollup. Mục tiêu của zkEVM là mang trải nghiệm Ethereum hoàn chỉnh lên L2 mà không làm mất đi lợi thế hiệu suất của Rollup.
Tính đến nay, các dự án ZK Rollup phổ quát hàng đầu như zkSync2.0, Polygon Hermez2.0, Scroll đã lần lượt ra mắt mạng thử nghiệm zkEVM, còn StarkNet thì đã bước vào giai đoạn Alpha Mainnet.
Phân loại mức độ tương thích của zkEVM
Hiện tại, zkEVM của các ZK Rollup không hoàn toàn tương thích với Ethereum, huống hồ gì đạt được tầm nhìn tối thượng là “tương đương Ethereum”. Vì vậy, không chỉ kế hoạch nâng cấp của Ethereum đang hướng tới thân thiện với Rollup, các dự án ZK Rollup cũng luôn giải quyết vấn đề tương thích với Ethereum.
Vitalik chia các ZK Rollup phổ quát zkEVM thành 4 loại dựa trên mức độ tương thích với cơ sở hạ tầng EVM hiện có:

Type-1: Tương đương hoàn toàn với Ethereum
zkEVM Type-1 hướng tới việc hoàn toàn và không khoan nhượng tương đương với Ethereum. Không cần thay đổi bất kỳ phần nào của hệ thống Ethereum, không cần thay thế hàm băm, cây trạng thái, cây giao dịch, các chương trình biên dịch trước (precompiles) hay bất kỳ logic đồng thuận nào khác. Nói ngắn gọn, zkEVM Type-1 hoàn toàn tương đương với Ethereum.
zkEVM Type-1 có khả năng xác minh khối Ethereum giống như chính Ethereum, hoặc ít nhất là xác minh lớp thực thi (bao gồm tất cả giao dịch, hợp đồng thông minh và logic tài khoản), trừ phần logic đồng thuận của Beacon Chain.
zkEVM Type-1 là điều Ethereum cuối cùng cần và cũng là lựa chọn lý tưởng nhất cho Rollups. Một mặt, zkEVM Type-1 cho phép Rollups tái sử dụng nhiều cơ sở hạ tầng (ví dụ: Ethereum Execution Clients, Block Explorers, Block Production...); mặt khác, nó giúp chính Ethereum Layer1 trở nên mở rộng tốt hơn, vì một số cải tiến thử nghiệm trên zkEVM Type-1 có thể trong tương lai sẽ được đưa vào chính Ethereum.
Tất nhiên, zkEVM Type-1 cũng có nhược điểm. Ethereum ban đầu không được thiết kế theo hướng thân thiện với ZK, do đó nhiều phần của giao thức Ethereum đòi hỏi lượng tính toán lớn mới có thể tạo bằng chứng ZK. Type-1 giống Ethereum ở điểm này, không thể giảm thiểu sự kém hiệu quả (về thời gian tạo bằng chứng, cần thời gian dài hơn). Giải pháp ngành đưa ra hiện nay chủ yếu là: song song hóa quy mô lớn nhờ kỹ thuật tinh vi, hoặc sử dụng ASIC cho ZK-SNARK để tăng tốc phần cứng.
Hiện tại, có hai nhóm chính đang cố gắng phát triển Type-1 ZK-EVM, một là Privacy and Scaling Explorations team, hai là Taiko.
Type-2: Tương đương hoàn toàn với EVM
zkEVM Type-2 hướng tới việc hoàn toàn tương đương với EVM, nhưng không hoàn toàn tương đương với Ethereum. Chúng tương thích hoàn toàn với các ứng dụng hiện có, nhưng cần một vài thay đổi nhỏ đối với Ethereum để việc phát triển dễ dàng hơn và tạo bằng chứng nhanh hơn.
zkEVM Type-2 có một số điều chỉnh về cấu trúc dữ liệu như cấu trúc khối và cây trạng thái. Vì đây là những cấu trúc mà EVM không thể truy cập trực tiếp, nên các ứng dụng chạy trên Ethereum gần như có thể chạy trực tiếp trên zkEVM Rollup Type-2. Mặc dù không thể sử dụng trực tiếp client thực thi Ethereum, nhưng vẫn có thể dùng sau một vài chỉnh sửa, và cũng có thể dùng công cụ gỡ lỗi EVM cùng hầu hết các công cụ phát triển khác.
Bằng cách loại bỏ một phần ngăn xếp Ethereum không cần thiết và không thân thiện với ZK, thời gian tạo bằng chứng của zkEVM Type-2 nhanh hơn so với Type-1. Những thay đổi này tuy cải thiện đáng kể hiệu suất của người tạo bằng chứng, nhưng chưa giải quyết triệt để vấn đề thời gian chậm. Tóm lại, thời gian tạo bằng chứng của Type-2 vẫn khá chậm.
Type-3: Gần như tương đương với EVM
zkEVM Type-3 gần như tương đương với EVM, chấp nhận hy sinh một phần tương thích để dễ phát triển hơn.
zkEVM Type-3 loại bỏ một số chức năng khó triển khai trong zkEVM (ví dụ: precompiles), và điều chỉnh cách xử lý mã hợp đồng, bộ nhớ hoặc ngăn xếp, từ đó hy sinh một phần về tính tương đương để tiết kiệm thời gian xác minh và giúp EVM dễ phát triển hơn.
Về tương thích, do một số ứng dụng sử dụng các precompile bị loại bỏ bởi zkEVM Type-3, nên những ứng dụng này cần viết lại một phần mã.
Hiện nay, Scroll và Polygon đều thuộc Type-3. Tất nhiên, về dài hạn, không có nhóm zkEVM nào công khai muốn dừng mãi ở Type-3. Scroll và Polygon Hermez đều đang hướng tới zkEVM Type-2, mặc dù vẫn còn nhiều precompile phức tạp chưa triển khai xong.
Type-4: Tương đương ngôn ngữ cao cấp
Type-4 thực chất thuộc về zkVM. Hệ thống Type-4 hoạt động bằng cách lấy mã nguồn hợp đồng thông minh viết bằng ngôn ngữ cao cấp (Solidity, Vyper) và biên dịch sang một ngôn ngữ được thiết kế rõ ràng để thân thiện với ZK-SNARK.
Ưu và nhược điểm đều rõ rệt. Thời gian xác minh rất nhanh, vì Type-4 không tạo bằng chứng ZK cho từng bước thực thi EVM, mà bắt đầu từ mã cấp cao hơn, từ đó giảm chi phí và tăng tốc xác minh. Tuy nhiên, khả năng tương thích kém: địa chỉ hợp đồng trên hệ thống Type-4 khác với địa chỉ trên EVM; việc sử dụng bytecode EVM viết tay khó khăn hơn; nhiều cơ sở hạ tầng gỡ lỗi không kế thừa được vì chúng chạy trên bytecode EVM.
Tóm lại, Type-4 thuộc loại tương đương cấp độ ngôn ngữ, có khoảng cách lớn về tương thích so với loại tương đương cấp độ bytecode. Theo quan điểm của Vitalik, hiện nay chủ yếu có Zksync thuộc loại Type-4, dù theo thời gian có thể tăng thêm khả năng tương thích bytecode EVM; dự án warp dựa trên Nethermind đang xây dựng trình biên dịch từ Solidity sang Cairo của Starkware cũng sẽ biến StarkNet thành Type-4.
So sánh các loại zkEVM
Các zkEVM này không có ưu nhược tuyệt đối. Chúng chỉ là sự đánh đổi giữa tính tương thích và tốc độ: zkEVM Type-1 có mức độ tương thích cao nhất với Ethereum nhưng tốc độ tạo bằng chứng chậm; zkEVM Type-4 tương thích kém hơn nhưng thời gian xác minh nhanh hơn. Ta cũng thấy rằng các dự án ZK Rollup nổi bật hiện nay như Zksync, StarkNet, Polygon, Scroll đều thuộc loại zkVM/zkEVM Type-4/Type-3 – tức là không quá tương thích với Ethereum.

Vitalik hy vọng rằng theo thời gian, thông qua cải tiến zkEVM và cải tiến chính Ethereum, cuối cùng mọi zkEVM đều trở thành loại Type-1. Lợi ích là trong tương lai sẽ có nhiều zkEVM, vừa có thể dùng cho ZK Rollup, vừa có thể dùng để xác minh chính chuỗi Ethereum (tương lai Ethereum sẽ thân thiện hơn với ZK-SNARK).
Quan điểm do Vitalik đưa ra thường dễ đạt được sự đồng thuận trong toàn ngành, tôi cũng rất đồng tình. Các dự án zkEVM Type-1 tự nhiên được chào đón nhất trong hệ sinh thái Ethereum và phù hợp nhất với Ethereum L1. Nhưng các zkVM loại Type-4 cũng không phải là lựa chọn kỹ thuật tồi cho các dự án lớp thực thi.
Chủ yếu có hai điểm cân nhắc:
-
Trong bối cảnh câu chuyện Modular Blockchain, zkVM thuận tiện hơn để kết nối với các L1 khác. Nếu thoát khỏi tư duy chỉ làm L2 cho hệ sinh thái Ethereum, không tương thích bytecode với máy ảo Ethereum mà chọn zkVM, có thể lại thuận tiện hơn để kết nối với các lớp đồng thuận L1 khác trong tương lai;
-
Hiện tại trần hiệu suất của ZK Rollup bị giới hạn bởi tốc độ tạo bằng chứng, và zkVM Type-4 có lợi thế. Tốc độ tạo bằng chứng ở lớp thực thi vẫn rất quan trọng, việc L2 tối ưu hiệu suất thực thi đến mức tối đa cũng là một ý tưởng hay. Dù tương lai có thể dùng phần cứng ASIC để tăng hiệu quả tạo bằng chứng, nhưng hiệu quả còn chưa rõ, nên ưu điểm tốc độ tạo bằng chứng nhanh của zkVM Type-4 vẫn rất đáng kể.
Tất nhiên, tính tương thích và tốc độ của zkEVM thực tế không phải là chỉ số duy nhất mà nhà phát triển dùng để chọn ZK Rollup làm ứng dụng. Còn nhiều yếu tố khác ảnh hưởng đến lựa chọn của họ, ví dụ:
-
Phí: Thanh toán phí bằng token nào, mức giảm phí trên L2 cũng là yếu tố quan trọng, nhưng do phần lớn dự án ZK Rollup phổ quát vẫn ở giai đoạn testnet nên chưa thể so sánh;
-
Quy tắc tạo bằng chứng: Hỗ trợ ai làm Prover, thậm chí dùng phần cứng nào để tăng tốc tạo bằng chứng;
-
Quy tắc sắp xếp giao dịch L2: Dùng một Sequencer duy nhất hay theo hướng phi tập trung;
-
Tự quản: Có cơ chế rõ ràng để đảm bảo khi L2 gặp sự cố vẫn có thể khôi phục tài sản người dùng trên L1 hay không;
-
Khả dụng dữ liệu: Chi phí khả dụng dữ liệu đầy đủ tự nhiên cao hơn, liệu có chấp nhận mô hình khả dụng dữ liệu chi phí thấp mà một số ZK Rollup áp dụng hay không.
Tóm lại, mỗi loại zkEVM của ZK Rollup đều có sự đánh đổi giữa nhiều yếu tố hiệu suất, thực tế không có ưu nhược tuyệt đối.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














