Trong cuộc chiến mở rộng Ethereum, các bản cập nhật của Optimistic có tính tương thích cao hoặc thậm chí hoàn toàn tương đương với EVM, dẫn đến những lợi thế vốn có của Arbitrum và Optimism đang được các nhà phát triển áp dụng. Khả năng chuyển mã liền mạch L1 sang 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 đị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 để "thông dịch" 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 số ZK bao gồm Taiko, Polygon, Linea, Scroll và ZkSync Era đã khởi chạy triển khai zkEVM của riêng họ.
Là chén thánh 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 số ZK, các nhà phát triển nên chọn như thế nào?
Bài viết này tổng hợp một bản tóm tắt các tweet từ Jarrod Watts. Anh ấy là kỹ sư quan hệ nhà phát triển tại 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) trong dự án tổng hợp ZK phổ biến hiện nay, anh ấy đã đo lường hiệu suất zkEVM của các dự án như Taiko, Polygon, Linea, Scroll và ZkSync Era, đồng thời so sánh ưu điểm và nhược điểm tương ứng của chúng và tín dụng L2 với L1. Đã đến lúc cung cấp hướng dẫn thử nghiệm thực tế cho các nhà phát triển muốn thử triển khai hợp đồng hai lớp.
Sau đây là phần tổng hợp văn bản gốc từ BlockBeats:
**ZK-EVM là gì và tại sao chúng ta cần nó? ****Trước khi giải thích ZK-EVM là gì, hãy cùng 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, đúc hoặc đốt 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à vì điều này, nhiều công ty đã 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 Zero-Knowledge Proofs.
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 chuỗi khối.
Khó khăn trong việc xây dựng ZK Rollup tương thích với EVM là Ethereum ban đầu không được thiết kế với mục đích thân thiện với ZK. Điều này có nghĩa là bằng chứng không kiến thức đòi hỏi rất nhiều tài nguyên để tính toán.
Trong số đó, một số opcode mã thao tác EVM đặc biệt "không thân thiện với ZK", dẫn đến các sản phẩm ZK-EVM cuối cùng được thiết kế bởi nhiều công ty với khả năng tương thích EVM khác nhau.
** Mã lệnh, mã byte và EVM là gì? **
Đã đến lúc phổ biến khoa học, opcodes, bytecodes 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 hiện.
EVM mang tính quyết định, nghĩa là việc thực thi một tập hợp các hướng dẫn trên bất kỳ trạng thái cụ thể nào sẽ dẫn đến cùng một trạng thái mới.
Theo tài liệu dành cho nhà phát triển Ethereum, trạng thái hợp lệ cũ (S) + một bộ 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 giống 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. Các trò chơi trên bàn cờ có các quy tắc di chuyển cụ thể của riêng chúng (so sánh các giao dịch trên Ethereum) và có các hạn chế cụ thể về hành động nào có thể được thực hiện trên quân cờ nào. Người chơi thực hiện hành động (so với 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 khối).
Đối với Ethereum hoặc bất kỳ sự phát triển chuỗi khối tương thích với EVM nào, các hợp đồng thông minh cần phải được viết bằng Solidity. Solidity là một 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ì đăng ký, đị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 Solidity. Thay vào đó, nó chỉ hiểu "mã byte", là mã nhị phân, mã cấp thấp có thể đọc được bằng máy.
Trong EVM, "bytecode" (mã byte) đại diện cho một loạt các "opcodes" (mã lệnh) của EVM, opcodes là các lệnh cấp thấp có thể đọc được của chương trình, đại diện cho các thao tác cụ thể có thể thực hiện trong EVM.
Vì một ngôn ngữ cấp cao như Solidity không thể được thực thi trực tiếp trong EVM, chúng tôi cần một cách để chuyển đổi mã hợp đồng thông minh từ mã byte opcode của ngôn ngữ Solidity mà con người có thể đọc được để được thực thi bởi EVM, đâ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 opcode cụ thể mà hợp đồng thông minh được chuyển đổi thành và xem bytecode được tạo từ opcode.

Đây là các opcode:

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

