Tác giả: Kernel Ventures Turbo Guo

Người đánh giá: Kernel Ventures Mandy, Kernel Ventures Joshua

TLDR:

Bộ đồng xử lý ZK là một giải pháp cho phép dApps sử dụng các tài nguyên điện toán ngoài chuỗi. Bài viết này chủ yếu thảo luận về việc triển khai bộ đồng xử lý, các ứng dụng khác nhau và hướng phát triển trong tương lai.

  1. ZkVM của RISC Zero là giải pháp đồng xử lý ZK cho phép các hợp đồng trên chuỗi gọi zkVM ngoài chuỗi để chạy mã Rust cụ thể và trả kết quả về chuỗi, đồng thời cung cấp zkp cho hợp đồng để xác minh xem tính toán có chính xác hay không.

  2. Bộ đồng xử lý ZK có các phương pháp triển khai khác nhau, ngoài zkVM, người dùng cũng có thể viết các mạch ZK tùy chỉnh cho các chương trình của riêng họ hoặc sử dụng các khung đúc sẵn để viết mạch, cho phép các hợp đồng sử dụng tài nguyên điện toán ngoài chuỗi.

  3. Bộ đồng xử lý ZK có thể đóng một vai trò trong DeFi, chẳng hạn như đặt các phép tính AMM ngoài chuỗi, cho phép giao thức nắm bắt giá trị giống MEV hoặc cho phép AMM triển khai logic vận hành phức tạp và tính toán chuyên sâu. Bộ đồng xử lý ZK cũng có thể cho phép các giao thức cho vay tính lãi suất theo thời gian thực, làm cho việc tính toán ký quỹ trở nên minh bạch, v.v. Có hai cách triển khai zkAMM, một là sử dụng zkVM và hai là sử dụng zkOracle.

  4. Có những ứng dụng tiềm năng khác của bộ đồng xử lý ZK. Ví dụ: ví có thể sử dụng bộ đồng xử lý ZK để thực hiện xác minh danh tính ngoài chuỗi. Bộ đồng xử lý cũng có thể cho phép các trò chơi trên chuỗi thực hiện các phép tính phức tạp hơn và giảm lượng gas cần thiết cho quản trị DAO. Chờ đợi.

  5. Mẫu của bộ đồng xử lý ZK vẫn chưa được quyết định, nhưng so với việc người dùng tự viết mạch, việc sử dụng dự án làm giao diện để gọi các tài nguyên ngoài chuỗi sẽ thân thiện hơn. v.v.) được kết nối đằng sau dự án "giao diện"? Chia sẻ tài nguyên phi tập trung) là một vấn đề khác đáng thảo luận.

1. Ý nghĩa và ứng dụng của bộ đồng xử lý ZK

Nguồn hình ảnh: Kernel Ventures

Cốt lõi của bộ đồng xử lý ZK là di chuyển các phép tính trên chuỗi ra khỏi chuỗi và sử dụng ZK để chứng minh độ tin cậy của quy trình tính toán ngoài chuỗi, cho phép các hợp đồng thông minh dễ dàng xử lý số lượng lớn các phép tính, đồng thời cho phép các hợp đồng để kiểm tra độ tin cậy của tính toán. Điều này tương tự như ý tưởng của zkRollup, nhưng Rollup là lớp giao thức chuỗi sử dụng tài nguyên điện toán ngoài chuỗi, trong khi bộ đồng xử lý ZK là một dApp sử dụng tài nguyên ngoài chuỗi.

