zkOracle và zkCoprocessor

Trung cấp1/7/2024, 1:23:40 PM
Bài viết giải thích các khái niệm về zkCorprocessor và zkOracle, nhấn mạnh sự khác biệt giữa hai loại và mô tả chi tiết về các tình huống mà mỗi loại zk phù hợp cho các trường hợp sử dụng khác nhau.

0. Giới thiệu

Trong bài viết này, chúng tôi sẽ xem xét hai khái niệm phổ biến gần đây là zkCoprocessor và zkOracle và so sánh sự khác biệt của họ.

1. Định nghĩa của zkCoprocessor

Khi một thuật ngữ được đưa ra, ý nghĩa thực sự của nó không được xác định bởi chính nó. Chúng ta đã thấy điều này rất nhiều trong trường hợp của blockchain.

  1. ZK: Trong khi các nhà học thường nhắc đến tính năng bảo mật của Zero Knowledge, trong ngữ cảnh blockchain, ZK thường chỉ đơn giản là sự ngắn gọn và tính hợp lệ của công nghệ. Thậm chí các dự án được xây dựng trên ZK Rollup cũng tự gọi mình là zkSomething.
  2. DA: Cho đến nay, nhiều người thực sự chưa nhận ra rằng Sẵn có Dữ liệu không phải là Lưu trữ Dữ liệu, vì vậy để giải quyết vấn đề thuật ngữ này, một số người đãđề xuất thay thế DA bằng DP(Xuất bản dữ liệu), hoặc biến toàn bộ ý nghĩa của DA thành Xuất bản dữ liệu + Lưu trữ dữ liệu ( 1, 2).

Chúng tôi thấy một hiện tượng tương tự trong thuật ngữ zkCoprocessor. Mọi người đều sử dụng thuật ngữ này, nhưng họ không nhất thiết phải đề cập đến cùng một điều.

Vì vậy, chúng tôi muốn diễn đạt những gì dự án nghĩ về zkCoprocessor, những gì cộng đồng hiểu về zkCoprocessor, và ý nghĩa và vai trò thực sự của zkCoprocessor từ quan điểm của chúng tôi.

a) Từ Chính Dự Án

Định nghĩa 1 từ Axiom: zkCoprocessor chứng minh dữ liệu lịch sử trên chuỗi.

Khái niệm về zkCoprocessor đã được phổ biến bởi Axiom, người ban đầu đã nghĩ ra nó như một zkAttestor. Từ ý tưởng của Axiom, zkCoprocessor đại diện cho thành phần mà "chứng minh dữ liệu lịch sử trên chuỗi và sử dụng dữ liệu đó trong một hợp đồng thông minh một cách đáng tin cậy".

Lưu ý rằng nhóm Brevis đã nói rằng loại zkCoprocessors này về cơ bản là một lớp API/DSL trên cùng của mạch zk cơ bản. Vì vậy, điều này không thể lập trình được.

Định nghĩa 2 từ RISC Zero: zkCoprocessor giảm tải tính toán từ onchain sang offchain.

RISC Zero cũng thường tự gọi là một zkCoprocessor. Từ quan điểm của họ, họ coi zkCoprocessor như một khái niệm rộng hơn, "một công cụ để sử dụng ZKPs để giảm bớt tính toán từ on-chain sang off-chain".

b) Từ Cộng đồng

Định nghĩa từ Peteris (giống như 1): zkCoprocessor có thể truy cập vào trạng thái lịch sử trên chuỗi.

Peteris từ Aera Finance tin rằngzkCoprocessor hoạt động rất giống như một trình báo cáo trạng thái, với chức năng chính là truy cập vào dữ liệu lịch sử. Đồng thời, anh ta và Rishabh từ BananaHQtin rằng mô tả của định nghĩa 2 giống hơn là một zkVM hơn là một lớp con của zkCoprocessor.

Định nghĩa từ Messari, Modular Media và Kobi (giống như 2): zkCoprocessor giảm tải tính toán từ onchain sang offchain.

Messari cũng đã đưa ra định nghĩa riêng về zkCoprocessor. Sami, một nhà nghiên cứu tại Messari, tin rằngRằng zkCoprocessor cho phép các nhà phát triển hợp đồng thông minh dễ dàng giảm tải logic phức tạp ra khỏi chuỗi mà không cần giả định tin mới. Modular Media cũng đưa ra cùng một khái niệm. Kobi từ Hình họcso sánh rollup với một bộ xử lý phụ trợ, Brevis nói thêm rằng zkCoprocessor giao dịch chi phí duy trì lưu trữ trạng thái cố định chống lại hiệu suất tăng cường cực kỳ, Taiko đã đưa ra thiết kế của Booster Rollupđã tiếp tục khám phá ý tưởng về Bộ xử lý phụ trợ Rollup. Đây chính là định nghĩa giống như RISC Zero.

