Hướng dẫn đo lường hiệu suất zkEVM: Các nhà phát triển chọn dự án tổng hợp ZK như thế nào?
Tác giả: Jarrod Watts
Bản tổng hợp gốc: BlockBeats
Trong cuộc chiến mở rộng của Ethereum, các bản tổng hợp Optimistic có khả năng tương thích cao hoặc thậm chí hoàn toàn tương đương với EVM, điều này dẫn đến những lợi thế vốn có của Arbitrum và Optimism trong xu hướng này để các nhà phát triển áp dụng. Mã chuyển liền mạch L1 đến L2 và các công cụ phát triển phong phú của nó có thể nhanh chóng Thu hút các nhà phát triển đến ổn định và triển khai cũng như tạo các ứng dụng trên nền tảng.
Ngược lại, dòng ZK khó hơn. Các đặc tính kỹ thuật vốn có của nó khiến các bản tổng hợp ZK tùy chỉnh các máy ảo của riêng họ, điều đó có nghĩa là bên dự án cần phải làm nhiều việc hơn để diễn giải mã từ EVM hoặc thậm chí phát triển và viết mã mới từ đầu. Tuy nhiên, một số dự án theo dõi tổng hợp ZK bao gồm Taiko, Polygon, Linea, Scroll và ZkSync Era đã triển khai triển khai zkEVM của riêng họ.
Là chén thánh của việc mở rộng, zkEVM có tác động quan trọng đến trải nghiệm triển khai hợp đồng của nhà phát triển. Đối mặt với nhiều dự án tổng hợp ZK, nhà phát triển nên lựa chọn như thế nào?
Bài viết này được tổng hợp từTóm tắt các Tweet của Jarrod Watts, anh ấy là kỹ sư quan hệ nhà phát triển của Polygon. Bằng cách triển khai các hợp đồng thông minh (1 hợp đồng thông minh Solidity và một hợp đồng NFT) trên dự án tổng hợp ZK phổ biến hiện nay, anh ấy đã phân tích hiệu suất zkEVM của các dự án như Taiko, Polygon, Linea, Scroll và Kỷ nguyên ZkSync. Đã tiến hành các thử nghiệm thực tế, so sánh các ưu điểm và nhược điểm tương ứng cũng như thời gian từ L2 đến L1, đồng thời cung cấp hướng dẫn thử nghiệm cho các nhà phát triển muốn thử triển khai hợp đồng hai lớp.
danh hiệu cấp một
tiêu đề phụ
Trước khi giải thích ZK-EVM là gì, hãy xem tại sao lại cần ZK-EVM?
ZK Rollups mang lại khả năng mở rộng và hiệu suất cao cho Ethereum. Mặt khác, giải pháp ZK Rollups không tương thích với EVM (Máy ảo Ethereum), có nghĩa là giải pháp ZK Rollups chỉ có thể hỗ trợ các hoạt động hạn chế, bao gồm chuyển khoản, tiền đúc hoặc sự phá hủy và các công cụ như ví phải được phát triển cho người dùng.
Do đó, chúng tôi cần Bản tổng hợp ZK tương thích với EVM và để làm được điều này, nhiều công ty khác nhau đã phát triển ZK-EVM của riêng họ.
ZK-EVM, hay Zero-Knowledge EVM, là một triển khai Máy ảo Ethereum tương thích với Bằng chứng không có kiến thức.
Chức năng chính của ZK-EVM là xử lý hàng loạt các giao dịch trên Ethereum L2 (lớp 2) và gửi bằng chứng hợp lệ của các giao dịch hàng loạt trở lại Ethereum L1. Nói chung, zkEVM có thể làm mọi thứ cho mạng chính Ethereum. Nó biên dịch mã mà con người có thể đọc được trong Solidity hoặc Vyper thành mã byte, thực thi các hợp đồng thông minh và cập nhật trạng thái blockchain.
Khó khăn trong việc xây dựng ZK Rollups tương thích với EVM là Ethereum ban đầu không được thiết kế thân thiện với ZK. Điều này có nghĩa là bằng chứng không có kiến thức đòi hỏi nhiều tài nguyên để tính toán.
tiêu đề phụ
Opcode, bytecode và EVM là gì?
Đã đến lúc dành cho khoa học phổ thông, opcode, bytecode và EVM là gì?
Trước hết, EVM là môi trường hoạt động cho các hợp đồng thông minh trên Ethereum. Ethereum lưu trữ cái gọi là trạng thái máy trong cấu trúc dữ liệu cây trie, cấu trúc này thay đổi sau mỗi giao dịch trong một khối được thực thi.
dựa theo
dựa theoTài liệu dành cho nhà phát triển Ethereum, trạng thái hợp lệ cũ (S) + tập hợp giao dịch hợp lệ mới (T), Ethereum sẽ tạo ra trạng thái đầu ra hợp lệ mới S'