RISC Zero được sử dụng ở đây để giải thích cách triển khai bộ đồng xử lý ZK, nhưng có nhiều cách triển khai bộ đồng xử lý ZK, sẽ được giới thiệu sau. RISC Zero đã phát triển kiến ​​trúc bộ đồng xử lý Bonsai ZK, cốt lõi của nó là zkVM của RISC Zero. Các nhà phát triển có thể tạo zkp trên zkVM cho trường hợp "một đoạn mã Rust nhất định được thực thi chính xác". Với zkVM, quy trình cụ thể để triển khai bộ đồng xử lý ZK là:

  1. Nhà phát triển bắt đầu yêu cầu hợp đồng chuyển tiếp của Bonsai, nghĩa là chương trình mà nhà phát triển yêu cầu được chạy trong zkVM.

  2. Hợp đồng chuyển tiếp gửi yêu cầu đến nhóm yêu cầu ngoài chuỗi

  3. Bonsai thực hiện yêu cầu trong zkVM ngoài chuỗi, thực hiện các hoạt động quy mô lớn ngoài chuỗi và sau đó tạo biên nhận cho yêu cầu đó.

  4. Những bằng chứng này, còn được gọi là "biên lai", được Bonsai gửi lại cho chuỗi thông qua một hợp đồng chuyển tiếp.

Nguồn ảnh: RISC Zero

Chương trình được chứng nhận về Bonsai được gọi là Chương trình khách mời và biên nhận được sử dụng để chứng minh rằng chương trình khách mời đã được thực hiện chính xác. Thông tin xác thực bao gồm một tạp chí và một con dấu. Cụ thể, Tạp chí mang đầu ra công khai của ứng dụng zkVM và con dấu được sử dụng để chứng minh tính hợp lệ của chứng chỉ, tức là để chứng minh rằng chương trình khách được thực thi chính xác. Bản thân con dấu cũng là zkSTARK do người chứng nhận tạo ra. . Việc xác minh thông tin xác thực đảm bảo rằng tạp chí được xây dựng với mạch điện chính xác, v.v.

Bonsai đơn giản hóa quy trình cho các nhà phát triển từ việc biên dịch mã Rust sang mã byte zkVM, tải chương trình lên, thực thi trong VM và phản hồi bằng chứng, cho phép các nhà phát triển tập trung hơn vào thiết kế logic của chương trình. Và không chỉ một phần logic hợp đồng, mà toàn bộ logic hợp đồng có thể được chạy ngoài chuỗi. RISC Zero cũng sử dụng các phần tiếp theo, chia một thế hệ chứng minh lớn thành nhiều phần và sau đó chứng minh từng phần một cách độc lập. Điều này cho phép tạo bằng chứng cho các chương trình lớn mà không chiếm quá nhiều bộ nhớ. Ngoài RISC Zero, một số dự án như IronMill, =nil; Foundation và Marlin cũng cung cấp các giải pháp chung tương tự.

2. Ứng dụng bộ đồng xử lý ZK trong DeFi

2.1 AMM - Cây cảnh là bộ đồng xử lý

zkUniswap là một AMM sử dụng tài nguyên điện toán ngoài chuỗi. Cốt lõi của nó là đưa một phần tính toán hoán đổi ra ngoài chuỗi và nó sử dụng Bonsai. Người dùng bắt đầu một yêu cầu trao đổi trên chuỗi. Hợp đồng chuyển tiếp của Bonsai nhận được yêu cầu và bắt đầu tính toán ngoài chuỗi. Sau khi Bonsai hoàn thành việc tính toán, nó sẽ trả về kết quả tính toán và bằng chứng cho chức năng gọi lại trong EVM. Nếu bằng chứng được xác minh thành công, việc hoán đổi sẽ được thực hiện.

Tuy nhiên, quá trình hoán đổi không được hoàn thành cùng một lúc. Các quy trình yêu cầu và thực hiện nằm trong các giao dịch khác nhau. Điều này mang lại một số rủi ro nhất định, đó là trạng thái của nhóm có thể thay đổi sau khi yêu cầu được gửi và trước khi quá trình hoán đổi hoàn tất. Bởi vì việc xác thực dựa trên trạng thái của nhóm khi yêu cầu được gửi. Nếu trạng thái nhóm thay đổi trong khi yêu cầu vẫn đang chờ thì quá trình xác minh sẽ thất bại.

