區(qū)塊鏈技術(shù):Pyth新聚合算法的完整介紹
在Pyth,我們一直在研究一種新算法,用于將發(fā)布者的價格數(shù)據(jù)合并為一個聚合價格數(shù)據(jù),我們希望在發(fā)布之前與社群分享以獲取意見回饋。
提供一些背景,Pyth 是一個預(yù)言機,它發(fā)布每個Solana 插槽上每個產(chǎn)品的聚合價格和信賴區(qū)間。Pyth 程序通過聚合各個發(fā)布者提交的價格和信賴區(qū)間來計算鏈上的價格。例如: 一個發(fā)布者可能會說BTC/USD 的價格是$52000 ± 10,而另一個發(fā)布者說它是$53000 ± 20,而Pyth 可能會將這兩個價格合并為$52500 ± 500 的總價。這篇文章是對于最后聚合的步驟提出了一種新的聚合算法。
目標(biāo)
我們希望Pyth 的聚合算法具有三個屬性。首先,它應(yīng)該對發(fā)布者的操縱— 無論是無意的還是有意的— 都具有強大的抵抗力。如果大多數(shù)發(fā)布者提交的價格為100 美元,而一個發(fā)布者提交的價格為80 美元,則總價格應(yīng)保持在100 美元附近,并且不會受到單一外圍價格的過度影響。此屬性可確保Pyth 價格保持準(zhǔn)確,即使少數(shù)發(fā)布者提交的價格遠(yuǎn)離市場。這種情況如下圖(a) 所示。
聚合過程的情況。較低的細(xì)條代表每個發(fā)布者的價格和信賴區(qū)間,粗體紅色條代表我們直覺上希望總價格和信賴值的位置。
其次,聚合價格應(yīng)適當(dāng)加權(quán)不同準(zhǔn)確度的數(shù)據(jù)源。Pyth 允許發(fā)布者提交信賴區(qū)間,因為他們在觀察產(chǎn)品價格時具有不同的準(zhǔn)確度。例如: 美國股票交易所有不同程度的流動性,流動性較差的交易所比流動性較高的交易所的買賣價差更大。此屬性可能導(dǎo)致以下情況:一個交易所報告的價格為101 +- 1 美元,而另一個交易所報告的價格為110 +- 10 美元。在這些情況下,我們希望總價格更接近101 美元而不是110 美元。這種情況如下圖(b) 所示。
最后,聚合信賴區(qū)間應(yīng)反映發(fā)布者價格之間的差異。實際上,任何給定的產(chǎn)品都沒有單一的價格。在任何特定時間,每種產(chǎn)品在世界各地的不同場所以略有不同的價格交易。此外,如果交易者立即買賣產(chǎn)品,他們將獲得不同的價格。我們希望Pyth 的信賴區(qū)間能夠反映這些在不同場所的價格差異。圖)(c) 和(d) 描繪了兩種不同的情況,其中交易所之間存在價格差異。
聚合算法
我們設(shè)計了一個聚合算法來獲得這三個屬性。算法的第一步是通過給每個發(fā)布者三票來計算總價格— 價格一票,價格加上和減去他們的信賴區(qū)間一票— 然后取投票的中位數(shù)。第二步計算從聚合價格到投票的第25 個和第75 個百分位數(shù)的距離,然后選擇兩者中較大的作為總信賴區(qū)間。
這個簡單的算法有一些令人驚訝的特性:計算總價格的過程實際上是普通中位數(shù)的一般化。大多數(shù)人將中位數(shù)理解為數(shù)據(jù)的中間值,即第50 個百分位數(shù)。然而,中位數(shù)也是最小化目標(biāo)函數(shù)∑? |R — p?| 的R 值,其中p? 是每個發(fā)布者的價格。此函數(shù)根據(jù)R 與發(fā)布者價格p? 的距離來懲罰R。Pyth 的算法透過最小化?Σ?|R — p?| + ?Σ? max(|R — p?| — c?, 0) 計算聚合的R價格,其中c? 是發(fā)布者的信賴區(qū)間。這個算法將普通中位數(shù)與第二項相結(jié)合,如果R 位于發(fā)布者的信賴區(qū)間之外,則僅對R 進(jìn)行懲罰。這個算法鼓勵聚合價格R 不僅接近發(fā)布者的價格,而且在他們的信賴區(qū)間內(nèi)。(有一個簡單證明投票方案和最小化這個算法之間的等價性,我們將留給讀者。)
我們可以將兩個算法視覺化以了解它們之間的區(qū)別:
左邊是應(yīng)用價格p?= 0 也就是|R| 的普通中位數(shù)的算法。右邊是Pyth的算法?|R| + ?max(|R| — c?, 0) 描述了各種信賴區(qū)間c? 的選擇。信賴區(qū)間的寬度決定了曲線中拐點的位置— 隨著區(qū)間的擴大,拐點從0 開始移動得更遠(yuǎn)。兩個拐點之間的區(qū)域相對于中位數(shù)減少了懲罰。
一般化的中位數(shù)具有我們想要的前兩個屬性。它對異常值具有穩(wěn)定性,因為普通中位數(shù)對異常值具有穩(wěn)定性。(很容易看出中位數(shù)是穩(wěn)健的— 無論第99 個百分位數(shù)的值是多少,數(shù)據(jù)的第50 個百分位數(shù)都保持不變。)此外,其信賴區(qū)間調(diào)整考慮了不同數(shù)據(jù)源的準(zhǔn)確性。
我們可以在上面的場景中視覺化這個算法,如下所示:
上圖將算法描繪為一條紅線。這個算法的最佳值是在紅點上,它是聚合價格的位置。每個發(fā)布者對算法的貢獻(xiàn)用灰色虛線表示。因此,灰色虛線函數(shù)的總和是紅色線算法。最左邊的圖顯示了算法的穩(wěn)健性,第二張圖顯示了信賴區(qū)間更窄的發(fā)布者如何對總價格的位置施加更大的影響。在第三張和第四張圖中,算法給出的結(jié)果與普通中位數(shù)相似。
聚合算法的第二步是計算圍繞聚合價格的信賴區(qū)間。Pyth 的聚合信賴區(qū)間可以被視為一般化四分位間距,這是數(shù)據(jù)分散的標(biāo)準(zhǔn)度量。四分位間距通常定義為第25 和第75 個百分位數(shù)之間的距離。我們修改了這個定義,取聚合價格與第25 個或第75 個百分位數(shù)之間距離的最大值,以產(chǎn)生一個圍繞聚合價格對稱的信賴區(qū)間。此外,Pyth 不使用價格的四分位間距,而是使用發(fā)布者??票數(shù)的四分位間距。這種修改既考慮了發(fā)布者的信賴區(qū)間的寬度,也考慮了發(fā)布者聚合價格之間的任何差異。
將所有內(nèi)容放在一起,下圖顯示了完整算法在我們四個情況中的行為:
紅點表示使用中位數(shù)算法計算的聚合價格,相應(yīng)的粗紅線表示聚合信賴區(qū)間?;疑珗A圈代表票數(shù)的第25 個和第75 個百分位數(shù)— 距離聚合價格較遠(yuǎn)的百分位數(shù)決定聚合信賴區(qū)間的寬度。圖中的其他元素與上圖中的元素相同。第三張圖顯示聚合信賴區(qū)間考慮了發(fā)布者的信賴區(qū)間,第四張圖顯示了它考慮了發(fā)布者之間的價格差異。
理論分析
除了產(chǎn)生直觀合理的結(jié)果外,此算法還具有很好的理論特性。在兩種限制情況下,聚合價格保證等于普通中位數(shù):
發(fā)布者發(fā)布相同的價格,但具有不同寬度的信賴區(qū)間。在這種情況下,票數(shù)將被排序,使得底部33% 由價格減去信賴區(qū)間組成,頂部33% 由價格加上信賴區(qū)間組成。票數(shù)的中位數(shù)等于第33–66 個百分位數(shù)的中位數(shù),即發(fā)布者價格的普通中位數(shù)。這種情況可以在上面左邊數(shù)來第三張圖中看到。發(fā)布者發(fā)布具有非重疊信賴區(qū)間的不同價格。在這種情況下,單個發(fā)布者的所有票數(shù)將在排序列表中并列,我們可以將它們視為個體票數(shù)。因此,Pyth 的聚合價格降低到發(fā)布者價格的中位數(shù)。上面左邊數(shù)來第四幅圖中描述了這種情況。
此外,即使我們不在這些情況中,我們也可以證明聚合價格永遠(yuǎn)不會與對比的普通中位數(shù)相差太遠(yuǎn)。也可以更進(jìn)一步解釋成,聚合價格將始終位于發(fā)布者價格的第25–75 個百分位數(shù)內(nèi)。這種穩(wěn)健性意味著只要少于25% 的發(fā)布者是錯誤的,他們就無法完全確定聚合價格的位置。(請注意,普通中位數(shù)會給你更有利的保證,50% 而不是25%。這些界限之間的差異是由于某些發(fā)布者的信賴區(qū)間較寬而其他發(fā)布者在該區(qū)間內(nèi)移動價格的情況。在這種情況下,我們實際上希望更嚴(yán)格的發(fā)布者有更大的影響力?。?/p>
請注意,此文章的所有結(jié)果都適用于發(fā)布者在計算中具有不同權(quán)重的情況。我們正在為發(fā)布者開發(fā)一個質(zhì)押系統(tǒng),以獎勵他們提供準(zhǔn)確的數(shù)據(jù),在此系統(tǒng)中,每個發(fā)布者將擁有不同數(shù)量的份額。如果我們簡單地將發(fā)布者的百分比替換為權(quán)重的百分比,則所有結(jié)果也適用于質(zhì)押權(quán)重。
結(jié)論
這就是Pyth 的新聚合算法的完整介紹。算法本身很簡單。每個發(fā)布者提交一個價格p? 和信賴度c_i,我們用它來為發(fā)布者p? — c?、p?、p? + c? 產(chǎn)生三票。所有票數(shù)的中位數(shù)就是聚合價,而圍繞聚合價對稱的第25–75 個百分位數(shù)是聚合信賴區(qū)間。此算法是普通中位數(shù)的信賴度調(diào)整變數(shù),可產(chǎn)生直觀的結(jié)果并具有可靠的理論特性。
以上就是區(qū)塊鏈技術(shù):Pyth新聚合算法的完整介紹的詳細(xì)內(nèi)容,更多關(guān)于Pyth新聚合算法介紹的資料請關(guān)注腳本之家其它相關(guān)文章!
你可能感興趣的文章
-
什么是ReadON?Web3內(nèi)容聚合器ReadON怎么玩?
這篇文章主要介紹了什么是ReadON?Web3內(nèi)容聚合器ReadON怎么玩?的相關(guān)資料,需要的朋友可以參考下本文詳細(xì)內(nèi)容介紹…
2023-02-02 -
DEX聚合器是什么意思?通俗解釋DEX聚合器詳細(xì)介紹
這篇文章主要介紹了DEX聚合器是什么意思?通俗解釋DEX聚合器詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下本文詳細(xì)內(nèi)容介紹…
2022-12-07 -
收益聚合器是什么意思?收益聚合器提供的收益從何而來?
這篇文章主要介紹了收益聚合器是什么意思?收益聚合器提供的收益從何而來?的相關(guān)資料,很多投資者小白不清楚收益聚合器是什么意思,接下來小編就給大家通俗的講解一下收益聚…
2021-08-23 -
DeFi中聚合器是什么意思?DeFi 聚合器帶來什么好處?
這篇文章主要介紹了DeFi中聚合器是什么意思?DeFi 聚合器帶來什么好處?所謂DeFi,代表了整個去中心化金融領(lǐng)域,而DeFi的生態(tài)流量入口則是聚合器,那么,DeFi中聚合器是什…
2021-04-12 -
DeFi聚合器什么意思?DeFi聚合器帶來什么好處?
這篇文章主要介紹了DeFi聚合器什么意思?DeFi聚合器帶來什么好處?其實所謂DeFi,代表了整個去中心化金融領(lǐng)域,而DeFi的生態(tài)流量入口則是聚合器,那么,DeFi中聚合器是什么意…
2021-04-09 -
科普:什么是聚合交易?其運作原理和優(yōu)勢有哪些?
這篇文章主要介紹了科普:什么是聚合交易?其運作原理和優(yōu)勢有哪些?聚合平臺由于聚合了所有用戶的交易,在原生平臺也就有了更大的交易量,可以成為原生平臺的 VIP 用戶,在…
2021-04-01 -
OkexChain測試:Ofi.Cash聚合收益平臺測試教程
這篇文章主要介紹了OkexChain測試:Ofi.Cash聚合收益平臺測試教程,OFI.cash目前部署在OkexChain測試網(wǎng)中。機槍池挖礦的獎勵分為本幣和OFI兩種獎勵,本幣指用戶存入的幣種,…
2024-11-15 -
哈希運算在區(qū)塊鏈中的作用究竟是什么?
這篇文章主要介紹了哈希運算在區(qū)塊鏈中的作用究竟是什么?的相關(guān)資料,需要的朋友可以參考下本文詳細(xì)內(nèi)容介紹…
2023-03-03 -
虛擬貨幣挖礦什么意思?(計算機算法計算)
這篇文章主要介紹了虛擬貨幣挖礦是什么意思?(計算機算法計算)的相關(guān)資料,需要的朋友可以參考下本文詳細(xì)內(nèi)容介紹…
2022-11-01 -
一文讀懂什么是哈希算法原理和用途
這篇文章主要介紹了一文讀懂什么是哈希算法原理和用途的相關(guān)資料,希望這篇關(guān)于什么是哈希算法原理和用途的文章,能夠幫助到各位投資者對哈希算法有一個更加全面深入的了解…
2021-11-30