Chainlink 鏈接區(qū)塊和“萬物”

現(xiàn)有的區(qū)塊鏈通常是一個獨立閉環(huán)的系統(tǒng)诅病,它的賬目都是在鏈上自發(fā)產(chǎn)生和結(jié)算的揍魂。要想讓區(qū)塊鏈應(yīng)用到更多領(lǐng)域讽膏,預(yù)言機是整個生態(tài)中必不可少的重要環(huán)節(jié)檩电。只有當區(qū)塊鏈與外界連通,才能賦能實體業(yè)務(wù)更多的可靠驗證和計算能力府树。

預(yù)言機(oracle mechanism)是鏈外信息寫入?yún)^(qū)塊鏈的一種機制俐末。

閉環(huán)運行的區(qū)塊鏈

在區(qū)塊鏈賬本上,所有的賬都必須有一個起始奄侠,其他的賬都是“起始賬”的延伸卓箫。最初的 50 個比特幣就是在比特幣的創(chuàng)世區(qū)塊(Genesis Block)上產(chǎn)生的,之后它們在區(qū)塊鏈賬本上流通垄潮,從 A 賬戶轉(zhuǎn)賬到 B 賬戶烹卒,又從 B 賬戶轉(zhuǎn)到 C 賬戶。

創(chuàng)世區(qū)塊即比特幣的第一個區(qū)塊弯洗,是比特幣區(qū)塊鏈的開始甫题。

又如在以太坊上,我們使用智能合約發(fā)行代幣涂召,代幣一般使用鑄造函數(shù)(mint)發(fā)行到區(qū)塊鏈上,鑄造函數(shù)(一段程序代碼)的運行結(jié)果就是代幣的起始賬目敏沉,當鑄造成功后果正,代幣就具備了在以太坊上流通的特性炎码。

不管是比特幣還是以太坊,現(xiàn)有的區(qū)塊鏈系統(tǒng)都具有這種閉環(huán)運行的特性秋泳,即賬目的產(chǎn)生需要一個起始潦闲。如果我們更寬泛的看待這個問題,就會發(fā)現(xiàn)區(qū)塊鏈上的事物(數(shù)據(jù))都是在區(qū)塊鏈之上依據(jù)一定的規(guī)則“憑空”產(chǎn)生的迫皱,基于這個“憑空”的開始歉闰,才有了后面整個過程。

閉環(huán)運行

可以看到狀態(tài)的起始卓起、變化和最后的終止都運行在閉合的區(qū)塊鏈中和敬。因為區(qū)塊鏈的閉環(huán)運作模式,讓現(xiàn)有的互聯(lián)網(wǎng)戏阅、傳統(tǒng)的經(jīng)濟要素都難以接入昼弟。那么,區(qū)塊鏈的應(yīng)用就只存在兩種方式:

  • 在閉環(huán)中完全重塑一種新的機制

  • 將現(xiàn)有機制中的要素映射到閉環(huán)系統(tǒng)中

重塑

比特幣 奕筐,以太幣是區(qū)塊鏈應(yīng)用的經(jīng)典案例舱痘,它們的產(chǎn)生就是重塑“貨幣”的過程。通過使用區(qū)塊鏈構(gòu)建的代幣系統(tǒng)离赫,可以在不依賴外部數(shù)據(jù)的閉環(huán)中運行芭逝。代幣通過挖礦等規(guī)則“憑空”產(chǎn)生(消耗電能),得益于區(qū)塊鏈共識算法渊胸,代幣的所有權(quán)不受第三方控制旬盯,只要保存好自己手中的私鑰,其他任何人都不能挪動或者銷毀這些代幣資產(chǎn)蹬刷。這些在區(qū)塊鏈上重塑的代幣由于得到社會的廣泛認同瓢捉,產(chǎn)生了價值,并得以流通办成。

這種重塑已經(jīng)產(chǎn)生巨大的能量泡态,對現(xiàn)有的金融乃至社會認識都產(chǎn)生了巨大的影響。而在代幣重塑之上迂卢,智能合約和更多創(chuàng)新機制在不斷的孕育和成熟某弦。

