什麼是 Marlin (POND)?
首頁
文章
什麼是 Marlin (POND)?

什麼是 Marlin (POND)?

中等
發佈時間 Dec 21, 2023更新時間 Jan 22, 2024
7m

摘要

  • Marlin 使用易於驗證的鏈下計算資源,強化智能合約的處理能力和表現性。 

  • 其提供 Oyster 和 Kalypso 兩種產品,分別使用 TEE 和零知識證明以確保計算的正確性。

  • 無伺服器功能可讓開發人員「啟動後不理」程式碼,從而使他們擺脫繁瑣的 DevOps。Marlin 協定包含自動縮放和容錯能力。

  • GPU 驅動的網路可讓開發人員使用智能合約呼叫調用程式、發送輸入內容和接收結果,從而使 AI 驅動的 DeFi App 和遊戲變得實用。

  • 部署在 Oyster 上的後端可以公開 HTTPS 端點,允許在其上部署低延遲訂單簿交換、RPC 閘道或去中心化前端。

前言

區塊鏈由大量以冗餘方式處理交易的節點組成,可防止惡意用戶雙重支付他們的代幣或執行無效交易。這樣往往會使區塊鏈變慢且昂貴。即使是匯總等第 2 層擴展解決方案也有其能力限制,因為它們無法存取區塊鏈歷史記錄來計算信用評分,運行大型機器學習模型來開發動態遊戲,或實現足夠低的延遲以部署相應訂單簿交換。

像 Marlin 這樣的輔助處理器可透過鏈下節點計算大型且複雜的演算法,並增加對 Web 2 API 和區塊鏈歷史記錄的存取。每個程式都會在單一節點上執行,而不是在多台機器上評估相同的程式,這樣可以加快執行速度、降低成本並提高平行性。在沒有冗餘計算情況下,使用稱為零知識 (ZK) 證明和可信執行環境 (TEE) 的軟體結構來確保原始程式的結果正確性,在鏈上更快速、廉價地驗證緊湊的證明和計算證明。

什麼是 Marlin?

Marlin 是一個可驗證的計算協定。它由去中心化節點網路組成,可在其中執行任意程式。這些程式可以用 Solidity、C ++、Rust 和 Go 編寫,也可以定位任何其他 WASM 環境。它們可以部署在個別 Marlin 節點上,例如 Docker 化容器,並使用智能合約呼叫調用。

儘管在不受信任第三方操作的節點上進行鏈下運行,該協定仍可確保程式正確執行。然後,程式的輸出可以轉發回鏈上或透過 API 端點提供。如果節點無法使用或工作負載突然增加,協定會自動建立新執行個體,為用戶提供無伺服器介面。

發行歷史

以下是 Marlin 發行歷史記錄的簡要概述:

  • OpenWeaver 於 2019 年第 4 季發佈,允許在節點叢集中部署低延遲的全域中繼網路。

  • Marlin Cache 於 2020 年第 2 季發佈,允許節點儲存和提供經常存取的資料。

  • 在 2020 年第 4 季,OpenWeaver 在一個由 800 多個節點組成的公共網路上部署,該網路稱為 Marlin Relay。

  • 在 2021 年第 2 季度,Polygon 的 Flashbot 用戶端 mev-bor 發佈,透過 Marlin Relay 接收 MEV 包。

  • Oyster 在 2022 年第 2 季度將使用 TEE 的計算功能新增到網路中。

  • Kalypso 允許將零知識證明生成外包給網路,並在 2023 年第 4 季公佈。

Marlin 如何運作?

作為一個去中心化計算網路,Marlin 的架構針對三項任務進行優化: 

(i) 接收計算請求 

(ii) 執行計算

(iii) 提供計算結果

在去中心化的精神下,任何人都可以自由加入網路並執行這些任務。根據任務,節點被分配到不同的角色,即

  • 閘道節點

  • 執行節點

  • 監控節點

閘道節點

閘道節點負責接收請求並將其轉送到執行節點。用戶可以透過調用閘道節點公開的 HTTPS 端點來提出計算請求。或為讓智能合約能夠提出請求,亦能在區塊鏈上部署中繼合約。閘道會監聽來自中繼合約的活動,然後指定執行節點來處理請求。

因此,閘道在轉發請求之前會檢查哪些執行節點忙碌或閒置,同時充當實際的負載平衡器。同樣地,閘道也充當傳回結果的管道。根據提出請求的用戶要求,閘道可以進行智能合約交易,以將結果傳回鏈上。

無伺服器執行:事實上,相同的屬性允許閘道節點偵測執行節點何時使用率偏高或無法使用。它們會指示新的執行節點接管。由於閘道會協調執行節點集區,因此開發人員不需要選取和監控個別執行節點。

