Foresight Ventures: Giải mã zk, zkVM, zkEVM và Tương lai của họ

Người mới bắt đầu12/27/2023, 3:12:52 PM
Bài viết này cung cấp một sự giới thiệu chi tiết về các khái niệm như zk, zkVM, zkEVM, v.v., nhằm mục tiêu cung cấp sự hiểu biết sâu hơn về công nghệ zk thông qua phân tích một cách đơn giản.

TL; DR

  • Công nghệ chứng minh không có kiến thức đảm bảo tính toàn vẹn, đúng đắn và riêng tư của các phép tính, với các ứng dụng trong việc mở rộng và bảo vệ quyền riêng tư của blockchain.
  • zk-SNARK và zk-STARK mỗi cái đều có điểm mạnh riêng, và sự kết hợp hợp lý của họ càng có tiềm năng hơn.
  • zkVM trang bị cho ứng dụng khả năng chứng minh không biết với zero-knowledge proof và được phân loại thành các triển khai chính thống, EVM hoặc dựa trên bộ hướng dẫn mới.
  • Sự thích ứng EVM bao gồm sự tương thích EVM, tương đương và tuân thủ thông số kỹ thuật.
  • zkEVM là môi trường thân thiện với chứng minh không cần biết và tương thích với EVM và được chia thành các biến thể nguyên bản và biên dịch.
  • zkEVM bản địa là tương lai của Ethereum và blockchain.
  • Một zkVM đa dụng hỗ trợ hệ sinh thái Solidity là tương lai của Web3.

0. Zero-Knowledge Proofs

Đây là một sự giới thiệu đơn giản và dễ hiểu về chứng minh không biết:

Hãy tưởng tượng bạn đang ở trường tiểu học. Giáo viên là người xác minh, còn bạn, như một học sinh, là người chứng minh. Làm thế nào để bạn chứng minh rằng bạn hiểu công thức giải phương trình bậc hai? Đó là lúc bài kiểm tra toán đến.

Giáo viên sẽ ngẫu nhiên đưa cho bạn 10 câu hỏi liên quan, và nếu bạn thực sự hiểu khái niệm, bạn sẽ có thể giải quyết tất cả chúng. Trong quá trình này, bạn không cần ghi nhớ hoặc viết ra nội dung cụ thể của công thức, nhưng giáo viên có thể dễ dàng xác minh mức độ kiến thức của bạn.

Thực tế, đây là phương pháp được Tartaglia và Cardano (vâng, đó là tên của họ) sử dụng để cạnh tranh xem ai đã khám phá ra giải pháp cho phương trình bậc ba. Cả hai đều không muốn tiết lộ nội dung của công thức của mình cho nhau, nhưng thông qua giải quyết vấn đề, họ có thể dễ dàng xác minh và xác định liệu họ đã thành thạo kiến ​​thức này mà không tiết lộ chi tiết.

Mục đích của chứng minh không biết là gì? Mục đích là tiết kiệm công suất tính toán và giảm không gian trên chuỗi trong toàn bộ quy trình. Ngoài ra, nó cũng có thể cung cấp bảo vệ sự riêng tư, điều này phù hợp với đặc tính không tin cậy trong blockchain và nguyên tắc của mật mã.

1. SNARK và STARK

Trong lĩnh vực blockchain, thuật ngữ "zk" được sử dụng hoặc đề cập thường không đề cập đến bằng chứng không có kiến thức thực tế, mà thường đề cập đến bằng chứng hợp lệ. Do sự nhầm lẫn trong thuật ngữ, một số phần của văn bản này sẽ tiếp tục sử dụng các thuật ngữ "bị lạm dụng" này.

Trong bối cảnh hiện tại của blockchain, zk có thể được coi là phương pháp tiên tiến và tối ưu nhất cho khả năng mở rộng của blockchain (không phải zk thực sự mà là Chứng minh tính hợp lệ), và công nghệ bảo mật (zk thực sự) được sử dụng trong các dự án như Tornado.cash, ZCash, zkSync, zk.money, Filecoin và Mina.

Các giải pháp kỹ thuật hiện tại chủ yếu được chia thành hai loại: SNARK và STARK. Trong STARK, “S” đứng cho có thể mở rộng, điều này có nghĩa là những câu lệnh đã được chứng minh có cấu trúc lặp lại, trong khi SNARK hỗ trợ mạch tùy ý đã được xử lý trước để đạt được các bằng chứng ngắn gọn. Trong đó, việc triển khai thực tế của SNARKs đã chiếm vị trí dẫn đầu, trong khi STARKs chủ yếu được áp dụng trên một quy mô lớn trong các sản phẩm được ra mắt bởi StarkWare. Dưới đây là một so sánh giữa chúng.

