以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 比特幣 > Info

區塊鏈:再談預言機:Oracle如何重新定義智能合約?

Author:

Time:1900/1/1 0:00:00

而在本期專欄中,作者將詳細解釋

預言機是如何實現

「把現實世界中的數據以交易的形式記錄在區塊鏈上」

這一功能的?

「N3預言機有哪些問題亟需解決?」?

快來一起來看看吧??

制約區塊鏈發展的一個重要因素是落地,也就是把區塊鏈技術用于現實生活中。為此我們就需要不停地設想各種可能需要用到區塊鏈的場景,比如游戲,比如發票,比如非同質化通證。可是這些場景依然很單薄,完全不能支持大家對區塊鏈技術的期望,更無法發揮區塊鏈技術的實力。就好像現在的5G技術,空有一身本領,到頭來大家只是用來做Speedtest。

但是為什么我們無法找到更多適合區塊鏈的場景呢?因為區塊鏈技術太封閉,為了安全,區塊鏈只信任自己鏈上的數據,不接受鏈外的數據流,比如UTXO全是鏈上的交易構造的,比如Neo Legacy里的智能合約執行的時候只能通過少數接口獲取鏈上的數據。所以想跟區塊鏈打交道,那么你的場景里就不能有對外界信息的依賴。但是現實世界中大多場景都需要大量的信息交互,你打開手機,哪有應用不需要聯網的。

以太坊非零地址數創歷史新高:金色財經報道,Glassnode數據顯示,以太坊非零地址數達103,252,724,創歷史新高。[2023/7/24 15:54:03]

比如訂票軟件,你需要實時的機票余票信息和價格信息。

比如交易軟件,你需要物價信息。

比如快遞軟件,你需要最新的物流信息。

很無奈,這些都沒辦法用區塊鏈去做。

因此,為了拓寬區塊鏈的應用場景,充分發揮區塊鏈的潛力,可以給區塊鏈投喂鏈外數據流的交互方式——預言機,應運而生。預言機就是一個可以把現實世界中的數據以交易的形式記錄在區塊鏈上的機制。熟悉計算機的小伙伴可以把預言機理解成一個現實世界和區塊鏈之間的巨大cache。由于現實世界的數據在語義上與區塊鏈是存在巨大的gap的,比如現實世界的數據可能會實時變化,可能有多個數據源,可能需要復雜的計算或者轉換,這些都無法在區塊鏈共識的過程中解決,否則不同的共識節點在驗證交易的時候可能獲取到的數據都不同,但是如果共識節點不從現實世界直接取數據,而是從“cache”里取,那么就可以保證各個節點在驗證交易時輸入數據的一致性。因此需要在將數據寫入區塊鏈之前,有一個處理數據的過程,把數據處理成區塊鏈可以接受的形式,比如把實時數據取樣出一個當前的固定數據。

CertiK:YogaPetz項目Discord服務器已被入侵:金色財經消息,據CertiK監測,YogaPetz項目Discord服務器已被入侵。在團隊確認他們已經恢復服務器的控制權之前,請勿點擊任何鏈接。[2023/4/1 13:38:55]

預言機的實現大致有三種,一種是中心化的第三方,第二種是可信的數據提供方,第三種則是去中心化的基于共識機制的預言機。在N3中則是因地制宜地使用了拓展性更好的去中心化預言機機制。

根據文檔,N3是指定一些預言機節點來對交易的數據請求結果進行共識,以此來避免可能存在的預言機偽造數據問題。流程是:用戶發起交易,在交易里觸發智能合約里的預言機請求,這個請求的本質其實是調用N3內置的原生預言機合約里的request方法:

<summary>

JOE24小時漲超30%,現報價0.498美元:3月27日消息,行情數據顯示,DEX項目Trader Joe協議Token JOE24小時漲超30%,現報價0.498美元。

此前報道,Trader Joe在Arbitrum鏈上TVL已突破2400萬美元,創歷史新高。[2023/3/27 13:28:50]

創建 Oracle Request 請求數據

</summary>

<param name="url">訪問資源路徑,最大長度為 256 字節.</param>

<param name="filter">過濾器,用于在從數據源返回的結果中過濾出有用信息</param>

<param name="callback">回調函數方法名</param>

SBF:Alameda在提交破產申請時對FTX的負債約為100億美元:金色財經報道,FTX前首席執行官Sam Bankman-Fried在接受金融時報采訪時表示,與FTX的其他客戶相比,Alameda Research獲得了更高的借款限額。大量借款限額源于Alameda在成立時作為FTX流動性主要提供者的角色,當時其他金融集團還沒有表現出興趣。SBF沒有具體說明與其他客戶相比限制有多大,但指出在FTX成立后這些限制有可能繼續存在。

此外,SBF表示,Alameda在提交破產申請時對FTX的負債約為100億美元。[2022/12/4 21:20:41]

<param name="userData">用戶自定義數據</param>

<param name="gasForResponse">回調函數執行預付款</param> 

Ripple:拉丁美洲人最看好加密貨幣:金色財經消息,根據區塊鏈公司Ripple的一項研究,拉丁美洲的居民最傾向于數字資產行業。50%的受訪者認為該行業將對金融系統造成重大影響,而74%的人更愿意與接受加密貨幣的企業進行交易。另一方面,歐洲人對體驗比對數字和實物資產更感興趣。

Ripple的分析確定,拉丁美洲和中東是加密貨幣最受關注的地區,而歐洲則墊底。(cryptopotato)[2022/7/17 2:18:08]

void Request(string url, string filter, string callback, object userData, long gasForResponse);