鏈上重塑的事物都具備閉環(huán)中運行的特點,它們可以不與其他系統(tǒng)進行技術(shù)上的交互而克,它們由人們共同的認識產(chǎn)生了新的價值靶壮,成為一種普世的新機制。

映射

映射是一種更通用的區(qū)塊鏈應(yīng)用方式员萍,也是一個必不可少的方式腾降。

想象我們在區(qū)塊鏈上設(shè)置了一個體育比賽頒獎程序,獎金可能是比特幣或者以太幣碎绎。獎金的頒發(fā)需要根據(jù)鏈外的比賽結(jié)果進行結(jié)算,因此我們需要將比賽數(shù)據(jù)映射到鏈上。在頒獎過程中踢械,程序獲得映射數(shù)據(jù)后才能計算并執(zhí)行獎金的分發(fā)。

另一種場景是資產(chǎn)映射冤馏。如房屋一類的固定資產(chǎn),其產(chǎn)權(quán)是在國家統(tǒng)一登記頒發(fā)寄啼。如果這類資產(chǎn)能映射上鏈逮光,資產(chǎn)的權(quán)屬證明和產(chǎn)權(quán)交割都會變得極其快捷和方便。

將鏈外數(shù)據(jù)或?qū)嶓w映射到鏈上墩划,是將區(qū)塊鏈應(yīng)用和外部世界鏈接的重要方式涕刚。


重塑和映射,不是二元擇一走诞,不是非此即彼的單項選擇副女,它們往往相互交織、彼此結(jié)合蚣旱,創(chuàng)造出新的模式碑幅。

區(qū)塊鏈提供了透明和可信的計算能力,由于其閉環(huán)運行的特性塞绿,當數(shù)據(jù)本身就在鏈上產(chǎn)生(如代幣)沟涨,整個計算的結(jié)果自然是準確可信的;但是如果業(yè)務(wù)涉及鏈下數(shù)據(jù)异吻,如何確保數(shù)據(jù)的可信就是一個重大的議題裹赴。預(yù)言機的功能就是將鏈外數(shù)據(jù)鏈接到區(qū)塊之上,如何建立一種準確和可靠的鏈接機制是預(yù)言機設(shè)計的根本目標诀浪。

注意棋返,預(yù)言機并不是映射的唯一方式。很多場景雷猪,如房屋產(chǎn)權(quán)可能只需要一個中心化的權(quán)威機構(gòu)直接將數(shù)據(jù)打包到區(qū)塊鏈即可睛竣。

Chainlink 如何鏈接外部數(shù)據(jù)

Chainlink 的目標是建立一套去中心化的預(yù)言機,為智能合約提供鏈外數(shù)據(jù)訪問的能力求摇。

機制概覽

Chainlink 的機制如下圖所示:

Chainlink 分層模塊
  • 鏈外數(shù)據(jù)

鏈外數(shù)據(jù)可以是互聯(lián)網(wǎng)射沟、支付機構(gòu)、物聯(lián)設(shè)備或者不同種類區(qū)塊鏈(跨鏈)提供的 API 接口与境⊙楹唬可以是任何可以讀取的數(shù)據(jù)源。

  • 外部數(shù)據(jù)適配器

外部數(shù)據(jù)適配器是鏈外數(shù)據(jù)的“翻譯”摔刁,將外部數(shù)據(jù)轉(zhuǎn)化為 Chainlink 節(jié)點中的統(tǒng)一數(shù)據(jù)結(jié)構(gòu)挥转。適配器可以用任何語言編寫。

  • Chainlink 節(jié)點

Chainlink 節(jié)點會訂閱區(qū)塊鏈產(chǎn)生的事件。Chainlink 收到指定的事件后绑谣,會進行任務(wù)調(diào)度准潭,使用數(shù)據(jù)適配器獲取鏈外數(shù)據(jù)(一般情況下 Chainlink 可直接讀取開放的 API,在特殊情況下才會使用外部數(shù)據(jù)適配器)域仇。Chainlink 節(jié)點需要包含一個熱錢包用于交易發(fā)送,將外部數(shù)據(jù)寫回產(chǎn)生事件的區(qū)塊鏈上寺擂。

  • 區(qū)塊鏈節(jié)點