Để giải quyết vấn đề này, các nhà phát triển đã thiết kế khóa hồ bơi. Khi người dùng bắt đầu một yêu cầu, tất cả các hoạt động ngoại trừ hoán đổi thanh toán sẽ bị khóa cho đến khi chuỗi ngoại tuyến kích hoạt thành công hoán đổi trên chuỗi hoặc hết thời gian hoán đổi (thời gian này sẽ được đặt trước). Nếu có giới hạn thời gian, kể cả khi rơle hoặc zkp có vấn đề thì hồ bơi sẽ không bị khóa vĩnh viễn. Giới hạn thời gian cụ thể có thể là vài phút.

zkUniswap có thiết kế đặc biệt dành cho MEV, nghĩa là các nhà phát triển muốn giao thức nắm bắt giá trị MEV. Về lý thuyết, zkAMM cũng có MEV, vì người đầu tiên gửi giao dịch có thể khóa giao dịch đó, vì vậy mọi người vẫn sẽ tranh giành gas và người xây dựng cũng có thể sắp xếp các giao dịch được yêu cầu. Nhưng zkUniswap sẽ tự tiêu hết thu nhập MEV bằng cách sử dụng đấu giá Hà Lan có độ dốc lãi suất thay đổi (VRGDA).

zkUniswap lấy khóa ra và bán đấu giá với giá giảm. Nếu khóa được bán nhanh, giao thức sẽ biết rằng nhu cầu hiện tại đang cao và sau đó sẽ tự động tăng giá nếu tốc độ bán khóa chậm lại. giao thức sẽ giảm giá. Đây sẽ trở thành một nguồn thu nhập mới. Tương tự, thỏa thuận cung cấp một điều mới để xác định thứ tự giao dịch và số tiền từ giá cạnh tranh sẽ được trao trực tiếp cho bên dự án thông qua điều mới này.

2.2 AMM - zkOracle làm bộ đồng xử lý

Ngoài việc sử dụng zkVM, một số người đã đề xuất sử dụng zkOracle để hiện thực hóa việc sử dụng tài nguyên điện toán ngoài chuỗi và zkOracle là một oracle tính đến cả đầu vào và đầu ra. Nhìn chung có hai loại oracle, một loại là oracle đầu vào, và loại còn lại là oracle đầu ra. Oracle đầu vào sắp xếp (tính toán) dữ liệu ngoài chuỗi và đưa nó vào chuỗi, còn oracle đầu ra sắp xếp (tính toán) dữ liệu đó. dữ liệu trên chuỗi. ) và sau đó được cung cấp cho chuỗi ngoài. Oracle I/O (đầu vào và đầu ra) (zkOracle) thực hiện đầu ra trước rồi đến đầu vào, cho phép chuỗi sử dụng các tài nguyên điện toán ngoài chuỗi.

Một mặt, zkOracle sử dụng dữ liệu trên chuỗi làm nguồn dữ liệu. Mặt khác, nó sử dụng ZK để đảm bảo rằng các tính toán của nút oracle không gian lận và có thể nhận ra chức năng của bộ đồng xử lý. Do đó, các tính toán cốt lõi của AMM có thể được đặt trong zkOracle Trong khi hiện thực hóa các chức năng AMM truyền thống, zkOracle cũng có thể được sử dụng để triển khai các hoạt động tiêu tốn tài nguyên tính toán và phức tạp hơn.

Nguồn hình ảnh: github fewwwww/zkAMM

2.3 Tính lãi vay, tính ký quỹ và các ứng dụng khác

