更新時(shí)間:2024-03-27 06:18作者:小樂
本文旨在擴(kuò)展和補(bǔ)充海洋協(xié)議的技術(shù)架構(gòu),因此我們將深入研究服務(wù)執(zhí)行協(xié)議(SEA)。 SEA 將海洋協(xié)議網(wǎng)絡(luò)中的服務(wù)提供者、消費(fèi)者和驗(yàn)證者緊密結(jié)合在一起。
準(zhǔn)備好征服東南亞……[來源:Kwinten Crauwels]
在之前的文章[1, 2] 中,我們解釋了為什么服務(wù)級(jí)別協(xié)議(SLA) 實(shí)際上支撐著我們所知道的世界。整個(gè)物理和數(shù)字服務(wù)供應(yīng)鏈通過合同捆綁在一起,以降低交易對(duì)手風(fēng)險(xiǎn)并確??捎眯?、可靠性和正常運(yùn)行時(shí)間。
在Ocean Network,我們專注于數(shù)據(jù)和人工智能服務(wù)的公平交換,以保護(hù)商業(yè)交易中的各方。這樣可以提前了解服務(wù)協(xié)議的條款和條件,而不必依賴外部各方解決爭(zhēng)議。服務(wù)協(xié)議及其生命周期基于:
去中心化的訪問控制、爭(zhēng)議解決、溯源服務(wù)、消費(fèi)網(wǎng)絡(luò)獎(jiǎng)勵(lì)激勵(lì)機(jī)制,先付費(fèi)后服務(wù),還是先服務(wù)后付費(fèi)?這是先有雞還是先有蛋的問題……
下面,我們將從技術(shù)角度深入探討Ocean Network中部署的SEA的概念。
服務(wù)執(zhí)行中的不愉快路徑在處理數(shù)據(jù)服務(wù)時(shí),很多事情都可能出錯(cuò)。我們列出了一些情況,但邊緣情況可能還有更多:
該服務(wù)可能不存在,但消費(fèi)者已為該服務(wù)付費(fèi)。服務(wù)可能已正確提供,但消費(fèi)者拒絕或忘記向服務(wù)提供商報(bào)告。服務(wù)提供商可能會(huì)拒絕合法用戶的訪問或向非合法用戶授予訪問權(quán)限。服務(wù)不滿足消費(fèi)者的功能需求或執(zhí)行不符合預(yù)期。服務(wù)響應(yīng)或日志在網(wǎng)絡(luò)或翻譯過程中“丟失”。服務(wù)請(qǐng)求/響應(yīng)世界中的一些不愉快的路徑。
有很多方法可以防止此類災(zāi)難的發(fā)生。典型的采購部門在供應(yīng)商和消費(fèi)者之間建立法律協(xié)議。數(shù)字服務(wù)能夠添加多層數(shù)字安全(加密、簽名、散列、加密證明和證明)并實(shí)現(xiàn)自動(dòng)化。
分布式服務(wù)網(wǎng)絡(luò)以復(fù)制為代價(jià)增加了一層冗余。隨著信任水平的降低,例如在(匿名)公共鏈的情況下,人們可以探索底層原生代幣的經(jīng)濟(jì)和聲譽(yù)激勵(lì)。
服務(wù)協(xié)議和信任度(紅色:低信任度/綠色:更多信任度)
服務(wù)在供應(yīng)鏈中越重要,需要確保的執(zhí)行水平就越嚴(yán)格。這就像自然災(zāi)害預(yù)警系統(tǒng)需要比羅勒植物中的濕度傳感更高的耐受性(或者是這樣)。
每個(gè)協(xié)議都有與采購中的法律SLA 類似的條款和條件,海洋SEA 也有可以作為代碼嵌入到智能合約中的條款和條件。協(xié)議各方必須滿足這些條件。
例如,我們描述了服務(wù)提供商向消費(fèi)者提供經(jīng)過身份驗(yàn)證的數(shù)據(jù)服務(wù)的場(chǎng)景。這樣的數(shù)據(jù)服務(wù)可以是簡(jiǎn)單的數(shù)據(jù)檢索,也可以是機(jī)器學(xué)習(xí)(ML)或人工智能(AI)環(huán)境中的復(fù)雜計(jì)算。
三方簽訂服務(wù)協(xié)議。
在上述場(chǎng)景中,服務(wù)提供商愿意提供數(shù)據(jù)服務(wù),因?yàn)橄M(fèi)者確信一旦提供服務(wù)就會(huì)付款。反過來,消費(fèi)者只有在接受服務(wù)時(shí)才會(huì)付費(fèi),并且服務(wù)的性能由驗(yàn)證者驗(yàn)證。驗(yàn)證者(或驗(yàn)證者網(wǎng)絡(luò))還將要求在進(jìn)行任何驗(yàn)證工作之前查看資金。
根據(jù)應(yīng)用的不同,上述場(chǎng)景可能更復(fù)雜或更簡(jiǎn)單。因此,接下來我們將深入研究SEA的組成。
模塊化服務(wù)執(zhí)行協(xié)議剖析在Ocean Protocol 中,SEA 采用模塊化設(shè)計(jì),涵蓋使用各種web2.0(云/本地)和web3.0 服務(wù)的靈活性。
服務(wù)執(zhí)行協(xié)議的一部分。
我們說明SEA 中的三個(gè)主要部分:
服務(wù)標(biāo)識(shí)符CryptoID用于專門標(biāo)識(shí)要使用的服務(wù)。出于規(guī)模和隱私原因,服務(wù)的實(shí)際元數(shù)據(jù)和端點(diǎn)/訪問詳細(xì)信息將保留在鏈外。這些詳細(xì)信息可以在私有鏈或公共鏈上的元數(shù)據(jù)網(wǎng)絡(luò)中進(jìn)行點(diǎn)對(duì)點(diǎn)通信或解析。
為了符合我們對(duì)標(biāo)準(zhǔn)和互操作性的鼓勵(lì),我們選擇采用新興的W3C 去中心化身份(DID) 標(biāo)準(zhǔn)。代理、服務(wù)和域名均由Ocean Protocol 中的DID 處理(例如:“did:op:12345s3rv1c3”)。它們各自的DID文檔包含存儲(chǔ)在公有/公鏈/私有數(shù)據(jù)中的元數(shù)據(jù)和服務(wù)消費(fèi)信息。我們正在開發(fā)具有完整性檢查、版本控制和不可否認(rèn)性的海洋標(biāo)識(shí)符。有關(guān)更多具體實(shí)施信息,請(qǐng)參閱OEP7。
條件和履行在一個(gè)不完美的世界中,我們通過鏈下、鏈上、側(cè)鏈和其他鏈服務(wù)和活動(dòng)進(jìn)行交易。這些服務(wù)可能會(huì)正確執(zhí)行、幾乎正確執(zhí)行,甚至?xí)?。在某個(gè)時(shí)間點(diǎn),海洋SEA將愿意了解這些服務(wù)的狀態(tài)以解決爭(zhēng)端。
所以我們介紹一下條件和落實(shí)措施。簡(jiǎn)而言之,我們討論的是可以滿足的加密和非加密條件。每個(gè)條件都有一個(gè)驗(yàn)證功能,將顯示“True”、“False”或“Unknown”。 “未知”值意味著尚未證明條件已滿足。所有條件均以“未知”開頭。驗(yàn)證邏輯將在鏈上執(zhí)行。條件可以被視為戰(zhàn)略環(huán)評(píng)的輸入。
在條件允許的情況下,我們可以靈活地將“服務(wù)證明”編碼到SEA中。條件是必須解決的挑戰(zhàn),而滿足則是它們的解決方案。獎(jiǎng)勵(lì)邏輯根據(jù)滿足的條件分配輸出。此類條件可能包括從簡(jiǎn)單的密碼挑戰(zhàn)(例如,提供用于計(jì)算零終止哈希的原像,或證明您擁有與公鑰相對(duì)應(yīng)的私鑰)到更復(fù)雜的挑戰(zhàn)(例如SN/TARK、計(jì)算取證、時(shí)空分析)證明、可檢索性證明)以及更主觀的挑戰(zhàn)(例如投票或管理場(chǎng)景中的m-of-n 簽名、質(zhì)押/削減等)。
當(dāng)驗(yàn)證活動(dòng)發(fā)生在非海洋網(wǎng)絡(luò)中時(shí),可以簡(jiǎn)單地將條件鏈接到預(yù)言機(jī)或橋接合同來解決爭(zhēng)議。
根據(jù)滿足條件獲得獎(jiǎng)勵(lì)。條件是必須解決的挑戰(zhàn),而履行是其解決方案(綠色:已履行/有效,橙色:未履行/未知,紅色:無效)。獎(jiǎng)勵(lì)邏輯根據(jù)履行情況分配輸出。
條件和履行的實(shí)際實(shí)施是加密條件IETF 草案的變體(由Interledger 協(xié)議贊助)。每個(gè)條件/滿足都是一個(gè)加密挑戰(zhàn)/證明配對(duì),例如:
哈希/原像:查找計(jì)算給定哈希值的原像。原像的哈希計(jì)算發(fā)生在鏈上。此條件對(duì)于雙方證明他們都了解該秘密很有用。公鑰+消息/簽名:使用公鑰對(duì)應(yīng)的私鑰對(duì)給定消息進(jìn)行簽名。簽名驗(yàn)證發(fā)生在鏈上。適用于非對(duì)稱密鑰配對(duì)方案中的身份驗(yàn)證。 m-of-n 閾值:如果正確滿足n 個(gè)條件中的m 個(gè),則驗(yàn)證為“正確”。適合多方爭(zhēng)議解決,比如投票。查詢/解析:鏈接到公開可用的狀態(tài)值(用時(shí)間戳記錄)并在驗(yàn)證時(shí)解析/比較該狀態(tài)值。查詢?cè)阪溕蠄?zhí)行,因此僅限于鏈狀態(tài)上下文中的GET 操作(例如contractAddress.getValue)。與橋梁服務(wù)合作并oraclize鏈下價(jià)值。多個(gè)條件組合可以用更復(fù)雜的邏輯來表達(dá):
付款條件:提交給合約的代幣數(shù)量等于預(yù)定的代幣價(jià)格。訪問控制:傳達(dá)給消費(fèi)者的訪問控制秘密。 [查看這篇文章] 驗(yàn)證計(jì)算:驗(yàn)證者網(wǎng)絡(luò)同意并簽署服務(wù)是否已正確交付。 [鏈接到即將發(fā)表的文章]我們預(yù)計(jì)生態(tài)系統(tǒng)中可能會(huì)出現(xiàn)更多條件,因此通過仔細(xì)審查和管理,這些條件可以安全地放入SEA中。我們可以利用治理合約,例如代幣管理列表、質(zhì)押機(jī)或去中心化自治組織(DAO)。
獎(jiǎng)勵(lì)邏輯
SEA的輸出是指通常分配給滿足一個(gè)或多個(gè)條件的代理的獎(jiǎng)勵(lì)。獎(jiǎng)勵(lì)可以通過網(wǎng)絡(luò)獎(jiǎng)勵(lì)功能內(nèi)的付款、版稅、許可證、徽章、聲譽(yù)或彩票的形式發(fā)放??梢栽O(shè)想多種獎(jiǎng)勵(lì)機(jī)制并將它們集成到托管模板中(類似于條件庫)。
Ocean Protocol 實(shí)施的基本獎(jiǎng)勵(lì)結(jié)構(gòu)是代幣的托管或持有。在此結(jié)構(gòu)中,代幣被鎖定在SEA 中以啟用:
如果在超時(shí)之前所有條件都滿足,則執(zhí)行。執(zhí)行支付意味著鎖定的代幣可以轉(zhuǎn)移給接收者。如果超時(shí)后未滿足所有條件,則中止。暫停支付意味著鎖定的代幣將被返還給發(fā)起者。在未來的版本中,我們將包括更復(fù)雜的獎(jiǎng)勵(lì)計(jì)劃,例如付款流、獎(jiǎng)金、競(jìng)賽和版稅計(jì)劃。服務(wù)執(zhí)行協(xié)議的生命周期在了解了SEA的所有組成部分之后,用戶就可以開始發(fā)布服務(wù)并通過SEA與市場(chǎng)上的消費(fèi)者進(jìn)行互動(dòng)。我們將解釋每個(gè)步驟,但首先讓我們解釋一些細(xì)節(jié)。
服務(wù)發(fā)布提供商可以通過元數(shù)據(jù)(請(qǐng)參閱OEP8)和定義訪問、使用和監(jiān)控(請(qǐng)參閱OEP11)的API 調(diào)用來提供服務(wù)。
接下來,提供商在市場(chǎng)中扮演發(fā)布者的角色(或委托該角色)。發(fā)布者從模板中選擇SEA 并將其包含在服務(wù)身份文檔中,然后再將其發(fā)布到市場(chǎng)中[單擊此處了解詳細(xì)信息]。發(fā)布方法包括公共元數(shù)據(jù)存儲(chǔ)(稱為Aquarius)、Web API/論壇或點(diǎn)對(duì)點(diǎn)消息傳遞。
服務(wù)一旦發(fā)布,消費(fèi)者就可以查看。雙方通過簽署并執(zhí)行協(xié)議來實(shí)施SEA [請(qǐng)參閱此處的詳細(xì)信息]。
海洋協(xié)議發(fā)布流程:從資源到服務(wù)執(zhí)行協(xié)議。
接下來,我們將探討各種SEA在運(yùn)行過程中的幾個(gè)生命周期。
訪問控制基本SEA 使用托管獎(jiǎng)勵(lì)來提供對(duì)鏈下資源的訪問控制。有關(guān)示例應(yīng)用程序的詳細(xì)信息,請(qǐng)參閱本文。以下是SEA的相關(guān)活動(dòng):
簽名和執(zhí)行:雙方同意并創(chuàng)建訪問控制SEA的實(shí)例。付款:消費(fèi)者將所需數(shù)量的代幣鎖定在托管中。訪問:服務(wù)提供商授予對(duì)資源的訪問權(quán)限并在鏈上報(bào)告此活動(dòng)。獎(jiǎng)勵(lì):托管要么執(zhí)行,要么中止,具體取決于訪問條件和超時(shí)。發(fā)布后實(shí)施簡(jiǎn)單的訪問控制SEA生命周期。
在鏈下訪問控制場(chǎng)景中,請(qǐng)注意,僅證明某些訪問令牌已進(jìn)行通信,而不是令牌實(shí)際上在鏈接中有效和消耗。
更復(fù)雜的服務(wù)身份驗(yàn)證用例可以通過向服務(wù)添加身份驗(yàn)證活動(dòng)來擴(kuò)展上述訪問控制[正在進(jìn)行中,將在下一個(gè)版本中發(fā)布]。這里,資源提供者向驗(yàn)證者網(wǎng)絡(luò)提交一個(gè)或多個(gè)服務(wù)證明或證明。
驗(yàn)證者網(wǎng)絡(luò)的任務(wù)是解決有關(guān)服務(wù)性能的爭(zhēng)議(例如Truebit、fitchain、Enigma、Filecoin 等)。在這里,SEA 通過預(yù)言機(jī)或橋接合約使用查詢條件進(jìn)行鏈接。因此,SEA將能夠簡(jiǎn)單地鏈接并解決驗(yàn)證人網(wǎng)絡(luò)的爭(zhēng)議解決結(jié)果。
外部驗(yàn)證器網(wǎng)絡(luò)用于驗(yàn)證服務(wù)以證明和橋接爭(zhēng)議解決周期。
總而言之,我們?yōu)閷⑺谢顒?dòng)置于SEA 生命周期內(nèi)奠定了堅(jiān)實(shí)的基礎(chǔ)。請(qǐng)注意,多個(gè)SEA 可以輕松并行執(zhí)行。鏈下/側(cè)鏈資源和授權(quán)服務(wù)器只需監(jiān)聽SEA 發(fā)出的預(yù)定義活動(dòng)。
海洋協(xié)議SEA的生命周期,從發(fā)布到消費(fèi)和驗(yàn)證。
結(jié)論我們分析了Ocean Protocol服務(wù)執(zhí)行協(xié)議及其生命周期。這些協(xié)議是可證明來源、爭(zhēng)議解決、獎(jiǎng)勵(lì)機(jī)制等的基礎(chǔ)。它們基本上連接了海洋協(xié)議生態(tài)系統(tǒng)中的數(shù)據(jù)服務(wù)。
現(xiàn)在您知道海洋中存在SEA,讓我們繼續(xù)探索.