為 Chainlink 節(jié)點提供可監(jiān)聽的事件暇务,同時負責廣播 Chainlink 節(jié)點的數(shù)據(jù)寫入交易。

數(shù)據(jù)的請求和寫入

Chainlink 使用了請求響應(yīng)模式怔软,即當客戶端發(fā)起一個請求后垦细,Chainlink 接收請求,執(zhí)行外部數(shù)據(jù)功功能挡逼,并將數(shù)據(jù)寫回鏈上括改。

當前的 Chainlink 主要構(gòu)建在以太坊網(wǎng)絡(luò)上。請求響應(yīng)機制需要在以太坊網(wǎng)絡(luò)上部署「客戶端合約」和「Oracle 合約」家坎≈瞿埽客戶端合約用于數(shù)據(jù)請求的發(fā)起和數(shù)據(jù)結(jié)果的消費;Oracle 合約會產(chǎn)生請求事件虱疏,供 Chainlink 進行監(jiān)聽惹骂,同時也作為 Chainlink 寫回數(shù)據(jù)的中轉(zhuǎn)站。

交易過程

交易過程如上圖所示:

  1. 發(fā)起數(shù)據(jù)請求到客戶端合約

  2. 客戶端合約向 Oracle 合約發(fā)起調(diào)用做瞪,Oracle 合約接受交易后產(chǎn)生事件

  3. Chainlink 監(jiān)聽到 Oracle 合約產(chǎn)生的事件对粪,進行外部數(shù)據(jù)獲取,并將數(shù)據(jù)寫回鏈上

  4. 數(shù)據(jù)通過 Oracle 合約寫入客戶端合約

最終装蓬,客戶端合約中的數(shù)據(jù)更新為本次請求獲得的最新數(shù)據(jù)結(jié)果著拭。

多數(shù)據(jù)聚合

上節(jié)介紹的請求響應(yīng)過程只有一個 Oracle 合約和一個外部數(shù)據(jù)源,這時并不能完全保證數(shù)據(jù)的準確性和可靠性牍帚。為了獲得更高的準確性和可靠性儡遮,可以使用更強大的多數(shù)據(jù)源客戶端。

連接多個 Oracle

多數(shù)據(jù)源客戶端也是以太坊上的一個智能合約履羞,相比普通客戶端峦萎,它的一次交易會向多個 Oracle 合約發(fā)起請求,每個 Oracle 合約都會產(chǎn)生各自的事件忆首。通常爱榔,一個 Oracle 合約代表著一個數(shù)據(jù)提供者,每個 Oracle 合約之后的數(shù)據(jù)提供者監(jiān)聽到事件后糙及,各自去獲取不同的外部數(shù)據(jù)详幽,數(shù)據(jù)提供者將數(shù)據(jù)回寫到自己的 Oracle 中。最終,會有多條數(shù)據(jù)結(jié)果匯聚到客戶端合約唇聘。

在多數(shù)據(jù)源客戶端合約版姑,我們可以編寫一系列的聚合規(guī)則。比如:收到多個數(shù)據(jù)后去掉異常值迟郎,計算剩余數(shù)據(jù)的均值作為結(jié)果剥险。合約的聚合規(guī)則可以靈活定制,想要向哪些數(shù)據(jù)提供者發(fā)起請求也可以進行配置宪肖。

Chainlink 對數(shù)據(jù)提供者有一套的罰沒機制表制,并希望構(gòu)建強大的聲譽系統(tǒng)對數(shù)據(jù)提供者進行評估。這些功能將在 Chainlink 節(jié)點上實現(xiàn)控乾,新的功能還在不斷的開發(fā)和改進中么介,本文不再詳述。


該機制目前較大的缺點可能是成本問題蜕衡,客戶端對每一個 Oracle 的請求都會收取 0.1 的 LINK 幣作為費用壤短,多個 Oracle 聚合時成本較高;同時請求響應(yīng)模式也有一定的延遲慨仿,從請求發(fā)出到數(shù)據(jù)寫回通常需要經(jīng)過幾個區(qū)塊的間隔久脯;最后一點缺憾是不同的客戶端請求同一個數(shù)據(jù)會造成同一數(shù)據(jù)重復(fù)寫入?yún)^(qū)塊,造成一定的資源浪費镶骗。

