Tác giả: Christine Kim
Phần tổng hợp gốc : ETH, 0x11, ForesightNews
Giới thiệu
Máy ảo Ethereum không kiến thức, zkEVM, là một công nghệ rất được mong đợi và có khả năng thay đổi trò chơi, có thể cải thiện khả năng mở rộng của Ethereum trong ngắn hạn và dài hạn. Ba dự án mở rộng quy mô Ethereum lớn của năm nay, zkSync, Polygon và Scroll, từng công bố tiến bộ đáng kể trong việc triển khai zkEVM của họ, nhiều dự án trong số đó đã khởi chạy Alpha vào đầu năm nay và hiện đang chạy độc lập dưới dạng các chuỗi khối L2. Theo thời gian, có thể zkEVM sẽ chạy trực tiếp trên lớp cơ sở của Ethereum.
zkEVM là một máy ảo có thể thực thi cùng ngôn ngữ lập trình cấp cao hoặc mã byte cấp thấp như Máy ảo Ethereum (EVM) và chứng minh mã này bằng ZKP bằng chứng không có kiến thức và bằng chứng mật mã để xác minh chính dữ liệu mà không tiết lộ bất kỳ thông tin nào về , chẳng hạn như thuộc tính hoặc nội dung của nó. Trở lại năm 1982, các nhà khoa học máy tính Goldwasser, Micali và Rackoff (Silvio Micali là người sáng lập chuỗi khối Algorand) lần đầu tiên giới thiệu khái niệm ZKP. ZKP thường bị nhầm lẫn với mã hóa đồng hình, một nhánh khác của mật mã. Mã hóa đồng cấu, cho phép các hoạt động được thực hiện trên dữ liệu được mã hóa mà không cần giải mã, lần đầu tiên được đề xuất bởi Rivest, Adleman và Dertouzos vào năm 1978 và đã trở thành một trong những công nghệ chính cho điện toán đám mây và lưu trữ. Điều đáng chú ý là mã hóa đồng hình cũng được sử dụng trong một số giao thức chuỗi khối công khai, chẳng hạn như đồng tiền riêng tư Grin, sử dụng nó để làm xáo trộn số lượng giao dịch.
Trong 40 năm qua, các nhà khoa học máy tính đã phát minh ra nhiều thuật toán khác nhau để tạo ZKP một cách an toàn và hiệu quả, nhiều thuật toán trong số đó thuộc hai loại chính: Lập luận tri thức minh bạch có thể mở rộng (STARK) hoặc Lập luận tri thức không tương tác ngắn gọn (SNARK). Các thuật toán này được phát triển cho nhiều trường hợp sử dụng, bao gồm giải trừ hạt nhân (hành động loại bỏ và giảm thiểu vũ khí hạt nhân), hệ thống nhận dạng và gần đây hơn là các chuỗi khối công khai có thể mở rộng và tiền điện tử. Đặc biệt trên Ethereum, nhiều nhà phát triển coi ZKP là "chén thánh" để mở rộng quy mô do tính đơn giản và dễ xác minh của chúng so với các chương trình mã hóa khác. Khó xây dựng hoặc bẻ khóa nhưng dễ xác minh là mục tiêu chung của các nhà phát triển giao thức mật mã để nó có thể được sử dụng rộng rãi và hiệu quả.
Các hệ thống không kiến thức rất khó khái quát hóa và áp dụng để chứng minh các mã có độ phức tạp tùy ý và việc xây dựng ZKP để hỗ trợ và chứng minh tất cả các loại hoạt động giao dịch trên chuỗi khối Ethereum là nỗ lực nghiên cứu liên tục của các nhà phát triển trong kế hoạch vài năm qua. Mãi cho đến tháng 11 năm 2021, Starkware mới ra mắt hệ thống ZK đa năng đầu tiên để chứng minh các giao dịch dựa trên Ethereum, được triển khai thông qua Cairo, một ngôn ngữ lập trình tùy chỉnh do nhóm Starkware tạo ra. Tuy nhiên, vào tháng 7 năm 2022, ba giao thức L2 dựa trên Ethereum khác nhau bao gồm zkSync, Polygon và Scroll đã công bố một bước đột phá trong việc mở rộng quy mô Ethereum bằng cách sử dụng ZKP dưới dạng zkEVM.
Lưu ý: Mặc dù được gọi thông thường là zkEVM, nhưng các máy ảo này không tận dụng các lợi thế về quyền riêng tư của ZKP mà hoàn toàn hưởng lợi từ các lợi thế về hiệu quả và bảo mật của ZKP. Do đó, một tên chính xác hơn cho các loại máy ảo này là Proof of Validity Generation EVM, nhưng trong báo cáo này, chúng sẽ sử dụng tên phổ biến hơn zkEVM.
Báo cáo này nhằm mục đích giúp người đọc làm quen với khái niệm chung về zkEVM và hiểu các triển khai khác nhau của nó trong quá trình phát triển Ethereum. Vì zkEVM là một chủ đề tương đối trừu tượng nên báo cáo này bắt đầu bằng một tổng quan ngắn gọn về trạng thái hiện tại của mạng Ethereum và đặt nền tảng để hiểu zkEVM bằng cách giới thiệu các khái niệm cốt lõi như sản xuất khối, EVM và Rullups. Sau đó, chúng tôi sẽ tóm tắt các loại zkEVM khác nhau có thể tồn tại trên Ethereum và so sánh 5 triển khai zkEVM chính hiện đang được sản xuất. Chúng tôi sẽ nêu bật những thách thức khi triển khai công nghệ mới nổi này, cũng như triển vọng của chúng tôi đối với bối cảnh cạnh tranh zkEVM theo thời gian. Nhìn chung, zkEVM vẫn đang trong giai đoạn đầu phát triển và áp dụng Ethereum.
Ethereum hôm nay
Trước khi đi sâu vào những điều phức tạp của zkEVM, điều quan trọng trước tiên là phải hiểu ở mức độ cao về cách thức các giao dịch được bao gồm trong các khối Ethereum.
tạo khối
Khi người dùng gửi một giao dịch mới tới Ethereum, các máy tính được kết nối với mạng (còn gọi là các nút) sẽ lưu trữ giao dịch trong cấu trúc dữ liệu cục bộ được gọi là mempool. Mempool chịu trách nhiệm duy trì danh sách các giao dịch chưa được xác nhận, sau đó chọn ngẫu nhiên những người xác thực chạy các nút và đặt cọc 32 ETH , qua đó các giao dịch trong mempool được nhóm thành các khối. Người xác thực chọn thêm khối mới vào chuỗi khối Ethereum đôi khi được gọi là "người đề xuất". Để nhận thêm phần thưởng từ MEV, một số người đề xuất sẽ dựa vào trình tạo khối của bên thứ ba thay vì mempool cục bộ khi xây dựng khối.
Các khối được sắp xếp và liên kết với nhau bởi các khối cha (các tiêu đề khối trước đó). Mỗi khối chứa hàm băm của khối mẹ của nó và tạo thành cấu trúc dữ liệu chuỗi khối bằng cách liên kết các khối với nhau. Liên kết các khối thông qua băm khối chính được hiển thị trong sơ đồ sau:
Trước ngày 15 tháng 9 năm 2022, Ethereum dựa trên cơ chế đồng thuận PoW bằng chứng công việc, người khai thác thay người xác minh chịu trách nhiệm sản xuất khối, người khai thác không cần thế chấp một lượng vốn lớn, nhưng cần tiêu thụ một lượng điện lớn để xử lý các giao dịch của người dùng.
Theo các giao thức đồng thuận PoW và PoS, việc thiếu khả năng mở rộng của chuỗi khối Ethereum bắt nguồn từ không gian khối hạn chế. Không gian khối bị giới hạn bởi Gas trên Ethereum. Các giao dịch yêu cầu nhiều công việc tính toán hơn để thực hiện thường được định giá ở các đơn vị gas cao hơn, trong khi các giao dịch có chi phí tính toán thấp hơn (tức là ít sử dụng tài nguyên hơn) có chi phí gas thấp hơn. Gas được chuyển đổi thành ETH thông qua mạng Ethereum tự động thiết lập tỷ lệ gas động được gọi là phí cơ sở. Giao thức Ethereum giới hạn không gian khối, chúng chỉ có thể chứa tối đa 30 triệu đơn vị Gas. Giới hạn khí khối tối đa này đảm bảo thời gian lan truyền khối nhanh và giảm nguy cơ Hard fork.
Máy ảo Ethereum
Sau khi các giao dịch được đưa vào một khối trên Ethereum, chúng sẽ được thực thi thông qua một thời gian chạy tùy chỉnh có tên là Máy ảo Ethereum (EVM). EVM được thiết kế để triển khai mã có độ phức tạp tùy ý trên Ethereum, đây là điều làm cho Ethereum trở thành một chuỗi khối có mục đích chung, đôi khi được gọi là một hệ thống hoàn chỉnh Turing.
Có một số quy tắc nhất định về cách EVM thực hiện các giao dịch. Đầu tiên, EVM biên dịch các ngôn ngữ lập trình mà con người có thể đọc được như Solidity và Yul thành một ngôn ngữ hướng máy hoặc "cấp thấp" được gọi là EVM bytecode. EVM sau đó phân tích mã byte thành một danh sách các hướng dẫn tuần tự được gọi là "opcodes". Mỗi mã lệnh hướng dẫn EVM thực hiện một tác vụ khác nhau và được biểu thị trong mã byte EVM ở dạng thập lục phân. Ví dụ: một mã lệnh hướng dẫn EVM bảo toàn dữ liệu tạm thời khi hợp đồng thông minh được thực thi trên chuỗi được biểu thị theo cách ghi nhớ là "MSTORE" hoặc theo hệ thập lục phân là "0x52". Để giúp người đọc khái niệm hóa các opcode, sau đây là các opcode đơn giản như được định nghĩa trong Ethereum Yellow Paper:
Trong những năm qua, các nhà phát triển Ethereum đã tiếp tục thêm các opcode mới vào EVM và họ cũng đã thêm các phần biên dịch trước cho phép người dùng thực hiện các hoạt động nâng cao hơn trên mạng, chẳng hạn như hàm băm và phép nhân vô hướng. Là môi trường thời gian chạy đầu tiên thuộc loại này, EVM đã được áp dụng rộng rãi như là tiêu chuẩn để triển khai hợp đồng thông minh trên các chuỗi khối công cộng có mục đích chung. Tuy nhiên, là công nghệ đầu tiên thuộc loại này, EVM có những hạn chế về thiết kế, trong đó hạn chế nhất là thiếu khả năng tương thích ZKP của EVM.
Rollup
Để cải thiện khả năng mở rộng của Ethereum, có một số mạng L2 trừu tượng hóa việc thực hiện giao dịch từ lớp cơ sở sang Rollup. Tổng số nén dữ liệu giao dịch sao cho lượng không gian khối cần thiết để gửi một loạt giao dịch đến lớp cơ sở thấp hơn đáng kể so với lượng không gian khối cần thiết để xác nhận các giao dịch này riêng lẻ thông qua bộ nhớ chung trên chuỗi. Tổng số được điều hành bởi các nhà khai thác mạng được gọi là "người đặt hàng", không phải người xác thực hoặc người khai thác. Trình sắp xếp thứ tự chịu trách nhiệm xác thực các chuyển đổi trạng thái của Rollup. Chúng là những thực thể đóng gói các giao dịch của người dùng thành một loạt Rollup, sau đó gửi bằng chứng của lô giao dịch này tới lớp cơ sở Ethereum. Hình dưới đây minh họa vai trò của bộ sắp xếp trong Rollups:
Rollup khác với các giải pháp mở rộng quy mô khác trên Ethereum, chẳng hạn như Plasma và các kênh trạng thái. Trong suốt lịch sử của Ethereum, các nhà phát triển cốt lõi đã nghiên cứu và loại bỏ lộ trình khả năng mở rộng của Ethereum. Có hai loại Tổng số chính: Tổng số Lạc quan và Tổng số ZK. Bản tổng hợp lạc quan dựa trên bằng chứng gian lận, nghĩa là các thay đổi đối với trạng thái của mạng L2 được triển khai cho Ethereum mà không có bằng chứng trực tiếp về tính hợp lệ của chúng. Các chuyển đổi trạng thái không hợp lệ có thể được phát hiện và hủy bỏ miễn là có ít nhất một người tham gia trung thực đang quan sát các chuyển đổi trạng thái của Rollup lạc quan . Trong trường hợp Arbittrum và Optimism, "cửa sổ thử thách" trong đó có thể gửi bằng chứng gian lận kéo dài một tuần. Quá trình chuyển đổi trạng thái cho một Rollup lạc quan được coi là cuối cùng và hợp lệ sau khi cửa sổ thử thách kết thúc.
Mặt khác, ZK Rollups dựa vào ZKP, tạo ra bằng chứng về tính hợp lệ mỗi khi một lô giao dịch được xử lý trên L2 và xuất bản nó lên Ethereum. Tự động tạo bằng chứng hợp lệ cho tất cả các đợt giao dịch cũng giúp tăng tính bảo mật của ZK Rollup . Điều này cũng có nghĩa là tiền có thể được rút từ ZK Rollups mỗi khi một bằng chứng mới về tính hợp lệ được gửi tới Ethereum, trong khi đối với các Rollup lạc quan thường có khoảng thời gian chờ khoảng 7 ngày để cho phép tạo ra các tranh chấp và bằng chứng gian lận. ZK Rollups cũng cung cấp khả năng nén dữ liệu tốt hơn so với Rollups lạc quan. Bảng sau đây tóm tắt sự khác biệt giữa lạc quan và ZK Rollup :
Ưu điểm chính của Optimistic Rollup so với ZK Rollup là máy ảo của Optimistic Rollup gần giống như của EVM. Các triển khai Optimistic Rollup hiện đang chạy trên Ethereum, chẳng hạn như Optimism và Arbitrum, mô phỏng cùng một môi trường thực hiện giao dịch như Ethereum, được gọi là OVM và AVM tương ứng. Hầu hết các Bản tổng hợp ZK đều dành riêng cho ứng dụng, có nghĩa là chúng không hỗ trợ tất cả các loại giao dịch và Ứng dụng phi tập trung dựa trên Ethereum. Loopring, StarkEx Rollups và zkSync 1.0 là những ví dụ về ZK Rollup dành riêng cho ứng dụng cho phép các loại thanh toán, giao dịch mã thông báo và đúc NFT cụ thể.
Một số Bản tổng hợp ZK nhất định như StarkNet là phổ biến, nghĩa là chúng hỗ trợ tất cả các loại giao dịch và Ứng dụng phi tập trung. Tuy nhiên, Rollup ZK này yêu cầu các nhà phát triển Ứng dụng phi tập trung tìm hiểu cách thực thi mã hợp đồng thông minh của họ trong môi trường thực thi tùy chỉnh mới, môi trường này thường được tối ưu hóa để tạo ZKP thay vì tương thích với EVM. Điều này đặt ra một thách thức đối với việc áp dụng ZK Rollups trên Ethereum, gây khó khăn cho các ứng dụng phi tập trung hiện tại và người dùng trong môi trường thực thi mới. Để khắc phục vấn đề này, các dự án ZK Rollups như Polygon Hermez, zkSync và Scroll đang nỗ lực triển khai ZK Rollups tương thích với EVM. Ngoài ra, EVM là môi trường thực thi riêng cho tất cả các mã hợp đồng thông minh trên Ethereum.
STARK, SNARK, Volitions và Validiums
Trên thực tế, Rollup được phân biệt không chỉ bởi loại bằng chứng được phát hành trên chuỗi (bằng chứng gian lận trong Rollup lạc quan hoặc bằng chứng hợp lệ trong ZK Rollups), mà còn bởi chiến lược tính khả dụng của dữ liệu Rollups và thuật toán bằng chứng.
Hiện tại có hai loại bằng chứng hợp lệ rộng rãi được gọi là SNARK và STARK.
SNARK dựa trên mật mã đường cong elip, một kỹ thuật mã hóa dữ liệu được sử dụng phổ biến nhất trong Bitcoin và Ethereum. SNARK cũng thường dựa vào một thiết lập đáng tin cậy, nghĩa là thuật toán yêu cầu một phần dữ liệu được tạo trước bởi một thực thể đáng tin cậy. Thiết lập đáng tin cậy không phải là sự kiện lặp lại mà là quy trình một lần mà một người hoặc một nhóm người tạo dữ liệu cốt lõi. Dữ liệu này được gọi là Chuỗi tham chiếu chung (CRS) và nó là một giá trị số được sử dụng trong thuật toán zk-SNARK để tạo bằng chứng đáng tin cậy. Nếu đầu vào cần thiết để tạo CRS bị xâm phạm, điều đó có thể dẫn đến việc tạo bằng chứng không chính xác. Do đó, điều quan trọng là tất cả những người tham gia thiết lập đáng tin cậy phải hủy các đầu vào được sử dụng để tạo CRS/SRS hoặc khiến chúng không thể khôi phục được sau khi buổi lễ hoàn tất.
STARK không dựa vào đường cong elip hoặc cài đặt đáng tin cậy. STARK dựa vào các hàm băm mà một số nhà phát triển tin rằng có lợi đối với mật mã lượng tử. Tuy nhiên, STARK phức tạp hơn và yêu cầu nhiều tài nguyên máy tính hơn để chạy. Nó được ra mắt vào năm 2018, sau SNARK, đã xuất hiện từ năm 2012. Vì những lý do này, SNARK được sử dụng rộng rãi hơn STARK. Một số ví dụ về thuật toán dựa trên STARK bao gồm Fractal, SuperSonic, Fri-STARK và genSTARK.
Ngoài các phương pháp khác nhau để tạo bằng chứng hợp lệ, ZK Rollup cũng khác nhau về chiến lược cung cấp dữ liệu của họ. Chính sách về tính khả dụng của dữ liệu sẽ xác định thành phần nào của lô giao dịch cuối cùng được xuất bản trên chuỗi. Các bản tổng hợp, bao gồm Optimistic và ZK, thường cam kết ba bản sao dữ liệu vào mạng chính Ethereum mỗi khi một loạt giao dịch được xử lý. Đầu tiên, trình xác thực Rollup gửi hàm băm gốc của trạng thái mạng mới tới Ethereum. (Trạng thái đề cập đến bản ghi cập nhật của các giao dịch và số dư tài khoản trên L2.) Trạng thái được ghi lại trong cấu trúc dữ liệu cây Merkle, như thể hiện trong hình sau:
Băm gốc là một cam kết mã hóa của toàn bộ cây Merkle, đôi khi được gọi là một cam kết trạng thái. Mặc dù không phải tất cả Rollup ZK đều được yêu cầu cam kết hàm băm gốc cho Ethereum, nhưng chúng thường làm như vậy để cho phép dữ liệu được xuất bản trên Ethereum dễ dàng tái tạo và xác minh các giao dịch được thực hiện trên Rollup .
Bằng chứng mã hóa được ghi lại trên Ethereum ngoài hàm băm gốc cấp cao được sử dụng để xác nhận trạng thái mới của chuỗi khối L2. Trong trường hợp Rollup lạc quan , bằng chứng này có thể là ZKP hoặc Bằng chứng gian lận. Nó có thể được tạo bởi thuật toán STARK hoặc SNARK. Cuối cùng, ngoài hai phần dữ liệu này, ZK Rollups cũng xuất bản lên Ethereum một phiên bản nén của lô giao dịch được xử lý, còn được gọi là State delta. Đồng bằng trạng thái là một cách hiệu quả về chi phí để gửi một lượng lớn dữ liệu giao dịch tới Ethereum, đây là cách duy nhất cho ZK Rollups. Bản tổng hợp lạc quan sử dụng các kỹ thuật nén dữ liệu khác để xử lý hàng loạt giao dịch và gửi chúng trên chuỗi.
Ngoài ra, một số dự án ZK Rollups, chẳng hạn như nhóm Scroll, không thực sự dựa vào việc đăng trạng thái delta lên Ethereum để có thêm lợi ích nén dữ liệu. Các nhà phát triển cuộn tin rằng những thay đổi mã sắp tới như Đề xuất cải tiến Ethereum EIP-4844 và danksharding sẽ giảm đáng kể chi phí gửi dữ liệu giao dịch tới Ethereum, do đó mức tăng hiệu quả của State delta so với các kỹ thuật nén dữ liệu khác là không đáng kể.
Tổng số sử dụng dữ liệu từ cấp thấp nhất của cây Merkle và kết hợp nó với phân phối gốc từ cấp cao nhất (gốc) của cây Merkle, cho phép mọi người tái tạo và xác minh nội dung của lô giao dịch được gửi trên chuỗi. Một tính năng xác định của hầu hết các Rollup là khả năng tạo lại các giao dịch được thực hiện trên mạng L2 bằng cách sử dụng dữ liệu trên chuỗi được cam kết với Ethereum. Tuy nhiên, một số Rollup tránh gửi đồng bằng trạng thái hoặc dữ liệu giao dịch nén khác tới Ethereum và thay vào đó xuất bản dữ liệu ở nơi khác để giảm chi phí vận hành và cải thiện khả năng mở rộng mạng. Một số nhà phát triển sẽ lập luận rằng các mạng L2 tránh chuyển dữ liệu giao dịch sang Ethereum và do đó phá vỡ các đảm bảo tái thiết giao dịch không nên được phân loại là Rollup.
Cách Rollup xử lý Trạng thái delta xác định xem mạng có thể được phân loại là Validium hay Volition hay không.
Validium có thể được hiểu là Rollup, chỉ gửi bằng chứng hợp lệ và hàm băm gốc trên chuỗi, đồng thời lưu trữ Trạng thái delta trên một mạng riêng biệt ngoài chuỗi. Vì Rollup không còn phụ thuộc vào tính khả dụng của dữ liệu Ethereum và bị giới hạn bởi không gian khối mạng, nên về mặt lý thuyết, điều này có thể tăng thông lượng giao dịch của Rollups lên 9.000 TPS. Nhược điểm của Validiums là bảo mật, mạng riêng biệt được sử dụng để xuất bản dữ liệu ngoài chuỗi không có các đảm bảo bảo mật giống như Ethereum.
Volitions để lại quyết định phát hành State deltas off-chain hoặc on-chain cho người dùng, được tiên phong bởi Starkware, công ty khởi nghiệp mở rộng quy mô Ethereum. Đây là một cách mới để cho phép người dùng quyết định xem các giao dịch của họ có yêu cầu bảo mật nâng cao hay không bằng cách xác nhận trực tiếp trên chuỗi với mạng ngoài chuỗi như Ethereum hoặc Hội đồng khả dụng dữ liệu đáng tin cậy (DAC) của Starkware, với chi phí có thể cao hơn.
4 cấp độ tương đương EVM chính
Nội dung trên giúp hiểu được khuôn khổ tổng thể của việc thực hiện giao dịch trên Ethereum, EVM và ZK Rollups, và bây giờ thảo luận về zkEVM.
zkEVM là một ZK Rollup bắt chước môi trường thực hiện giao dịch giống như mạng chính Ethereum. Việc triển khai zkEVM khác nhau về thuật toán bằng chứng và chiến lược về tính khả dụng của dữ liệu, cũng như ở cấp độ tương đương EVM của zkEVM. Có bốn cấp độ tương đương EVM chính. Dưới đây là tóm tắt về các cấp độ khác nhau:
trình độ ngoại ngữ tương đương
Để đạt được mức tương đương với EVM ở cấp độ ngôn ngữ, zkEVM phải có khả năng hiểu và biên dịch một ngôn ngữ thân thiện với EVM. Nói cách khác, các loại zkEVM này dịch ngôn ngữ lập trình thân thiện với EVM như Solidity hoặc Yul sang ngôn ngữ tùy chỉnh được tối ưu hóa để tạo ZKP. Đây được coi là một trong những cách dễ dàng và hiệu quả nhất để đạt được khả năng tương thích EVM trong ZK-Rollups. Tuy nhiên, các loại zkEVM này bị hạn chế nhất về việc cung cấp cho người dùng và nhà phát triển hợp đồng thông minh trải nghiệm tương tự như khi tương tác với EVM.
Khả năng tương thích ở cấp độ ngôn ngữ với EVM có nghĩa là chạy Solidity thông qua trình biên dịch dịch ngôn ngữ lập trình cấp cao của EVM sang ngôn ngữ cấp thấp tùy chỉnh được diễn giải bởi một máy ảo được thiết kế để tạo ZKP. Đối với hầu hết người dùng Ethereum và nhà phát triển hợp đồng thông minh, những người chỉ quan tâm đến việc tương tác với EVM thông qua mã Solidity, hành vi cơ bản của zkEVM có thể không quan trọng miễn là loại mã tương tự có thể được thực thi thông qua zkEVM như trên mạng chính Ethereum. Mặt khác, các công cụ phát triển phức tạp, khung và môi trường thử nghiệm được xây dựng cho EVM có thể cần phải được sửa đổi để hoạt động trên zkEVM chỉ với khả năng tương thích với EVM ở cấp độ ngôn ngữ.
tương đương mức mã byte
Mức tương đương EVM thứ hai và thứ ba là mức mã byte, yêu cầu Bản tổng hợp ZK để diễn giải mã byte EVM được biên dịch từ ngôn ngữ cấp cao hơn như Solidity hoặc Yul. zkEVM có thể mô phỏng cùng một ngôn ngữ lập trình cấp cao và mã byte cấp thấp như EVM, cho phép tương thích sâu hơn với EVM. Các loại zkEVM này phức tạp hơn để xây dựng và yêu cầu kỹ thuật tiên tiến hơn.
Cách một máy ảo thực thi mã byte EVM là thông qua một danh sách cụ thể các hướng dẫn được gọi là opcode, mỗi lệnh hướng dẫn EVM thực hiện một tác vụ khác nhau. Mục tiêu của zkEVM tương thích với mã byte là tạo ra một hệ thống ZK có thể chứng minh mã byte EVM và phân tích cú pháp các mã op khác nhau có trong mã byte. Ưu điểm của các loại zkEVM này là chúng tương thích với các ứng dụng và công cụ dựa trên EVM. Một zkEVM hoàn toàn tương thích với mã byte sẽ có thể hỗ trợ các công cụ sửa lỗi và cơ sở hạ tầng dành cho nhà phát triển giống như các ứng dụng dựa trên Ethereum gốc. Tuy nhiên, việc đạt được khả năng tương thích mã byte đầy đủ thường dẫn đến việc tạo ra các hệ thống ZK không hiệu quả và đắt tiền, đồng thời phải xem xét việc giảm chi phí và nâng cao hiệu quả.
Hiện tại, có hai zkEVM tương thích với mã byte, bao gồm zkEVM Polygon và zkEVM cuộn. Trong các thiết kế hiện tại của họ, hai triển khai này chỉ tương thích một phần với mã byte EVM, tuy nhiên, theo thời gian, các triển khai này đang hoạt động theo hướng tương thích hoàn toàn.
mức độ đồng thuận tương đương
Mức độ tương đương thứ tư và cuối cùng của EVM là mức độ đồng thuận. Đây là bản tổng hợp ZK có khả năng tương thích với EVM gốc cao nhất có thể đạt được. Đôi khi nó được gọi là "Bản tổng hợp được lưu giữ", mặc dù không phải tất cả "Bản tổng hợp được lưu giữ" đều cần dựa trên ZK và cũng có thể là Bản tổng hợp lạc quan. Ý tưởng là bằng chứng mật mã do zkEVM tạo ra không cần phải được thực thi lại trên Ethereum ở bất kỳ khả năng nào, bản thân bằng chứng có thể được sử dụng để xác minh các khối được tạo trên mạng chính Ethereum. Theo một nghĩa nào đó, một zkEVM đạt được khả năng tương thích ở cấp độ đồng thuận là hình thức trung thực nhất của zkEVM.
Đối với một số nhà phát triển, các Bản tổng hợp ZK đạt được khả năng tương thích ở cấp độ đồng thuận là các Bản tổng hợp ZK duy nhất nên được gọi là zkEVM, trong khi Rollup ZK khác có khả năng tương thích với ngôn ngữ và mã byte nên được coi là tương thích với EVM Tương đương với EVM, nhưng không phải là zkEVM. Có rất nhiều cuộc tranh luận giữa các nhà phát triển Ethereum về định nghĩa chính xác của zkEVM và sự tương đương giữa các cấp độ EVM khác nhau của nó. Trên thực tế, mức tương đương EVM là một phạm vi và mỗi mức được mô tả ở trên không phải là một danh mục nghiêm ngặt. Bản chất ban đầu của quá trình phát triển zkEVM có nghĩa là các dự án được xây dựng để tương thích ở cấp độ ngôn ngữ cũng có thể cung cấp một số loại tương thích ở cấp độ mã byte và các zkEVM tương thích ở cấp độ mã byte cuối cùng có thể phát triển để có các Bản tổng hợp hỗn hợp tương đương ở cấp độ đồng thuận đáng kể.
Tổng quan về dự án zkEVM trên Ethereum
Hiện tại, không có zkEVM thực tế nào có thể đạt được khả năng tương thích ở cấp độ đồng thuận và các nhà phát triển vẫn đang nghiên cứu và phát triển. Các nhà phát triển lõi Ethereum mô tả đó là "những nỗ lực kỹ thuật trong nhiều năm". Một số zkEVM đã đạt được mức tương đương ở cấp độ ngôn ngữ và mã byte, cung cấp các ý tưởng để cải thiện hệ sinh thái ZK Rollup Layer 2 hiện tại, chủ yếu tập trung vào ứng dụng trên Ethereum. Xây dựng ZK Rollup để thực hiện các hợp đồng thông minh nói chung và giao dịch người dùng thay vì các giao dịch tập trung vào ứng dụng là một nhiệm vụ khó khăn và cho đến nay chỉ có một số ít dự án đã khởi chạy thành công trên mạng chính.
Dưới đây là tổng quan về năm dự án zkEVM trên Ethereum:
zkSync 2.0
Nhóm phát triển chuỗi khối Matter Labs được thành lập vào tháng 12 năm 2018 và ra mắt giao thức ZK Rollups của riêng họ có tên zkSync trên Ethereum vào tháng 6 năm 2020. zkSync là mạng L2 lớn thứ 6 trên Ethereum tính theo tổng giá trị bị khóa, hỗ trợ một số hoạt động hợp đồng thông minh hạn chế, bao gồm chuyển ETH, mã thông báo ERC 20 và NFT gốc, cũng như các giao dịch hoán đổi nguyên tử và lệnh giới hạn. Công ty gần đây đã huy động được 50 triệu đô la trong vòng Series B do Andreessen Horowitz dẫn đầu và công bố quỹ kho bạc trị giá 200 triệu đô la dành riêng cho việc mở rộng hệ sinh thái zkSync trong vài năm tới.
zkSync 2.0 là một zkEVM tương thích ở cấp độ ngôn ngữ được thiết kế để hỗ trợ tất cả các loại hoạt động hợp đồng thông minh. zkSync 2.0 dựa trên thuật toán chứng minh dựa trên SNARK có tên là UltraPLONK. Nó cũng dựa trên cơ sở hạ tầng trình biên dịch mã nguồn mở được gọi là LLVM, giúp biên dịch Solidity và các loại ngôn ngữ lập trình khác thành mã byte zkEVM. Dự án sẽ bắt đầu giai đoạn "baby Alpha" vào tháng 10 năm 2022 và dự kiến sẽ mở hoàn toàn cho người dùng bên ngoài vào cuối năm 2022, nhưng nhóm Matter Labs vẫn chưa tiết lộ đầy đủ chi tiết về thế hệ bằng chứng zkSync 2.0. Do sự cạnh tranh khốc liệt giữa các mạng L2 và do rủi ro về lỗ hổng kỹ thuật cao hơn do giai đoạn đầu của công nghệ Rollup , hầu hết các dự án Rollup đều được chạy với tính bảo mật cao và không hỗ trợ nguồn mở. Sau khi khởi chạy thành công, zkSync 2.0 sẽ là một cách để người dùng chọn xuất bản trạng thái delta từ các giao dịch ngoài chuỗi của họ sang một giao thức riêng gọi là zkPorter, thay vì trực tuyến với Ethereum. Về mặt lý thuyết, chiến lược này sẽ tăng thông lượng giao dịch trên giây của zkSync 2.0 từ 2.000 TPS lên hơn 20.000 TPS.
StarkNet
Giống như zkSync, StarkNet là một ZK Rollup chung được xây dựng bởi nhóm Starkware đang chạy trên Ethereum. Môi trường thực thi giao dịch của Starknet được gọi là StarkNet OS và ngôn ngữ lập trình hợp đồng thông minh gốc của nó được gọi là Cairo. So với các ZK Rollup khác, Starknet là một trong những mạng blockchain đầy đủ chức năng nhất. StarkNet cung cấp cho người dùng giải pháp dữ liệu ngoài chuỗi tùy chọn để đạt được phí giao dịch thấp hơn theo cấp số nhân so với Rollup không phải kiểu Volitions. Hệ điều hành StarkNet dựa trên thuật toán bằng chứng dựa trên STARK. Như với zkSync 2.0, quy trình tạo bằng chứng trên Hệ điều hành StarkNet không phải là mã nguồn mở. Tương tự như đối thủ cạnh tranh zkSync, theo thời gian, các chi tiết xung quanh việc tạo bằng chứng sẽ có nguồn mở để bất kỳ ai cũng có thể kết nối với mạng qua một đường dây chuyên dụng.
Bản thân StarkNet không hỗ trợ khả năng tương thích ở cấp độ ngôn ngữ với EVM, nhưng nhóm đằng sau Nethermind, một ứng dụng khách phần mềm lớp thực thi ethereum, đang tích cực xây dựng trình biên dịch ngôn ngữ Solidity sang Cairo có tên là Warp. Sử dụng trình biên dịch Warp, người dùng StarkNet có thể triển khai các hợp đồng thông minh dựa trên Ethereum mà không phải viết lại mã ở Cairo. Ngoài ra, còn có một dự án hướng đến cộng đồng có tên là Kakarot để xây dựng một trình biên dịch ngôn ngữ Solidity-to-Cairo khác nhằm giúp hỗ trợ khả năng tương thích của StarkNet với EVM.
Nhóm Starkware đã công bố mã thông báo StarkNet gốc và kế hoạch cho nền tảng mới vào tháng Bảy. Kế hoạch phân phối mã thông báo đã trở thành một nguồn gây tranh cãi sau khi tiết lộ rằng một phần ba trong số 10 tỷ nguồn cung cấp ban đầu sẽ được phân bổ cho những người đóng góp cốt lõi của StarkNet. Năm nay, Starkware đã huy động được 100 triệu đô la với mức định giá 8 tỷ đô la. Vòng này được dẫn dắt bởi các công ty đầu tư Greenoaks Capital, Coatue và Tiger Global. Ngoài StarkNet, StarkWare còn cung cấp cho người dùng giải pháp khả năng mở rộng chuỗi khối có thể tùy chỉnh được gọi là StarkEx. Giải pháp sử dụng công nghệ mới của ZK dựa trên STARK. Không giống như StarkNet, StarkEx là một ZK Rollup tập trung vào ứng dụng. Một số ứng dụng DeFi đáng chú ý sử dụng StarkEx để đạt được khả năng mở rộng lớn hơn trên Ethereum bao gồm soRare, Immutable và DeversiFi.
Polygon zkEVM
zkEVM (trước đây là Matic Network) do nhóm Polygon xây dựng đạt được khả năng tương thích ở cấp mã byte với EVM. ZkEVM của Polygon dự kiến sẽ ra mắt trên Ethereum vào khoảng đầu năm 2023 và gần đây nó đã được mã nguồn mở để công chúng xem xét. Tất nhiên, mặc dù mã này có thể xem được công khai nhưng nó không thể được sử dụng, sửa đổi hoặc chia sẻ vì nó không được phát hành theo giấy phép nguồn mở. Việc triển khai zkEVM của Polygon dựa trên bằng chứng dựa trên SNARK và STARK, cụ thể là zk-SNARK được sử dụng để chứng minh tính đúng đắn của zk-STARK, có lợi thế là tận dụng thời gian chứng minh nhanh liên quan đến zk-STARK và tạo zk -SNARKs Ưu điểm của tài nguyên máy tính tương đối nhẹ. Liên quan đến các vấn đề về tính khả dụng của dữ liệu, việc triển khai zkEVM của Polygon sẽ không hỗ trợ ngay các giải pháp dữ liệu ngoài chuỗi, tuy nhiên, Polygon đang tích cực làm việc để phát triển các ứng dụng có tính khả dụng cao hơn.
Được thành lập vào năm 2017, Polygon là một công ty chủ yếu tập trung vào các giải pháp mở rộng Ethereum. Nó đã ra mắt một sidechain Ethereum dựa trên bằng chứng cổ phần có tên là Polygon PoS vào tháng 6 năm 2020. Kể từ đó, các plugin sản phẩm của Polygon đã phát triển đáng kể và trở nên đa dạng hơn. Ngoài triển khai zkEVM, Polygon đang tích cực phát triển hai triển khai ZK Rollups khác là Polygon Miden và Polygon Zero. Chúng là một triển khai Rollup lai kết hợp giữa Optimistic Rollup và ZK Rollup được gọi là Polygon Nightfall. Đầu năm nay, nhóm Polygon đã đóng vòng cấp vốn lớn đầu tiên kể từ ICO và huy động được 450 triệu đô la từ 40 công ty đầu tư mạo hiểm, dẫn đầu là Sequoia Capital India.
cuộn
Scroll là một triển khai zkEVM khác tương thích ở cấp mã byte. Scroll được Sandy Peng, Ye Zhang và Haichen Shen thành lập vào năm 2021 và vào năm 2022 đã công bố ra mắt mạng thử nghiệm phiên bản trước Alpha cho người dùng trong danh sách trắng. Đáng chú ý, tất cả mã xung quanh việc triển khai zkEVM của nó đều công khai và được phát hành theo giấy phép nguồn mở. Scroll sẽ dựa vào thuật toán bằng chứng dựa trên SNARK và sẽ không hỗ trợ các giải pháp về tính khả dụng của dữ liệu ngoài chuỗi. Ngoài ra, nhóm Scroll đang thiết kế một thị trường phi tập trung để tạo bằng chứng nhằm hỗ trợ zkEVM của họ. Để tạo ZKP theo cách không cần cấp phép và chống kiểm duyệt, họ cũng đang tập trung vào việc xây dựng các cơ sở phần cứng chuyên dụng mà người dùng trên khắp thế giới có thể vận hành.
Nhóm Scroll hợp tác chặt chẽ với nhóm phát triển và nghiên cứu giải pháp mở rộng quy mô của Quỹ Ethereum, được gọi là nhóm Mở rộng quy mô bảo mật Ethereum (PSE). So với các nhóm khác như zkSync, StarkWare và Polygon , Scroll nhỏ hơn và tập trung vào nghiên cứu hơn, với ít thuộc tính thương mại hơn. Họ chỉ tập trung vào việc triển khai zkEVM của mình, trong khi các nhóm cạnh tranh khác có một bộ sản phẩm và dịch vụ liên quan đến ZK khác. Scroll đã huy động được 30 triệu đô la trong vòng tài trợ Series A trong năm nay từ các công ty đầu tư mạo hiểm tiền điện tử hàng đầu như Polychain Capital và Bain Capital Crypto, cũng như một số nhà đầu tư thiên thần bao gồm Ying Tong và Carlos Aria của Ethereum Foundation.
Khám phá quyền riêng tư và mở rộng quy mô (PSE)
PSE là một tổ chức nghiên cứu của Ethereum Foundation, tập trung vào khám phá nghiên cứu tiên tiến về ZKP và ứng dụng của nó trên Ethereum. Trước đây chúng được gọi là nhóm "AppliedZKP". Trái ngược với các triển khai zkEVM khác được nêu bật trong báo cáo này, zkEVM của PSE không tập trung vào việc đáp ứng việc sử dụng quy mô lớn trong tương lai gần (các thành phần thực tế của nghiên cứu PSE đang được nhóm Scroll triển khai). ZkEVM đang được PSE nghiên cứu tập trung vào việc đạt được khả năng tương thích ở mức độ đồng thuận với EVM theo mô hình " Rollup được tăng cường ".
Thuật toán chứng minh được sử dụng trong nghiên cứu PSE là một zk-SNARK có tên là Halo 2, được phát triển bởi Electric Coin Company, nhóm phát triển cốt lõi đằng sau tiền điện tử Zcash (ZEC). Việc triển khai zkEVM do nhóm PSE xây dựng là mã nguồn mở và bất kỳ ai cũng có thể đóng góp. Ngoài zkEVM, nhóm PSE đang thúc đẩy một số dự án khác, bao gồm nghiên cứu về cơ sở hạ tầng ứng dụng phi tập trung chống thông đồng, nâng cao quyền riêng tư trong giao dịch của người dùng và các sơ đồ chữ ký mật mã thay thế.
Những thách thức khi xây dựng zkEVM
Có một số thách thức đang diễn ra trong việc xây dựng triển khai zkEVM sẵn sàng sản xuất trên Ethereum. Bản chất chưa được chứng minh và thử nghiệm của việc triển khai các công nghệ mới như zkEVM, hoạt động phi tập trung của zkEVM và xây dựng phần cứng chuyên dụng để tạo bằng chứng zkEVM là một trở ngại lớn đối với các nhà phát triển. Phần này thảo luận một số hiểu biết sâu sắc về những thách thức này.
Trường mới
zkEVM là một khái niệm mới trên Ethereum và nó sẽ chỉ chính thức bắt đầu hoạt động vào năm 2022. Một thách thức đơn giản với công nghệ này là tính chất thử nghiệm quy mô lớn và chưa được chứng minh của nó. Vẫn còn nhiều điều chưa biết về cách hầu hết các triển khai zkEVM tạo ra bằng chứng, yêu cầu phần cứng để tạo bằng chứng và chi tiết về trình sắp xếp phi tập trung. Xây dựng niềm tin vào zkEVM như một giải pháp mở rộng quy mô đáng tin cậy là một lĩnh vực trọng tâm quan trọng của các nhóm như Scroll, Polygon, StarkNet và zkSync.
Thách thức của phi tập trung hóa
Các vấn đề xung quanh đường dẫn phi tập trung đến các hoạt động của zkEVM áp dụng cho tất cả Rollup(bao gồm cả Bản tổng hợp lạc quan), vì việc tạo ra các bằng chứng về tính hợp lệ và gian lận phụ thuộc rất nhiều vào người đặt hàng tập trung. Như đã đề cập ở trên, trình sắp xếp thứ tự là các bên liên quan của L2 chịu trách nhiệm theo đợt các giao dịch của người dùng và gửi bằng chứng về các đợt này tới Ethereum L1.
Mọi Rollup hiện đang chạy trên Ethereum đều được vận hành bởi một trình sắp xếp tập trung và dựa trên các hợp đồng thông minh có thể nâng cấp được quản lý bởi một thực thể duy nhất. Một trong những lý do chính dẫn đến tính chất tập trung của Rollup ngày nay: Trong những ngày đầu của công nghệ, các lỗi không mong muốn trong mã cần được sửa chữa nhanh chóng. Ngoài ra, công nghệ đằng sau zkEVM nói riêng liên tục thay đổi, gây khó khăn cho việc khuyến khích người dùng chạy công nghệ non trẻ này trên thiết bị của họ một cách tự tin. Việc triển khai trình đặt hàng phi tập trung cho Rollup thường có nghĩa là khởi chạy mã thông báo và tạo giao thức đồng thuận tổ chức nhiều trình đặt hàng và chứng minh theo cách không được phép. Mặc dù khởi chạy mã thông báo và tạo giao thức đồng thuận không có gì mới đối với các chuỗi khối công khai, nhưng cần có thời gian và suy tính trước để khởi chạy một cách có trách nhiệm. Các kế hoạch mã thông báo của StarkWare đã gây tranh cãi do thiết kế cung cấp và phân phối ban đầu của chúng, đồng thời Polygon cũng được kỳ vọng sẽ cải thiện tính kinh tế của mã thông báo hiện tại sau khi ra mắt zkEVM. zkSync dự kiến sẽ khởi chạy mã thông báo cho Rollup của nó trong những tháng tới, trong khi các kế hoạch cho mã thông báo Scroll vẫn chưa rõ ràng.
Trong bối cảnh hiện tại của zkEVM, bước quan trọng đầu tiên hướng tới việc phân cấp máy sắp xếp là mã nguồn mở phần mềm dự án, mà tại thời điểm viết bài này có rất ít người làm như vậy. Việc triển khai Rollup zkEVM đã có một số lượng lớn người dùng có thể có lợi thế về các hoạt động zkEVM phi tập trung.
Thử thách phần cứng zkEVM
Mặc dù các bằng chứng zkEVM rất đơn giản để xác minh, nhưng việc tạo ra chúng đòi hỏi nhiều tính toán, một phần là do toán học đằng sau ZKP dựa trên các chuỗi tính toán tuyến tính. Điều này gây khó khăn cho việc song song hóa công việc để tạo bằng chứng trên máy. Tiến bộ gần đây đã được thực hiện theo hướng này bằng cách sử dụng các bằng chứng đệ quy. Bằng chứng đệ quy là một kỹ thuật để giảm độ trễ của việc tạo bằng chứng, đề cập đến việc tạo bằng chứng lặp đi lặp lại để nén các giao dịch hơn nữa, để các lô giao dịch nhỏ trên ZK Rollup có thể được xử lý song song. Đây là kỹ thuật mà zkEVM của StarkNet VM và Polygon sử dụng để tạo bằng chứng về tính hợp lệ.
Do việc tạo ZKP tốn nhiều công sức tính toán nên zkEVM có thể phải dựa vào phần cứng tiên tiến như bộ xử lý đồ họa (GPU), mảng cổng lập trình trường (FPGA) hoặc thậm chí cả mạch tích hợp dành riêng cho ứng dụng (ASIC). Phần cứng chuyên dụng được yêu cầu để chạy các tính toán cần thiết nhằm tạo ra bằng chứng, không khác gì phần cứng chuyên dụng được yêu cầu để khai thác hiệu quả các khối theo giao thức đồng thuận Proof-of-Work (PoW). Sự khác biệt trong sự phát triển của hai ngành công nghiệp phần cứng nằm ở quá trình lựa chọn người chứng minh và người khai thác.
Người chứng minh là các bên liên quan của mạng chịu trách nhiệm tạo bằng chứng về tính hợp lệ. Mặt khác, trình sắp xếp thứ tự chịu trách nhiệm đặt hàng và đóng gói các giao dịch của người dùng thành các đợt và gửi dữ liệu tới chuỗi khối lớp 1. Về mặt kỹ thuật, trách nhiệm của người đặt hàng và người cung cấp dịch vụ có thể được kết hợp thành một vai trò. Tuy nhiên, vì cả việc tạo bằng chứng và đặt hàng giao dịch đều yêu cầu các kỹ năng chuyên môn cao để thực hiện hiệu quả, nên việc phân chia các trách nhiệm này sẽ ngăn chặn sự tập trung không cần thiết trong chức năng Rollup .
Nếu quy trình lựa chọn người chứng minh và người đặt hàng tương tự như quy trình lựa chọn thợ mỏ, dựa vào việc đạt được sự đồng thuận của Nakamoto và thưởng cho những người tham gia phần cứng hiệu quả nhất, thì ngành "khai thác" ZKP có thể đi theo con đường tương tự như khai thác Bitcoin. theo dõi sự phát triển. Tuy nhiên, có một số lý do khiến quá trình lựa chọn cho một chứng minh cụ thể có nhiều khả năng giống với thiết kế của Proof-of-Stake (PoS) hơn là sự đồng thuận của PoW.
Đầu tiên, quy trình lựa chọn kiểu Satoshi có nghĩa là người chứng minh có phần cứng hiệu quả nhất sẽ thống trị thị trường chứng minh. Để tránh độc quyền thị trường chứng minh đồng thời giảm mức tiêu thụ điện năng, các dự án như Scroll đang xem xét các thiết kế thay thế yêu cầu người chứng minh đặt tài sản làm tài sản thế chấp, không giống như cách trình xác thực Ethereum được yêu cầu đặt cọc 32 ETH . Việc triển khai mô hình đặt cược đảm bảo rằng người chứng minh có thể bị trừng phạt vì các hành động vi phạm tính bảo mật và tính sống động của mạng, chẳng hạn như không tính toán được bằng chứng hợp lệ cho một lô giao dịch cụ thể.
Một lợi ích khác của việc lựa chọn xác định người chứng minh để tạo bằng chứng, thay vì để tất cả người chứng minh cạnh tranh để tạo ra bằng chứng, là cải thiện thông lượng giao dịch và khả năng mở rộng mạng. Chọn một công cụ chứng minh có nghĩa là một số công cụ chứng minh có thể tạo song song bằng chứng cho các lô giao dịch khác nhau, thay vì tất cả các công cụ chứng minh đều tạo ra bằng chứng cho cùng một lô giao dịch. Tuy nhiên, các hệ thống bầu chọn lãnh đạo dựa trên một số hình thức đặt cược và trừng phạt có một điểm yếu: sự phức tạp. So với các hệ thống PoW kiểu Satoshi, các hệ thống PoS dựa trên thiết kế kiểm tra và cân bằng phức tạp hơn để giữ cho người tham gia trung thực. Ví dụ: sự đồng thuận theo kiểu Nakamoto thường chỉ yêu cầu những người tham gia, những người khai thác, đưa ra bằng chứng về công việc của họ để được khen thưởng.
Hầu hết các zkEVM có thể sẽ cố gắng giảm thiểu mức sử dụng điện của Rollup bằng cách chọn tham gia quy trình lựa chọn người chứng minh không được phép xác định (dựa trên sự phân công) thay vì xác suất (dựa trên cạnh tranh). Người đồng sáng lập Ethereum Vitalik Buterin ước tính rằng việc tính toán bằng chứng về tính hợp lệ của zkEVM cần ít hơn 1% năng lượng điện được sử dụng để khai thác ETH . Mục tiêu của các nhà thiết kế zkEVM là giảm thời gian chứng minh nhiều nhất có thể trong khi giúp càng nhiều người dùng có thể tiếp cận việc tạo ra chứng minh một cách kinh tế càng tốt. Một trong những yêu cầu để đạt được zkEVM tương thích ở cấp độ đồng thuận là giảm thời gian tạo bằng chứng để tương đương với thời gian tạo khối của Ethereum L1 (trung bình 13,5 giây).
Chỉ khi thông số kỹ thuật đằng sau zkEVM trở nên rõ ràng và được tiêu chuẩn hóa, các nhà sản xuất phần cứng ZKP mới có thể thực sự phát triển và trưởng thành. Cuối cùng, việc dự đoán mức sử dụng điện của ngành Điện toán Bằng chứng Hiệu lực sẽ vẫn còn khó khăn trừ khi Rollups áp dụng và triển khai một mô hình để lựa chọn trình chứng minh và trình tự sắp xếp không được phép.
triển vọng cạnh tranh của zkEVM
Trong ngắn hạn, những người tham gia zkEVM đang cạnh tranh để trở thành dự án đầu tiên khởi chạy trên mạng chính. Tuy nhiên, về lâu dài, chúng sẽ cạnh tranh về mức độ tương thích với EVM (từ ngôn ngữ đến mức độ đồng thuận) và hiệu quả của VM. zkEVM cũng có thể sẽ phải cạnh tranh với các Rollup lạc quan và các giải pháp khả năng mở rộng L2 khác để thu hút người dùng một khi công nghệ đằng sau zkEVM được thử nghiệm, sử dụng và hiểu rộng rãi hơn.
Lợi thế của người đi trước và lợi thế của người đi sau
Việc triển khai zkEVM của các nhóm zkSync, Polygon và Scroll đang chạy đua để khởi chạy trên mạng chính. Việc ra mắt mạng chính sớm hơn có thể mang lại cho nó lợi thế của người đi đầu trong việc thu hút các nhà phát triển Ứng dụng phi tập trung , đây có thể là một lợi thế đặc biệt quan trọng do khó khăn về khả năng tương tác giữa Rollup và khả năng kết hợp Ứng dụng phi tập trung . Khả năng kết hợp Ứng dụng phi tập trung , khả năng xây dựng Ứng dụng phi tập trung trên Ứng dụng phi tập trung giống như các khối xây dựng, là một tính năng đặc biệt quan trọng của hệ sinh thái Tài chính phi tập trung (DeFi) Ethereum, khiến nhiều khả năng các nhà phát triển Ứng dụng phi tập trung sẽ được chấp nhận bởi L1 hoặc L1 đã được áp dụng rộng rãi. L2.
Mặt khác, do tính mới của zkEVM với tư cách là một công nghệ, các triển khai triển khai zkEVM đầu tiên khó có thể được tối ưu hóa cho các nhà phát triển Ethereum Ứng dụng phi tập trung . Như đã đề cập trong báo cáo này, việc triển khai zkEVM hoàn toàn tương thích với EVM ở cấp độ mã byte và cấp độ đồng thuận vẫn chưa sẵn sàng để sử dụng trong sản xuất. Việc triển khai zkEVM có thể hỗ trợ nhiều hơn cho việc triển khai Ethereum Ứng dụng phi tập trung có thể không được khởi chạy trước và zkEVM có nhiều EVM tương đương hơn có lợi thế là người đến sau. Mức độ tương đương càng sâu thì rào cản gia nhập đối với các nhà phát triển zkEVM càng thấp. Nói cách khác, EVM, môi trường thực thi Ứng dụng phi tập trung chính kể từ năm 2015, có thể di chuyển sang càng nhiều công cụ, thì việc các nhà phát triển zkEVM Ứng dụng phi tập trung áp dụng càng mượt mà.
Thu hút các nhà phát triển Ứng dụng phi tập trung thông qua tính tương đương EVM là lĩnh vực cạnh tranh rõ ràng đầu tiên giữa các triển khai zkEVM và mặc dù lợi thế của người đi đầu trong việc áp dụng nhà phát triển Ứng dụng phi tập trung là rất mạnh, nhưng công nghệ này vẫn còn ở giai đoạn sơ khai, do đó, vẫn cần phải lặp lại và cải tiến đáng kể để được tạo không gian để xây dựng một zkEVM sẵn sàng sản xuất. Cuối cùng, trò chơi giống như tình thế tiến thoái lưỡng nan của nhà sáng tạo ngay từ đầu: Tốt hơn hết là trở thành người đầu tiên và cố gắng xây dựng bố cục và cộng đồng, hay tốt hơn là trở thành người thứ hai và lật đổ người đi đầu bằng các tính năng tốt hơn?
thiết kế máy ảo
Một lĩnh vực cạnh tranh và cải tiến khác của zkEVM theo thời gian là tính hiệu quả. Như đã đề cập trước đó, EVM không được tối ưu hóa cho hệ thống ZK và việc xây dựng một ZK Rollup cho mục đích chung có thể chứng tỏ là một chi phí đáng kể cho các hợp đồng thông minh và DApps dựa trên Ethereum. Theo thời gian, các thiết kế máy ảo khác được tối ưu hóa cho bằng chứng SNARK hoặc STARK có thể làm giảm khả năng tương thích với EVM, một quan điểm được nhóm Starkware ủng hộ mạnh mẽ. Việc biên dịch Solidity cho công cụ Warp của Cairo và những công cụ tương tự khác là sáng kiến hướng đến cộng đồng, vì nhóm StarkWare nội bộ tập trung vào việc làm cho máy ảo của StarkNet hoạt động hiệu quả nhất có thể, thay vì chỉ đơn giản là tương thích với EVM.
Trên Ethereum, điều đáng chú ý là không thể thay đổi hoặc nâng cấp đáng kể EVM (và Solidity có liên quan) mà không phá vỡ khả năng tương thích ngược Ứng dụng phi tập trung . Kể từ khi EVM được phát hành vào năm 2015, các nhà phát triển đã sửa đổi EVM và ngôn ngữ lập trình cấp cao của nó, Solidity, để cải thiện khả năng sử dụng và bảo mật theo những cách nhỏ. Ví dụ: trong quá trình nâng cấp Hard fork Ethereum Istanbul năm 2019, các nhà phát triển cốt lõi đã thêm một opcode mới có tên "CHAINID" vào EVM, mã này sẽ trả về một mã định danh duy nhất cho chuỗi chính tắc. Điều này nhằm ngăn chặn các nút được nâng cấp kết nối với các nút không được nâng cấp bằng cách cho phép các nút kiểm tra CHAINID, đây là một nâng cấp đặc biệt hữu ích để giúp ngăn chặn "các cuộc tấn công lặp lại".
Các nhà phát triển lõi Ethereum đã nhấn mạnh rằng các nâng cấp tiếp theo cho EVM sẽ vẫn được thực hiện trong lộ trình phát triển của Ethereum. Các opcode và tiền biên dịch mới có thể sẽ tiếp tục được thêm vào EVM, cho thấy rằng các triển khai zkEVM hiện tại phải linh hoạt để phù hợp với các thay đổi trong EVM. Tuy nhiên, ngay cả với những cải tiến này, các chuỗi khối L1 như MINA, Sui và Aptos vẫn có cơ hội thử nghiệm các thiết kế ngôn ngữ hợp đồng thông minh và máy ảo khác nhau, điều này có thể khiến EVM trở nên lỗi thời về lâu dài. Việc triển khai zkEVM chủ yếu tập trung vào khả năng tương thích sâu với EVM ở cấp độ mã byte và đồng thuận, đặt cược vào mức độ phù hợp và thống trị của EVM trong quá trình phát triển hợp đồng thông minh trong một thời gian dài.
Tổng hợp lạc quan đến Tổng hợp ZK
Cuối cùng, không phải là một kết luận chắc chắn rằng năm triển khai zkEVM được thảo luận trong báo cáo này đã đánh bại các Bản tổng hợp lạc quan như Optimism hoặc Arbitrum. Ở cấp độ kỹ thuật, Bản tổng hợp ZK an toàn hơn, hiệu quả hơn và có khả năng tiết kiệm chi phí hơn so với Bản tổng hợp lạc quan. Tuy nhiên, tính linh hoạt của chúng trong việc chứng minh tính toán đa năng được thiết kế cho EVM chưa được thử nghiệm và triển khai trên quy mô lớn. Sau khi zkEVM ra mắt và công nghệ đằng sau nó hoàn thiện và mạnh mẽ hơn, Rollup lạc quan dựa trên bằng chứng gian lận như Optimism và Arbitrum có thể được nâng cấp và chuyển sang tạo bằng chứng hợp lệ. Ngoài ra, các hệ thống Rollup kết hợp và nhiều người chứng minh sử dụng bằng chứng gian lận để xác minh một cách lạc quan các giao dịch của người dùng và đưa ra các bằng chứng hợp lệ không liên tục.
Dần dần tăng tốc thời gian tạo bằng chứng hợp lệ sẽ là một lĩnh vực nghiên cứu tích cực khi công nghệ đằng sau zkEVM phát triển và đang được thảo luận một cách nghiêm túc ngày hôm nay bởi các nhà phát triển lõi Ethereum như Vitalik Buterin và các nhà phát triển L2 như Kelvin Fichter của Optimism.
Rollup, đã được ra mắt trên Ethereum, có lợi thế về cơ sở người dùng và về mặt lý thuyết có thể dễ dàng chuyển sang phiên bản nâng cấp mới của Rollup , tương tự như Arbitrum Nitro, sẽ ra mắt vào năm 2022. Đây có thể là một trong những lý do tại sao nhóm zkEVM (không bao gồm Scroll) đã do dự trong việc mã nguồn mở hoàn toàn mã thông báo dự án của họ cho đến khi mạng chính của họ khởi chạy và xây dựng cơ sở người dùng lớn. Khả năng nâng cấp của Rollup lạc quan lên ZK Rollup theo thời gian cho thấy rằng sự cạnh tranh không chỉ tồn tại giữa các triển khai zkEVM mà còn trong hệ sinh thái Ethereum L2 rộng lớn hơn.
Tóm lại là
Sự gia tăng gần đây về sự quan tâm của thị trường đối với zkEVM đã đặt ra một số câu hỏi về phần cuối của lộ trình khả năng mở rộng của Ethereum. Theo nghĩa chân thực nhất, zkEVM (ZK Rollup có khả năng tương thích ở cấp độ đồng thuận với EVM) thể hiện sự đặt cược dài hạn vào sự thống trị của EVM đồng thời đặt cược vào Ethereum làm nền tảng chính để thực hiện hợp đồng thông minh. zkEVM cũng là một Rollup dài hạn vào lộ trình khả năng mở rộng của Ethereum, vì nó tập trung vào việc trừu tượng hóa việc thực hiện giao dịch thành Rollup thay vì kết hợp chúng với sự đồng thuận và tính sẵn có của dữ liệu.
Mặc dù một số zkEVM sắp đi vào sản xuất đã được công bố trong năm nay, nhưng công nghệ này vẫn còn ở giai đoạn sơ khai. Đạt được zkEVM với khả năng tương thích ở mức độ đồng thuận với EVM vẫn là một dự án nghiên cứu và có thể mất nhiều năm nữa mới sẵn sàng đưa vào sản xuất. Tuy nhiên, điều tương tự cũng đúng với zkEVM, đã đạt được khả năng tương thích ở cấp mã byte với EVM chỉ một năm trước. Sự phát triển nhanh chóng của các triển khai zkEVM của Polygon, zkSync, StarkWare và Scroll tiếp tục đẩy ranh giới của khoa học máy tính và toán học vượt ngoài mong đợi. Việc ra mắt Polygon zkEVM và zkSync 2.0 trên mạng chính Ethereum sẽ là điểm khởi đầu quan trọng để thử nghiệm zkEVM với người dùng thực và hoạt động Ứng dụng phi tập trung .
Tính khả dụng và khả năng mở rộng của hai zkEVM sẵn sàng sản xuất có thể phá vỡ không chỉ bối cảnh cạnh tranh của zkEVM, mà còn cả các Chuỗi cạnh tranh Lạc quan và Chuỗi cạnh tranh L1. Nếu zkEVM thành công, Bản tổng hợp lạc quan sẽ phải chuyển đổi sang thiết kế Rollup ZK để duy trì tính cạnh tranh trong thời gian dài. Các altchain L1 cũng phải đổi mới trong thiết kế máy ảo của chúng để cạnh tranh với các EVM có thể mở rộng. Vẫn còn nhiều điều phải chứng minh về tính sẵn sàng và khả năng áp dụng của ZKP trên Ethereum, và việc ra mắt zkEVM sẵn sàng sản xuất nên được coi là sự khởi đầu của bối cảnh cạnh tranh cho công nghệ mới này.
Một số lĩnh vực tập trung và phát