原生合約會根據參數構建一個請求,然后預言機節點根據請求來獲取數據,在預言機節點完成數據采集之后,會生成一個新的交易并在交易里調用用戶合約里的回調函數。所以觸發一次N3的預言機,將會有兩筆交易被寫入到區塊鏈里,一筆是觸發預言機,另一筆是回調。這樣通過URL機制將數據源的選擇權交給合約開發者或者數據調用者,進而規避了預言機本身對數據源的信任問題,異步回調機制則解決了智能合約調用預言機延遲過大的話可能會Block掉共識過程的問題。

按照這個邏輯,理論上如果我們要觸發預言機,那么在調用預言機之后就應該會終止當前合約的執行,所以在一個合約方法里寫在觸發預言機語句之后的代碼應該是不會執行的。不過這里由于一些環境配置問題,我還沒辦法做驗證。

預言機雖然被定義為用來獲取數據的工具,但是其實預言機也可以用來做一些比較迷的操作。因為調用預言機這個過程,實質上跟異步調用別的合約沒有什么太大的區別,甚至N3里就是把預言機內置為一個原生合約。這就意味著,我們可以把預言機作為一個智能合約的外掛接口,把一些原本應該寫入智能合約的邏輯寫入在合約之外。比如計算量非常大的任務,我們就可以把任務通過預言機發到鏈外,然后在鏈外執行再返回結果。再比如一些我們想隱藏起來的邏輯,比如隨機數生成算法,也可以通過預言機把這部分功能遷移到鏈外。

N3預言機系統現存問題

雖然N3原生的預言機系統很好很強大,依然有一些問題沒有能夠完美解決:

N3的預言機作為分布式系統,其處理變化頻率過快的數據比較麻煩。比如比特幣的價格,基本上是實時變化的,因此不同的預言機節點在獲取比特幣價格的時候,很可能不同的節點獲取到的價格就有零點零幾的不同,從而導致預言機共識失敗。雖然這也可以通過用戶優化數據格式在一定程度上解決。

預言機系統是一個異步回調系統,再加上存在共識過程,因此其獲取到的數據相較于觸發交易來說存在較大的延遲。比如你當前看著機票的價格很低,然后立即發送一筆交易到鏈上,你的交易立即得到的了執行,這卻并不意味著你能獲取到的價格就是交易執行時的價格,畢竟預言機的回調交易并不是和你的觸發交易同步發生的。

還有一個比較大的問題是數據源的可信程度,我們允許用戶通過預言機將鏈外的數據引入到鏈內,這在相當大的程度上將鏈外的不可信因素引入到了區塊鏈。以前攻擊區塊鏈就只能攻擊區塊鏈節點本身,這個過程由共識協議來保護。可是當我們引入了預言機后,攻擊區塊鏈的方式就變得多樣了,因為黑客可以通過攻擊合約里指定的預言機數據源來將攻擊的影響輻射到區塊鏈里。此外,不可靠的合約開發者也可能通過預言機機制在智能合約里引入不可知的后門,畢竟通過預言機調用的部分功能并沒有寫入在區塊鏈里,因此不可靠的開發者完全可以在神不知鬼不覺的情況下更改系統邏輯。

最后還有一個問題是數據的冗余。我在前文中提到預言機的功能類似于在區塊鏈和數據源之間加了一層數據緩存以保證數據的可信。可是實際上這個緩存只是我抽象出來便于大家理解的,實際上N3的預言機在處理數據的時候并不會像緩存那樣對數據進行保存以便于后續的請求。相反的,N3的預言機請求只跟用戶發起的觸發交易相關,用戶發起了多少筆觸發交易,就會有多少對應的預言機請求,即使在同一個區塊內有許許多多的交易都在請求同一個數據,這樣就難免導致預言機寫入大量的冗余到區塊鏈上。

以上。

Tags:區塊鏈ARAQUORAM區塊鏈是什么工作Karatgold CoinQUO價格TRAMSV1幣

比特幣
BAS:波卡生態的引渡人:TrustBase

【項目定位】:基于獨立智能合約語言Subscript的波卡平行鏈【項目簡介】:TrustBase是基于Substrate框架的波卡平行鏈,由德國團隊自主開發Subscript智能合約語言.

1900/1/1 0:00:00
EFI:又一項目將加入波卡生態 或將迎來新的價值賽道

<img ?src="https://img.jinse.com/4796844_image3.

1900/1/1 0:00:00
DET:Dether:構建世界加密貨幣個人和商店生態系統

加密貨幣不僅僅是一種簡單的數字貨幣,它還提供了很多有前途的機遇。區塊鏈使任何人都能訪問和去中心化應用程序(dApps) 和智能合約進行交互.

1900/1/1 0:00:00
CON:捕獲獨角獸公司增長潛力?DeFi資產協議Convergence了解一下

Convergence 協議及封裝證券資產允許 DeFi 用戶投資傳統金融資產,同時將 DeFi 的流動性、透明度和高效率帶到真實世界資產中.

1900/1/1 0:00:00
區塊鏈:以太坊2.0前夜 Near的彩虹橋在下一盤怎樣的大棋?

BTC納入以太坊DeFi生態的努力剛剛有所成效,DeFi卻步入了尷尬的瓶頸期。糟糕的網絡擁堵和高企的gas費用,讓很多忠實的用戶望而卻步.

1900/1/1 0:00:00
DEF:讀懂「加密結構化產品」 Ribbon Finance

在過去的 2020 年,我們見證了令人難以置信的 DeFi 創新,親歷了 DeFi 世界的爆炸式增長.

1900/1/1 0:00:00
ads