Từ góc độ của Meme, STARK tốt hơn SNARK (😊, Star Wars, Star Trek).

Nếu SNARK là tương lai của Ethereum 2.0, thì STARK sẽ là tương lai của Ethereum 3.0. Thật sự, những lợi ích của STARK là:

  • Phí gas thấp hơn (khả năng mở rộng tốt hơn)
  • Kích thước lô lớn hơn (khả năng mở rộng tốt hơn nhiều)
  • Chứng minh nhanh hơn (hơn nữa là khả năng mở rộng tốt hơn)
  • Không cài đặt tin cậy (các tham số được tạo chỉ hợp lệ cho ứng dụng hiện tại, và nếu có bất kỳ sửa đổi nào xảy ra, cần có một cài đặt mới)
  • Bảo mật sau lượng tử

Tuy nhiên, các bằng chứng được tạo ra bởi STARK có kích thước đáng kể lớn. Do một số hạn chế nhất định, như những hạn chế được áp đặt bởi WASM, có thể cần thêm các hoạt động trong quá trình xây dựng (ở đây, chúng tôi đang ám chỉ đến SNARK). Gần đây, Mir đã cung cấp một cài đặt thực tế của STARK dựa trên AIR bằng cách sử dụng Starky, một phần của Plonky2 (mối quan hệ giữa Plonky2 và Starky khá phức tạp...). Theo ý kiến cá nhân của tôi, mặc dù kích thước có thể được tối ưu hóa bằng các kỹ thuật khác nhau, nhưng khó khăn để nén thêm độ phức tạp thời gian của thuật toán chính nó.

Các công nghệ chứng minh không dữ liệu này có thể được kết hợp một cách hợp lý để xây dựng các ứng dụng mạnh mẽ hơn. Ví dụ, Polygon Hermez sử dụng SNARK để xác minh tính chính xác của STARK, từ đó giảm phí gas khi xuất bằng chứng.

Nhìn chung, SNARK và STARK đều là công nghệ chứng minh không cần biết về không có điểm yếu, mỗi công nghệ đều có điểm mạnh riêng, và sự kết hợp hợp lý của họ còn có tiềm năng hơn nữa.

2. zkVM

Các ứng dụng trước đây như Tornado.cash và zk.money đã được đề cập là những ứng dụng tương tự chỉ hỗ trợ các hoạt động chuyển giao bằng bằng chứng không biết. Chúng không hỗ trợ tính toán đa mục đích. Trong so sánh, những ứng dụng này chỉ có tính năng của Bitcoin, ít hơn nhiều so với Ethereum toàn diện về Turing, chưa kể việc xây dựng một hệ sinh thái (Các hợp đồng thông minh trên Bitcoin vẫn chưa thiết lập một hệ sinh thái phát triển mạnh mẽ).

zkVM là một máy ảo đảm bảo tính an toàn, xác minh và đáng tin cậy bằng cách sử dụng chứng minh không biết. Nó có nghĩa đơn giản, nó nhận một trạng thái cũ và một chương trình làm đầu vào và trả về một trạng thái mới. Nó trao quyền cho tất cả các ứng dụng với siêu năng lực của chứng minh không biết.

Bài thuyết trình của Miden tại ETH Amsterdam đã tổng hợp một cách hiệu quả về điều gì là zkVM chỉ với một slide duy nhất.

Ưu điểm của zkVM:

  • Dễ sử dụng: Các nhà phát triển có thể sử dụng zkVM để chạy chương trình và đảm bảo tính bảo mật tính toán mà không cần phải học về mật mã hoặc phát triển không chứng thực (điều này không có nghĩa là không có rào cản đầu vào).
  • Universal: zkVM có thể tạo ra chứng minh cho bất kỳ chương trình và tính toán nào.
  • Súc tích: Toàn bộ VM có thể được mô tả với số lượng ràng buộc tương đối ít, mà không cần phải tạo mạch VM toàn bộ lặp đi lặp lại.
  • Đệ quy: Tính năng đệ quy miễn phí. Tương tự như tính phổ biến của nó, xác minh của VM có thể được thực hiện bằng chính VM đó. Điều này khá thú vị, ví dụ, bạn có thể có một zkVM trong một zkVM, tương tự như khái niệm L3 được đề cập bởi StarkWare.

Nhược điểm của zkVM:

  • Kiến trúc tính toán cụ thể: Không phải tất cả các hệ thống chứng minh không mất dữ liệu đều có thể được sử dụng cho zkVM.
  • Vấn đề về hiệu suất: Mạch cần được tối ưu hóa và có thể được tối ưu hóa một cách cụ thể cho các phép tính nhất định.