Bằng cách dịch bytecode thành opcode, có thể biết hướng dẫn thực thi nào được chứa trong bytecode.
Do độ khó cao của bằng chứng ZK đối với một số opcode cụ thể trong EVM, các ZK-EVM với mức độ tương thích khác nhau đã xuất hiện trên thị trường.
Các loại ZK-EVM khác nhau
Do thiết kế Ethereum ban đầu không xem xét tính thân thiện của ZK, nên về lý thuyết, thiết kế càng gần với Ethereum thì càng khó và tốn thời gian để tạo ra bằng chứng ZK. Vào tháng 8 năm 2022, Vitalik, người sáng lập Ethereum, đã xuất bản một bài đăng trên blog "Hãy lắng nghe cách giải thích của Vitalik 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 là khả năng tương thích EVM và thời gian tạo bằng chứng ZK (hiệu suất). Vitalik liệt kê bốn loại (bán) trong biểu đồ này và có thể bao gồm tất cả các sản phẩm ZK-EVM hiện có trên thị trường.
1, loại ZK-EVM đầu tiên hoàn toàn tương đương với Ethereum, chúng không thay đổi bất kỳ phần nào của hệ thống Ethereum và dễ dàng tạo ra bằng chứng hơn. Trong các hệ thống như vậy, bằng chứng ZK mất nhiều thời gian (vài giờ) để tạo. Taiko thuộc loại ZK-EVM này.
Loại thứ hai hoàn toàn tương đương với EVM, nhưng thay đổi một số biểu diễn bên trong khác nhau, chẳng hạn như phương thức lưu trữ của 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òn 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 trong 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 hoạt động trên đó.
Loại 3 gần như tương đương với EVM, nhưng với một số thỏa hiệp về độ chính xác tương đương để giảm thêm thời gian kiểm chứng và đơn giản hóa quá trình phát triển EVM. Hiện tại, Polygon, Linea và Scroll thuộc loại này.
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, ngôn ngữ này sẽ mang lại thời gian chứng minh nhanh hơn và các nhược điểm tương ứng như không tương thích và hạn chế. Hiện tại, zkSync Era thuộc danh mục này.
Điều đáng chú ý là thời gian cần thiết để gửi bằng chứng về tính hợp lệ trở lại Ethereum L1 là thời gian cần thiết để người dùng chuyển tiền trở lại L1. Nếu việc tạo bằng chứng mất hàng giờ, thì người dùng đó không thể chuyển tiền trở lại L1 trong những giờ đó.
Chiến đấu thực tế: Đánh giá sự phát triển của Taiko, Polygon, Linea, Scroll và ZkSync Era
Sau khi ôn tập kiến thức lý thuyết, sau đây là phần thực chiến.
Bằng cách triển khai các hợp đồng thông minh Solidity và hợp đồng NFT trên Taiko, Polygon, Linea, Scroll và ZkSync Era tương ứng, hiệu suất và các lỗi tương ứng của từng ZK-EVM được kiểm tra.
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 hoạt động: đã 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 của ThirdWeb.
Nhược điểm của ZK-EVM loại 1 là mất nhiều thời gian để tạo bằng chứng khi mọi thứ giống hệt như trong Ethereum (thậm chí cả trong nội bộ). Điều này có nghĩa là phải mất vài giờ để người dùng kết nối ETH từ Taiko L2 trở lại Ethereum L1 (như hình bên dưới).

Dòng 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 tiền biên dịch; nó đại diện cho một trạng thái bên trong chuỗi khác với Ethereum, chẳng hạn như sử dụng một 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, đúc 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.
Theo tài liệu của Linea, cầu L2 đến L1 của ETH thường mất khoảng 15 phút, nhưng trong trường hợp này mất khoảng vài giờ.
Đa giác ZK-EVM
Polygon ZK-EVM thuộc Type 3 ZK-EVM và đã ra mắt mạng chính từ cuối tháng 3 năm nay.
Tài liệu chính thức của Polygon zkEVM liệt kê tất cả những khác biệt hiện tại giữa EVM và zkEVM.
Việc triển khai mã byte trên Polygon zkEVM cũng giống như Ethereum, 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 chính họ có tên là zkASM".
Nhóm kỹ sư Polygon tuyên bố rằng ngoài việc cải thiện thời gian tạo và rút bằng chứng, phần tiền biên dịch còn lại sẽ được hoàn thành càng sớm càng tốt trong tương lai, với mục tiêu trở thành Loại 2 trong sơ đồ Vitalik.
Trong trường hợp triển khai này, bắc cầu mạng chính zkEVM diễn ra suôn sẻ; quá trình bắc cầu L2 -> L1 mất khoảng 1 giờ.
Cuộn
Scroll thuộc Loại 3 ZK-EVM 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.
Giống như các ZK-EVM Loại 3 khác, quy trình triển khai gần như liền mạch và các hợp đồng thông minh cũng như bộ sưu tập NFT của Solidity có thể dễ dàng triển khai và tương tác. Chuyển tiền từ L2 sang L1 dự kiến sẽ mất "10 phút đến vài giờ".
Kỷ nguyên ZkSync
ZkSync Era thuộc về ZK-EVM Loại 4. 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 Kỷ nguyên ZkSync cung cấp một tính năng độc đáo, hỗ trợ riêng cho tính năng trừu tượng hóa Tài khoản, 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 sự 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ùng các ngôn ngữ cấp cao như Solidity.
Mặc dù ZK-EVM của Kỷ nguyên ZkSync khá khác so với EVM, nhưng Kỷ nguyên ZkSync cung cấp một tập hợp các thực tiễn và cân nhắc tốt nhất cho các 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ỏ đối với quy trình phát triển để xây dựng riêng cho Kỷ nguyên ZkSync.
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, mã này hoàn toàn khác với mã byte được tạo bởi ZK-EVM ở trên.