c) Từ chúng tôi

Tóm lại, chúng tôi kết luận rằng có hai loại zkCoprocessor trong thực tế, và chúng là như sau:

  1. Truy cập dữ liệu zkCoprocessor: chủ yếu cung cấp một số dữ liệu nhất định (khối lịch sử, trạng thái lịch sử) đến một nơi nhất định (hợp đồng thông minh).
  2. Bộ xử lý zkCoprocessor zkVM: tính toán bằng zkVM ngoại chuỗi, sau đó trả kết quả lại cho chuỗi trên.Nén O(n) tính toán thành chỉ còn O(1) xác minh.

2. Định nghĩa của zkOracle

a) Oracle

Hyper Oracle cung cấp cho chúng tôi một giải thích về Oracle trong Xác định zkOracle cho Ethereum.

Oracle thực tế tổng hợp "infra" trong bất kỳ không gian blockchain nào, như một định nghĩa tốt hơn so với bộ xử lý phụ trợ.

Nếu đầu vào cho infra/oracle là dữ liệu off-chain và đầu ra là on-chain, thì đó là một oracle đầu vào (ví dụ: Chainlink Price Feed). Ngược lại, đó là một oracle đầu ra (ví dụ: The Graph). Nếu oracle đầu ra đứng trước, sau đó đến oracle đầu vào, thì đó là một oracle I/O (ví dụ: Mạng Gelato).

Nói ngắn gọn, oracle rất giống với khái niệm của bộ xử lý phụ, nhưng đồng thời có các đặc điểm của việc truy cập dữ liệu và tính toán.

b) zkOracle

Ví dụ, lấy Hyper Oracle làm ví dụ, mối quan hệ giữa mộtzkOraclevà một zkCoprocessor?

ZkOracle được thảo luận trong Xác định zkOracle cho Ethereum thực sự có khả năng của cả hai zkCoprocessors.

Ví dụ, một zkOracle như Hyper Oracle:

  1. Truy cập vào dữ liệu lịch sử một cách không cần tin cậy.
  2. Có thể thực hiện các phép tính có thể lập trình.

3. zkCoprocessor và zkOracle

Khi chúng ta so sánh trực tiếp hai loại zkCoprocessor với zkOracle, chúng ta có thể thấy rằng zkOracle có tất cả các tính năng của zkCoprocessor cùng một lúc:

  1. xử lý không đồng bộ cho hợp đồng thông minh
  2. tương thích và cải thiện khả năng của các ứng dụng hiện có trên L1 hoặc L2
  3. tải phần tính toán trong một hệ thống có tài nguyên hạn chế

So sánh trực tiếp, zkOracle là một giải pháp chuyên nghiệp hơn có thể cung cấp cho các nhà phát triển một bộ công nghệ hoàn chỉnh hơn.

Hai zkCoprocessors mở rộng trên các phân ngành tương ứng của họ, ví dụ, zkCoprocessor Truy cập Dữ liệu mở khóa các kịch bản chéo chuỗi, và zkCoprocessor Tính toán zkVM đại diện cho zk rollup dựa trên zkVM.

4. Xây dựng với zkCoprocessor hoặc zkOracle

Chọn cái nào khi xây dựng?

Theo thứ tự từng bước, chúng ta có thể đưa ra một số quyết định về việc xây dựng một ứng dụng.

a) DApp với Hợp Đồng Thông Minh Tinh Khiết

Đầu tiên, một triển khai Solidity thuần túy của các hợp đồng thông minh vẫn là một lựa chọn rất tốt. Mặc dù các hợp đồng thông minh thuần túy không cung cấp một số tính năng mới tốt nhất, chúng vẫn đủtrong một số tình huống. Ngoài ra, sự có sẵn hiện tại của Arbitrum Stylus đã mở khóa rất nhiều ứng dụng mới với hợp đồng thông minh thuần túy.

b) Ứng dụng DApp cần truy cập dữ liệu phong phú

Trong nhiều trường hợp, các nhà phát triển có thể muốn sử dụng zkCoprocessor Truy cập Dữ liệu hoặc zkOracle cho hợp đồng thông minh để truy cập các nguồn dữ liệu phong phú hơn.