不論如何桶现,Chainlink 創(chuàng)建了一種智能合約主動獲取鏈外數(shù)據(jù)的機制,這些鏈外數(shù)據(jù)幾乎可以來自任何數(shù)據(jù)源鼎姊。同時骡和,Chainlink 提供了一種去中心化的解決方案(多個 Oracle 的聚合),提高數(shù)據(jù)準確性和可靠性相寇。

打破邊界

任何的數(shù)據(jù)源慰于,不管是來自互聯(lián)網(wǎng),API 產(chǎn)生的行情唤衫、新聞婆赠、輿論數(shù)據(jù);還是各種物聯(lián)設(shè)備佳励,使用傳感器獲取的定位休里、速度、溫度赃承、照片妙黍,人類的心跳、血壓瞧剖;不管是任何數(shù)據(jù)實體拭嫁、物理對象乃至智能設(shè)備采集的人類體征可免,都可以借助預(yù)言機發(fā)送到智能合約,創(chuàng)建出由數(shù)據(jù)驅(qū)動的智能合約做粤。

支付浇借、交易、保險怕品、治理妇垢、游戲所有的一切都在使用傳統(tǒng)賬本理念,它們都通過中心化的價值協(xié)商進行價值交換肉康。為了保證賬本準確性修己,保證整個價值交換系統(tǒng)的可靠性,我們耗費了大量的資源去構(gòu)建復(fù)雜的規(guī)則迎罗,以求解決多方的沖突和糾紛。這套傳統(tǒng)機制的效率或許已經(jīng)接近極限片仿,其效用幾乎達到了最大化纹安,最終所產(chǎn)生的摩擦仍舊消耗著巨大資源。打破邊界砂豌,使用區(qū)塊鏈的共識機制厢岂,借助預(yù)言機和智能合約,我們或許可以創(chuàng)建一個互聯(lián)阳距、安全塔粒、數(shù)據(jù)驅(qū)動的全新價值交換體系,在一個新起點之后筐摘,或許會少一些沖突和糾紛卒茬,釋放更多的創(chuàng)造力。

預(yù)言機打破了區(qū)塊鏈和外部世界的邊界咖熟,將區(qū)塊鏈可靠的驗證和計算能力賦能更多應(yīng)用圃酵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市馍管,隨后出現(xiàn)的幾起案子郭赐,更是在濱河造成了極大的恐慌,老刑警劉巖确沸,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捌锭,死亡現(xiàn)場離奇詭異,居然都是意外死亡罗捎,警方通過查閱死者的電腦和手機观谦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宛逗,“玉大人坎匿,你說我怎么就攤上這事。” “怎么了替蔬?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵告私,是天一觀的道長。 經(jīng)常有香客問我承桥,道長驻粟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任凶异,我火速辦了婚禮蜀撑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘剩彬。我一直安慰自己酷麦,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布喉恋。 她就那樣靜靜地躺著沃饶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轻黑。 梳的紋絲不亂的頭發(fā)上糊肤,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音氓鄙,去河邊找鬼馆揉。 笑死,一個胖子當著我的面吹牛抖拦,可吹牛的內(nèi)容都是我干的升酣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼态罪,長吁一口氣:“原來是場噩夢啊……” “哼拗踢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起向臀,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤巢墅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后券膀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體君纫,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年芹彬,在試婚紗的時候發(fā)現(xiàn)自己被綠了蓄髓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡舒帮,死狀恐怖会喝,靈堂內(nèi)的尸體忽然破棺而出陡叠,到底是詐尸還是另有隱情,我是刑警寧澤肢执,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布枉阵,位于F島的核電站,受9級特大地震影響预茄,放射性物質(zhì)發(fā)生泄漏兴溜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一耻陕、第九天 我趴在偏房一處隱蔽的房頂上張望拙徽。 院中可真熱鬧,春花似錦诗宣、人聲如沸膘怕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淳蔼。三九已至,卻和暖如春裁眯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讳癌。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工穿稳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晌坤。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓逢艘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親骤菠。 傳聞我的和親對象是個殘疾皇子它改,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355