Bất kể việc triển khai như thế nào, nhiều chức năng đều có thể đạt được với bộ đồng xử lý ZK. Ví dụ: thỏa thuận cho vay không còn có thể đặt trước các thông số mà điều chỉnh lãi suất dựa trên các điều kiện cho vay theo thời gian thực. Ví dụ, tăng lãi suất để thu hút nguồn cung khi nhu cầu vay tiền cao và sau đó giảm lãi suất khi nhu cầu vay thấp. Điều này yêu cầu giao thức cho vay phải lấy dữ liệu trên chuỗi theo thời gian thực và thực hiện một số lượng lớn phép tính để có được các thông số phù hợp, điều này đòi hỏi phải tính toán ngoài chuỗi (trừ khi chi phí trên chuỗi cực kỳ thấp).

Các hoạt động phức tạp như tính toán số dư ký quỹ, lãi lỗ chưa thực hiện, số tiền thanh lý, v.v. cũng có thể được chuyển sang bộ đồng xử lý để thực hiện. Ưu điểm của việc sử dụng bộ đồng xử lý là nó làm cho các ứng dụng này trở nên minh bạch và có thể kiểm chứng hơn, đồng thời logic của công cụ ký quỹ không còn là hộp đen bí mật nữa. Mặc dù việc tính toán được thực hiện ngoài chuỗi nhưng người dùng có thể hoàn toàn tin tưởng vào tính chính xác của việc thực hiện. Ngoài ra, cách tiếp cận này cũng áp dụng cho các tính toán tùy chọn.

3. Các ứng dụng khác của bộ đồng xử lý ZK

3.1 Ví sử dụng Bonsai làm bộ đồng xử lý

Ví Bonfire sử dụng zkVM để chuyển các tính toán xác minh danh tính ra khỏi chuỗi. Mục tiêu của ví này là cho phép người dùng tạo ví ghi bằng thông tin sinh trắc học (dấu vân tay) hoặc ybikey phần cứng mật mã.

Cụ thể, Bonfire Wallet sử dụng WebAuthn, một tiêu chuẩn xác thực trang web phổ biến, cho phép người dùng sử dụng trực tiếp thiết bị của mình để hoàn tất xác thực trên các trang web mà không cần mật khẩu. Vì vậy, trong ví Bonfire, người dùng tạo khóa chung thông qua WebAuthn (không phải trên chuỗi, đối với WebAuthn), sau đó sử dụng khóa đó để tạo ví.

Mỗi ví Burner có một hợp đồng trên chuỗi chứa khóa công khai WebAuthn. Hợp đồng này cần xác minh chữ ký WebAuthn của người dùng. Nhưng số lượng tính toán rất lớn, vì vậy Bonsai được sử dụng để thực hiện phép tính ngoài chuỗi, xác minh chữ ký ngoài chuỗi thông qua chương trình khách zkVM và tạo zkp để xác minh trên chuỗi.

Nguồn hình ảnh: Ví Bonfire

3.2 Truy xuất dữ liệu trên chuỗi - người dùng tự viết mạch ZK

Axiom là một ứng dụng không sử dụng zkVM mà sử dụng giải pháp bộ đồng xử lý khác. Trước tiên hãy giới thiệu những gì Axiom muốn làm. Nó hy vọng sẽ sử dụng bộ đồng xử lý ZK để cho phép các hợp đồng truy cập thông tin lịch sử của chuỗi. Trên thực tế, rất khó để các hợp đồng đọc dữ liệu lịch sử vì hợp đồng thông minh thường thu được dữ liệu trên chuỗi theo thời gian thực và rất tốn kém để các hợp đồng có được dữ liệu trên chuỗi có giá trị như số dư tài khoản trong quá khứ hoặc. hồ sơ giao dịch.

Nguồn hình ảnh: Axiom demo

Các nút tiên đề truy cập dữ liệu cần thiết trên chuỗi và thực hiện các phép tính được chỉ định ngoài chuỗi, sau đó tạo bằng chứng không có kiến ​​thức cho phép tính chứng minh rằng kết quả được tính toán chính xác dựa trên dữ liệu hợp lệ trên chuỗi. Bằng chứng này được xác minh trên chuỗi, đảm bảo rằng hợp đồng có thể tin tưởng vào kết quả.