Hiện tại, có ba loại chính của zkVM, với các bộ chỉ thị tương ứng của chúng trong ngoặc: Mainstream (WASM, RISC-V), EVM (bytecode EVM), ZK-Optimized (một bộ chỉ thị mới được tối ưu hóa cho chứng minh không thông tin, như Cairo và zkSync). Dưới đây là bảng so sánh của các loại này dựa trên bài thuyết trình của Miden tại ETH Amsterdam.

Nhiều việc được thực hiện trong hệ sinh thái phát triển chứng minh zero-knowledge đều liên quan đến việc cho phép các nhà phát triển sử dụng thư viện Circom (và snarkyjs, ví dụ) hoặc các ngôn ngữ mới được tạo ra (như Leo hoặc Cairo, mà có những hạn chế độc đáo của riêng chúng) để phát triển các ứng dụng phiên bản zk DApps thông thường. Tuy nhiên, việc này không đơn giản và dễ học như việc sử dụng Solidity trên Ethereum.

Ngoài ra, còn nhiều dự án như zkSync, Scroll, hoặc một số dự án dưới sự bảo trợ của Polygon đều đang thử nghiệm với các giải pháp zkEVM hoặc zkVM khác.

3. EVM

EVM là máy ảo Ethereum, có thể hiểu là một tập hợp các môi trường thực thi để chạy các hợp đồng thông minh.

Trong những năm qua, các chuỗi khối công cộng khác nhau đã liên tục cố gắng trở nên tương thích với EVM, qua đó tích hợp vào hệ sinh thái phát triển của Ethereum. Khái niệm này đã dẫn đến việc phát sinh các thuật ngữ như tương thích EVM, tương đương EVM và các định nghĩa khác.

  • Tương thích EVM: Sự điều chỉnh ở cấp độ ngôn ngữ, như với Solidity.
  • Tương Đương EVM: Sự Thích Nghi ở Mức Độ Bytecode EVM.
  • Chuyển đổi Đặc tả EVM: Điều này thường được gọi là zkEVM thực sự. Trong hầu hết các trường hợp, đó thậm chí là một tập hợp con tối ưu tương thích ngược với EVM có thể cung cấp các tính năng mà EVM không cung cấp, chẳng hạn như trừu tượng hóa tài khoản (mỗi tài khoản là một hợp đồng thông minh).

4. zkEVM

Hãy tiếp tục giải thích về zkEVM. Theo định nghĩa, zkEVM là một máy ảo tương thích với EVM và cũng thân thiện với chứng minh không cần biết, đảm bảo tính chính xác hoàn toàn của các chương trình, thao tác và đầu vào/đầu ra.

Để đạt được tính toàn cầu của tính toán, có hai thách thức chính trong việc phát triển zkEVM:

a) Độ phức tạp mạch điện

Các hợp đồng khác nhau yêu cầu việc tạo ra các mạch khác nhau, và những mạch này khá 'phức tạp'.

Khía cạnh này chủ yếu phụ thuộc vào các tối ưu hóa khác nhau. Ví dụ, Aleo (mặc dù nó không phải là loại ZK trực tiếp... chỉ là một ví dụ cho tối ưu hóa) sử dụng các cụm phân tán cho các tính toán chứng minh đồng thời, hoặc các tối ưu hóa phần cứng khác nhau để tăng tốc.

b) Khó khăn trong thiết kế

zkEVM đòi hỏi không chỉ việc tái cấu trúc của EVM mà còn việc tái cấu trúc toàn bộ quá trình chuyển trạng thái của Ethereum bằng cách sử dụng công nghệ chứng minh không chứng minh.

Thiết kế ban đầu của EVM không dự đoán được sự phát triển của zkEVM, dẫn đến những khó khăn đáng kể. Điều này đã dẫn đến hai trường phái tiếp cận, như được minh họa trong biểu đồ.

Hoặc, để phân biệt theo kiến trúc của Máy Ảo (VM), như trong sơ đồ dưới đây (cảm ơn Scroll Tech rất nhiều vì bản tóm tắt hình ảnh gốc!). Opcode đề cập đến EVM Opcode. Phần StarkWare sử dụng Warp để chuyển đổi hợp đồng Solidity thành hợp đồng Cairo, hoặc có thể trực tiếp viết hợp đồng trong Cairo, và vẫn có được trải nghiệm phát triển tốt và một bộ công cụ đầy đủ.

Ở cấp độ của người phát triển và người dùng, theo ý kiến của tôi, những giải pháp này về cơ bản không thể phân biệt được. Tuy nhiên, về cơ sở hạ tầng, càng phải hơn giải pháp, tính tương thích EVM càng tốt hơn. Nó có thể tích hợp một cách mượt mà với cơ sở hạ tầng như Geth, nhưng tiến độ phát triển thường chậm hơn.

