在迅速發展的DeFi世界中,確保協議的穩定性和安全性至關重要。在最近對CDP項目進行的安全審查中,我觀察到在某些配置下可能會出現特定的漏洞。雖然該項目目前的參數設置堅固,但了解這些潛在風險對於維護協議的完整性至關重要。
本文旨在探討一次性借貸費用和贖回費用在這一情景中發揮的關鍵作用。通過檢視可能在沒有這些費用的情況下出現的具體利用方案,我將展示適當的費用結構對於防止破壞性攻擊的重要性,從而確保協議的長期安全和可行性。
受到最初協議之一Liquity及其衍生品的啟發,許多抵押貸款頭寸(CDP)模型通過超額抵押生成去中心化穩定幣。這些模型通常包括一套複雜而精密的機制,旨在在各種條件下維持對美元的鎖定,同時確保協議在各種條件下的安全性,從而有效地將不良債務風險降到最低。這些協議通過關鍵的定制化方式區分自己,包括與協議特定目標更緊密對齊的定制經濟激勵措施。
贖回費是當用戶贖回協議的穩定幣以換取其擔保品時收取的費用。該費用旨在通過使贖回過程更昂貴來穩定穩定幣的價值,從而在贖回頻繁時防止過度贖回,從而可能使協議不穩定。
贖回費是根據協議的baseRate計算的,這是一個動態調整的參數,反映了系統內最近的活動。具體來說,baseRate會隨著每次贖回而增加,使後續的贖回變得更昂貴。
這個增加與贖回的穩定幣總供應量的比例成正比。隨著時間的推移,如果沒有贖回發生,基本利率會逐漸衰減至零,半衰期大約為12小時。
贖回費用是使用公式計算的:
例如,如果基本利率為1%,並且在抵押品價格為50,000美元時,用戶贖回100個穩定幣,則贖回費用為:
因此,在扣除贖回費用後,用戶將會收到略少於抵押品的抵押貸款頭寸。這種機制確保贖回保持經濟上的合理性,同時保護協議免受破壞性套利活動的影響。
借款費是當用戶以其抵押品抵押穩定幣時收取的另一項一次性費用。這個費用同樣基於基礎利率,但它是在穩定幣從用戶的Trove(一個保存用戶抵押品和債務的保險庫合約)提領時應用的。
借款費用的計算方式如下:
例如,如果用戶希望借款4,000個穩定幣,且基本利率設置為0.5%,則費用為:
這個費用將被增加到用戶的債務中,這意味著他們的總債務將是所借金額加上費用(例如,4,000穩定幣 + 20穩定幣 = 4,020穩定幣)。
這些費用也充當軟釘,間接地通過在特定條件下減少借入或贖回的吸引力,從而影響穩定幣的市場價格,從而有助於使穩定幣與1美元保持緊密鎖定。
現在,讓我們探討一下如果這些關鍵費用被移除或設置為零會發生什麼。
如果沒有一次性贖回費,該協定可能會無意中轉變為零滑點掉期 DEX。在這種情況下,大型穩定幣持有者可以利用贖回機制將穩定幣換成抵押品,而不會產生大量成本,從而有效地進行大規模套利交易。這可能會導致一些負面結果,因為在這種零滑點環境中,大規模贖回不僅會耗盡協議的流動性,還會迫使借款人以當前市場價格出售抵押品。雖然他們的債務會相應減少,但這種強制清算可能會增加用戶的運營成本,特別是如果穩定幣的交易價格低於1美元。
此外,還存在預言機前置風險:如果用戶注意到一筆交易即將更新抵押品價格的預言機以反映更高的價格,他們可以在價格更新之前迅速贖回大量穩定幣。一旦抵押品價格更新並上升,用戶可以以利潤出售贖回的抵押品,完成套利循環。這種做法不僅剝削了協議,而且使借款人處於不利地位,因為他們可能被迫以不太有利的價格出售他們的抵押品。
最直接的攻擊情景之一涉及操縱贖回費以降低成本。在沒有一次性借貸費用的協議中,用戶可以借貸大量穩定幣,人為地通脹協議的總債務。一旦債務膨脹,他們可以以較低的費用贖回穩定幣,因為贖回費是根據贖回金額與總債務的比例計算的。
這種操縱破壞了協定的預期費用結構,導致協定收入減少,並可能破壞系統的穩定性。例如,攻擊者可以使用閃電貸款借入大量抵押品,然後用於鑄造大量穩定幣,從而增加系統的總債務。然後,他們執行贖回操作,受益於由於債務膨脹而減少的費用,最後償還閃電貸款,使協定的收入低於預期,並可能導致那些可能沒有預料到成為贖回目標的用戶進一步不穩定。
另一個關鍵漏洞源於在單個區塊中強制協議進入恢復模式的能力,從而使得原先具有健康抵押品比率的頭寸被清算。這種攻擊利用閃電貸款並在 Oracle 價格更新周圍計時。
攻擊展開如下:
攻擊者首先使用閃電貸款借入大量抵押品,然後將其作為協議中的抵押品存入。利用這些抵押品,攻擊者以最低抵押品比率(MCR)借入穩定幣。攻擊者可以採取此舉將總抵押品比率(TCR)降至150%,這是觸發恢復模式的閾值。
攻擊者等待一個反映抵押品價格下跌的預言更新。當新的較低價格在系統中更新時,抵押品的價值下降,導致TCR低於150%。
當 TCR 現在低於 150% 時,協定會自動進入恢復模式。在這種狀態下,該協議允許清算抵押比率(CR)低於新TCR的Troves。然後,攻擊者可以繼續清算其他使用者的 Troves,這些 Trove 現在的 CR 低於 TCR,給他們造成損失並從清算獎勵中獲利。
在前一個攻擊情境的基礎上,這種高級利用技術允許攻擊者通過精心製作的贖回過程將協議強制進入恢復模式。與之前的攻擊不同,該方法確保系統保持在恢復模式下,使攻擊者能夠反复利用漏洞。
當系統支持由不同的Trove Manager管理的多種擔保品時,核心問題在於在贖回後,即使個別Trove Manager的健康狀況改善,系統整體擔保品比率(TCR)可能會下降。這種反直覺的結果是全球和局部擔保品比率之間複雜的相互作用所導致的。
例如,考慮一種情況,系統的TCR為150%。
如果用戶對具有160%抵押品比率的寶庫進行贖回,導致該寶庫關閉,則導致計算結果將使TCR低於150%,觸發恢復模式。
攻擊展開如下:
攻擊者在精心選擇的Trove中以略高於150%的抵押品比率開設了一個最小頭寸。這個設置對於確保下一步的贖回有效地將TCR降至臨界閾值以下至關重要。
攻擊者使用閃電貸款在任何Trove Manager中打開另一個抵押率為110%的頭寸,將系統的總抵押率(TCR)降至正好150%。 這一步為恢復模式做好準備。
攻擊者然後贖回在第一步中開立的頭寸。由於該頭寸的CR略高於150%,贖回導致TCR下跌至150%以下,從而觸發恢復模式。贖回不僅影響被贖回的特定Trove,還導致系統性影響,將TCR推入恢復模式。
系統現在處於恢復模式,攻擊者可以清算任何抵押率低於150%的頭寸。這些清算可能將TCR恢復到150%以上。
攻擊者可以根據需要重複這些步驟,將系統保持在恢復模式下,以持續利用抵押品比率低於150%的投資組合。
一次性贖回費用和借貸費用在緩解上述攻擊向量所帶來的風險方面發揮了至關重要的作用。通過引入借貸和贖回的成本,這些費用使得攻擊者在大多數情況下無法以大規模盈利的操縱方式進行操作的經濟上不可行。
例如,在贖回費用操縱的情況下,一次性借款費用將增加膨脹系統債務的成本,使攻擊者操縱贖回費用變得不盈利。同樣,在攻擊者試圖觸發恢復模式的場景中,借款費用將作為一種威懾力量,通過提高承擔大量債務的成本來操縱TCR。
隨著DeFi的發展,協議將面臨越來越複雜的攻擊。要保持領先地位,了解不同功能如何相互作用並潛在地產生漏洞至關重要。有效的安全性要求對不同系統組件的相互作用有深入的理解,並且要注意管理這些相互作用的設置和參數。通過主動預見功能結合產生漏洞的方式,設計者可以構建不僅安全而且具有彈性和適應未來挑戰的協議。
在迅速發展的DeFi世界中,確保協議的穩定性和安全性至關重要。在最近對CDP項目進行的安全審查中,我觀察到在某些配置下可能會出現特定的漏洞。雖然該項目目前的參數設置堅固,但了解這些潛在風險對於維護協議的完整性至關重要。
本文旨在探討一次性借貸費用和贖回費用在這一情景中發揮的關鍵作用。通過檢視可能在沒有這些費用的情況下出現的具體利用方案,我將展示適當的費用結構對於防止破壞性攻擊的重要性,從而確保協議的長期安全和可行性。
受到最初協議之一Liquity及其衍生品的啟發,許多抵押貸款頭寸(CDP)模型通過超額抵押生成去中心化穩定幣。這些模型通常包括一套複雜而精密的機制,旨在在各種條件下維持對美元的鎖定,同時確保協議在各種條件下的安全性,從而有效地將不良債務風險降到最低。這些協議通過關鍵的定制化方式區分自己,包括與協議特定目標更緊密對齊的定制經濟激勵措施。
贖回費是當用戶贖回協議的穩定幣以換取其擔保品時收取的費用。該費用旨在通過使贖回過程更昂貴來穩定穩定幣的價值,從而在贖回頻繁時防止過度贖回,從而可能使協議不穩定。
贖回費是根據協議的baseRate計算的,這是一個動態調整的參數,反映了系統內最近的活動。具體來說,baseRate會隨著每次贖回而增加,使後續的贖回變得更昂貴。
這個增加與贖回的穩定幣總供應量的比例成正比。隨著時間的推移,如果沒有贖回發生,基本利率會逐漸衰減至零,半衰期大約為12小時。
贖回費用是使用公式計算的:
例如,如果基本利率為1%,並且在抵押品價格為50,000美元時,用戶贖回100個穩定幣,則贖回費用為:
因此,在扣除贖回費用後,用戶將會收到略少於抵押品的抵押貸款頭寸。這種機制確保贖回保持經濟上的合理性,同時保護協議免受破壞性套利活動的影響。
借款費是當用戶以其抵押品抵押穩定幣時收取的另一項一次性費用。這個費用同樣基於基礎利率,但它是在穩定幣從用戶的Trove(一個保存用戶抵押品和債務的保險庫合約)提領時應用的。
借款費用的計算方式如下:
例如,如果用戶希望借款4,000個穩定幣,且基本利率設置為0.5%,則費用為:
這個費用將被增加到用戶的債務中,這意味著他們的總債務將是所借金額加上費用(例如,4,000穩定幣 + 20穩定幣 = 4,020穩定幣)。
這些費用也充當軟釘,間接地通過在特定條件下減少借入或贖回的吸引力,從而影響穩定幣的市場價格,從而有助於使穩定幣與1美元保持緊密鎖定。
現在,讓我們探討一下如果這些關鍵費用被移除或設置為零會發生什麼。
如果沒有一次性贖回費,該協定可能會無意中轉變為零滑點掉期 DEX。在這種情況下,大型穩定幣持有者可以利用贖回機制將穩定幣換成抵押品,而不會產生大量成本,從而有效地進行大規模套利交易。這可能會導致一些負面結果,因為在這種零滑點環境中,大規模贖回不僅會耗盡協議的流動性,還會迫使借款人以當前市場價格出售抵押品。雖然他們的債務會相應減少,但這種強制清算可能會增加用戶的運營成本,特別是如果穩定幣的交易價格低於1美元。
此外,還存在預言機前置風險:如果用戶注意到一筆交易即將更新抵押品價格的預言機以反映更高的價格,他們可以在價格更新之前迅速贖回大量穩定幣。一旦抵押品價格更新並上升,用戶可以以利潤出售贖回的抵押品,完成套利循環。這種做法不僅剝削了協議,而且使借款人處於不利地位,因為他們可能被迫以不太有利的價格出售他們的抵押品。
最直接的攻擊情景之一涉及操縱贖回費以降低成本。在沒有一次性借貸費用的協議中,用戶可以借貸大量穩定幣,人為地通脹協議的總債務。一旦債務膨脹,他們可以以較低的費用贖回穩定幣,因為贖回費是根據贖回金額與總債務的比例計算的。
這種操縱破壞了協定的預期費用結構,導致協定收入減少,並可能破壞系統的穩定性。例如,攻擊者可以使用閃電貸款借入大量抵押品,然後用於鑄造大量穩定幣,從而增加系統的總債務。然後,他們執行贖回操作,受益於由於債務膨脹而減少的費用,最後償還閃電貸款,使協定的收入低於預期,並可能導致那些可能沒有預料到成為贖回目標的用戶進一步不穩定。
另一個關鍵漏洞源於在單個區塊中強制協議進入恢復模式的能力,從而使得原先具有健康抵押品比率的頭寸被清算。這種攻擊利用閃電貸款並在 Oracle 價格更新周圍計時。
攻擊展開如下:
攻擊者首先使用閃電貸款借入大量抵押品,然後將其作為協議中的抵押品存入。利用這些抵押品,攻擊者以最低抵押品比率(MCR)借入穩定幣。攻擊者可以採取此舉將總抵押品比率(TCR)降至150%,這是觸發恢復模式的閾值。
攻擊者等待一個反映抵押品價格下跌的預言更新。當新的較低價格在系統中更新時,抵押品的價值下降,導致TCR低於150%。
當 TCR 現在低於 150% 時,協定會自動進入恢復模式。在這種狀態下,該協議允許清算抵押比率(CR)低於新TCR的Troves。然後,攻擊者可以繼續清算其他使用者的 Troves,這些 Trove 現在的 CR 低於 TCR,給他們造成損失並從清算獎勵中獲利。
在前一個攻擊情境的基礎上,這種高級利用技術允許攻擊者通過精心製作的贖回過程將協議強制進入恢復模式。與之前的攻擊不同,該方法確保系統保持在恢復模式下,使攻擊者能夠反复利用漏洞。
當系統支持由不同的Trove Manager管理的多種擔保品時,核心問題在於在贖回後,即使個別Trove Manager的健康狀況改善,系統整體擔保品比率(TCR)可能會下降。這種反直覺的結果是全球和局部擔保品比率之間複雜的相互作用所導致的。
例如,考慮一種情況,系統的TCR為150%。
如果用戶對具有160%抵押品比率的寶庫進行贖回,導致該寶庫關閉,則導致計算結果將使TCR低於150%,觸發恢復模式。
攻擊展開如下:
攻擊者在精心選擇的Trove中以略高於150%的抵押品比率開設了一個最小頭寸。這個設置對於確保下一步的贖回有效地將TCR降至臨界閾值以下至關重要。
攻擊者使用閃電貸款在任何Trove Manager中打開另一個抵押率為110%的頭寸,將系統的總抵押率(TCR)降至正好150%。 這一步為恢復模式做好準備。
攻擊者然後贖回在第一步中開立的頭寸。由於該頭寸的CR略高於150%,贖回導致TCR下跌至150%以下,從而觸發恢復模式。贖回不僅影響被贖回的特定Trove,還導致系統性影響,將TCR推入恢復模式。
系統現在處於恢復模式,攻擊者可以清算任何抵押率低於150%的頭寸。這些清算可能將TCR恢復到150%以上。
攻擊者可以根據需要重複這些步驟,將系統保持在恢復模式下,以持續利用抵押品比率低於150%的投資組合。
一次性贖回費用和借貸費用在緩解上述攻擊向量所帶來的風險方面發揮了至關重要的作用。通過引入借貸和贖回的成本,這些費用使得攻擊者在大多數情況下無法以大規模盈利的操縱方式進行操作的經濟上不可行。
例如,在贖回費用操縱的情況下,一次性借款費用將增加膨脹系統債務的成本,使攻擊者操縱贖回費用變得不盈利。同樣,在攻擊者試圖觸發恢復模式的場景中,借款費用將作為一種威懾力量,通過提高承擔大量債務的成本來操縱TCR。
隨著DeFi的發展,協議將面臨越來越複雜的攻擊。要保持領先地位,了解不同功能如何相互作用並潛在地產生漏洞至關重要。有效的安全性要求對不同系統組件的相互作用有深入的理解,並且要注意管理這些相互作用的設置和參數。通過主動預見功能結合產生漏洞的方式,設計者可以構建不僅安全而且具有彈性和適應未來挑戰的協議。