Để tạo zkp cho các phép tính ngoài chuỗi, bạn cần biên dịch chương trình thành mạch ZK. Chúng tôi cũng đã đề cập đến việc sử dụng zkVM để thực hiện việc này và Axiom đã chính thức chỉ ra rằng có nhiều giải pháp cho vấn đề này, cần cân nhắc hiệu suất, tính linh hoạt. và kinh nghiệm phát triển:

  1. Mạch tùy chỉnh: Nhà phát triển tùy chỉnh mạch cho chương trình, chắc chắn sẽ có hiệu suất tốt nhất nhưng sẽ mất thời gian để phát triển;

  2. eDSL/DSL: Các nhà phát triển vẫn viết mạch riêng của họ, nhưng có một số khung tùy chọn giúp nhà phát triển giải quyết các vấn đề liên quan đến ZK, có thể cân bằng giữa hiệu suất và trải nghiệm phát triển.

  3. zkVM: Các nhà phát triển trực tiếp sử dụng máy ảo làm sẵn để chạy ZK, điều này rất tiện lợi nhưng Axiom chính thức cho rằng hiệu quả rất thấp.

Do đó, Axiom đã chọn phương án thứ hai và nhóm dự án cũng cung cấp cho người dùng một bộ mô-đun ZK được tối ưu hóa để họ có thể thiết kế các mạch của riêng mình.

Một dự án tương tự như Axiom là Herodotus, nhưng điều nó muốn làm là một phần mềm trung gian để truyền thông tin xuyên chuỗi. Vì việc xử lý thông tin diễn ra ngoài chuỗi nên việc để các chuỗi khác nhau thu thập dữ liệu đã xử lý là một ý tưởng hợp lý. Một dự án khác, Không gian và Thời gian, sử dụng kiến ​​trúc tương tự để triển khai lập chỉ mục dữ liệu.

3.3 Trò chơi trên chuỗi, quản trị DAO và các ứng dụng khác

Ngoài ra, bộ đồng xử lý ZK có thể được sử dụng cho các trò chơi trên chuỗi và quản trị DAO. RISC Zero tin rằng mọi phép tính cần nhiều hơn 250k gas sẽ rẻ hơn khi sử dụng bộ đồng xử lý ZK, nhưng cách xác định điều này vẫn còn phải xem. Quản trị DAO cũng có thể sử dụng bộ đồng xử lý ZK vì nó liên quan đến nhiều người và nhiều hợp đồng, điều này tiêu tốn tài nguyên máy tính. RISC Zero tuyên bố rằng phí gas có thể giảm 50% sau khi sử dụng Bonsai. ZKML về cơ bản là ý tưởng về bộ đồng xử lý ZK nên Modulus Labs và Giza cũng là những dự án trong lĩnh vực này, nhưng khái niệm về bộ đồng xử lý ZK thì lớn hơn.

Ngoài ra, còn có một số dự án phụ trợ trong lĩnh vực bộ đồng xử lý ZK, chẳng hạn như ezkl, cung cấp trình biên dịch để tạo mạch ZK, bộ công cụ để triển khai ZK, công cụ để di chuyển tính toán trên chuỗi ra khỏi chuỗi, v.v.

4. Triển vọng tương lai

Bộ đồng xử lý cho phép các ứng dụng trên chuỗi có tài nguyên điện toán bên ngoài như "đám mây", cung cấp số lượng tính toán lớn tương đối rẻ, trong khi chỉ những phép tính cần thiết mới được xử lý trên chuỗi. Trong các tình huống thực tế, zkVM cũng có thể chạy trên đám mây. Bộ đồng xử lý ZK về cơ bản là một kiến ​​trúc, một cách đưa điện toán trên chuỗi ra khỏi chuỗi và không có giới hạn về người cung cấp tài nguyên điện toán ngoài chuỗi.