執行節點

執行節點包括日常筆記型電腦和伺服器,還包括 GPU、ASIC 和 FPGA 等專用硬體。它們被賦予為交易引擎運行配對演算法等計算的任務,該作業在鏈上執行非常昂貴。此外,它們還可以使用機器學習模型進行推斷或生成零知識證明,這在鏈上基本上是不可能的事。

要執行的程式可以直接與執行節點共用,方法是將其儲存在交易的調用數據或 IPFS 上,並透過在請求中提到交易或 IPFS 雜湊以將執行節點指向它們。由於程式可以用任何語言編寫,因此它們還可以包括伺服器,而這些伺服器可以在執行節點上運作,並像去中心化後端一樣為用戶請求提供服務。

監控節點

監控節點會檢查閘道和執行節點所提供的服務水平保證 (SLA),包括正常運行時間和網路可達性。如果節點不符合預期保證,監控節點可以削減其質押。因此,監控節點可透過清除不誠實和低效能的節點,在保持網路誠實和高性能方面發揮關鍵作用。

正確性保證

考慮到任何人都可以運行這些節點,如果執行節點傳回不正確的結果會發生什麼情況?如果在 Oyster 上運行的預言機傳回錯誤資產價格,或永續合約交易所錯誤清算交易者,可能會出現種種錯誤情況。同樣糟糕的是,節點運營商可能會像支持信用評分服務的專有機器學習模型那樣偷窺私人資料。

為了讓用戶放心地安全執行,Marlin 採用兩種技術:TEE 和零知識證明。

可信執行環境 (TEE)

TEE 或安全隔離區是機器中的受保護系統,其中的資料和程式碼在硬體層級與其他程序隔離。許多雲端供應商和伺服器製造商都提供此類執行個體。Oyster 執行節點使用 TEE 來確保程式正確運行,因為作業系統或於其上運行的任何其他程序都無法存取 TEE 中的程式。

傳送到 TEE 的資料通常只會在 TEE 內加密和解密,防止敏感資訊洩漏給節點運營商。在 TEE 內執行計算時,可以獲得鏈上可驗證的證明。

零知識 (ZK) 證明

零知識證明是一種加密方案,允許執行計算者透過共享證明,向其他人證明結果正確。除非計算確實有正確執行,否則證明生成背後的密碼學使其非常容易驗證,但是幾乎不可能假造。外包給 Kalypso 執行節點的計算會生成此類證明,然後可以在鏈上進行驗證。

Kalypso 零知識證明市場是一個訂單簿式交易所,任何人都可以為任何零知識證明方案創建市場。由於生成零知識證明的程序既耗時且昂貴,因此市場將受資源限制的裝置與閒置硬體供應商連接起來,以提高其收入和資源使用率。

Marlin 有何獨特之處?

Marlin 是一個鏈下輔助處理器網路,不是區塊鏈。這樣可提供一些關鍵優勢:

  • 與區塊鏈無關:Marlin 可以與任何第 1 層、第 2 層或匯總即服務提供商合作,以強化他們的計算能力。

  • 鏈下資料存取:Marlin 節點可以從資料庫、Web 2 API 或區塊鏈封存節點存取資訊,這在鏈上是不可能的事。

  • 平行計算:Marlin 上的輔助處理器節點不會以冗餘方式執行相同計算,可讓每個節點同時處理不同任務。

  • HTTPS 端點:TLS 連接可以在 TEE 內終止,讓 Oyster 節點使用 HTTPS 連接發送/接收資料。

  • 與電路無關:與專用的零知識證明網路不同,Kalypso 設計為非許可制,允許對任何電路、zkVM 或證明系統生成證明。

與大多數採交易式計算的區塊鏈系統不同,在 Marlin 上部署的程式可以永久運行,前提是相關的錢包持續為其付費。

什麼是 POND 代幣?

Marlin 生態系依賴 POND 代幣來獲得其安全保證。需要網路中的節點需要質押 POND 才能加入。如果出現不當行為,他們有失去質押的風險。這樣可確保網路中的不同參與者遵守協定定義的規則。

總結

Oyster 和 Kalypso 將 Marlin 定位為 DApp 的可靠輔助處理器,建構在任何第 1 層、第 2 層或匯總即服務提供商上。其可自訂性質確保 DApp 可選擇使用 TEE、零知識證明或兩者皆使用,為鏈下計算提供安全性。其靈活性提供各種部署選項、互動模式、程式設計語言和執行階段環境。最終,其開放性允許任何人加入、提供計算能力並部署引人入勝的應用程式。