Trong tình huống này, nếu Data Access zkCoprocessor được sử dụng một mình, việc tính toán vẫn được xử lý trong hợp đồng thông minh. Vai trò của zkCoprocessor là giảm độ phức tạp khi lấy dữ liệu theo cách truyền thống, nhưng không làm cho hợp đồng thông minh mạnh mẽ về mặt tính toán hơn.

Trong tình huống này, chúng ta thấy rất nhiều dự án liên quan đến dữ liệu nhỏ, thay vì các ứng dụng phi tập trung hoàn chỉnh theo nghĩa truyền thống:

  1. Sử dụng zkCoprocessor Axiom: Quản lý LP tốt hơn, Hoàn tiền MEVictim
  2. Sử dụng zkOracle Hyper Oracle: Uniswap v2 Price, Hoạt động Giao dịch OpenSea, Màn hình Theo dõi Khối lượng USDT

c) Ứng dụng DApp cần tính toán nặng

Thường xuyên, một số thuật toán phức tạp không thể được tính toán trực tiếp trên chuỗi, đối với trò chơi, logic tính toán rất phức tạp, chẳng hạn như etherquake và GameOfLife tốn $2k để chạy một bước. Hoặc các thuật toán phức tạp liên quan đến ML. Hoặc các thuật toán phức tạp liên quan đến ML mà không thể chạy trên chuỗi. Do đó, chúng ta cần zkVM zkCoprocessor hoặc zkOracle để chạy tính toán ngoại chuỗi, sau đó gửi nó đến chuỗi dưới dạng ZKP.

Trong ví dụ này, chúng ta có thể thấy một số tiềm năng tính toán không giới hạn của họ:

  1. Sử dụng zkCoprocessor Bonsai: Zeth (Chứng minh Reth trong zkVM), zk-sentiment
  2. Sử dụng zkOracle Hyper Oracle hoặc zkWASM: zkGo (Chứng minh L2-Geth trong zkVM, zkEVM loại 0),zkAMM

d) Ứng dụng phiên bản tiếp theo với đầy đủ tính năng (DeFi 3.0)

Cuối cùng, chúng tôi đã nói về các ứng dụng chỉ có thể xây dựng được với zkOracle. Lấy ứng dụng DeFi làm ví dụ, một DeFi hoàn chỉnh rất phức tạp. Thế hệ tiếp theo của các ứng dụng DeFi, hoặc DeFi 3.0 DApps, sẽ yêu cầu:

  1. Truy cập Dữ liệu phong phú hơn
  2. Tính toán không giới hạn
  3. Tự trị (đối với thanh lý, cập nhật tham số, quản trị giao thức)

Chúng tôi đã thảo luận về cách zkOracle chia sẻ các khả năng của cả hai zkCoprocessors, đồng thời thực hiện hai yêu cầu chức năng đầu tiên. Làm thế nào zkOracle thực hiện tính năng tự động và zkCoprocessor không thực hiện?

  1. zkOracle: Không cần can thiệp của con người. Các nhiệm vụ truy cập dữ liệu và tính toán có thể được xác định và thực hiện một cách có thể lập trình và tự động hoá. Tất cả các cuộc gọi trên chuỗi luôn là đáng tin cậy và hợp lệ.
  2. zkCoprocessor: Yêu cầu giám sát onchain và lọc phản hồi tính toán bằng cách chuyển tiếp hoặc bổ sung các cơ chế phức tạp hơn.

Vì vậy, những gì không có tự trị trong zkCoprocessor đòi hỏi:

  1. Sự phân quyền không đủ
  2. Rủi ro của các cơ chế có thể phức tạp
  3. Gánh nặng tinh thần của nhà phát triển

Do đó, zkOracle là sự lựa chọn hoàn hảo và đầy đủ cho một ứng dụng hoàn chỉnh như DeFi.

Đáng chú ý rằng Hooks cũng có thể xử lý một số chức năng thiếu sót của zkCoprocessor, nhưng CHỈ trong các tình huống như DeFi, và không phổ biến.

Xin lưu ý:

  1. Bài viết này được tái bản từ [ gương]. Tất cả bản quyền thuộc về tác giả gốc [ Liên doanh SevenX]. Nếu có ý kiến phản đối về việc tái in này, vui lòng liên hệ Gate Họcđội ngũ, 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ỉ là của 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 sang các ngôn ngữ khác được thực hiện bởi nhóm Học viện Gate. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn bản dịch là không được phép.

