區塊鏈預言機(5):預言機原理

BSN研習社發表於2023-01-29

1. 趣鏈預言機架構

預言機一般會作為區塊鏈的一個獨立模組或第三方服務與執行引擎進行互動。預言機只負責資料的可信獲取,不直接參與交易的執行。

undefined

step1.使用者透過合約呼叫的形式(也可以透過特殊的API介面服務等其他方式發起預言機服務請求)發起預言機的服務請求,透過呼叫某個內建合約介面(圖中“預言機服務”介面),告知區塊鏈執行引擎,使用者想要執行一筆含預言機服務的交易。

step2.執行引擎執行過程中檢測到對預言機的服務請求,透過內部通訊元件將它轉發給預言機模組,這個請求裡會封裝請求外部資料來源的一些資訊,如一個Web資料請求,會包含常見的URL、HTTP Headers等資訊。

step3.預言機在收到服務請求後,向外部資料來源發起資料獲取請求,拿到資料後利用交易生成器產生一筆新的內部回撥交易,並對其進行簽名(這一過程會使用TEE等硬體技術保障安全及不可篡改)。

step4. 預言機將這筆回撥交易發向執行引擎,執行對獲取到的資料組織、管理、儲存等一系列操作,至此一個完整的含預言機服務的區塊鏈交易執行流程結束。

2. chainlink

Chainlink 透過在鏈上的智慧合約和鏈下的資料節點,即使用者的智慧合約把請求給鏈上 Oracle 合約,透過鏈下的 API 介面獲得外部資料,更確切的說是外部把資料給鏈上的 Oracle 合約,然後 Oracle 合約再把資料給使用者的智慧合約。

undefined

step1.使用者透過智慧合約向 Chainlink oracle 合約發起資料請求,並且附帶相應的資料需求引數(鏈上),其實也是一筆 LINK 的代幣轉賬,在轉賬事務的 payload 中攜帶有資料請求的引數;

step2.Chainlink 節點組成的網路透過訂閱 Oracle 合約的日誌獲取相關資訊;

step3.Chainlink Core 拆解使用者需求(鏈下);

step4.拆解後的任務由不同的節點透過外部的 API 資料來源完成,獲取資料返回;

step5.返回的資料傳送至 Chainlink Core;

step6.Chainlink Core 將資料再次返回至鏈上的 Chainlink 智慧合約上;

step7.Chainlink 鏈上合約整合資料(利用不同節點提供的資料的機率分配、去除異常值(Outliers)等操作),同時根據最終結果紀錄每一個提供資料的節點聲譽,最終將結果傳送給使用者的智慧合約,完成整個流程。

3. 總結:不論哪種方法,最後都是透過建立一筆交易將資料返回給智慧合約

:) 對讀者提問 : 智慧合約與交易的關係 ?

參考

[1].QTech.預言機-區塊鏈的觸角

版權宣告:本文為CSDN博主「thefist11」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。

原文連結:

https://blog.csdn.net/thefist11cc/article/details/117827668

文章來源: CSDN博主「thefist11」
文章原標題:《 區塊鏈預言機(5)預言機原理

如有侵權請與我們聯絡刪除。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012206/viewspace-2933131/,如需轉載,請註明出處,否則將追究法律責任。

相關文章