【译】On Path Independence
假設有人走向你,開始向你大聲說,他認為他已經想出了如何創造無限的自由能源。 他的計劃如下所示。 首先,你得到一個太空飛船,直到低地球軌道。 在那里,地球的引力相當高,所以飛船將開始向地球飛速前進。 宇宙飛船將自己置于軌道上,以便它幾乎不會擦過地球大氣層,然后繼續飛向太空。 進一步在太空中,重力比較低,所以飛船在開始再次下降之前可以升高。 當它下降時,它需要一條朝向地球的彎曲路徑,以便在低軌道上最大化其時間,使其從高重力加速度中獲得最大化,從而在它通過地球之后甚至更高。 當它達到足夠高的水平后,它會飛過地球大氣層,放慢速度,但利用廢熱為熱反應堆供電。 然后,它會回到第一步繼續前進。
像這樣的東西:
</ IMG>現在,如果你對牛頓動力學有所了解,那么你很可能會立即意識到這個方案是完全的。 但你怎么知道? 你可以呼吁對稱,說:“看,對于你說重力給你高加速度的軌道路徑的每一片,有一個相應的軌道路徑片,其中重力給你同樣高的減速度,所以我沒有看凈收益來自哪里“。 但是,假設那個男人壓你。 “啊,”他說,“但是在那個高加速度的地方,你的初始速度很低,所以你在里面花了很多時間,而在相應的切片中,你的速度很高,所以你有更少的時間來減速“。 你如何確切地證明他錯了?
一種方法是深入挖掘數學,計算積分,并顯示假設凈收益實際上完全等于零。 但也有一個簡單的方法:認識到能量是獨立于路徑的 。 也就是說,當宇宙飛船從A點移動到B點,B點更接近地球時,它的動能肯定會上升,因為它的速度會增加。 但是因為總能量(動能加電位) 是守恒的 ,勢能只依賴于太空船的位置 ,而不是如何到達那里,我們知道無論從A點到B點航天飛機采取什么樣的路徑,一旦它獲得到B點,動能的總變化將完全相同 。
</ IMG>不同的路徑,能量變化相同
此外,我們知道, 從點A到點A的動能增益也與您沿途的路徑無關:在所有情況下,它完全為零。
有時會引用一些關于鏈上做市商的擔憂 (即完全自動化的鏈上機制,作為總是可用的交易對手,為那些希望交易另一種類型的權杖的人)是因為它們總是容易被利用。
舉一個例子,讓我引用最近在Bancor中討論這個問題的文章:
Bancor為令牌提供的價格與實際市場均衡無關。 Bancor將始終追蹤市場,并在這樣做時會流失其儲備。 一個簡單的思想實驗足以說明問題。
假設市場恐慌在X周圍形成。關于您的系統的未經證實的消息超越了社交媒體。 假設人們確信你的首席執行官已經潛逃到一個沒有引渡條約的偏遠島嶼,你的首席財務官盜用了錢,而你的首席技術官正從黑網市場上購買毒品并將其運送到他的工作地址,就像他桌上的白色粉末堆。
更糟的是,讓我們假設你知道這些指控是錯誤的。 它們是由一個沒有產品的公司運營的巨魔軍隊傳播的,其商業計劃是阻止每個人的硬幣流。
Bancor在銀行運行期間會提供X幣的價格不斷下降,直到它沒有剩余儲備。 你會看到市場恐慌情緒持續并吞噬你的儲備。 回想一下,在這種情況下,人們確信X的真實價值為0,并且Bancor公式保證提供高于此價格的價格。 所以你的全部儲備將會消失。
這篇文章討論了Bancor協議的許多問題,包括代碼質量等細節,我不會談及任何這些問題; 相反,我將純粹將注意力集中在鏈上做市商效率和可利用性的主題上,將Bancor(與MKR一起)純粹作為例子,而不是對整個項目的質量做出任何評判。
對于許多天真設計的鏈上做市商,上面關于可開發性和尾隨市場的評論適用于逐字,而且非常重要。 然而,也有一些上鏈做市商,由于某種抽錢攻擊,絕對不會懷疑他們的全部儲備都被榨干。 舉一個簡單的例子,考慮一下市場制造者出售ETH的MKR,其內部狀態由當前價格p ,并且愿意在每個價格水平上買入或賣出無限多的MKR。 例如,假設p = 5 ,并且您想要購買2 MKR。 市場會賣給你:
- 0.00 ... 01 MKR,價格為5 ETH / MKR
- 0.00 ... 01 MKR,價格為5.00 ... 01 ETH / MKR
- 0.00 ... 01 MKR,價格為5.00 ... 02 ETH / MKR
- ...。
- 0.00 ... 01 MKR,價格為6.99 ... 98 ETH / MKR
- 0.00 ... 01 MKR,價格為6.99 ... 99 ETH / MKR
總的來說,它以6 ETH / MKR的平均價格銷售2 MKR(即總成本12 ETH),并且在操作結束時p增加到7。如果有人想賣出1 MKR,它們將是花費6.5 ETH,在該操作結束時, p將降至6。
現在,假設我告訴過你,這樣的做市商以p = 5的價格開始,并且在一系列不確定的事件發生之后,現在是4.兩個問題:
答案是:它獲得了1 MKR,并且失去了4.5 ETH。 注意這個結果完全獨立于p采用的路徑。 那些答案是正確的,如果p從一個買家直接從5到4,他們是正確的,如果有第一個買家從5到4.7,第二個買家將剩下的一直帶到4,他們如果p先下降到2,然后增加到9.818,然后又下降到0.53,那么最后再升到4。
為什么會這樣? 最簡單的方法是看到如果p下降到4以下,然后又回到4,那??么下降的賣盤正好通過買進來抵消; 每個賣出都以相同的價格進行相應的購買。 但我們也可以通過不同的方式來看待做市商的核心機制。 將做市商定義為具有單維內部狀態p ,并且具有由以下公式定義的MKR和ETH余額:
mkr_balance(p) = 10 - p eth_balance(p) = p^2 / 2任何人都有權力“編輯” p (盡管只能使用0到10之間的值),但他們只能通過提供適量的MKR或ETH,并獲得適量的MKR和ETH來實現,以便余額仍然匹配; 也就是說,操作后做市商持有的MKR和ETH的數量是根據上述公式保持的數量,并設定了新的p值。 任何編輯到p ,沒有與MKR和ETH交易,使余額匹配自動失敗。
現在,任何一系列將p從5降至4的事件也會將做市商的MKR平衡值提高1,并將其ETH平衡值降低4.5,無論它是什么系列事件,都應該看起來基本: mkr_balance(4) - mkr_balance(5) = 1和eth_balance(4) - eth_balance(5) = -4.5 。
這意味著對保留這種路徑獨立性的做市商的“儲備出血”攻擊是不可能的。 即使一些巨魔成功造成市場恐慌,導致價格接近于零,當恐慌平息,價格恢復到原來水平時,做市商的地位將保持不變 - 即使價格和做市商的余額,同時做了一堆瘋狂的動作。
現在,這并不意味著與其他持倉策略相比,做市商不會虧錢。 如果當你開始時,1 MKR = 5 ETH,然后MKR價格變動,我們比較在做市商中持有5 MKR和12.5 ETH的表現與僅持有資產的表現相比,結果如下:
</ IMG>持有均衡的投資組合總會獲勝,除非價格保持完全相同,在這種情況下,做市商和平衡投資組合的回報是平等的。 因此,這種做市商的目的是補貼保證流動性,作為用戶的公共利益,作為最后手段的交易者,而不是賺取收入。 然而,我們當然可以修改做市商賺取收入,很簡單:我們收取差價。 也就是說,做市商可能會收取1.005 * p的買價,賣出的價格僅為0.995 * p。 現在,作為做市商的受益者就成了一個賭注:如果從長遠來看,價格傾向于向一個方向移動,那么做市商就會失去,至少相對于他們如果擁有均衡的投資組合能夠獲得的收益,就會失去。 另一方面,如果價格傾向于大幅反彈,但最終回到同一點,那么做市商可以獲得不錯的利潤。 這犧牲了“路徑獨立性”的屬性,但這樣一來,任何偏離路徑獨立性的偏差總是對做市商有利。
有很多路徑獨立的做市商可以采取的設計; 如果你愿意創建一個可以發出無限量單位的令牌,那么“常數準備率”機制(對于某個常數比率0 <= r <= 1 ,令牌供給是p ** (1/r - 1) ,并且保留大小為r * p ** (1/r) )也計為1,前提是正確實施并且路徑無關性不受邊界和舍入誤差的影響。
如果你想為沒有價格上限的現有代幣做莊家,我最喜歡的(信貸給馬丁Koppelmann)機制是維持不變tokenA_balance(p) * tokenB_balance(p) = k對于一些常數k 。 所以公式會是:
tokenA_balance(p) = sqrt(k * p) tokenB_balance(p) = sqrt(k / p) </ IMG>
其中p是tokenA中標記的tokenB的價格。 一般來說,您可以通過定義tokenA_balance和tokenB_balance之間的任何(單調)關系并在任意時刻計算其衍生產品以給出價格,來創建一個與路徑無關的做市商。
以上只討論了路徑獨立在防止某種特定類型問題方面的作用:即攻擊者在一系列價格變動的背景下以某種方式進行一系列交易,以反復流失貨幣市場。 通過獨立于路徑的做市商,這種“貨幣泵”漏洞是不可能的。 但是,肯定還有其他種類的低效率可能存在。 如果MKR的價格從5 ETH下降到1 ETH,那么上例中使用的做市商將損失28 ETH的價值,而平衡的投資組合只會損失20 ETH。 那8個ETH去哪了?
在最好的情況下,價格(也就是說,“真實”價格,所有用戶和交易者之間的供求關系匹配的價格水平)迅速下降,一些幸運交易商搶購了這筆交易,聲稱8 ETH利潤減去可忽略的交易費用。 但如果有多個交易者呢? 那么,如果區塊n和區塊n + 1之間的價格不同,交易員可以通過設置交易費用相互競標的事實創建了一個全付費拍賣,收入交給礦工。 作為收入等價定理的結果 ,我們可以推斷,我們可以預期,交易者發送到這個機制中的交易費將繼續上漲,直到它們大致等于賺取的利潤的大小(至少在初始階段; 真實的均衡對于礦工來說,只需要自己拿錢)。 因此,無論如何,這種方案最終都是給礦工的禮物。
在這樣的設計中增加社會福利的一種方法是使創建購買交易成為可能,這對于礦工來說只有在他們實際進行購買時才是有價值的。 也就是說,如果MKR的“實際”價格從5降到4.9,并且有50個交易者競相套利做市商,并且只有50個交易者中的第一個進行交易,那么只有那個人應該支付礦工交易費用。 這樣,其他49次失敗的交易不會阻塞區塊鏈。 EIP 86計劃為Metropolis開辟了一條通往標準化這種有條件交易費機制的道路(另一個好的副作用是,這也可以使令牌銷售更加不顯眼,因為類似的全部支付拍賣機制適用于許多令牌銷售)。
另外,如果做市商是唯一可用的代幣交易場所,還有其他低效率。 例如,如果兩個交易者想要交換大量的資金,那么他們需要通過一系列小型買賣交易來做到這一點,不必要地阻塞區塊鏈。 為了降低這種效率,鏈上做市商應該只是可用的交易場所之一,而不是唯一的交易場所。 然而,這對協議開發人員來說可能不是一個大問題; 如果最終成為促進大規模貿易場所的需求,那么其他人可能會提供。
此外,這里的論點只是假定做市商的路徑獨立性, 假定給定的起始價格和結束價格。 然而,由于各種心理影響以及多重均衡效應,期末價格似乎不僅僅是影響資產“基本”價值的起始價格和近期事件的函數,而且也是交易模式的函數這是針對這些事件發生的。 如果發生降價事件,并且由于流動性不佳,資產價格迅速下降,最終可能會比首先出現更多流動性時回落到更低點。 也就是說,這實際上可能是支持補貼做市商的論點:如果存在這種乘數效應,那么它們將對價格穩定產生積極影響,超出了做市商本身提供的流動性的一級效應。
在確定哪個路徑獨立的做市商是最優的時候,可能需要做大量的研究。 混合半自動做市商也有可能具有相同的擔保流動性特征,但其中包括一些不同步的因素,以及在某些情況下,運營商可以“切入線”并收集利潤否則大量的資金將被丟給礦工。 對于各種目標以及這些做市商應在多大程度上以及由誰承擔補貼,多少(如果有的話)鏈上自動化擔保流動性是最佳的還沒有一個連貫的理論。 總而言之,鏈上機制設計空間還處于初期,當然值得更廣泛地研究和探索各種選擇。
https://vitalik.ca/general/2017/06/22/marketmakers.html
總結
以上是生活随笔為你收集整理的【译】On Path Independence的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【译】How I hacked Goog
- 下一篇: 【译】Analyzing Token S