zkOracle và zkCoprocessor

Trung cấp1/7/2024, 1:23:40 PM
Bài viết giải thích các khái niệm về zkCorprocessor và zkOracle, nhấn mạnh sự khác biệt giữa hai loại và mô tả chi tiết về các tình huống mà mỗi loại zk phù hợp cho các trường hợp sử dụng khác nhau.

0. Giới thiệu

Trong bài viết này, chúng tôi sẽ xem xét hai khái niệm phổ biến gần đây là zkCoprocessor và zkOracle và so sánh sự khác biệt của họ.

1. Định nghĩa của zkCoprocessor

Khi một thuật ngữ được đưa ra, ý nghĩa thực sự của nó không được xác định bởi chính nó. Chúng ta đã thấy điều này rất nhiều trong trường hợp của blockchain.

  1. ZK: Trong khi các nhà học thường nhắc đến tính năng bảo mật của Zero Knowledge, trong ngữ cảnh blockchain, ZK thường chỉ đơn giản là sự ngắn gọn và tính hợp lệ của công nghệ. Thậm chí các dự án được xây dựng trên ZK Rollup cũng tự gọi mình là zkSomething.
  2. DA: Cho đến nay, nhiều người thực sự chưa nhận ra rằng Sẵn có Dữ liệu không phải là Lưu trữ Dữ liệu, vì vậy để giải quyết vấn đề thuật ngữ này, một số người đãđề xuất thay thế DA bằng DP(Xuất bản dữ liệu), hoặc biến toàn bộ ý nghĩa của DA thành Xuất bản dữ liệu + Lưu trữ dữ liệu ( 1, 2).

Chúng tôi thấy một hiện tượng tương tự trong thuật ngữ zkCoprocessor. Mọi người đều sử dụng thuật ngữ này, nhưng họ không nhất thiết phải đề cập đến cùng một điều.

Vì vậy, chúng tôi muốn diễn đạt những gì dự án nghĩ về zkCoprocessor, những gì cộng đồng hiểu về zkCoprocessor, và ý nghĩa và vai trò thực sự của zkCoprocessor từ quan điểm của chúng tôi.

a) Từ Chính Dự Án

Định nghĩa 1 từ Axiom: zkCoprocessor chứng minh dữ liệu lịch sử trên chuỗi.

Khái niệm về zkCoprocessor đã được phổ biến bởi Axiom, người ban đầu đã nghĩ ra nó như một zkAttestor. Từ ý tưởng của Axiom, zkCoprocessor đại diện cho thành phần mà "chứng minh dữ liệu lịch sử trên chuỗi và sử dụng dữ liệu đó trong một hợp đồng thông minh một cách đáng tin cậy".

Lưu ý rằng nhóm Brevis đã nói rằng loại zkCoprocessors này về cơ bản là một lớp API/DSL trên cùng của mạch zk cơ bản. Vì vậy, điều này không thể lập trình được.

Định nghĩa 2 từ RISC Zero: zkCoprocessor giảm tải tính toán từ onchain sang offchain.

RISC Zero cũng thường tự gọi là một zkCoprocessor. Từ quan điểm của họ, họ coi zkCoprocessor như một khái niệm rộng hơn, "một công cụ để sử dụng ZKPs để giảm bớt tính toán từ on-chain sang off-chain".

b) Từ Cộng đồng

Định nghĩa từ Peteris (giống như 1): zkCoprocessor có thể truy cập vào trạng thái lịch sử trên chuỗi.

Peteris từ Aera Finance tin rằngzkCoprocessor hoạt động rất giống như một trình báo cáo trạng thái, với chức năng chính là truy cập vào dữ liệu lịch sử. Đồng thời, anh ta và Rishabh từ BananaHQtin rằng mô tả của định nghĩa 2 giống hơn là một zkVM hơn là một lớp con của zkCoprocessor.

Định nghĩa từ Messari, Modular Media và Kobi (giống như 2): zkCoprocessor giảm tải tính toán từ onchain sang offchain.

Messari cũng đã đưa ra định nghĩa riêng về zkCoprocessor. Sami, một nhà nghiên cứu tại Messari, tin rằngRằng zkCoprocessor cho phép các nhà phát triển hợp đồng thông minh dễ dàng giảm tải logic phức tạp ra khỏi chuỗi mà không cần giả định tin mới. Modular Media cũng đưa ra cùng một khái niệm. Kobi từ Hình họcso sánh rollup với một bộ xử lý phụ trợ, Brevis nói thêm rằng zkCoprocessor giao dịch chi phí duy trì lưu trữ trạng thái cố định chống lại hiệu suất tăng cường cực kỳ, Taiko đã đưa ra thiết kế của Booster Rollupđã tiếp tục khám phá ý tưởng về Bộ xử lý phụ trợ Rollup. Đây chính là định nghĩa giống như RISC Zero.