5. zkEVM và zkVM

Sự tồn tại của zkEVM, theo ý kiến của tôi, là để đổi mới và vá lỗi hệ sinh thái Ethereum, góp phần vào sự thịnh vượng của Ethereum và hệ sinh thái của nó. Trái lại, sự tồn tại của zkVM có thể không nhất thiết làm mạnh hơn Ethereum, nhưng nó mang đến sự tưởng tượng lớn hơn.

Mặc dù Cairo VM của StarkNet có thể không hoàn hảo như zkVM mà tôi đã tưởng tượng, nó có thể làm nhiều hơn cả EVM hoặc zkEVM. Những chức năng này vượt xa cấp độ của các phần mở rộng EIP. Trên Cairo VM, các mô hình học máy có thể được chạy, và ngay cả một nền tảng mô hình học máy đang được xây dựng trên StarkNet.

So với zkEVM, việc xây dựng một zkVM dễ dàng hơn (không cần lo lắng về nợ kỹ thuật của EVM), linh hoạt hơn (không cần lo lắng về các cập nhật của EVM), và dễ tối ưu hơn (bộ tối ưu mạch và bằng chứng đơn giản và rẻ hơn nhiều so với việc xây dựng zkEVM).

Tuy nhiên, zkVM có một nhược điểm nhỏ nhưng tiềm ẩn nguy hiểm. Nếu zkVM không thể cung cấp tính tương thích EVM ở cấp độ ngôn ngữ Solidity, việc thiết lập một hệ sinh thái phát triển Web3 toàn diện và chín chắn tương tự như của EVM sẽ khó khăn.

zkVM có thể là một xu hướng lớn có thể cho phép tối ưu hóa theo chiều dọc của EVM và mở rộng theo chiều ngang của hệ sinh thái EVM, thoát khỏi những hạn chế của EVM.

6. Tương lai của zkVM

Nếu có thể có một zkVM toàn cầu cho phép hợp đồng thông minh của tất cả các ngôn ngữ lập trình, không chỉ Solidity, không chỉ Cairo, mà còn Rust, C++, Go, chạy một cách an toàn với chứng minh không biết, thì có lẽ sẽ tuyệt vời phải không? (Stellar đã thử, nhưng thất bại.)

As @kelvinfichterđã đề cập: Tại sao zkEVM nếu zkMIPS? Như@KyleSamaniđược đề cập: EVM là lỗi chứ không phải là tính năng. Tại sao zkEVM nếu zkVM?

Winterfall, Distaff, Miden VM và các zkVM khác chưa đạt đến mức độ thân thiện với các nhà phát triển cao. Nervos có một RISC-V VM, nhưng nó không sử dụng công nghệ chứng minh zero-knowledge.

Giải pháp tối ưu trong tình hình hiện tại là xây dựng một WASM hoặc RISC-V zkVM, tốt hơn nếu nó có thể hỗ trợ các ngôn ngữ như Rust, Go, C++, và thậm chí là Solidity (zkSync dường như có thể đóng góp đáng kể). Nếu có một zkVM thông dụng như vậy, đó sẽ là một đòn đau lớn đối với zkEVM.

Số lượng nhà phát triển Web3 chiếm khoảng 0.07% tổng số nhà phát triển. Điều này ngụ ý rằng số lượng nhà phát triển Solidity còn nhỏ hơn 0.07%, và còn ít nhà phát triển hơn nữa sẽ sử dụng Cairo để viết hợp đồng hoặc Leo để viết mạch. Kết quả, zkVM hoàn hảo nhắm đến việc phục vụ gần 100% nhà phát triển, vì bất kỳ nhà phát triển nào cũng có thể có môi trường thực thi zero-knowledge hoàn hảo bằng gần như bất kỳ ngôn ngữ lập trình nào.

Nếu Web3 và Crypto có ngày nào đó thống trị thế giới, tôi tin rằng chắc chắn không phải hệ sinh thái EVM chiếm 100% tất cả các nhà phát triển, mà thay vào đó tất cả các nhà phát triển dần dần chuyển sang làm nhà phát triển Web3 và Crypto. Đây là nơi tinh túy của zkVM toàn cầu.

zkEVM nguyên bản là tương lai của blockchain.

Universal zkVM là tương lai của Web3.

Tuyên bố:

  1. Bài viết này được tái bản từ [Nghiên cứu Foresight]. Tất cả bản quyền thuộc về tác giả gốc [msfew @ Foresight Ventures]. Nếu có ý kiến ​​phản đối về việc tái bản này, vui lòng liên hệ Học cửađội, và họ sẽ xử lý nhanh chóng.
  2. Miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết ra các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.