Điều đáng chú ý là ThirdWeb đã 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.
Tổng cộng có hai hợp đồng thông minh được triển khai trong quá trình hoạt động này, tương tác với chúng và gửi tài sản từ L2 trở lại L1. Hiện tại, có sự chậm trễ 24 giờ đối với việc rút tiền từ mạng chính ZkSync Era sang Ethereum L1 vì lý do bảo mật.
Kakarot ZkEvm
Một dự án khác dành riêng để hiện thực hóa Type 2.5 ZK-EVM là Kakarot ZkEvm, đã nhận được tài trợ từ một số tổ chức bao gồm Vitalik Buterin và StarkWare vào tháng 6 năm nay. Kakarot có kế hoạch phát hành testnet vào cuối năm 2023.
Phần kết luận
Đối với người dùng cuối, việc ai thắng cuộc đua không quan trọng, vì tiến trình 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 các bên dự án khác nhau, đây không phải là một cuộc cạnh tranh quá nhiều mà là khám phá các phương pháp khác nhau để thúc đẩy tiến trình của toàn ngành. Vitalik thậm chí còn có một "lý thuyết đa chứng chỉ". Tiền đề cơ bản là các Rollup khác nhau có thể phối hợp với nhau để tăng cường bảo mật tổng thể của Ethereum.
Vào cuối ngày, 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.
Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
ZkEVM nào có hiệu suất tốt nhất? Thử nghiệm triển khai hợp đồng Ethereum L2
Tác giả: Jarrod Watts; Biên soạn: Block Beats
Trong cuộc chiến mở rộng Ethereum, các bản cập nhật của Optimistic có tính tương thích cao hoặc thậm chí hoàn toàn tương đương với EVM, dẫn đến những lợi thế vốn có của Arbitrum và Optimism đang được các nhà phát triển áp dụng. Khả năng chuyển mã liền mạch L1 sang 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 đị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 để "thông dịch" 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 số ZK bao gồm Taiko, Polygon, Linea, Scroll và ZkSync Era đã khởi chạy triển khai zkEVM của riêng họ.
Là chén thánh 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 số ZK, các nhà phát triển nên chọn như thế nào?
Bài viết này tổng hợp một bản tóm tắt các tweet từ Jarrod Watts. Anh ấy là kỹ sư quan hệ nhà phát triển tại 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) trong dự án tổng hợp ZK phổ biến hiện nay, anh ấy đã đo lường hiệu suất zkEVM của các dự án như Taiko, Polygon, Linea, Scroll và ZkSync Era, đồng thời so sánh ưu điểm và nhược điểm tương ứng của chúng và tín dụng L2 với L1. Đã đến lúc cung cấp hướng dẫn thử nghiệm thực tế cho các nhà phát triển muốn thử triển khai hợp đồng hai lớp.
Sau đây là phần tổng hợp văn bản gốc từ BlockBeats:
**ZK-EVM là gì và tại sao chúng ta cần nó? ****Trước khi giải thích ZK-EVM là gì, hãy cùng 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, đúc hoặc đốt 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à vì điều này, nhiều công ty đã 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 Zero-Knowledge Proofs.
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 chuỗi khối.
Khó khăn trong việc xây dựng ZK Rollup tương thích với EVM là Ethereum ban đầu không được thiết kế với mục đích thân thiện với ZK. Điều này có nghĩa là bằng chứng không kiến thức đòi hỏi rất nhiều tài nguyên để tính toán.
Trong số đó, một số opcode mã thao tác EVM đặc biệt "không thân thiện với ZK", dẫn đến các sản phẩm ZK-EVM cuối cùng được thiết kế bởi nhiều công ty với khả năng tương thích EVM khác nhau.
** Mã lệnh, mã byte và EVM là gì? **
Đã đến lúc phổ biến khoa học, opcodes, bytecodes 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 hiện.
EVM mang tính quyết định, nghĩa là việc thực thi một tập hợp các hướng dẫn trên bất kỳ trạng thái cụ thể nào sẽ dẫn đến cùng một trạng thái mới.
Theo tài liệu dành cho nhà phát triển Ethereum, trạng thái hợp lệ cũ (S) + một bộ 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 giống 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. Các trò chơi trên bàn cờ có các quy tắc di chuyển cụ thể của riêng chúng (so sánh các giao dịch trên Ethereum) và có các hạn chế cụ thể về hành động nào có thể được thực hiện trên quân cờ nào. Người chơi thực hiện hành động (so với 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 khối).
Đối với Ethereum hoặc bất kỳ sự phát triển chuỗi khối tương thích với EVM nào, các hợp đồng thông minh cần phải được viết bằng Solidity. Solidity là một 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ì đăng ký, đị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 Solidity. Thay vào đó, nó chỉ hiểu "mã byte", là mã nhị phân, mã cấp thấp có thể đọc được bằng máy.
Trong EVM, "bytecode" (mã byte) đại diện cho một loạt các "opcodes" (mã lệnh) của EVM, opcodes là các lệnh cấp thấp có thể đọc được của chương trình, đại diện cho các thao tác cụ thể có thể thực hiện trong EVM.
Vì một ngôn ngữ cấp cao như Solidity không thể được thực thi trực tiếp trong EVM, chúng tôi cần một cách để chuyển đổi mã hợp đồng thông minh từ mã byte opcode của ngôn ngữ Solidity mà con người có thể đọc được để được thực thi bởi EVM, đâ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 opcode cụ thể mà hợp đồng thông minh được chuyển đổi thành và xem bytecode được tạo từ opcode.