Bạn có thể coi nó như một trò chơi như cờ vua. Ethereum giống như một bàn cờ, nơi có các trạng thái trò chơi khác nhau và trong Ethereum, khả năng của trạng thái này là vô hạn. Trò chơi board có các quy tắc chuyển động cụ thể của riêng chúng (so sánh các giao dịch trên Ethereum) và có những hạn chế cụ thể về hành động nào có thể được thực hiện trên phần nào. Người chơi thực hiện các hành động (trái ngược với việc người dùng gửi giao dịch trên Ethereum) và trò chơi (Ethereum) xây dựng và thực thi các quy tắc, dẫn đến trạng thái bảng mới (Ethereum toàn cầu) sau mỗi vòng (tương ứng với thời gian chặn).
Đối với Ethereum hoặc bất kỳ sự phát triển blockchain tương thích EVM nào, các hợp đồng thông minh cần phải được viết bằng Solidity. Solidity là ngôn ngữ cấp cao được thiết kế để con người có thể đọc được để các nhà phát triển có thể tập trung vào việc viết mã thay vì các thanh ghi, địa chỉ bộ nhớ, ngăn xếp cuộc gọi và các nội dung trừu tượng khác.
Tuy nhiên, EVM không thể đọc được Solidity. Thay vào đó, nó chỉ hiểu bytecode, là mã cấp thấp nhị phân, máy có thể đọc được.
Trong EVM, bytecode (mã byte) đại diện cho một loạt các opcode (opcode) EVM, opcode là các lệnh chương trình có thể đọc được ở mức độ thấp, biểu thị các hoạt động cụ thể có thể được thực hiện trong EVM.
Vì ngôn ngữ cấp cao như Solidity không thể được thực thi trực tiếp trong EVM, nên chúng tôi cần một cách để chuyển đổi mã hợp đồng thông minh từ mã byte code của ngôn ngữ Solidity mà con người có thể đọc được sang EVM thực thi, đây là công việc của trình biên dịch.
Sau khi biên dịch mã Solidity bằng trình biên dịch Remix IDE, bạn có thể xem mã hoạt động cụ thể mà hợp đồng thông minh được chuyển đổi thành và xem mã byte được tạo từ mã hoạt động đó.

Dưới đây là các opcode:

Sau đây là mã byte tương ứng với mã opcode trên.

Bằng cách dịch mã byte thành mã opcode, có thể biết hướng dẫn thực thi nào được chứa trong mã byte.
danh hiệu cấp một
Các loại ZK-EVM khác nhau
Vì thiết kế Ethereum ngay từ đầu không xem xét tính thân thiện với ZK nên về mặt lý thuyết, càng gần với thiết kế Ethereum thì việc tạo ra bằng chứng ZK càng khó khăn và tốn thời gian hơn. Vào tháng 8 năm 2022, người sáng lập Ethereum Vitalik đã xuất bản một bài đăng trên blogHãy nghe Vitalik giải thích về tương lai của các loại ZK-EVM khác nhau, phân loại các ZK-EVM khác nhau.
Trong bài viết này, Vitalik đã phân loại các ZK-EVM khác nhau dựa trên hai khía cạnh về khả năng tương thích EVM và thời gian (hiệu suất) tạo bằng chứng ZK. Vitalik đã liệt kê bốn (một nửa) loại trong biểu đồ này. Tất cả các sản phẩm ZK-EVM hiện có trên thị trường đều có thể là bao gồm.

