以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > 火幣APP > Info

回天乏術,一開始就注定失敗的YAM投票拯救行動_BASE:REBASE

Author:

Time:1900/1/1 0:00:00

36小時內,眼看他起高樓,幾分鐘內,眼看他樓塌了。北京時間08月13日上午03時整,備受矚目的DeFi項目YAMFinance宣布啟動流動性挖礦,僅僅一天時間鎖倉資產價值就超過了6億美元,其鎖定資產增量和增速都達到了近乎癲狂狀態。且照此發展,一些早期給池子注入流動性的羊毛黨年利率甚至可逼近200倍,其瘋狂程度可見一斑。不過,正當大家都陷入挖礦狂歡的時候,意外發生了。北京時間08月13日凌晨,YAMFinance發現其智能合約的彈性供應機制存在漏洞,導致合約第二次rebase觸發時會鑄造大量額外代幣,這意味著未來社區將無法獲得足夠的代幣來執行任何治理操作,YAM將成為一個失控的機器,最終將徹底失去社區用戶的信任。該如何拯救我們的YAM小紅薯呢?

在發現漏洞后,YAM團隊發起了“拯救行動”,稱他們需要16萬委托投票才能提交治理提案,于是向社區發起呼吁投票。很快,這場轟轟烈烈的社區投票行動就完成了。然而,就在大家以為只是虛驚一場的時候,北京時間08月13日下午16時01分,YAM創始人BrockElmore卻發推特稱,對不起大家,我失敗了。這究竟是怎么回事呢?

Andre Cronje:Fantom明年將重點發展Gas貨幣化、Gas補貼、賬戶抽象等:12月26日消息,Fantom創始人Andre Cronje今日公開了《致Fantom基金會團隊的信》,其中提及2023年Fantom的計劃核心重點。據介紹,明年Fantom重點需要放在垂直開發人員上,總體目標將是為dapp開發人員創造一個可持續發展的環境,以與其他公鏈區別開來。

核心重點將包括Gas貨幣化、Gas補貼、賬戶抽象、Gas費的經濟抽象、新中間件(Fantom虛擬機,新存儲機制)、優化吞吐量的硬件限制(Pebble DB、平面存儲等)、針對新構建者和非區塊鏈開發人員更新文檔和培訓、及時公開財務狀況、為dapp團隊提供資金和資助機會等等。此外,Andre還在信中提到,自己已被正式提名并接受Fantom基金會和Fantom Operations董事會成員的職位。[2022/12/26 22:08:19]

PeckShield安全人員介入分析后,迅速定位到問題的本質在于:彈性供應機制存在一個代碼公式的錯誤,致使第二次rebase觸發時系統會自動增發10^18個新代幣,如果行情一直保持高位的話,那么以后的每次rebase觸發時都會進行指數級的增發,這將使小紅薯YAM的數量變成一個可怕的天文級數字。這意味著,無論后期社區怎樣委托投票,都無法獲得足夠的投票量對系統進行控制,整個系統將陷入失控無主狀態。本來YAM官方號召廣大YAM持有人通過代理投票的方式,一起完成此次投票“拯救行動”,以修復這個存在的漏洞。然而,PeckShield安全人員進一步分析發現,當YAM官方開始發出呼吁的時候,這次拯救行動其實就已經注定失敗了。原因有二:1)時間來不及:YAM官方或許忽略了一點,在其提案投票拯救行動準備工作完成后,也需要至少12.5個小時才能被執行生效,而按照現在的時間節奏,當其執行生效時,第二次rebase早已觸發。2)新部署治理合約無法被有效執行:由于第二次rebase觸發,因此官方原先預期要執行的新治理合約到了執行時間后,卻發現由于投票總量遠遠無法達到合約約定的總量的4%,故而無法被有效執行。究竟是為何呢?接下來上技術干貨:技術概要

Aztec完成1億美元B輪融資:金色財經報道,Aztec宣布完成1億美元B輪融資,A16z領投,A Capital、Variant 、SV Angel、HashKey Capital、Fenbushi Capital、Alumni Ventures等參投。

融資將被用于在全球范圍內擴展工程師團隊。在過去的一年中,Aztec團隊已經從7人擴大到40人規模,目前Aztec希望在短期內將這個數字翻一番。[2022/12/16 21:47:54]

首先介紹下YAM智能合約的彈性供應機制:1)系統會根據市場價格浮動來動態調整代幣的供應量,當市價上漲時則按比例增發代幣,以降低單位代幣的價值,直至降至1美元。2)每天分別執行兩次rebase,每次rebase會改變代幣供應量,根據市場現價增發或銷毀一定量的代幣。再說一個實施提案的關鍵因素:持有者進行委托投票,投票數超過總量的1%,則提案才可以進行執行排列,且按合約約定執行排列時長需要等待12.5小時,而提案執行時,則投票需要超過總量的4%。如此新治理合約才能執行生效,項目才能繼續正常運轉。有了以上幾個技術要點的鋪墊,我們再來看一下,YAM官方的跟進時間表,就能明白此次拯救行動為什么注定會失敗。如下圖時間線所示:

