深度融資:開源依賴項的預測市場
Elizabeth Yeung 、 Clément Lesaege 、 Devansh Mehta 。特別感謝David Gasquez 、 Eliza Oak和Davide Crapis對草案早期版本的反饋,以及Vitalik Buterin 的最初啟發和廣泛討論。
執行摘要
Deep Funding 使用機器人、模型和交易員網絡來預測開源存儲庫對以太坊的價值(如果由陪審團進行評判)。
目標:任何人都可以向其發送資金以支持以太坊的公鑰,並由基於市場的機制確定對項目的精確分配。
分配機制:機器人、模型和交易員押注某個存儲庫在接受陪審團評判時對以太坊的價值。這些價值將用於分配資金。
界面:上傳一個 CSV 文件,其中最多 128 個 repos 之間的權重加起來為 1。
獎勵:根據預測的準確性和支持預測的金額來賺錢。
解決方案:評委將評估波動性較高或有市場操縱跡象的回購協議,以獲得更高的權重。這些回購協議的權重可以優先於回購協議的市場價值,用於分配機制。
不同之處:早期的深度融資輪次採用簡單的數據科學競賽形式(類似 Kaggle),並向排行榜上的頂級模型頒發獎品。此次的深度融資結構有兩點不同:
模型可以投入資金來支持其提交的結果。投入的資金越多,模型的預測對回購權重的影響就越大。
參與者的支付功能並不依賴於外生獎金,而是取決於市場的流動性、其他參與者為支持其預測而投入的金額以及提交的準確性。
如果模型構建者沒有足夠的資金來支持他們的預測,他們仍然可以參加 Pond 上的數據科學競賽。如果他們想要一個可變獎勵函數,現在除了 Pond 之外,他們還可以在deep.seer.pm上提交模型。
問題陳述
目前存在的可信中立的資助系統擴展性不佳。例如,以太坊分析儀表盤 Grow the Pie 在 Octant 第 8 個週期獲得的資助金額與 Protocol Guild(以太坊上所有共識和執行客戶端的集合)相同。雖然這種對等原則對於規模較小的一次性資助來說可能合理,但當分配數百萬美元的定期資金時,它就變得不可持續了。
如果我們希望去中心化系統中的參與者能夠根據貢獻而不是社交遊戲在龐大的網絡中獲得獎勵,我們就必須設計能夠擴展人類判斷的融資機制,並在支撐以太坊等生態系統成功的複雜項目網絡中分配資金。
概述
應對這一挑戰的一種方法就是深度融資 (Deep Funding ),它由一個加權圖組成,顯示核心以太坊代碼庫及其依賴項之間的相對重要性。其當前版本包含一項數據科學競賽(類似於 Kaggle),開發者需要構建模型來預測每個代碼庫的權重。評委對代碼庫子集評分錯誤率最低的模型,將在整個依賴關係圖中確定其權重。
這篇文章總結了深度融資運作方式的一個關鍵轉變:從一次性競賽(參與者需要為圖表中的每個回購協議提交權重)轉變為一個自動循環的預測市場,參與者可以對自己有信心的答案進行押注。他們實際上是在押注回購協議一旦被評估後的價值。
這有很多好處:
- 它解決了女巫攻擊問題,即建造者有動力提交多個模型,並根據其中準確的一個提交獲得獎勵。
- 它允許參與者進行專門研究,並僅對一部分權重表達自己的觀點。
- 它大大減少了機制的“維護負荷”,使其能夠以更加自動化的方式運行,而無需依賴大量的人工干預。
- 自動重複離散輪次的機制使價值觀保持新鮮和相關性,同時保持機制簡單且可分析。
整體結構是依賴圖中每條邊的市場,該市場根據其被評估的價值進行交易。然後,我們可以使用這些價值在去中心化網絡中分配資金。陪審團會定期抽查 N 個市場,以根據待評估邊的高波動性或外部支付來決定市場結果。這種設計旨在確保價值在網絡發展過程中保持動態性和可擴展性。
目前,一項試點概念驗證正在進行中,涉及 45 個屬於 Protocol Guild、Argot Collective 和 Dev Tooling Guild 的 repos,任何人都可以在這裡對這些 repos 之間的相對價值進行質押。Gitcoin Grants 第 24 輪將新增 45-60 個 repos,並將根據圖表中 repos 的權重分配 35 萬美元的資金。
設計
從高層次來看,新版深度融資分為三個步驟:
繪製依賴關係圖:識別目標生態系統(例如以太坊)中核心項目及其依賴關係的網絡。我們的經驗表明,這並非易事,因為 repo 維護者要麼擔心他們的核心依賴項不存在,要麼擔心存在太多不相關的依賴項。依賴關係圖也是一個動態圖,因此需要制定一個流程來納入新項目並排除舊項目。
我們提出了一種結構,任何人都可以發佈債券,以將新邊納入圖譜。如果新邊未進入市場或評估員評估的前 128 名,則將被削減。同一時間,只有 128 個 repo 可以計入對節點的貢獻並獲得資金,129 個及以上的 repo 的權重將重新分配給 128 個及以下的 repo(假設根據齊普夫定律,最高子節點和最低子節點的權重相差約 128 倍)。市場決定權重:基準利率是圖中每個項目的起始權重。交易者如果認為某個項目的份額被低估或高估,就會買入或賣出。市場會定期對回購的實際權重進行判斷,以此作為市場清算的依據,交易者以此為基準盈利或虧損。這些市場的起始基準利率應經過深思熟慮,以防止流動性損失,併為交易者和維護者錨定回購權重。任何提議將節點加入圖譜的人都必須發行債券,使其基準利率達到前 128 名。
分配獎勵:資金將根據依賴關係圖中邊的現行權重進行分配,而這些權重由市場預測陪審員在評估該邊時獲得的分數決定。如果有人認為某個權重有誤,他們可能會進行反向交易或付費讓陪審團評估該權重。這種評估機制旨在起到威懾作用:瞭解該機制可以被調用應該會降低操縱動機,因此實際付費評估的情況預計會很少見。波動性較高的邊權重也可能引發對其實際價值的調查,陪審員的報酬將來自債券沒收或外部資金。
數據結構
本節本質上是技術性的,介紹了目標節點與其依賴項之間邊的有向圖的符號模式。邊帶有權重標記,表示依賴項之間的信用分配。例如,以太坊可以作為目標節點,而 Grow The Pie、Solidity 等節點與以太坊的關係中帶有加權邊。類似地,Sphinx 也會有一條指向 Solidity 的加權邊,Solidity 是其依賴項之一。請注意,以下描述是具體的實現,有向依賴圖的通用設計可以在附錄中找到。
來源: deepfunding.org
節點:
- 目標節點(
T
):目標節點T
是起點,代表我們想要確定信用分配的生態系統(例如以太坊),以便將資金引導至其關鍵貢獻者。 - 種子節點(項目
S
):種子節點S
是T
的直接依賴項,在以太坊中是軟件存儲庫 URL。 - 子節點(項目
C
):類似地,子節點C
是S
的直接依賴項。
邊緣和權重:
- 邊:此圖中有兩種類型的邊,
T->S
和S->C
,表示節點之間的依賴關係。 - 邊權重:每條邊
X->Y
被賦予一個權重W
,其中W \in [0,1] W ∈ [ 0 , 1 ] 。該權重被解釋為“Y
應得X
的W
功勞(例如 20%)”。- 這裡,保持不變式,使得進入節點的邊上的權重之和必須為 1。如果
{Y_1, Y_2,..., Y_k}
是X
的所有子節點的集合,那麼必須滿足: \sum_{i=1}^{k} W(X\rightarrow Y_i) = 1 ∑ k i = 1 W ( X → Y i ) = 1 。
- 這裡,保持不變式,使得進入節點的邊上的權重之和必須為 1。如果
- 原創性得分:種子節點
S
的原創性得分OS
被解釋為“OS
是歸屬於S
自身工作的功勞份額”。例如,Brave 瀏覽器的原創性得分可能為 0.2,因為它是 Chromium 的一個分支;而 Solidity 的原創性得分可能為 0.8,因為它致力於最小化依賴性。我們可以將原創性得分視為種子節點本身的一種權重。- 因此,
1-OS
表示應該傳遞給S
的依賴項的權重,S 是節點集C
。
- 因此,
節點、邊和權重如何作用於以太坊的哲學貢獻的示例。來源: deepfunding/scoring/example_output.png
總結一下,權重有三種類型: W(T->S)
、 OS(S)
和W(S->C)
。這些權重會根據市場的集體智慧不斷變化。
市場類型
種子節點:種子節點市場將被構建為一個多標量市場,其中不同項目的權重加起來為 1( 類似於比例選舉中的多標量預測市場,參與者試圖預測每個政黨將獲得的席位份額)。
我們引入以下符號:
- w_{0,j} w 0 , j表示W(X\rightarrow Y_j) W ( X → Y j )的真實值(實際中無法測量)。
- \hat{w}_{0,j} ^ w 0 , j表示陪審員對w_{0,j} w 0 , j的評估。
- W_{0,j} W 0 , j表示可兌換\hat{w}_{0,j} ^ w 0 , j 的代幣。
- \dot{w}_{0,j} ˙ w 0 , j表示 token W_{0,j} W 0 , j的值。
我們有\hat{w}_{0,j} ^ w 0 , j作為w_{0,j} w 0 , j的估計量。由於陪審員人數較少,該估計量預計會有較高的方差,並且可能存在較高的偏差。W_ {0,j} W 0 , j的預期值為E[\hat{w}_{0,j}]=w_{0,j}+b_{0,j} E [ ^ w 0 , j ] = w 0 , j + b 0 , j ,其中b_{0,j} b 0 , j是陪審員評估的預期偏差。
因此,一個完全知情的交易者會買入/賣出W_{0,j} W 0 , j直到\dot{w}_{0,j}=w_{0,j}+b_{0,j} ˙ w 0 , j = w 0 , j + b 0 , j 。
但是,如果陪審員的偏見是市場參與者無法公開獲得的信息(實現這一點的一種簡單方法是不提前選擇陪審員或在交易期間隱藏他們的身份),那麼他們就會買賣W_{0,j} W 0 , j ,直到\dot{w}_{0,j}=w_{0,j} ˙ w 0 , j = w 0 , j 。
在實踐中,市場參與者(預計是人工智能)不會完全瞭解w_{0,j} w 0 , j ,因此\dot{w}_{0,j} ˙ w 0 , j將充當w_{0,j} w 0 , j的估計器。該機制將充當陪審員評分的“去噪器”。
為了提高這些市場的效率,我們:
- 允許任何人用一個貨幣單位兌換一整套W_{0,j} W 0 , j代幣(反之亦然)。
- 我們在自動做市商上為所有W_{0,j} W 0 , j提供流動性。
原創性分數:每個用於衡量種子節點原創性的市場都可以構建為一個單一的標量市場,其中“UP”令牌和“DOWN”令牌的總和為 1,這取決於所評估的節點原創性。
- o_{j} o j表示節點j j的原創性得分的真實值。
- \hat{o}_{j} ^ o j表示陪審員對o_{j} o j的評價。
- e_j e j是一個變量,如果評估了j j的原創性得分,則等於 1,否則等於 0。
- S_j S j代表可兌換\frac{1}{s} 1 s的代幣如果對j j的原創性得分進行評估,其中s s是評估原創性的節點數。
- 如果評估了j j的原創性分數,則 O_{j} O j是“UP”令牌,可兌換\hat{o}_{j} ^ o j 。
- \dot{o}_{j} ˙ o j表示以S_j S j表示的標記O_{j} O j的值。
如果對節點j j進行評估,則 \hat{o}_{j} ^ o j充當o_j o j的估計量。O_ {j} O j的預期值為E[\hat{o}_{j} | e_j = 1]=o_{j}+b_{j} E [ ^ o j | e j = 1 ] = o j + b j個S_j S j單位,其中b_{j} b j是陪審員評估中的預期偏差。如果我們隨機評估原創性,則 O_j O j和e_j e j不相關。因此,我們有E[\hat{o}_{j}] = E[\hat{o}_{j} | e_j = 1]=o_{j}+b_{j} E [ ^ o j ] = E [ ^ o j | e j = 1 ] = o j + b j 。
運用與上一節類似的邏輯,但加上“市場參與者事先並不知道哪些原創性分數會被評估”,我們發現,市場除了充當陪審員分數的“去噪器”之外,還充當了衡量陪審員評估的一種方式。由於市場參與者不知道哪些分數會被評估,他們應該在所有市場上進行交易,假設相應的分數會被評估(這有點像學生需要學習一門課程的所有科目,以防該科目最終出現在考試中)。
為了使這個市場更加高效:
- 我們有“DOWN”代幣( \bar{O}_{j} ¯ O j ),如果j j被評估,則可以兌換 1 - 原創性得分。這允許市場參與者“做空”某個項目的原創性得分。
- 允許任何人用一個貨幣單位兌換一整套S_j S j代幣(反之亦然)。
- 允許任何人用一個單位的S_j S j交換一個O_{j} O j和\bar{O}_{j} ¯ O j (反之亦然)。
- 我們為S_j - O_{j} S j − O j和S_j - \bar{O}_{j} S j − ¯ O j這對交易對提供流動性。請注意,我們不需要在代幣S_j S j和貨幣代幣之間提供流動性。
子節點:子節點的市場應該是一個多尺度市場,相對於種子節點,其總和為 1,條件是對該節點的子節點進行評估。
對於子節點,我們結合了前兩種方法。
我們引入以下符號:
- w_{i,j} w i , j表示W(X_i\rightarrow Y_j) W ( X i → Y j )的真實值。
- \hat{w}_{i,j} ^ w i , j代表陪審員的估計。
- C_i C i代表可兌換\frac{1}{c} 1 c 的代幣如果對X_i X i個孩子的權重進行評估,其中c c是對其孩子進行評估的節點數。
- W_{i,j} W i , j表示可兌換\frac{\hat{w}_{i,j}}{c} ^ w i , j c 的代幣如果對X_i X i個孩子的權重進行評估。
- \dot{w}_{i,j} ˙ w i , j表示以C_i C i表示的標記W_{i,j} W i , j的值。
使用與前兩節相同的邏輯,我們可以看到\dot{w}_{i,j} ˙ w i , j充當了w_{i,j} w i , j的估計器。這裡,該機制對人類陪審員的評估進行了去噪和縮放。
陪審員評估策略
與基於客觀事實做出裁決的常規預測市場不同,這些市場依賴於陪審員的主觀評估。這不僅給法官帶來了更多壓力,也意味著需要一條與預測機制改進軌道同樣嚴謹的陪審團改進軌道。
雖然我們還沒有完全正式確定陪審員的設計,但這裡有一些廣泛的考慮:
- 呈現給陪審員的信息與陪審團的選擇本身同樣重要。這可以採用陪審員用戶界面的形式,其中包含從各個 LLM 獲取摘要的功能。另一種選擇是區分角色:深入挖掘回購價值的分析師,以及利用分析師提供的信息進行最終評估的法官。
- 一個相關的考慮因素是陪審團的專業知識構成。一些陪審員可能是領域專家,而另一些則是通才。專業和通才陪審員都認可的評分應優先考慮。
- 應該有一些方法來識別並減少陪審員的異常評分的影響。在當前階段,我們決定在Seer 上的多尺度預測市場中使用Huber 損失函數,並在Pond 上的競賽中繼續使用對數空間中的 L2 範數(兩者均在對數空間中)來處理陪審員的成對比較。
行動呼籲
- 模型建造者可以參加 3 場比賽,每場比賽都有獎金池和交易補貼。
- 種子節點:
- 原創性得分:下個月,您可以預測某個 repos 在評估時會獲得的原創性得分。這將決定有多少資金應該留在種子節點,而不是分配給其依賴節點。參與此活動,只需構建一個可以預測原創性得分的模型,為其注入一些資金,然後讓它進行預測即可。
- 子節點:最後一個環節是 Pond 上的一項競賽,模型構建者將預測種子節點依賴關係之間的權重。該競賽的結果可以再次作為啟動多標度市場(基於每個依賴關係對種子節點的價值)的基準利率。
- 想要提供種子節點之間比較的陪審員可以在此申請成為陪審團的一部分。
- 維護者:如果您是 Deep Funding 的一部分 repos 的維護者,我們需要您的幫助:
最後,如果您只是想關注實驗、表達您的想法或有進一步的問題,請加入Deep Funding 電報組。
附錄
有向依賴圖的通用結構
在這裡,我們提出了一個更正式、更通用的版本,與上述規範中描述的內容相對應。對於每個項目P
,我們定義了三種類型的節點,這些節點的邊指向P
-
P:SELF
:此節點代表項目自身的貢獻。- 邊
P->P:SELF
與邊W
的對應關係被解釋為“W
是歸屬於P
自身工作的貢獻份額”。例如,Brave 瀏覽器的權重可能是 0.2,因為它是 Chromium 的一個分支;而 Solidity 的權重可能是 0.8,因為它的目標是最小化依賴性。這也可以稱為項目的originality
。 - 這種類型的節點沒有任何子節點,並且每個
P
只有 1 個子節點。
- 邊
-
P:OTHER
:此類節點可以看作是P
的直接依賴關係的集合。在這種類型的節點下,我們可以進一步將其劃分為兩個子類型:-
P:OTHER_KNOWN
:這些是P
的已知依賴項,並且本身就是項目。 -
P:OTHER_UNKNOWN
:這代表P
的所有未知依賴項。- 這種類型的節點沒有任何子節點,並且每個
P
只有 1 個子節點。
- 這種類型的節點沒有任何子節點,並且每個
-
因此,對於任何具有已知依賴關係的項目(即類型P:OTHER_KNOWN
) D_1,...,D_k D 1 , . . . , D k ,我們有
或者我們也可以簡單地說
以下等式也成立
注意,這裡我們將W(P \rightarrow D_i) W ( P → D i )視為已通過P_{other\_known} P o t h e r _ k n o w n縮放或歸一化的權重。未縮放的權重為W(P_{other\_known} \rightarrow D_i) W ( P o t h e r _ k n o w n → D i ) 。
例如,如果我們再次參考下圖,我們可以看到:
-
Cypherpunk Movement->Cypherpunk Movement:SELF
= 0.4 -
Cypherpunk Movement->Cypherpunk Movement:OTHERS_KNOWN
= 0.6 -
Cypherpunk Movement->Cypherpunk Movement:OTHERS_UNKNOWN
= 0 -
Cypherpunk Movement:OTHERS_KNOWN->Swiss direct democracy
= 0.050 -
Cypherpunk Movement->Swiss direct democracy
= 0.6*0.050 = 0.03
來源: deepfunding/scoring/example_output.png