1. Loại ZK-EVM đầu tiên hoàn toàn tương đương với Ethereum, chúng sẽ không thay đổi bất kỳ phần nào của hệ thống Ethereum và việc tạo bằng chứng dễ dàng hơn. Trong các hệ thống như vậy, việc tạo bằng chứng ZK mất nhiều thời gian (vài giờ). Taiko thuộc loại ZK-EVM này.
2, loại thứ hai hoàn toàn tương đương với EVM, nhưng thay đổi một số cách biểu diễn bên trong khác nhau, chẳng hạn như cách lưu trữ trạng thái chuỗi, để tăng tốc thời gian tạo bằng chứng ZK. Hiện tại, không có ZK-EVM loại này trên thị trường; tuy nhiên, Polygon, Linea và Scroll đang hoạt động theo hướng này.
2.5, giữa loại 2 và loại 3 cũng có loại 2.5. Loại này hoàn toàn tương đương với EVM, ngoại trừ chi phí gas của một số loại hoạt động nhất định được tăng lên để giảm đáng kể thời gian chứng minh trường hợp xấu nhất. Hiện tại, không có ZK-EVM loại này trên thị trường; tuy nhiên, một dự án ZK-EVM mới có tên Kakarot đang thực hiện nó.
3, Loại 3 gần như tương đương với EVM, nhưng có một số hạn chế về độ chính xác tương đương để rút ngắn hơn nữa thời gian chứng minh và đơn giản hóa việc phát triển EVM. Hiện tại, Polygon, Linea và Scroll đều thuộc loại này.
4. Loại 4 tương đương với ngôn ngữ cấp cao của ZK-EVM, loại ZK-EVM này biên dịch mã nguồn của hợp đồng thông minh thành ngôn ngữ thân thiện với ZK-SNARK, sẽ mang lại thời gian chứng minh nhanh hơn và tương ứng gây ra các nhược điểm như như sự không tương thích và hạn chế. Hiện tại, zkSync Era thuộc loại này.
danh hiệu cấp một
Chiến đấu: Đánh giá sự phát triển của Taiko, Polygon, Linea, Scroll và ZkSync Era
Sau khi ôn lại kiến thức lý thuyết, sau đây là phần thực chiến.
tiêu đề phụ
Taiko ZK-EVM
Taiko là ZK-EVM loại 1 và hiện đang trong giai đoạn testnet. Taiko xử lý chính xác những gì Ethereum làm; sử dụng cùng hàm băm, giá gas, thuật toán mã hóa, v.v.
Quy trình vận hành: triển khai hợp đồng thông minh Solidity đơn giản và triển khai bộ sưu tập NFT đơn giản bằng cách sử dụng proxy ThirdWeb.
tiêu đề phụ

Linea ZK-EVM
Linea thuộc loại ZK-EVM loại 3 và Linea chưa thể chứng minh tất cả các opcode hoặc quá trình biên dịch trước; nó đại diện cho một trạng thái nội bộ chuỗi khác với Ethereum, chẳng hạn như sử dụng hàm băm khác.
Mã byte được triển khai giống như Ethereum.

Quá trình triển khai gần như liền mạch, giúp dễ dàng triển khai và tương tác với cả hai hợp đồng thông minh. Đây là hành vi tương tự như Ethereum; các công cụ và ví hiện có có thể được sử dụng để triển khai các hợp đồng thông minh, tương tác với chúng, tạo ra NFT, v.v.
Tại thời điểm viết bài này, Linea vẫn chưa tung ra giao diện bridge front-end. Do đó, chỉ các chức năng hợp đồng thông minh bắc cầu mới có thể được gọi trực tiếp.
tiêu đề phụ
Polygon ZK-EVM
Polygon ZK-EVM thuộc Loại 3 ZK-EVM và đã ra mắt mainnet từ cuối tháng 3 năm nay.
Polygon zkEVM liệt kê tất cả những khác biệt hiện tại giữa EVM và zkEVM trong tài liệu chính thức