②是第一次rebase觸發的時間,由于合約的bug導致totalsupply資產發生異常暴漲,官方發現BUG存在并進行了披露。③是官方宣布提議部署新治理合約的時間,在此之后社區開始啟動投票。④是投票目標初步完成,新治理合約進入執行排列的時間,自此等待執行12.5小時合約正式執行。⑤是第二次rebase的觸發時間。⑦是其新治理合約投票通過后正式執行的時間。⑥在第二次rebase觸發后的第31分鐘時,或許是項目方發現了已經無力回天了,提案取消成功,項目方正式宣布YAM失敗。①之后的綠色區域是投票和提案拯救行動可以成功的“黃金急救期”,需要整個拯救行動準備工作在第一次rebase觸發之前半小時內完成。。這意味著,YAM官方應在第一次rebase詳細過程分析首先我們看下當第一次rebase發生了什么:

ETH跌破1300 USDT,24H跌幅為2%:金色財經報道,行情顯示,ETH跌破1300 USDT,現報1299.79 USDT,24H跌幅為2%。[2022/10/10 10:29:33]

圖1.第一次rebase資產變化如上面鏈上信息所示,當第一次rebase之后,totalSupply從3,500,000*10^18暴漲到一個極大值。我們進一步分析代碼,看下在代碼中發生了什么:首先從鏈上信息我們能看到rebase操作調用的是YAMRebaser合約的YAMRebaser::rebase()函數,我們最終發現它通過調用YAM合約的rebase()函數重新計算totalSupply,在第340行的totalSupply賦值操作可以看到,這一行代碼有個明顯的錯誤——沒有除BASE,從而導致totalSupply的值暴增了10^18倍。YAM官方在第一次rebase以后發現了這個問題,于是披露rebasebug事件啟動了投票拯救行動。

圖2.YAMToken::rebase()得到一個異常大的totalSupply值而在12小時之后,YAM又觸發了第二次rebase,這個數據又是以基于錯誤的totalSupply來計算的,從而導致initSupply的數值同樣出現了異常。

迅雷上新《海底小縱隊》與《小伴龍·海洋奇緣》系列數字藏品:金色財經報道,迅雷數字藏品平臺非同數藝上新《海底小縱隊》與《小伴龍·海洋奇緣》系列數字藏品。《海底小縱隊》的6款動畫形象鑄造成數字藏品,每款限量1666份。該系列藏品將于6月1日上午11:00正式開售,現在已開啟預約,在售賣當天24時前集齊4款或4款以上的用戶,還有機會獲得《海底小縱隊》的隱藏款。《小伴龍·海洋奇緣》的3款動畫形象鑄造成數字藏品,每款限量2000份。該系列藏品也將于6月1日上午11:30正式開售,在2022年6月1日24點前參與購買并支付成功《小伴龍·海洋奇緣》系列數字藏品的用戶,將有機會獲得小伴龍周邊禮物1份和小伴龍APP年會員。藏品均基于迅雷鏈技術鑄造生成,具有唯一、不可篡改、不可分割等特性,也將在迅雷鏈上貯藏。[2022/5/31 3:52:41]

圖3.第二次rebase資產變化我們繼續分析造成initSupply異常的成因,關鍵在上面提到過YAMRebaser::rebase()函數,這個函數實現的主要邏輯:先基于yam.totalSupply()計算出本次rebase需要增發的YAM數額mintAmount,在afterRebase()函數經過數層調用后進入YAM的_mint()函數,基于異常的mintAmount給initSupply進行賦值。由于在第一次rebase中,totalySupply已經變成一個極大值,所以基于此異常值的后續一列操作最終導致initSupply也計算錯誤,變成了一個天文級的數值。

Coinbase聯合創始人Fred Ehrsam買入7500萬美元的公司股票:金色財經消息,根據向美國證券交易所(SEC)提交的Form4文件,Coinbase聯合創始人Fred Ehrsam過去一周購買了超過100萬股Coinbase(COIN),價值約7500萬美元。Ehrsam目前是Coinbase的董事會成員,買入是通過風險投資公司Paradigm進行的,Ehrsam是該公司的聯合創始人和管理合伙人。

文件顯示,Ehrsam通過Paradigm于5月13日以每股約70美元的平均價格購買了超過706,000股Coinbase股票,價值近5000萬美元。隨后在5月17日以每股約65美元的平均價格購買了385,000股股票,價值約2500萬美元。此次購入使Paradigm持有超過360萬股Coinbase股票,Ehrsam還通過信托持有110萬股Coinbase股票。(CoinDesk)[2022/5/21 3:32:14]

圖4.YAMRebaser::rebase()用錯誤的totalSupply計算initSupply當第一次rebase出現異常時,項目方已經發現問題并決定提出一個修復系統的提案,希望通過投票的方式將此提案排入執行隊列并且執行。當此題案收到足夠多的投票,治理合約允許任何人通過調用GovernorAlpha::queue()函數將此題案排入執行隊列。但由于此治理合約代碼邏輯的實現,導致無論是在第二次rebase之前或是之后進行修復,都無法正確執行這個拯救行動。為什么說項目方準備工作完成的太晚了?