c) Từ chúng tôi

Tóm lại, chúng tôi kết luận rằng có hai loại zkCoprocessor trong thực tế, và chúng là như sau:

  1. Truy cập dữ liệu zkCoprocessor: chủ yếu cung cấp một số dữ liệu nhất định (khối lịch sử, trạng thái lịch sử) đến một nơi nhất định (hợp đồng thông minh).
  2. Bộ xử lý zkCoprocessor zkVM: tính toán bằng zkVM ngoại chuỗi, sau đó trả kết quả lại cho chuỗi trên.Nén O(n) tính toán thành chỉ còn O(1) xác minh.

2. Định nghĩa của zkOracle

a) Oracle

Hyper Oracle cung cấp cho chúng tôi một giải thích về Oracle trong Xác định zkOracle cho Ethereum.

Oracle thực tế tổng hợp "infra" trong bất kỳ không gian blockchain nào, như một định nghĩa tốt hơn so với bộ xử lý phụ trợ.

Nếu đầu vào cho infra/oracle là dữ liệu off-chain và đầu ra là on-chain, thì đó là một oracle đầu vào (ví dụ: Chainlink Price Feed). Ngược lại, đó là một oracle đầu ra (ví dụ: The Graph). Nếu oracle đầu ra đứng trước, sau đó đến oracle đầu vào, thì đó là một oracle I/O (ví dụ: Mạng Gelato).

Nói ngắn gọn, oracle rất giống với khái niệm của bộ xử lý phụ, nhưng đồng thời có các đặc điểm của việc truy cập dữ liệu và tính toán.

b) zkOracle

Ví dụ, lấy Hyper Oracle làm ví dụ, mối quan hệ giữa mộtzkOraclevà một zkCoprocessor?

ZkOracle được thảo luận trong Xác định zkOracle cho Ethereum thực sự có khả năng của cả hai zkCoprocessors.

Ví dụ, một zkOracle như Hyper Oracle:

  1. Truy cập vào dữ liệu lịch sử một cách không cần tin cậy.
  2. Có thể thực hiện các phép tính có thể lập trình.

3. zkCoprocessor và zkOracle

Khi chúng ta so sánh trực tiếp hai loại zkCoprocessor với zkOracle, chúng ta có thể thấy rằng zkOracle có tất cả các tính năng của zkCoprocessor cùng một lúc:

  1. xử lý không đồng bộ cho hợp đồng thông minh
  2. tương thích và cải thiện khả năng của các ứng dụng hiện có trên L1 hoặc L2
  3. tải phần tính toán trong một hệ thống có tài nguyên hạn chế

So sánh trực tiếp, zkOracle là một giải pháp chuyên nghiệp hơn có thể cung cấp cho các nhà phát triển một bộ công nghệ hoàn chỉnh hơn.

Hai zkCoprocessors mở rộng trên các phân ngành tương ứng của họ, ví dụ, zkCoprocessor Truy cập Dữ liệu mở khóa các kịch bản chéo chuỗi, và zkCoprocessor Tính toán zkVM đại diện cho zk rollup dựa trên zkVM.

4. Xây dựng với zkCoprocessor hoặc zkOracle

Chọn cái nào khi xây dựng?

Theo thứ tự từng bước, chúng ta có thể đưa ra một số quyết định về việc xây dựng một ứng dụng.

a) DApp với Hợp Đồng Thông Minh Tinh Khiết

Đầu tiên, một triển khai Solidity thuần túy của các hợp đồng thông minh vẫn là một lựa chọn rất tốt. Mặc dù các hợp đồng thông minh thuần túy không cung cấp một số tính năng mới tốt nhất, chúng vẫn đủtrong một số tình huống. Ngoài ra, sự có sẵn hiện tại của Arbitrum Stylus đã mở khóa rất nhiều ứng dụng mới với hợp đồng thông minh thuần túy.

b) Ứng dụng DApp cần truy cập dữ liệu phong phú

Trong nhiều trường hợp, các nhà phát triển có thể muốn sử dụng zkCoprocessor Truy cập Dữ liệu hoặc zkOracle cho hợp đồng thông minh để truy cập các nguồn dữ liệu phong phú hơn.