Foresight Ventures: Giải mã zk, zkVM, zkEVM và Tương lai của họ

Người mới bắt đầu12/27/2023, 3:12:52 PM
Bài viết này cung cấp một sự giới thiệu chi tiết về các khái niệm như zk, zkVM, zkEVM, v.v., nhằm mục tiêu cung cấp sự hiểu biết sâu hơn về công nghệ zk thông qua phân tích một cách đơn giản.

TL; DR

  • Công nghệ chứng minh không có kiến thức đảm bảo tính toàn vẹn, đúng đắn và riêng tư của các phép tính, với các ứng dụng trong việc mở rộng và bảo vệ quyền riêng tư của blockchain.
  • zk-SNARK và zk-STARK mỗi cái đều có điểm mạnh riêng, và sự kết hợp hợp lý của họ càng có tiềm năng hơn.
  • zkVM trang bị cho ứng dụng khả năng chứng minh không biết với zero-knowledge proof và được phân loại thành các triển khai chính thống, EVM hoặc dựa trên bộ hướng dẫn mới.
  • Sự thích ứng EVM bao gồm sự tương thích EVM, tương đương và tuân thủ thông số kỹ thuật.
  • zkEVM là môi trường thân thiện với chứng minh không cần biết và tương thích với EVM và được chia thành các biến thể nguyên bản và biên dịch.
  • zkEVM bản địa là tương lai của Ethereum và blockchain.
  • Một zkVM đa dụng hỗ trợ hệ sinh thái Solidity là tương lai của Web3.

0. Zero-Knowledge Proofs

Đây là một sự giới thiệu đơn giản và dễ hiểu về chứng minh không biết:

Hãy tưởng tượng bạn đang ở trường tiểu học. Giáo viên là người xác minh, còn bạn, như một học sinh, là người chứng minh. Làm thế nào để bạn chứng minh rằng bạn hiểu công thức giải phương trình bậc hai? Đó là lúc bài kiểm tra toán đến.

Giáo viên sẽ ngẫu nhiên đưa cho bạn 10 câu hỏi liên quan, và nếu bạn thực sự hiểu khái niệm, bạn sẽ có thể giải quyết tất cả chúng. Trong quá trình này, bạn không cần ghi nhớ hoặc viết ra nội dung cụ thể của công thức, nhưng giáo viên có thể dễ dàng xác minh mức độ kiến thức của bạn.

Thực tế, đây là phương pháp được Tartaglia và Cardano (vâng, đó là tên của họ) sử dụng để cạnh tranh xem ai đã khám phá ra giải pháp cho phương trình bậc ba. Cả hai đều không muốn tiết lộ nội dung của công thức của mình cho nhau, nhưng thông qua giải quyết vấn đề, họ có thể dễ dàng xác minh và xác định liệu họ đã thành thạo kiến ​​thức này mà không tiết lộ chi tiết.

Mục đích của chứng minh không biết là gì? Mục đích là tiết kiệm công suất tính toán và giảm không gian trên chuỗi trong toàn bộ quy trình. Ngoài ra, nó cũng có thể cung cấp bảo vệ sự riêng tư, điều này phù hợp với đặc tính không tin cậy trong blockchain và nguyên tắc của mật mã.

1. SNARK và STARK

Trong lĩnh vực blockchain, thuật ngữ "zk" được sử dụng hoặc đề cập thường không đề cập đến bằng chứng không có kiến thức thực tế, mà thường đề cập đến bằng chứng hợp lệ. Do sự nhầm lẫn trong thuật ngữ, một số phần của văn bản này sẽ tiếp tục sử dụng các thuật ngữ "bị lạm dụng" này.

Trong bối cảnh hiện tại của blockchain, zk có thể được coi là phương pháp tiên tiến và tối ưu nhất cho khả năng mở rộng của blockchain (không phải zk thực sự mà là Chứng minh tính hợp lệ), và công nghệ bảo mật (zk thực sự) được sử dụng trong các dự án như Tornado.cash, ZCash, zkSync, zk.money, Filecoin và Mina.

Các giải pháp kỹ thuật hiện tại chủ yếu được chia thành hai loại: SNARK và STARK. Trong STARK, “S” đứng cho có thể mở rộng, điều này có nghĩa là những câu lệnh đã được chứng minh có cấu trúc lặp lại, trong khi SNARK hỗ trợ mạch tùy ý đã được xử lý trước để đạt được các bằng chứng ngắn gọn. Trong đó, việc triển khai thực tế của SNARKs đã chiếm vị trí dẫn đầu, trong khi STARKs chủ yếu được áp dụng trên một quy mô lớn trong các sản phẩm được ra mắt bởi StarkWare. Dưới đây là một so sánh giữa chúng.