我們看下圖中的GovernorAlpha::queue()代碼,我們注意到了在調用_queueOrRevert函數之前的第224行中設置變量eta=currenttimestamp+timelock.delay,這就使得生效時間必然在加入隊列的12.5小時以后,而第二個rebase時間是與第一次間隔12小時,這就意味著要執行成功需要將拯救行動提前到第一次rebase之前至少半小時以上,否則將永遠無法執行。

圖5.GovernorAlpha::queue()函數設置eta又為什么說已經做出的拯救行動,根本無濟于事呢?當觸發合約GovernorAlpha::execute()時首先會先執行state函數來獲得當前提案狀態。

圖6.GovernorAlpha::execute()檢測提案狀態在下面的state()函數第330行,如果proposal.forVotes<=againstVotes(),提案狀態被設置為失敗。

圖7.GovernorAlpha::state()執行返回Defeated錯誤從代碼中能看出來,項目方在設計系統時,投票數被設計為必須大于initSupply總量的4%,此提案才能是合法的狀態,如下圖所示。然而,當第二次執行rebase以后,initSupply已經被搞成一個極大值。這就導致了,投票票數永遠不可能>=quorumVotes(),從而總是返回Defeated。

圖8.GovernorAlpha::quorumVotes()返回一個錯誤的異常值除了提案狀態異常的問題之外,如圖9、圖10所示,當第二次rebase發生以后,由于GovernorAlpha::propose()檢查投票數必然小于proposalThreshold(1%的initSupply),因此新的提案也再也無法被提出,更遑論要投票執行了。

圖9.GovernorAlpha::propose()檢測投票數是否大于1%initSupply

圖10.GovernorAlpha::proposalThreshold()返回1%initSupply總結

此次YAM漏洞事件,最終造成治理合約中75萬枚yCRV被永久鎖定,而且短時間內的急速暴跌和無力回天的局面,不知道有多少人被埋在了價格高點,其瘋狂程度成了如今DeFi流動性挖礦的最真實寫照,其殘酷魔幻程度何嘗又不是?倘若項目方在部署合約之前但凡測試過一次rebase流程,必定能捕捉到漏洞的存在。足以見得,DeFi項目做安全審計的重要性。綜上分析,PeckShield想借此勸誡諸君,在區塊鏈世界里,務必要對每一行合約代碼保持敬畏,因為任何細微的疏漏都可能造成無法挽回的局面。畢竟,代碼是人寫的,漏洞也很難被徹底避免,因此需要項目方在合約部署上線前就做好充分的測試和第三方安全審計工作,這會幫助其更早發現并排查合約代碼潛在的安全漏洞,不至于等到,漏洞發生后,亡羊補牢,為時已晚

Tags:BASBASEEBASEREBASEcoinbase買的USDT不能發送TrustBaseworldtradebaseREBASEAPY

火幣APP
Uniswap月收費七百萬刀,七百萬比特幣已丟失,灰度周投資額達歷史之最_SWAP:Uniswap

OKEx情報局行業周報帶你快速回顧行業動態,厘清產業動向。目錄:行情概覽加密貨幣市場DeFi生態行業聲音區塊鏈產業賦能行業軼事行情概覽根據CoinGecko數據,截至2020年8月21日17時,

1900/1/1 0:00:00
谷燕西:支付清算公司在未來數字金融生態中的機會_LIBRA:LIBRAF價格

在未來的數字金融生態當中,金融市場的基礎設施一定是以分布式記賬技術為主。分布式記賬技術支持點對點之間的直接交易即結算,所以在交易的同時,結算同步完成.

1900/1/1 0:00:00
DAO會是下一波浪潮?_DAO:aptos幣怎么公募

編者按:本文來自Ourea無涯社區,Odaily星球日報經授權轉載。什么是DAO我們來看看維基百科關于DAO的定義:去中心化自治組織(DAO),有時也被稱為去中心化自治公司(DAC),是一個由規.

1900/1/1 0:00:00
自封百倍幣工廠,波場Justswap首秀演砸_JUST:KwikTrust

編者按:本文來自蜂巢財經News,作者:凱爾,Odaily星球日報經授權轉載。趕潮DeFi,Uniswap的波場版Justswap迎來首秀.

1900/1/1 0:00:00
Deribit期權市場播報:0812 - skew回歸_CHA:如何把泰達幣換成比特幣的錢

自從上月牛市開啟以來,各期限skew均處于右偏狀態,即使是2日的暴跌也沒有糾正太多。歸其原因,是因為市場看漲情緒濃厚,暴漲的可能要大于暴跌。方向是主要矛盾,看漲期權更貴也就說得通了.

1900/1/1 0:00:00
DeFi之后,NFT、DAO、預言機能否引爆下一個牛市?_NFT:EVAL DEFI

自今年6月份以來,DeFi市場一片繁榮。DeFi一詞更是在各個社群中討論度激增。有多夸張呢?短短幾個月時間,DeFi明星項目等產生了高達幾十倍甚至百倍的收益,包含了Aave、YFI、Link等等.

1900/1/1 0:00:00
ads