基於預言機的智慧合約透過資料輸入觸發合約執行(即狀態改變),進行結算併產生資料輸出。舉個例子,衍生品合約提取市場資料(即資料輸入),並根據合約條款(即程式碼邏輯)向各方發起付款(即資料輸出)。Chainlink開發了一個預言機市場,為智慧合約提供資料輸入並處理資料輸出。
目前,大多數智慧合約都在區塊鏈上釋出狀態改變,因此區塊鏈上所有人都能看到合約的任何資料輸入或輸出,並做出關聯。然而,Mixicle將狀態改變和支付分割成兩個模組,這顛覆了智慧合約的傳統模式。在Mixicle模式中,狀態改變和支付被分割成了鏈下和鏈上兩個模組,區塊鏈上其他人無法看出兩者之間的任何關聯。
那麼這兩個模組是如何互相聯通又保障隱私的呢?答案就是預言機。
1. 鏈下模組——即內嵌服務協議的智慧合約,其中規定了智慧合約透過預言機獲得具體資料應向預言機支付的費用。
2. 鏈上模組——另一個智慧合約,其中詳細闡述了tumbler如何基於預言機資料向各方付款。
智慧合約向一個或一組預言機傳送請求,獲取某類資料(最有可能是市場資料),以確定DeFi合約的判定結果。雙方在鏈下就資料請求的具體細節達成一致意見,因此內容不會在鏈上公佈。預言機不會返回原始資料(即實際資產價格),而是會返回一份報告,以true(1)或false(0)的結果來展示資料。以下的合約都是以布林值(0或1)展示的:
Mixicle中的預言機報告(x)決定著支付路徑(即狀態改變),預言機報告本身也是一份智慧合約,約定了如何根據預言機報告結果向各參與方發起支付。在下方示例中存在兩種選擇(s=0或s=1),分別會觸發兩種不同的支付路徑。值得注意的是,現實應用中可能會出現多於兩種選擇的情況。
在上述示例中,P0和P1分別是Alice和Bob新的私密地址,只有他們自己才知道哪個是自己的地址。正如圖中所示,0和1兩種不同的結果觸發了兩個不同的付款路徑,但付款金額完全一樣。
下面我們再來看一個例子,在這個示例中收款地址增多了,而每個地址只收到了一部分付款,這樣就能在更大程度上隱藏交易資訊。
最後再來看一個示例,在這個例子中發起了多輪支付,以混淆具體的支付時間。這樣,其他人就更難得知合約的具體價值以及支付金額了。
以上三個例子說明,Mixicle使用者可選擇不同方式在不同程度上保護資料隱私。使用者可直接使用tumbler,也可以使用多個匿名地址,並向每個地址支付一部分金額,還可以發起多輪支付以混淆付款時間。值得注意的是,兩種情況的付款次數是一模一樣的,因此其他人很難看出差別。
綜上所述,合約雙方建立智慧合約,向預言機請求web資料,並返回布林值(即0或1的結果)。然後預言機將報告傳送到另一個智慧合約中觸發付款。智慧合約基於預言機報告執行,並根據雙方之前定下的合約條款安排付款。預言機如果按時成功交付約定服務,則會收到付款。如果下線或未能及時響應,那麼合約將失效,合約各方可從Mixicle中拿回初始資金。
隨著Mixicle使用者不斷擴大,資金池的流動性也會隨之增加,因此合約資料的隱私能更好地得到保障。這對衍生品這樣規模龐大的市場來說特別具有吸引力,衍生品市場的名義價值預計在500到1200萬億美元之間。
Mixicle使用者可以向第三方審計機構提供預言機報告,這也保證了合規性。第三方審計機構還可以將預言機報告與智慧合約參與方的報告進行交叉對比。企業需要在高度監管的市場中競爭,因此開發出合規的DeFi應用是贏得其青睞的關鍵因素。
讓DeFi走向企業
公鏈上的DeFi工具將狀態改變與支付結果分開,並使用預言機傳輸保密資料,這種模式對交易金額龐大且監管嚴格的企業具有巨大的吸引力。而事實上,DeFi工具跟傳統金融工具的價值相比只是九牛一毛。Chainlink目前正在開發多種方案解決可擴充套件性問題,並使用預言機解決公鏈上企業智慧合約面臨的兩大瓶頸,即:智慧合約的連線性以及資料隱私和可審計性。
Mixicle很快就會在以太坊主網上線,之後還會在其他區塊鏈上線。Mixicle只有188行原始碼,目前正在等待接受第三方安全審計。企業使用公鏈並非遙不可及,隨著像Mixicle這樣創新的隱私保護技術不斷湧現,並在全球範圍內保障公鏈的隱私性和合規性,這一願景將很快變為現實。