Đây là các opcode:

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

Bằng cách dịch bytecode thành opcode, có thể biết hướng dẫn thực thi nào được chứa trong bytecode.
Do độ khó cao của bằng chứng ZK đối với một số opcode cụ thể trong EVM, các ZK-EVM với mức độ tương thích khác nhau đã xuất hiện trên thị trường.
Các loại ZK-EVM khác nhau
Do thiết kế Ethereum ban đầu không xem xét tính thân thiện của ZK, nên về lý thuyết, thiết kế càng gần với Ethereum thì càng khó và tốn thời gian để tạo ra bằng chứng ZK. Vào tháng 8 năm 2022, Vitalik, người sáng lập Ethereum, đã xuất bản một bài đăng trên blog "Hãy lắng nghe cách giải thích của Vitalik 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 là khả năng tương thích EVM và thời gian tạo bằng chứng ZK (hiệu suất). Vitalik liệt kê bốn loại (bán) trong biểu đồ này và có thể bao gồm tất cả các sản phẩm ZK-EVM hiện có trên thị trường.
2.5, giữa loại 2 và loại 3 còn 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 trong 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 hoạt động trên đó.
Loại 3 gần như tương đương với EVM, nhưng với một số thỏa hiệp về độ chính xác tương đương để giảm thêm thời gian kiểm chứng và đơn giản hóa quá trình phát triển EVM. Hiện tại, Polygon, Linea và Scroll thuộc loại này.
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, ngôn ngữ này sẽ mang lại thời gian chứng minh nhanh hơn và các nhược điểm tương ứng như không tương thích và hạn chế. Hiện tại, zkSync Era thuộc danh mục này.
Điều đáng chú ý là thời gian cần thiết để gửi bằng chứng về tính hợp lệ trở lại Ethereum L1 là thời gian cần thiết để người dùng chuyển tiền trở lại L1. Nếu việc tạo bằng chứng mất hàng giờ, thì người dùng đó không thể chuyển tiền trở lại L1 trong những giờ đó.
Chiến đấu thực tế: Đánh giá sự phát triển của Taiko, Polygon, Linea, Scroll và ZkSync Era
Sau khi ôn tập kiến thức lý thuyết, sau đây là phần thực chiến.
Bằng cách triển khai các hợp đồng thông minh Solidity và hợp đồng NFT trên Taiko, Polygon, Linea, Scroll và ZkSync Era tương ứng, hiệu suất và các lỗi tương ứng của từng ZK-EVM được kiểm tra.
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 hoạt động: đã 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 của ThirdWeb.
Nhược điểm của ZK-EVM loại 1 là mất nhiều thời gian để tạo bằng chứng khi mọi thứ giống hệt như trong Ethereum (thậm chí cả trong nội bộ). Điều này có nghĩa là phải mất vài giờ để người dùng kết nối ETH từ Taiko L2 trở lại Ethereum L1 (như hình bên dưới).