Từ góc độ của Meme, STARK tốt hơn SNARK (😊, Star Wars, Star Trek).

Nếu SNARK là tương lai của Ethereum 2.0, thì STARK sẽ là tương lai của Ethereum 3.0. Thật sự, những lợi ích của STARK là:

  • Phí gas thấp hơn (khả năng mở rộng tốt hơn)
  • Kích thước lô lớn hơn (khả năng mở rộng tốt hơn nhiều)
  • Chứng minh nhanh hơn (hơn nữa là khả năng mở rộng tốt hơn)
  • Không cài đặt tin cậy (các tham số được tạo chỉ hợp lệ cho ứng dụng hiện tại, và nếu có bất kỳ sửa đổi nào xảy ra, cần có một cài đặt mới)
  • Bảo mật sau lượng tử

Tuy nhiên, các bằng chứng được tạo ra bởi STARK có kích thước đáng kể lớn. Do một số hạn chế nhất định, như những hạn chế được áp đặt bởi WASM, có thể cần thêm các hoạt động trong quá trình xây dựng (ở đây, chúng tôi đang ám chỉ đến SNARK). Gần đây, Mir đã cung cấp một cài đặt thực tế của STARK dựa trên AIR bằng cách sử dụng Starky, một phần của Plonky2 (mối quan hệ giữa Plonky2 và Starky khá phức tạp...). Theo ý kiến cá nhân của tôi, mặc dù kích thước có thể được tối ưu hóa bằng các kỹ thuật khác nhau, nhưng khó khăn để nén thêm độ phức tạp thời gian của thuật toán chính nó.

Các công nghệ chứng minh không dữ liệu này có thể được kết hợp một cách hợp lý để xây dựng các ứng dụng mạnh mẽ hơn. Ví dụ, Polygon Hermez sử dụng SNARK để xác minh tính chính xác của STARK, từ đó giảm phí gas khi xuất bằng chứng.

Nhìn chung, SNARK và STARK đều là công nghệ chứng minh không cần biết về không có điểm yếu, mỗi công nghệ đều có điểm mạnh riêng, và sự kết hợp hợp lý của họ còn có tiềm năng hơn nữa.

2. zkVM

Các ứng dụng trước đây như Tornado.cash và zk.money đã được đề cập là những ứng dụng tương tự chỉ hỗ trợ các hoạt động chuyển giao bằng bằng chứng không biết. Chúng không hỗ trợ tính toán đa mục đích. Trong so sánh, những ứng dụng này chỉ có tính năng của Bitcoin, ít hơn nhiều so với Ethereum toàn diện về Turing, chưa kể việc xây dựng một hệ sinh thái (Các hợp đồng thông minh trên Bitcoin vẫn chưa thiết lập một hệ sinh thái phát triển mạnh mẽ).

zkVM là một máy ảo đảm bảo tính an toàn, xác minh và đáng tin cậy bằng cách sử dụng chứng minh không biết. Nó có nghĩa đơn giản, nó nhận một trạng thái cũ và một chương trình làm đầu vào và trả về một trạng thái mới. Nó trao quyền cho tất cả các ứng dụng với siêu năng lực của chứng minh không biết.

Bài thuyết trình của Miden tại ETH Amsterdam đã tổng hợp một cách hiệu quả về điều gì là zkVM chỉ với một slide duy nhất.

Ưu điểm của zkVM:

  • Dễ sử dụng: Các nhà phát triển có thể sử dụng zkVM để chạy chương trình và đảm bảo tính bảo mật tính toán mà không cần phải học về mật mã hoặc phát triển không chứng thực (điều này không có nghĩa là không có rào cản đầu vào).
  • Universal: zkVM có thể tạo ra chứng minh cho bất kỳ chương trình và tính toán nào.
  • Súc tích: Toàn bộ VM có thể được mô tả với số lượng ràng buộc tương đối ít, mà không cần phải tạo mạch VM toàn bộ lặp đi lặp lại.
  • Đệ quy: Tính năng đệ quy miễn phí. Tương tự như tính phổ biến của nó, xác minh của VM có thể được thực hiện bằng chính VM đó. Điều này khá thú vị, ví dụ, bạn có thể có một zkVM trong một zkVM, tương tự như khái niệm L3 được đề cập bởi StarkWare.

Nhược điểm của zkVM:

  • Kiến trúc tính toán cụ thể: Không phải tất cả các hệ thống chứng minh không mất dữ liệu đều có thể được sử dụng cho zkVM.
  • Vấn đề về hiệu suất: Mạch cần được tối ưu hóa và có thể được tối ưu hóa một cách cụ thể cho các phép tính nhất định.

