一、Chainlink 預言機數據調研
以BTC/USD 數據聚合器為例,如圖所示:
該聚合器的官方說明如下:
聚合器合約地址:0xF5fff180082d6017036B771bA883025c654BC935
當前有21 個Chainlink 節點在提供往預言機合約上傳數據;
至少採用了其中9 個節點的數據,通過一個快速選擇算法得出一個值得信賴的價格,寫入聚合器合約中;
當鏈下價格波動超過1% 時,預言機節點會主動向預言機提交新的價格數據,進而更新聚合器合約中的數據;
每隔 3600 秒(1小時),聚合器合約就會主動調用預言機來獲得新的價格數據;
每個數據的聚合器至少需要 9 個預言機節點響應才能計算可信答案;
接下來我們來查看BTC/USD 聚合器的鏈上數據:
打開Etherscan 瀏覽器:
https://cn.etherscan.com/address/0xf5fff180082d6017036b771ba883025c654bc935
通過鏈上合約交易記錄,我們可以看到每 60 分鐘會有一筆聚合器合約觸發的交易產生。
查看其中一筆交易詳情:
https://cn.etherscan.com/tx/0x0be039690d263302ce5efbfdcf11bc3e333ed65c4d32dcc8f6a7633f7a8e30e1
可以看到,這筆交易內一共包含了 21 筆LINK 轉賬交易,向21 個節點進行預言機費用支付,每個節點支付 1 LINK。
從聚合器合約的ERC20 交易記錄中也可以看到這些交易記錄:
正常情況下,預言機節點獎勵的LINK 費用應該由Chainlink 預言機調用者去支付,但不知這裡發生了什麼,產生了確定性的周期性支付。簡單計算,單獨只是BTC/USD 這一項數據,每天需要向Chainlink 預言機節點支付:24*3*21*1 = 1512 LINK。
除了BTC/USD 這項數據外,我們還查看了ETH/USD 聚合器的相關鏈上數據,也是每隔20 分鐘進行一次數據聚合,參與聚合的節點也是21 個,不同的是每次每個節點獎勵是0.333 LINK,每天需要向Chainlink 預言機節點支付:24*3*21*0.333 = 504 LINK。像BTC/USD 這樣的數據項,在Chainlink 節點內置的核心聚合器中至少有27 個,每天向節點支付的LINK 費用可想而知是個不小的數字。疑問 :誰在為此買單?
除了官方節點默認的核心聚合器外,Chainlink 預言機還支持第三方開發者自定義創建自己需要的數據聚合器,目前暫無該類聚合器的鏈上數據。
經過我們上面的分析,可以看到Chainlink 節點每天都能獲得大量的LINK 獎勵,那麼怎麼才能成為節點呢?
(Chainlink 官方認證節點)
按照Chainlink 官方給出的說明,任何人都可以運行一台服務器去成為預言機節點,參與預言機鏈下數據聚合。但實際情況並非如此,由於Chainlink 預言機節點還沒有上線LINK 抵押機制和聲譽系統,所以要想成為節點,必須通過官方的商務渠道進行申請;而且只有機構才有資格參與,不接受個人申請。 (這一點與“去中心化預言機”本質相悖)
二、NEST 預言機數據調研
有別於Chainlink 信譽節點餵數據的預言機方案,NEST 預言機定義並實現了一種全新的在區塊鍊網絡上生成鏈上價格事實的機制;其採用市場博弈理論,通過礦工報價的方式將鏈下市場的價格事實同步產生於鏈上,並結合NEST 挖礦機制,對報價礦工進行激勵,使其成為一套邏輯閉環的分佈式報價系統,完美的將鏈下價格事實同步在鏈上生成出來,形成NEST 預言機價格數據。
以USDT/ETH 價格數據為例:
報價合約地址:0x4f391c202a906eed9e2b63fdd387f28e952782e2
報價礦工報價:USDT/ ETH 市場價格為P
最小報價規模:10 ETH + (10 * P)USDT
報價合約生命週期:25 個以太坊區塊(5分鐘左右)
報價礦工:分佈式的NEST 預言機報價參與者
當前報價頻率:40 個區塊一次(每隔40 個區塊左右會有一筆或者多筆報價交易產生)
接下來我們來查看USDT/ETH 報價合約的的鏈上數據:
打開Etherscan 瀏覽器:
https://cn.etherscan.com/address/0x4f391c202a906eed9e2b63fdd387f28e952782e2
通過鏈上合約交易記錄,我們可以看到每隔 7~10 分鐘會有一筆或多筆報價交易產生。
我們查看其中一筆交易詳情:
https://cn.etherscan.com/tx/0xafd7462a77259bc959f4f3067d54f837cb60ac7fd211473af580e6d56f71e805
我們可以看到這筆報價交易中涉及到的報價資產有:10.1 ETH 和1410.09 USDT,其中0.1 ETH 是報價挖礦手續費。我們可以計算出這位報價礦工給出的USDT/ ETH 市場報價為:141.009 USDT (報價時間:2020.03.24 16:30)
我們查看一下這位報價礦工“取回報價資產”的交易詳情:
https://cn.etherscan.com/tx/0x877275c158ee2c171d49a6b098700a13204775a19426b56ed1fa27d86561f38f
這位NEST 預言機報價礦工在25 個區塊之後,成功取回了自己報價資產:10 ETH + 1410.09 USDT,順利完成報價。 (沒有被吃單,說明該報價能夠代表市場公允價格)
通過NEST DAPP(前端報價工具)可以參與NEST 預言機的報價操作:
(任何人都可以參與NEST 預言機報價)
此外,這筆報價挖出了16200 NEST,其中這位報價礦工得:16200 * 80% = 12960 NEST。 (這就是NEST 預言機報價挖礦獎勵機制)
通過NEST DAPP(前端報價工具),我們可以看到NEST 預言機輸出的USDT / ETH 歷史價格走勢:
通過對NEST 預言機鏈上價格數據的分析,我們得到了一張描繪NEST 預言機報價頻率的走勢圖:
Y 軸為報價交易之間的區塊間隔數量,我們可以發現當前的NEST 預言機報價間隔區塊大概為 40 個區塊左右(8.5分鐘)。
三、總結分析
從鏈上數據來看,NEST 預言機表現更好;在抗攻擊性層面,由於Chainlink 還未上線聲譽系統和LINK 抵押機制,所以在這個方面是有缺失的,而NEST 預言機的報價驗證機制具備天然的抗攻擊性;就市場影響力來看,Chainlink 合作夥伴更多,知名度更大。
作為Oracle 賽道已經落地應用的預言機項目,無論是Chainlink 還是NEST 預言機,都正處在一個高速發展的階段,推動著DeFi 產業的大規模商業化應用。 Chainlink 團隊背景宏大,擅長市場PR 與合作;而NEST 預言機則立足本質,堅守去中心化基本原則;雖然它們剛剛經歷一場加密貨幣價格閃崩的大考,但真正的市場歷練才剛剛開始…