Trong tình huống này, nếu Data Access zkCoprocessor được sử dụng một mình, việc tính toán vẫn được xử lý trong hợp đồng thông minh. Vai trò của zkCoprocessor là giảm độ phức tạp khi lấy dữ liệu theo cách truyền thống, nhưng không làm cho hợp đồng thông minh mạnh mẽ về mặt tính toán hơn.

Trong tình huống này, chúng ta thấy rất nhiều dự án liên quan đến dữ liệu nhỏ, thay vì các ứng dụng phi tập trung hoàn chỉnh theo nghĩa truyền thống:

  1. Sử dụng zkCoprocessor Axiom: Quản lý LP tốt hơn, Hoàn tiền MEVictim
  2. Sử dụng zkOracle Hyper Oracle: Uniswap v2 Price, Hoạt động Giao dịch OpenSea, Màn hình Theo dõi Khối lượng USDT

c) Ứng dụng DApp cần tính toán nặng

Thường xuyên, một số thuật toán phức tạp không thể được tính toán trực tiếp trên chuỗi, đối với trò chơi, logic tính toán rất phức tạp, chẳng hạn như etherquake và GameOfLife tốn $2k để chạy một bước. Hoặc các thuật toán phức tạp liên quan đến ML. Hoặc các thuật toán phức tạp liên quan đến ML mà không thể chạy trên chuỗi. Do đó, chúng ta cần zkVM zkCoprocessor hoặc zkOracle để chạy tính toán ngoại chuỗi, sau đó gửi nó đến chuỗi dưới dạng ZKP.

Trong ví dụ này, chúng ta có thể thấy một số tiềm năng tính toán không giới hạn của họ:

  1. Sử dụng zkCoprocessor Bonsai: Zeth (Chứng minh Reth trong zkVM), zk-sentiment
  2. Sử dụng zkOracle Hyper Oracle hoặc zkWASM: zkGo (Chứng minh L2-Geth trong zkVM, zkEVM loại 0),zkAMM

d) Ứng dụng phiên bản tiếp theo với đầy đủ tính năng (DeFi 3.0)

Cuối cùng, chúng tôi đã nói về các ứng dụng chỉ có thể xây dựng được với zkOracle. Lấy ứng dụng DeFi làm ví dụ, một DeFi hoàn chỉnh rất phức tạp. Thế hệ tiếp theo của các ứng dụng DeFi, hoặc DeFi 3.0 DApps, sẽ yêu cầu:

  1. Truy cập Dữ liệu phong phú hơn
  2. Tính toán không giới hạn
  3. Tự trị (đối với thanh lý, cập nhật tham số, quản trị giao thức)

Chúng tôi đã thảo luận về cách zkOracle chia sẻ các khả năng của cả hai zkCoprocessors, đồng thời thực hiện hai yêu cầu chức năng đầu tiên. Làm thế nào zkOracle thực hiện tính năng tự động và zkCoprocessor không thực hiện?

  1. zkOracle: Không cần can thiệp của con người. Các nhiệm vụ truy cập dữ liệu và tính toán có thể được xác định và thực hiện một cách có thể lập trình và tự động hoá. Tất cả các cuộc gọi trên chuỗi luôn là đáng tin cậy và hợp lệ.
  2. zkCoprocessor: Yêu cầu giám sát onchain và lọc phản hồi tính toán bằng cách chuyển tiếp hoặc bổ sung các cơ chế phức tạp hơn.

Vì vậy, những gì không có tự trị trong zkCoprocessor đòi hỏi:

  1. Sự phân quyền không đủ
  2. Rủi ro của các cơ chế có thể phức tạp
  3. Gánh nặng tinh thần của nhà phát triển

Do đó, zkOracle là sự lựa chọn hoàn hảo và đầy đủ cho một ứng dụng hoàn chỉnh như DeFi.

Đáng chú ý rằng Hooks cũng có thể xử lý một số chức năng thiếu sót của zkCoprocessor, nhưng CHỈ trong các tình huống như DeFi, và không phổ biến.

Xin lưu ý:

  1. Bài viết này được tái bản từ [ gương]. Tất cả bản quyền thuộc về tác giả gốc [ Liên doanh SevenX]. Nếu có ý kiến phản đối về việc tái in này, vui lòng liên hệ Gate Họcđội ngũ, 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ỉ là của 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 sang các ngôn ngữ khác được thực hiện bởi nhóm Học viện Gate. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn bản dịch là không được phép.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!