Hiện tại, có ba loại chính của zkVM, với các bộ chỉ thị tương ứng của chúng trong ngoặc: Mainstream (WASM, RISC-V), EVM (bytecode EVM), ZK-Optimized (một bộ chỉ thị mới được tối ưu hóa cho chứng minh không thông tin, như Cairo và zkSync). Dưới đây là bảng so sánh của các loại này dựa trên bài thuyết trình của Miden tại ETH Amsterdam.

Nhiều việc được thực hiện trong hệ sinh thái phát triển chứng minh zero-knowledge đều liên quan đến việc cho phép các nhà phát triển sử dụng thư viện Circom (và snarkyjs, ví dụ) hoặc các ngôn ngữ mới được tạo ra (như Leo hoặc Cairo, mà có những hạn chế độc đáo của riêng chúng) để phát triển các ứng dụng phiên bản zk DApps thông thường. Tuy nhiên, việc này không đơn giản và dễ học như việc sử dụng Solidity trên Ethereum.

Ngoài ra, còn nhiều dự án như zkSync, Scroll, hoặc một số dự án dưới sự bảo trợ của Polygon đều đang thử nghiệm với các giải pháp zkEVM hoặc zkVM khác.

3. EVM

EVM là máy ảo Ethereum, có thể hiểu là một tập hợp các môi trường thực thi để chạy các hợp đồng thông minh.

Trong những năm qua, các chuỗi khối công cộng khác nhau đã liên tục cố gắng trở nên tương thích với EVM, qua đó tích hợp vào hệ sinh thái phát triển của Ethereum. Khái niệm này đã dẫn đến việc phát sinh các thuật ngữ như tương thích EVM, tương đương EVM và các định nghĩa khác.

  • Tương thích EVM: Sự điều chỉnh ở cấp độ ngôn ngữ, như với Solidity.
  • Tương Đương EVM: Sự Thích Nghi ở Mức Độ Bytecode EVM.
  • Chuyển đổi Đặc tả EVM: Điều này thường được gọi là zkEVM thực sự. Trong hầu hết các trường hợp, đó thậm chí là một tập hợp con tối ưu tương thích ngược với EVM có thể cung cấp các tính năng mà EVM không cung cấp, chẳng hạn như trừu tượng hóa tài khoản (mỗi tài khoản là một hợp đồng thông minh).

4. zkEVM

Hãy tiếp tục giải thích về zkEVM. Theo định nghĩa, zkEVM là một máy ảo tương thích với EVM và cũng thân thiện với chứng minh không cần biết, đảm bảo tính chính xác hoàn toàn của các chương trình, thao tác và đầu vào/đầu ra.

Để đạt được tính toàn cầu của tính toán, có hai thách thức chính trong việc phát triển zkEVM:

a) Độ phức tạp mạch điện

Các hợp đồng khác nhau yêu cầu việc tạo ra các mạch khác nhau, và những mạch này khá 'phức tạp'.

Khía cạnh này chủ yếu phụ thuộc vào các tối ưu hóa khác nhau. Ví dụ, Aleo (mặc dù nó không phải là loại ZK trực tiếp... chỉ là một ví dụ cho tối ưu hóa) sử dụng các cụm phân tán cho các tính toán chứng minh đồng thời, hoặc các tối ưu hóa phần cứng khác nhau để tăng tốc.

b) Khó khăn trong thiết kế

zkEVM đòi hỏi không chỉ việc tái cấu trúc của EVM mà còn việc tái cấu trúc toàn bộ quá trình chuyển trạng thái của Ethereum bằng cách sử dụng công nghệ chứng minh không chứng minh.

Thiết kế ban đầu của EVM không dự đoán được sự phát triển của zkEVM, dẫn đến những khó khăn đáng kể. Điều này đã dẫn đến hai trường phái tiếp cận, như được minh họa trong biểu đồ.

Hoặc, để phân biệt theo kiến trúc của Máy Ảo (VM), như trong sơ đồ dưới đây (cảm ơn Scroll Tech rất nhiều vì bản tóm tắt hình ảnh gốc!). Opcode đề cập đến EVM Opcode. Phần StarkWare sử dụng Warp để chuyển đổi hợp đồng Solidity thành hợp đồng Cairo, hoặc có thể trực tiếp viết hợp đồng trong Cairo, và vẫn có được trải nghiệm phát triển tốt và một bộ công cụ đầy đủ.

Ở cấp độ của người phát triển và người dùng, theo ý kiến của tôi, những giải pháp này về cơ bản không thể phân biệt được. Tuy nhiên, về cơ sở hạ tầng, càng phải hơn giải pháp, tính tương thích EVM càng tốt hơn. Nó có thể tích hợp một cách mượt mà với cơ sở hạ tầng như Geth, nhưng tiến độ phát triển thường chậm hơn.

