前言
目前,使用LPToken進行抵押借貸的需求越來越大,但是目前市面上并沒有一種完善的用于安全獲取LPToken價格的方法。慢霧安全團隊在分析LPToken價格的獲取方式的過程中關注到了AlphaFinance團隊的關于安全獲取LP價格的方法。在仔細閱讀后,將相關的思考分享給大家。
LPToken價格獲取分析
目前,常見的LPToken價格的獲取方式如下:
其中,r0,r1分別代表Uniswap交易對中兩種代幣的存量,price0,price1分別代表r0和r1對應代幣的價格。上面的公式簡單來說就是算出交易對中兩種代幣的總價值之和,然后除以LPToken的總數量,得到了單份LP的價值。
這個公式咋一看沒什么問題,一般來說,price0和price1都會取Uniswap本身提供的延時價格。但是這里存在一個被閃電貸攻擊的風險。雖然price0和price1是不能操控的,但是r0和r1卻是可以操控的。通過操控r0和r1的值,即可對整個公式進行操控。
招行原行長馬蔚華:比特幣就是一種炒作,沒有根本價值和意義:7月2日,在中歐國際商學院舉辦的首屆中歐綠色金融論壇上,對于近期較受關注的虛擬貨幣挖礦行業的能耗問題,招商銀行原行長、聯合國開發計劃署可持續發展影響力指導委員會委員馬蔚華在接受記者采訪時表示,比特幣就是一種炒作,里面有很多莊家操縱市場,沒有根本價值和意義,與央行數字貨幣完全“不是一回事”。(澎湃新聞)[2021/7/3 0:24:10]
那么有沒有辦法能獲取一種安全的LPToken價格,使代幣的存量無法被操控呢?AlphaFinance團隊提供了一個思路:
根據AlphaFinance的分析,整個過程分為3步:
第1步是通過Uniswap的getReserves接口獲得交易對中對應代幣的數量,算出K
聲音 | 智能合約先驅尼克·薩博:比特幣是一種自然權利:推特用戶@danheld稱,用比特幣自由交易是一種人權。智能合約先驅尼克·薩博(Nick Szabo)在推特上回應稱,關于比特幣最恰當的表達,我認為這是一種自然權利,其通過計算機語言賦予,是一種抗審查協議。[2019/9/15]
第2步是獲取交易對中每個代幣對應的價格,然后算出代幣的價格的比例P
第3步是通過K和P之間的關系反推真實的代幣存量。
完成以上3步后,最終LPToken的價格獲取公式會變成下面這個樣子:
這一波操作下來,好像有點整懵了,但是問題不大,我們來逐個分析。
首先,我們知道,Uniswap采用的是恒定乘積算法。簡單來說就是x*y=K,也就是說,交易前后的K值是不會變的。在不討論手續費的情況下,K值理論上是不會改變的。我們先記住這個前提。然后,獲取交易對中每個代幣各自的價格,比方說對USDT價格。這里以ETH-BTC交易對為例,假設ETH的價格為650USDT,BTC的價格為22,000USDT,那么ETH/BTC的價格比值P為0.03。在得到價格的比值P之后,直接用第1步得到的K計算K/P和K*P就得到了對應交易對的一個正常的數量。下面要對第3步,即獲取正常的數量這一步進行相應的說明。
聲音 | 王永利:JPM Coin只是一種網絡代幣不可能取代法定貨幣體系:中國國際期貨有限公司副董事長王永利對摩根大通發行的JPM Coin發表評論稱,大型金融機構或專業組織積極探索利用區塊鏈等技術改進支付清算體系是值得鼓勵的,但無論如何,在國家繼續存在,很長時間內都難以消亡的情況下,要通過網絡數字貨幣取代國家主權貨幣或法定貨幣,都是不現實的;以法定貨幣做支撐和完全錨定的“網絡穩定幣”,無論其具體設計如何變化,都只能是特定網絡平臺上的專用代幣,更不可能取代或顛覆法定貨幣;需要下大力氣解決的是網絡平臺的實際效能和流量問題,而不應把主要精力放在專用代幣的設計、包裝和炒作上。[2019/2/21]
公式思路解釋
現在開始對上面的第3步進行說明,扶穩坐好:D
動態 | 有學者質疑俄亥俄州的比特幣納稅計劃是一種公關噱頭:據底特律自由報消息,俄亥俄州最近決定允許企業使用比特幣繳稅,這引發了外界的批評,稱此舉是一種“公關噱頭”,不切實際,不可持續。持懷疑態度的人表示:比特幣價格波動劇烈,加之沒有大量商家采用加密技術,使得加密支付方式不合適。如今用比特幣繳稅并沒有什么特別的優勢,該州只是想發出信號,表示它是“對加密貨幣友好的”。[2018/12/21]
像前面說的,恒定乘積的公式為:
那么其實可以根據K來分別算出x,y。然后根據上一節的第2步,我們得到了x和y的價格的比值P。由于Uniswap本身是根據池中代幣的比例來確定對應的價格,所以比值P本身就是x/y的價格的比值。然后,由于K=x*y,而P是由正確的價格算出的比值,那么,我們其實就可以以這個真實的K和x/y來反推真實的x和y。
聲音 | 袁煜明:要以一種開放的心態去接觸和了解區塊鏈:7月21日,火幣研究院院長袁煜明表示:“很多時候很多人其實對區塊鏈現在還不了解,覺得是騙子什么的,這個都沒問題,很少有人在第一次聽到覺得一定要加入進來,這樣的人比較少,往往還需要反復多次驗證的過程,我希望每一個人都要以一種開放的心態去接觸和了解(區塊鏈)......我們應該是睜開眼睛接觸和了解區塊鏈,你花幾個小時買不了吃虧和上當,先了解一下,也許你就會發現區塊鏈有意思,如果發現沒意思,大不了就是花幾個小時,幾天的時間而已。”[2018/7/21]
推算如下:
首先,我們根據P和r0,r1的比例得出以下公式:
接著,根據P就可以倒推真實的r0,r1,如下:
那么,拿到了正確比例的x和y之后,LP的價格會是下面這個公式:
再轉換成如下:
攻擊的可能性
在完成公式分析后,我們不難知道,只要有正確的價格的比例P,就能根據這個比例倒推真實的r0和r1,最后得到公式:
那么,這個公式能不能被攻擊呢?從公式上可以知道,公式的price0,price1都是可信源獲取的正確的價格,這個值是無法被操控的,然后是totalSupply,這個值雖然可以操控,但是在控制LP價格進行攻擊的過程中改變totalSupply只能是改變你的抵押數量,這個暫時沒有用。那么剩下可以操控的只有r0和r1的值了。如何改變r0,r1的值呢?下面提供兩種思路進行分析:
思路一:直接進行代幣兌換
我們知道,在代幣池中,無論是采用什么算法進行計算,代幣池在進行代幣兌換的過程中,必然會發生代幣數量的改變,那么這種改變最終能不能操控公式呢?其實是不可以的。我們知道,在恒定乘積的模型中,x*y=K總是成立的,那么也就是說無論交易過程中怎么發生代幣的兌換,K的值總是不變的(這里不考慮手續費的情況),而公式中采用的是r0和r1進行相乘,所以使用代幣兌換來操控公式實際上是不可行的。
思路二:將代幣直接打入到代幣池中
這種思路比較粗暴,可以直接忽視K值來操控r0和r1相乘的值,但是經過我的運算,這種方法看似可行,其實是不行的。雖然達到了操控的目的,但是因為公式本身在獲取最終價格的時候采用的是根號的模式,所以最后獲得的收益是根號后的收益,比方說付出10,000的成本,最后只能獲得最多100的收益,這樣是明顯不劃算的。所以這種思路也是不可行的。
適用范圍
本算法的適用范圍僅限于適用AMM模型的代幣池的LP價格的獲取,因為整個推導過程都基于恒定乘積公式中K的基本特性來進行。獲取的LP本身所屬的交易對算法不使用AMM模型是不可行的,因為這種情況下,前面所有的假設都已經不成立了,那么對應的公式的推算自然也是不成立的。
總結
LP抵押已經成為了一種迫切的需求,在目前沒有更好的方式(如ChainLink提供的LP喂價,Uniswap提供延時LP接口等),AlphaFinance的方式可以說是一種較為安全的實現方法,使針對數量進行控制的攻擊變成不可行或成本非常高。當然,隨著越來越多場景的出現,這種算法也不一定是萬能的,項目方需要結合自身的場景,合理運用該算法,達到良好的效果。此外,特別需要注意的是,雖然公式的終極形式用的是開根號的r0,r1和price0,price1相乘,但是真正實現的時候,需要根據K來推導具體的r0和r1的值,不然會存在一定的誤差。
參考鏈接:
AlphaFinance關于獲取公平?LP價格的方法:
https://blog.alphafinance.io/fair-lp-token-pricing/
據ZKSwap團隊消息,官方團隊計劃在主網上線前對ZKS的持有人進行全網合計4000萬個ZKS的空投,目前價值約7000萬美金.
1900/1/1 0:00:00頭條 ▌DeFi總鎖倉量達到485.7億美元金色財經報道,據Debank數據顯示,DeFi當前總鎖倉量億為485.7美元,真實鎖倉量為353.1億美元.
1900/1/1 0:00:002021年珠海市《政府工作報告》指出,爭取數字人民幣在跨境場景試點使用。前不久,中國人民銀行數字貨幣研究所、跨境銀行間支付清算有限責任公司、環球銀行金融電信協會等機構合資成立金融網關信息服務有限.
1900/1/1 0:00:00大家早上好,我是玩幣隊長。行情并不可怕,可怕的自我信心的喪失,可悲的是交易思路的錯亂,沒了方向你再奔跑都是一場災難,總是抱著僥幸的心理在博弈一個沒有一點把握的未來,某次的盈利只能是個意外,而長期.
1900/1/1 0:00:002月1日-2月7日當周,明星項目進展中值得關注的事件有:Solana通貨膨脹預計2月9號啟動,官方上線Staking網頁;萊特幣MimbleWimble隱私協議代碼已可用于測試網;隱私基礎設施N.
1900/1/1 0:00:00一家法國葡萄酒貿易公司最近受到加密貨幣牛市的青睞,特別是隨著比特幣價格全面上漲。盡管大流行,Lasserre&Papillon創立BTCWine后仍然取得了不錯的成績.
1900/1/1 0:00:00