Về cơ bản, tài nguyên điện toán ngoài chuỗi được chia sẻ bởi các nhà sản xuất lớn truyền thống, thậm chí cả tài nguyên máy tính phi tập trung và các thiết bị cục bộ. Mỗi hướng trong số ba hướng này đều khác nhau. Các nhà sản xuất lớn truyền thống có thể cung cấp các giải pháp điện toán ngoài chuỗi tương đối hoàn thiện. Trong tương lai, “độ mạnh” của tài nguyên máy tính phi tập trung có thể mạnh hơn và máy tính cục bộ của người dùng cũng có trí tưởng tượng tuyệt vời. Tuy nhiên, nhiều dự án bộ đồng xử lý ZK hiện chọn cung cấp dịch vụ ở giai đoạn nguồn đóng, vì thượng nguồn và hạ nguồn của tuyến đường này vẫn chưa được hình thành và các dịch vụ không thể được tinh chỉnh và bàn giao cho các dự án khác nhau. tương lai:

  1. Có một số lượng lớn các dự án cạnh tranh cho từng khía cạnh của bộ đồng xử lý ZK

  2. Dự án có kinh nghiệm dịch vụ tốt chiếm phần lớn thị trường

Từ góc độ của nhà phát triển, họ chỉ có thể sử dụng một dự án "giao diện" khi sử dụng bộ đồng xử lý ZK. Đây là lý do tại sao Amazon Cloud chiếm một lượng lớn thị trường và các nhà phát triển sẽ quen với một phương pháp triển khai. Nhưng với tư cách là một dự án "giao diện" cho các tài nguyên điện toán ngoài chuỗi, những nhà cung cấp dịch vụ điện toán nào (nhà cung cấp đám mây truyền thống, chia sẻ tài nguyên phi tập trung) được kết nối đằng sau nó lại là một vấn đề khác đáng được thảo luận.

Kernel Ventures là quỹ đầu tư mạo hiểm tiền điện tử được thúc đẩy bởi cộng đồng nghiên cứu và phát triển với hơn 70 khoản đầu tư giai đoạn đầu tập trung vào cơ sở hạ tầng, phần mềm trung gian, dApps, đặc biệt là ZK, Rollup, DEX, chuỗi khối mô-đun và giới thiệu các khu vực dọc cho hàng tỷ người dùng tiền điện tử ở tương lai, chẳng hạn như trừu tượng hóa tài khoản, tính sẵn có của dữ liệu, khả năng mở rộng, v.v. Trong bảy năm qua, chúng tôi đã cam kết hỗ trợ sự phát triển của các cộng đồng phát triển cốt lõi và các hiệp hội blockchain đại học trên toàn thế giới.

Người giới thiệu:

  1. Hướng dẫn về Bộ đồng xử lý ZK để có khả năng mở rộng:https://www.risczero.com/news/a-guide-to-zk-coprocessors-for-scalability

  2. Xác định zkOracle cho Ethereum:https://ethresear.ch/t/defining-zkoracle-for-ethereum/15131

  3. zkUniswap: zkAMM đầu tiên:https://ethresear.ch/t/zkuniswap-a-first-of-its-kind-zkamm/16839

  4. Bộ đồng xử lý ZK là gì?:https://blog.axiom.xyz/what-is-a-zk-coprocessor/

  5. Giới thiệu ngắn gọn về Bộ đồng xử lý:https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

  6. Các ứng dụng mới nhất được xây dựng trên Hyper Oracle (Phần thưởng: Những thứ bạn có thể xây dựng ngay bây giờ):https://mirror.xyz/hyperoracleblog.eth/Tik3nBI9mw05Ql_aHKZqm4hNxfxaEQdDAKn7JKcx0xQ

  7. Ví Bonfire: https://ethglobal.com/showcase/bonfire-wallet-n1dzp