5. zkEVM và zkVM

Sự tồn tại của zkEVM, theo ý kiến của tôi, là để đổi mới và vá lỗi hệ sinh thái Ethereum, góp phần vào sự thịnh vượng của Ethereum và hệ sinh thái của nó. Trái lại, sự tồn tại của zkVM có thể không nhất thiết làm mạnh hơn Ethereum, nhưng nó mang đến sự tưởng tượng lớn hơn.

Mặc dù Cairo VM của StarkNet có thể không hoàn hảo như zkVM mà tôi đã tưởng tượng, nó có thể làm nhiều hơn cả EVM hoặc zkEVM. Những chức năng này vượt xa cấp độ của các phần mở rộng EIP. Trên Cairo VM, các mô hình học máy có thể được chạy, và ngay cả một nền tảng mô hình học máy đang được xây dựng trên StarkNet.

So với zkEVM, việc xây dựng một zkVM dễ dàng hơn (không cần lo lắng về nợ kỹ thuật của EVM), linh hoạt hơn (không cần lo lắng về các cập nhật của EVM), và dễ tối ưu hơn (bộ tối ưu mạch và bằng chứng đơn giản và rẻ hơn nhiều so với việc xây dựng zkEVM).

Tuy nhiên, zkVM có một nhược điểm nhỏ nhưng tiềm ẩn nguy hiểm. Nếu zkVM không thể cung cấp tính tương thích EVM ở cấp độ ngôn ngữ Solidity, việc thiết lập một hệ sinh thái phát triển Web3 toàn diện và chín chắn tương tự như của EVM sẽ khó khăn.

zkVM có thể là một xu hướng lớn có thể cho phép tối ưu hóa theo chiều dọc của EVM và mở rộng theo chiều ngang của hệ sinh thái EVM, thoát khỏi những hạn chế của EVM.

6. Tương lai của zkVM

Nếu có thể có một zkVM toàn cầu cho phép hợp đồng thông minh của tất cả các ngôn ngữ lập trình, không chỉ Solidity, không chỉ Cairo, mà còn Rust, C++, Go, chạy một cách an toàn với chứng minh không biết, thì có lẽ sẽ tuyệt vời phải không? (Stellar đã thử, nhưng thất bại.)

As @kelvinfichterđã đề cập: Tại sao zkEVM nếu zkMIPS? Như@KyleSamaniđược đề cập: EVM là lỗi chứ không phải là tính năng. Tại sao zkEVM nếu zkVM?

Winterfall, Distaff, Miden VM và các zkVM khác chưa đạt đến mức độ thân thiện với các nhà phát triển cao. Nervos có một RISC-V VM, nhưng nó không sử dụng công nghệ chứng minh zero-knowledge.

Giải pháp tối ưu trong tình hình hiện tại là xây dựng một WASM hoặc RISC-V zkVM, tốt hơn nếu nó có thể hỗ trợ các ngôn ngữ như Rust, Go, C++, và thậm chí là Solidity (zkSync dường như có thể đóng góp đáng kể). Nếu có một zkVM thông dụng như vậy, đó sẽ là một đòn đau lớn đối với zkEVM.

Số lượng nhà phát triển Web3 chiếm khoảng 0.07% tổng số nhà phát triển. Điều này ngụ ý rằng số lượng nhà phát triển Solidity còn nhỏ hơn 0.07%, và còn ít nhà phát triển hơn nữa sẽ sử dụng Cairo để viết hợp đồng hoặc Leo để viết mạch. Kết quả, zkVM hoàn hảo nhắm đến việc phục vụ gần 100% nhà phát triển, vì bất kỳ nhà phát triển nào cũng có thể có môi trường thực thi zero-knowledge hoàn hảo bằng gần như bất kỳ ngôn ngữ lập trình nào.

Nếu Web3 và Crypto có ngày nào đó thống trị thế giới, tôi tin rằng chắc chắn không phải hệ sinh thái EVM chiếm 100% tất cả các nhà phát triển, mà thay vào đó tất cả các nhà phát triển dần dần chuyển sang làm nhà phát triển Web3 và Crypto. Đây là nơi tinh túy của zkVM toàn cầu.

zkEVM nguyên bản là tương lai của blockchain.

Universal zkVM là tương lai của Web3.

Tuyên bố:

  1. Bài viết này được tái bản từ [Nghiên cứu Foresight]. Tất cả bản quyền thuộc về tác giả gốc [msfew @ Foresight Ventures]. Nếu có ý kiến ​​phản đối về việc tái bản này, vui lòng liên hệ Học cửađội, và họ sẽ xử lý nhanh chóng.
  2. Miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết ra các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!