OracleChain(歐鏈)作為全球第一個在 EOS 生態(tài)圈上構筑的應用,將直面該生態(tài)的 Oracle(預言機)需求,將區(qū)塊鏈技術服務和現(xiàn)實生活中的多種需求場景直接高效對接,深耕這個百億美金估值的巨大市場。作為一個基于 EOS 平臺的去中心化的 Oracle 技術平臺,我們采用自主的 PoRD 機制,將現(xiàn)實世界數(shù)據(jù)引入?yún)^(qū)塊鏈,并將此作為基礎設施為其他區(qū)塊鏈應用提供服務。除了在區(qū)塊鏈上提供現(xiàn)實世界數(shù)據(jù)的 Oracle 服務,同時還可以提供跨鏈數(shù)據(jù)的 Oracle 服務?;贠racleChain 除了能實現(xiàn) Augur、Gnosis 等預測市場(Prediction Market)應用的功能之外,還能支撐對鏈外數(shù)據(jù)有更高頻率訪問需求的智能合約業(yè)務,比如智能投顧等場景。OracleChain 將改變當前區(qū)塊鏈應用的開發(fā)模式,建立全新的生態(tài)圈,培育并服務真正能改變現(xiàn)實世界的區(qū)塊鏈應用。我們的使命是“讓世界與區(qū)塊鏈互聯(lián)”,立志成為鏈接現(xiàn)實世界與區(qū)塊鏈世界的基礎設施,通過把外部數(shù)據(jù)引入?yún)^(qū)塊鏈來實現(xiàn)鏈內鏈外的數(shù)據(jù)互通,打造未來區(qū)塊鏈世界中最高效的獲取鏈外數(shù)據(jù)的服務提供平臺。
OracleChain 技術架構
1 平臺模型
OracleChain 平臺主要由兩個層次組成:核心層和服務層。核心層基于 EOS 框架搭建 OracleChain 的基礎服務和運作機制,服務層則在核心層的基礎上將 Oracle平臺包裝成 API 接口對外提供 Oracle 服務。
核心層
OracleChain 核心層提供 Oracle 實例的創(chuàng)建,實例數(shù)據(jù)輸出令牌的管理,DataFeeder 節(jié)點的管理等基礎服務。在這一層,OracleChain 實現(xiàn)了對 Oracle 實例和Data Feeder 節(jié)點的管理。Data Feeder 節(jié)點將根據(jù) Oracle 的需求讀取數(shù)據(jù)并和其他 Data Feeder 節(jié)點共同完成此 Oracle 答案。特別的,OracleChain 引入了聲望(Reputation)的獎懲機制、風險金(Deposit)的懲罰機制和 Oracle 費用的獎勵機制來完成 data feed 過程,最終回答 Oracle 答案。
Data Feeder 節(jié)點通過相互協(xié)作來完成一次 Oracle 并共享此次收益,并能通過自組織的方式發(fā)現(xiàn)那些異常的 Data Feeder,并觸發(fā)懲罰機制。同時舉報者可以舉報 Data Feeder 節(jié)點那些不易被發(fā)現(xiàn)的不誠實行為。
為了防止惡意的 Data Feeder 節(jié)點組織(不會自我懲罰組織成員)和惡意的舉報者,OracleChain 特別設置了長老會(Presbyteria)機制,由全網(wǎng)聲望最高的Data Feeder 節(jié)點組成最終裁判團,對惡意 data feed 和舉報行為進行裁決,并觸發(fā)懲罰機制。
服務層
OracleChain 服務層提供 Oracle 實例平臺、狀態(tài)通道和服務 API 等對外服務。在這一層,OracleChain 實現(xiàn)了對 Oracle 服務的撮合、計費等對外服務,真正實現(xiàn)了 OracleChain 的基礎設施能力。
Oracle 平臺將會撮合 Oracle 需求方和 Data Feeder 組織。Data Feeder 組織有可能是松散的臨時團體,也可能是提供專業(yè)服務的組織。每一個 Oracle 實例里面會申明該實例的費用,需要的 Data Feeder 組織方式以及參與門檻,例如需要 100個高聲望的 Data Feeder 并在其中 80 個節(jié)點達成共識的情況下完成 data feed。Services API 將被設計得更加通用,既符合 EOS 跨鏈的設計理念,也符合便捷開發(fā)的使用需求。
在 OracleChain 的平臺模型上,任何的 EOS 應用都可以使用 Oracle 服務。無論是高頻次的預測市場,還是低頻次的農(nóng)業(yè)保險,都可以借助 OracleChain 的服務變成可能,真正將區(qū)塊鏈技術服務于現(xiàn)實生活中。
2 data feed 機制
在傳統(tǒng)的集中式系統(tǒng)中,數(shù)據(jù)通常直接從數(shù)據(jù)源(Data Source)以數(shù)據(jù)輸入(Data Input)的方式獲得。這個數(shù)據(jù)源既可能是來自于集中式系統(tǒng)內部,也可能來自于第三方,系統(tǒng)的運行信任且依賴于數(shù)據(jù)源所輸入的數(shù)據(jù)。此時數(shù)據(jù)源是作為一個正直、不帶偏見、永不犯錯的法官一樣的角色,因為或者這個數(shù)據(jù)源是系統(tǒng)內部可以嚴密控制的模塊,或者是由絕對可信的第三方來擔任,系統(tǒng)在數(shù)據(jù)源的驅動下實現(xiàn)有效運轉。
回到去中心化的區(qū)塊鏈環(huán)境下,這個簡單的問題變得非常復雜,會引發(fā)諸多問題,比如“誰有資格得到區(qū)塊鏈上的所有人的信任擔當這個信息源?”、“誰有資格來判斷參與者是否可信?”等等。而且信任的可持續(xù)性也存在著問題,一個之前持續(xù)遵守規(guī)則的參與者在逐步累積信用,從而獲得較大權力后其實也存在著作惡的可能。
為了解決區(qū)塊鏈在去中心化的大背景下完成數(shù)據(jù)采集和取信的過程,OracleChain 提出了一種 data feed 機制。這種機制將使用一個有效的獎懲手段,旨在鼓勵數(shù)據(jù)源節(jié)點(Data Feeder)提供有效的 data feed 服務,所有正常參與data feed 的節(jié)點都將會得到聲望提升,同時獲得 OracleChain 的代幣 OCT(OracleChain Token),反之,非正常的數(shù)據(jù)源節(jié)點會同時失去聲望和抵押給 OracleChain平臺的 OCT 風險金。通過這種我們稱之為 Proof-of-Reputation&Deposit(PoRD) 的雙效機制,OracleChain 將有效抵御懷有敵意的數(shù)據(jù)源節(jié)點通過惡意 data feed,影響 Oracle 的實際結果。而用戶需要支付 OCT 來獲得 Oracle 服務,從此實現(xiàn) OCT在 OracleChain 上的閉環(huán)流動。
在 PoRD 機制中,每個 Oracle 實例對應一個智能合約。對每個 Oracle 實例,會存在一個聲望(Reputation)和保證金(Deposit)的閾值,OracleChain 區(qū)塊鏈網(wǎng)絡的活動節(jié)點只有聲望和保證金超過這一閾值,才能參與該 Oracle 實例的 datafeed 服務。然后當指定條件觸發(fā) Oracle 實例進入結算階段時,Oracle 實例所對應的智能合約會依據(jù)其處理邏輯和參數(shù)設置,評判出善意的 data feed 和惡意的 datafeed,對善意 data feed 節(jié)點提供聲望提升和 OCT 代幣獎勵,對惡意 data feed 節(jié)點進行聲望減值和 OCT 保證金扣除,以該雙效機制保證整個體系的 data feed 工作可以正常運行。
3 技術優(yōu)勢
OracleChain 平臺具有四大技術優(yōu)勢,分別是高效、兼容、參與和便利。
高效
借助于基層區(qū)塊鏈基礎設施的對區(qū)塊數(shù)據(jù)的細粒度控制和良好的并行處理優(yōu)化,通過 OracleChain 的架構可支持秒級的確認時間和強大的事務處理吞吐率。
兼容
基于基層區(qū)塊鏈基礎設施的的跨鏈機制,OracleChain 可以面向整個 EOS 生態(tài)圈提供數(shù)據(jù)服務,實現(xiàn)鏈內鏈外數(shù)據(jù)轉移和互通。
參與
用戶可以通過data feed參與全球范圍內的Oracle共識體系和OCT生態(tài)運轉。獨特的治理策略可以促使節(jié)點遵守社區(qū)規(guī)則,并利用 PoRD 雙效機制保證OracleChain 的正常運行。
便利
OracleChain 提供更高效實用的 Service API,方便其他區(qū)塊鏈應用來使用Oracle 服務。
OracleChain 應用
1 預測市場
OracleChain 可應用于預測市場?;?OracleChain 基礎服務去構建的預測市場類應用,將為本地和全球經(jīng)濟提供獨特的價值發(fā)現(xiàn)功能。在區(qū)塊鏈領域,涉及了鏈外鏈內數(shù)據(jù)打通主要有 Augur 和 Gnosis 兩個項目。這兩個項目均采用預測市場的架構,這就意味著為了把一個鏈外數(shù)據(jù)導入鏈內,需要經(jīng)過社區(qū)的投票等一系列過程才能在區(qū)塊鏈上形成一個公允數(shù)據(jù)。預測市場的架構足以支撐那些與鏈外數(shù)據(jù)交互頻次很低的場景里,比如對一場足球賽事比賽結果的對賭智能合約。
但在那些交互頻次很高的場景里,對鏈內鏈外數(shù)據(jù)通道的實時性提出了更高的要求。OracleChain 既可以以傳統(tǒng)的方式支持低頻預測市場的運作,也可以支持由眾多節(jié)點實時從線下抓取鏈外數(shù)據(jù),并根據(jù)節(jié)點們所提供的喂價數(shù)據(jù)折中選擇出一個結果同步到區(qū)塊鏈上。在一個包含了各種應用場景的 EOS 區(qū)塊鏈生態(tài)圈里,需要一個更高效的策略來替代低效的線下監(jiān)督。瞄準這一問題 OracleChain 會基于PoRD 機制的自治架構,來保證鏈內鏈外數(shù)據(jù)打通服務的實時和準確。
2 保險市場
OracleChain 可用于組織去中心化的農(nóng)產(chǎn)品價格和收入保險市場,響應國家號召服務四農(nóng)。
在傳統(tǒng)的保險行業(yè)中,保險公司承擔著吸收風險、消費風險的中介身份。區(qū)塊鏈的出現(xiàn)讓大家看到大規(guī)模的互助保險成為了一種可能。但是這種自組織的保險模式受困于效率和定險,很難推廣。OracleChain 提供一種對事件定險的可能,尤其是在農(nóng)產(chǎn)品價格和收入方面。
2017 年 6 月 1 日,中共中央辦公廳、國務院辦公廳印發(fā)《關于加快構建政策體系培育新型農(nóng)業(yè)經(jīng)營主體的意見》(下稱《意見》)?!兑庖姟诽岢觯e極開展天氣指數(shù)保險、農(nóng)產(chǎn)品價格和收入保險、“保險+期貨”、農(nóng)田水利設施保險、貸款保證保險等試點。對于農(nóng)產(chǎn)品價格這種集中式風險,保險公司很難使用傳統(tǒng)的“空間+時間”的風險分擔模式降低自己的風險,只能采用“時間”的風險分擔模式,缺很難找到對應的風險分銷機構。
基于 OracleChain 可以開發(fā)專門針對農(nóng)產(chǎn)品價格的各類智能保險種類,直接將承包人和風險承擔者對接,基于智能合約的購買、賠付方式將大大降低保險的成本,也將保險公司的集中風險直接分攤到風險承擔者個人身上。
3 智能投顧
區(qū)塊鏈的預言機有不少應用場景,在智能合約能夠真正自動地執(zhí)行現(xiàn)實生活中的業(yè)務邏輯判斷之前,首要的工作是能夠獲取外部數(shù)據(jù),其后才能用基于區(qū)塊鏈上智能合約的自動執(zhí)行代替?zhèn)鹘y(tǒng)社會通過人為參與執(zhí)行邏輯事務。智能投顧又稱機器人理財,是虛擬機器人基于客戶自身理財需求,通過算法和產(chǎn)品來完成以往人工提供的理財顧問服務。在區(qū)塊鏈領域,智能投顧的功能主要通過智能合約來實現(xiàn)。利用 Oracle 智能合約機制,OracleChain 可用于鏈內和鏈外投資標的價格的發(fā)現(xiàn)與處理,可以建立起去中心化的智能投顧應用,投資目標既可以是傳統(tǒng)金融標的,也可以是區(qū)塊鏈資產(chǎn)。
代幣機制
OracleChain 代幣(OCT)的流轉主要是為了激勵 data feeder 在 OracleChain 上面提供 Oracle 服務。在 OracleChain 網(wǎng)絡中,OCT 代幣是保障整個預言機服務能夠持續(xù)運轉的基礎。OCT 代表著 OCT token 的持有者在 OracleChain 網(wǎng)絡上使用Oracle 服務的權益,在 OracleChain 網(wǎng)絡上用戶需要支付 OCT 才能獲得 Oracle 服務。
1 OracleChain 代幣機制簡介
OralceChain 是一個支持多個 Oracle 實例的系統(tǒng)。在該系統(tǒng)中,數(shù)據(jù)需求方根據(jù)需求選擇對應的 Oracle 實例,提交數(shù)據(jù)申請;然后由數(shù)據(jù)提供者提交數(shù)據(jù)到該Oracle 中,并由 Oracle 收集整理后輸出給數(shù)據(jù)需求方,以完成一次 Oracle 服務。在 OracleChain 中,OCT 作為購買數(shù)據(jù)服務、獎勵數(shù)據(jù)提供者的代幣在系統(tǒng)中流轉。數(shù)據(jù)需求方購買數(shù)據(jù)服務所支付的 OCT 將根據(jù)所提供的數(shù)據(jù)質量分發(fā)給數(shù)據(jù)提供者們。
OracleChain 中的每一個 Oracle 將承擔不同的數(shù)據(jù)服務,也會有不同的收費價格和獎勵方式,將根據(jù)不同的行業(yè)場景需求分別進行設計。每個人都可以根據(jù)自己對行業(yè)的理解等發(fā)布一個 Oracle 用來組織數(shù)據(jù)服務。
例如在一個“艾澤拉斯體感溫度”的 Oracle 實例中,溫度應用方將需要溫度的時間段發(fā)布到 Oracle 中,并設定一個提交窗口期,同時向該 Oracle 支付一定的 OCT(例如 1000 個),在此窗口期內,所有的人都可以提交自己對艾澤拉斯溫度的數(shù)據(jù)。在窗口期后,Oracle 將所有搜集到的溫度數(shù)據(jù)進行處理,排除掉方差過大的數(shù)據(jù),然后將剩下的數(shù)據(jù)求平均輸出給溫度應用方,并將之前收到的 1000個 OCT 平均分發(fā)給剩下的數(shù)據(jù)提交者(假設 120 人提交了溫度數(shù)據(jù),其中 20 人因方差過大被排除,則剩下的 100 人每人獲得 10 個 OCT)。
又例如在一個“有償調查問卷”的 Oracle 實例中,調查方根據(jù)自己的實際需求編寫調查問卷,發(fā)送到該 Oracle 中,同時向該 Oracle 支付一定的 OCT(例如1000 個 OCT),并設定調查問卷結束時間。在調查問卷結束之前,所有的數(shù)據(jù)提供者均可以向該 Oracle 提交調查內容。在調查問卷結束之后,Oracle 將統(tǒng)計所有用戶的問卷結果輸出給調查方,同時將之前收到的 1000 個 OCT 平均分發(fā)給提交過調查問卷的數(shù)據(jù)提交者(假設有 100 人提交了調查問卷,則每人獲得 10 個OCT)。
2 OracleChain 業(yè)務流轉機制
OracleChain 的業(yè)務流轉機制指 OracleChain 上預言機服務實際發(fā)生過程中的數(shù)據(jù)交換過程。
該過程各步驟如下所示:
1.DAPP 向 Oracle 提出數(shù)據(jù)需求;
2.DateFeeder 根據(jù)需求向 Oracle 提交數(shù)據(jù)(根據(jù)需求可能有多個 Feeder 向Oracle 提交數(shù)據(jù));
3.Oracle 將獲得的數(shù)據(jù)整理后輸出給 DAPP。
3 OCT 代幣流轉機制
OCT 代幣流轉機制指 OracleChain 上預言機服務實際發(fā)生過程中的代幣流轉過程。
該過程各步驟如下所示:
1.DAPP 根據(jù)數(shù)據(jù)需求將 OCT 打入到 Oracle 合約;
2.在 Oracle 完成數(shù)據(jù)輸出后,根據(jù) Data Feeder 提交的數(shù)據(jù)的質量,將收到的OCT 分發(fā)給不同的 Data Feeder。
OracleChain 治理架構
基于區(qū)塊鏈系統(tǒng)的治理一直是一個比較困難的問題。每當需要升級系統(tǒng)時,都需要實施硬分叉,這通常會導致所有區(qū)塊鏈利益關聯(lián)方之間的大量爭論和博弈。即使是像修改源代碼中任意設定的變量這樣簡單的事情,由于沒有明確的升級路徑,比如在比特幣社區(qū)對區(qū)塊大小和隔離見證機制的爭論不決。尤其在最終使用用戶和決策決定者的利益并不一致的情況下,要達成這樣的一致會變得更加困難。事實上也存在著一些更為復雜的治理決策,比如在“The DAO”中修復單一的智能合約錯誤,這甚至會導致更大的問題,引起社區(qū)的分裂。
引起這些問題的最大原因是協(xié)議升級或更改的決策過程定義不夠明確,缺乏透明度。為解決這一問題,OracleChain 把其自身的管理作為其整體共識的一部分。它使用 OracleChain 自身提供的 Oracle 機制盡可能讓爭議和協(xié)商的過程有效和透明地運作。此外,OracleChain 的共識機制可以由多個變量來定義,這些變量決定了系統(tǒng)的功能,或者對系統(tǒng)某個參數(shù)的調整,比如使用 Oracle 服務的基礎成本等等。
OracleChain 對社區(qū)治理的一個基本認識是治理的策略是將權力交給OracleChain 網(wǎng)絡上的高聲望節(jié)點(用戶)。也就是不同重要程度的治理活動需要節(jié)點達到不同的聲望級別才能參與,即用戶會根據(jù)不同的聲望級別對 OracleChain實施不同的影響。對于最高階的節(jié)點,可能被授予有限的和被監(jiān)督的權限來凍結帳戶,更新有缺陷的應用程序,甚至提出對底層協(xié)議的變更。
通過把待協(xié)商的變量設置為 Oracle 并在全社區(qū)分級別進行投票協(xié)商,OracleChain 用戶也可以學習如何有效地改進協(xié)議。OracleChain 的治理策略,可以促使節(jié)點遵守社區(qū)的 data feed 規(guī)則,盡可能保證維持更高的聲望值,以保持對社區(qū)治理更大的話語權。通過對潛在的難題進行構建 Oracle 實例進行運行,我們可以幫助社區(qū)就選擇哪個版本代碼進行使用達成一致。每個用戶會為自己選擇尋求優(yōu)化的度量,但是簡單的默認策略將是最大化其持有價值,眾多用戶借由每個用戶的理智決策會為整個 OracleChain 社區(qū)提供正確的演進方向。
評論