Triển khai mã byte trên Polygon zkEVM cũng giống như Ethereum, điều này giúp việc triển khai và tương tác với các hợp đồng thông minh trở nên rất đơn giản. Vitalik từng nói: Polygon zkEVM có thiết kế độc đáo và họ đang sử dụng ZK để xác minh ngôn ngữ nội bộ của riêng họ được gọi là zkASM.
Nhóm kỹ thuật Polygon cho biết rằng ngoài việc cải thiện thời gian tạo và rút bằng chứng, quá trình biên dịch trước còn lại sẽ được hoàn thành sớm nhất có thể trong tương lai, với mục tiêu trở thành Loại 2 trong sơ đồ Vitalik.
tiêu đề phụ
Scroll
Scroll thuộc loại ZK-EVM loại 3 và hiện đang trong giai đoạn testnet. Scroll cũng liệt kê sự khác biệt giữa ZK-EVM và Ethereum EVM trong tài liệu chính thức

tiêu đề phụ
ZkSync Era
Kỷ nguyên ZkSync thuộc loại 4 ZK-EVM. Hoàn toàn khác với các ZK-EVM khác, mã byte hợp đồng thông minh được triển khai trên zkEVM của ZkSync Era khác với Ethereum.
Điều này cho phép ZkSync Era cung cấp một tính năng độc đáo, hỗ trợ riêng cho việc trừu tượng hóa Tài khoản, điều này sẽ mang lại trải nghiệm khác cho nhà phát triển. Thông thường, hầu hết các ví tiền điện tử chỉ là địa chỉ tiêu chuẩn có thể gửi và nhận tiền cũng như tương tác với các hợp đồng thông minh. Với tính năng trừu tượng hóa tài khoản, ví tiền điện tử có thể tùy chỉnh và có thể được thiết kế theo những cách phức tạp hơn để cung cấp nhiều chức năng hơn. Ngoài ra, zkEVM vẫn cho phép các nhà phát triển sử dụng các ngôn ngữ cấp cao tương tự như Solidity.
Mặc dù ZK-EVM của Kỷ nguyên ZkSync khá khác với EVM, nhưng ZkSync Era cung cấp một tập hợp các biện pháp thực hành tốt nhất và những điều cần cân nhắc cho nhà phát triển. Ngoài ra, các nhà phát triển sẽ cần thực hiện một số điều chỉnh nhỏ trong quá trình phát triển để xây dựng riêng cho ZkSync Era.
Ví dụ: trong ví dụ bên dưới, môi trường Hardhat phải được cài đặt và định cấu hình với tiện ích mở rộng zkSync tùy chỉnh để tạo mã byte có thể được triển khai cho Era ZK-EVM.

Quá trình biên dịch tạo ra một mã byte hoàn toàn mới hoàn toàn khác với Ethereum, hoàn toàn khác với mã byte được tạo bởi ZK-EVM ở trên.

Điều đáng lưu ý là,ThirdWeb hiện đã ra mắt Kỷ nguyên zkSync và đã ra mắt Kỷ nguyên zkSync để cung cấp cho các nhà phát triển trải nghiệm triển khai thuận tiện hơn.
tiêu đề phụ
Kakarot ZkEvm
phần kết
phần kết
Đối với người dùng cuối, việc ai thắng cuộc đua không quan trọng vì sự tiến bộ của giải pháp ZK tương thích với EVM là một chiến thắng lớn cho toàn ngành. Đối với mỗi bên dự án, đây không phải là một cuộc cạnh tranh mà là khám phá các phương pháp khác nhau để thúc đẩy sự tiến bộ của toàn ngành. Vitalik thậm chí còn có một lý thuyết đa chứng nhận. Tiền đề cơ bản là các Rollup khác nhau có thể hoạt động cùng nhau, từ đó nâng cao tính bảo mật tổng thể của Ethereum.
Cuối cùng, mọi người đều muốn Ethereum thành công. Chuyển đổi mở rộng L2 là một trong ba chuyển đổi kỹ thuật mà Vitalik tin rằng Ethereum cần phải trải qua. Chúng ta sẽ chờ xem nó sẽ phát triển như thế nào trong tương lai.