Dòng 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 tiền biên dịch; nó đại diện cho một trạng thái bên trong chuỗi khác với Ethereum, chẳng hạn như sử dụng một 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, đúc 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.
Theo tài liệu của Linea, cầu L2 đến L1 của ETH thường mất khoảng 15 phút, nhưng trong trường hợp này mất khoảng vài giờ.
Đa giác ZK-EVM
Polygon ZK-EVM thuộc Type 3 ZK-EVM và đã ra mắt mạng chính từ cuối tháng 3 năm nay.
Tài liệu chính thức của Polygon zkEVM liệt kê tất cả những khác biệt hiện tại giữa EVM và zkEVM.
Nhóm kỹ sư Polygon tuyên bố rằng ngoài việc cải thiện thời gian tạo và rút bằng chứng, phần tiền biên dịch còn lại sẽ được hoàn thành càng sớm càng tốt trong tương lai, với mục tiêu trở thành Loại 2 trong sơ đồ Vitalik.
Trong trường hợp triển khai này, bắc cầu mạng chính zkEVM diễn ra suôn sẻ; quá trình bắc cầu L2 -> L1 mất khoảng 1 giờ.
Cuộn
Scroll thuộc Loại 3 ZK-EVM 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.
Kỷ nguyên ZkSync
ZkSync Era thuộc về ZK-EVM Loại 4. 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 Kỷ nguyên ZkSync cung cấp một tính năng độc đáo, hỗ trợ riêng cho tính năng trừu tượng hóa Tài khoản, 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 sự 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ùng các ngôn ngữ cấp cao như Solidity.
Mặc dù ZK-EVM của Kỷ nguyên ZkSync khá khác so với EVM, nhưng Kỷ nguyên ZkSync cung cấp một tập hợp các thực tiễn và cân nhắc tốt nhất cho các 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ỏ đối với quy trình phát triển để xây dựng riêng cho Kỷ nguyên ZkSync.
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, mã này hoàn toàn khác với mã byte được tạo bởi ZK-EVM ở trên.

Điều đáng chú ý là ThirdWeb đã 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.
Tổng cộng có hai hợp đồng thông minh được triển khai trong quá trình hoạt động này, tương tác với chúng và gửi tài sản từ L2 trở lại L1. Hiện tại, có sự chậm trễ 24 giờ đối với việc rút tiền từ mạng chính ZkSync Era sang Ethereum L1 vì lý do bảo mật.
Kakarot ZkEvm
Một dự án khác dành riêng để hiện thực hóa Type 2.5 ZK-EVM là Kakarot ZkEvm, đã nhận được tài trợ từ một số tổ chức bao gồm Vitalik Buterin và StarkWare vào tháng 6 năm nay. Kakarot có kế hoạch phát hành testnet vào cuối năm 2023.
Phần kết luận
Đối với người dùng cuối, việc ai thắng cuộc đua không quan trọng, vì tiến trình 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 các bên dự án khác nhau, đây không phải là một cuộc cạnh tranh quá nhiều mà là khám phá các phương pháp khác nhau để thúc đẩy tiến trình của toàn ngành. Vitalik thậm chí còn có một "lý thuyết đa chứng chỉ". Tiền đề cơ bản là các Rollup khác nhau có thể phối hợp với nhau để tăng cường bảo mật tổng thể của Ethereum.
Vào cuối ngày, 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.