之前藍狐筆記提到Bancor V2試圖解決“無常損失”的問題,但並沒有披露細節,前幾天Bancor進一步披露了部分細節,主要如下圖:
(Source:Bancor)
從圖中可以看出其核心有兩個:一是預言機提供最新價格;二是根據預言機價格更新代幣池比重,也就是動態池的模式。
1.假設初始池為10ETH-1000BNT,其中假設ETH市場價格為100美元,ETH在代幣池中的價格也是100美元,BNT市場價格為1美元,代幣池價格也是1美元。也就是,假設ETH和BNT的市場價格和代幣池價格一致,那麼,ETH-BNT池是2000美元流動性的代幣池,且不存在套利空間。
2.ETH市場價格上漲。假設ETH市場價格漲至120美元,ETH代幣池價格為100美元,BNT市場價格為1美元,代幣池價格也是1美元。也就是,ETH市場價格上漲了20美元,那麼,這個時候,就存在了套利空間。整個流動性池的實際價值為2200美元,而不是2000美元。
3.為了防止流動性提供商產生損失,Bancor V2通過獲取預言機價格,併升級代幣池比重。怎麼升級?在獲取預言機提供的市場價格之後,ETH的池價格也升至120美元,那麼,這個時候10ETH的代幣池價值為1200美元,1000BNT為1000美元,整個代幣池價值為2200美元,跟市場價值趨於一致。而更新之後,10ETH的佔據代幣池的54.5%的比例,而BNT佔據44.5%的比例。通過這樣的調整,作為流動性提供商,就不會因為ETH上漲產生“無常損失”。關於什麼是無常損失,可以參考藍狐筆記之前的文章《Bancor 有機會超越Uniswap嗎? 》
那麼,這是相對比較粗線條的描述。具體來說,會有什麼問題?
對此,Balancer的CEO Fernando提出了不同的看法:動態代幣池的概念很有意思,其核心是實現代幣池價格和鏈上預言機價格的一致,不過,可能會存在預言機價格延遲的問題。當ETH市場價格上漲至120美元,這會導致交易者立即套利並將價格推至120美元。預言機價格依然滯後在100美元。這會導致將價格重新變為100美元,這會產生第二次交易者套利機會,直到預言價格提供跟市場一致的價格為止。這樣的結果是:任何預言機餵價和真實市場價格之間的偏差,都會導致代幣池中一個代幣被消耗光。傳統的AMM沒有價格預言機概念,它通過市場感知來管理,所以在市場價格和池價格之間沒有偏差。因此除了同步至新的市場價格之外,沒有其他價值可以從池中“抽取”。這些被抽取的價格,也就是所謂的“無常損失”。這是AMM固有的部分。
對此,Bancor的Nate Hindman作出了回應:
Nate Hindman認為Fernando作出了錯誤的假設。首先,Bancor V2的動態權重並不會根據交易調整比例。因此,一旦發生預言機價格延遲問題(預言機的餵價跟市場價格不一致時),會存在即時套利機會,但權重此時不會調整。只有當預言機價格更新時,才會調整權重,以創造新的套利激勵,重新平衡價格。因此不存在二次套利的機會。
總言之,Bancor V2代幣池只根據預言機價格更新調整代幣池比重;如果代幣池價格跟預言機一致,就不會調整比重;如果ETH市場平均價格上漲至120美元,交易者將價格ETH推至120美元,當預言機價格更新,ETH的代幣池價格已經是120美元,不會存在套利機會。此外,在第二步和第三步之間,確實存在一定的套利機會。不過預言機價格更新,導致代幣池比重變化,且每個池都有兩個池代幣的事實可以阻止無常損失。
從雙方的爭議看,Bancor V2依然存在套利機會,這是不可避免的,不過由於引入了預言機價格來調整代幣池的比重,它確實也在一定程度上可以防止無常損失。
關於Bancor的更多文章,可以參考:《Bancor V2:引入可降低滑點的AMM》《Bancor 有機會超越Uniswap嗎? 》