深入研究CDP協議中費用結構的安全影響

進階11/26/2024, 6:59:34 AM
本文旨在探討一次性借款費用和贖回費用在這一情境中所起的關鍵作用。通過檢驗可能在沒有這些費用的情況下出現的具體剝削場景,我將演示一個合適的費用結構對於防止破壞性攻擊至關重要,從而確保協議的長期安全和可行性。

介紹

在迅速發展的DeFi世界中,確保協議的穩定性和安全性至關重要。在最近對CDP項目進行的安全審查中,我觀察到在某些配置下可能會出現特定的漏洞。雖然該項目目前的參數設置堅固,但了解這些潛在風險對於維護協議的完整性至關重要。

本文旨在探討一次性借貸費用和贖回費用在這一情景中發揮的關鍵作用。通過檢視可能在沒有這些費用的情況下出現的具體利用方案,我將展示適當的費用結構對於防止破壞性攻擊的重要性,從而確保協議的長期安全和可行性。

協議的抵押貸款頭寸(CDP)機制概述

受到最初協議之一Liquity及其衍生品的啟發,許多抵押貸款頭寸(CDP)模型通過超額抵押生成去中心化穩定幣。這些模型通常包括一套複雜而精密的機制,旨在在各種條件下維持對美元的鎖定,同時確保協議在各種條件下的安全性,從而有效地將不良債務風險降到最低。這些協議通過關鍵的定制化方式區分自己,包括與協議特定目標更緊密對齊的定制經濟激勵措施。

協議的關鍵概念

  1. 借貸
  • 用戶可以利用他們的抵押品來借貸該協議的穩定幣。
  • 抵押品存入Trove——一个保险库,用于保存抵押品并跟踪相应的债务。
  1. 抵押品比率 (CR)
  • 抵押比率是Trove中抵押品與穩定幣債務之比率。
  • 該協議強制執行最低抵押比率(MCR)為110%,這意味著每借出1,000美元的穩定幣,至少必須持有價值1,100美元的抵押品。
  1. 贖回
  • 為了維持穩定幣對美元的鎖定,用戶可以按照1穩定幣兌換1美元價值的擔保品來贖回穩定幣。
  • 贖回過程中,系統選擇擁有最低抵押貸款頭寸(CR)的 Troves 來滿足贖回需求,這意味著風險最高的用戶被最先贖回。
  1. 清算
  • 如果Trove的CR低於MCR,則Trove將受到清算。
  • 在清算期間,穩定幣在穩定池中用於償還債務,對應的擔保品重新分配給穩定池,使持有者受益。
  1. 恢復模式
  • 當整個系統的總抵押品比率(TCR)降至150%以下時,將激活恢復模式。
  • 在此模式下,只有CR高於TCR的財寶才能被創建,並且清算優先以恢復系統的整體健康狀態。
  • 在恢復模式下,即使其CR高於最低抵押率(MCR),CR低於TCR的寶庫也可以被清算,以恢復系統的整體健康狀態。
  • 禁止借款和還款操作,這些操作將使系統進入恢復模式。

了解一次性贖回費和借款費

贖回費

贖回費是當用戶贖回協議的穩定幣以換取其擔保品時收取的費用。該費用旨在通過使贖回過程更昂貴來穩定穩定幣的價值,從而在贖回頻繁時防止過度贖回,從而可能使協議不穩定。

贖回費是根據協議的baseRate計算的,這是一個動態調整的參數,反映了系統內最近的活動。具體來說,baseRate會隨著每次贖回而增加,使後續的贖回變得更昂貴。

這個增加與贖回的穩定幣總供應量的比例成正比。隨著時間的推移,如果沒有贖回發生,基本利率會逐漸衰減至零,半衰期大約為12小時。

贖回費用是使用公式計算的:

例如,如果基本利率為1%,並且在抵押品價格為50,000美元時,用戶贖回100個穩定幣,則贖回費用為:

因此,在扣除贖回費用後,用戶將會收到略少於抵押品的抵押貸款頭寸。這種機制確保贖回保持經濟上的合理性,同時保護協議免受破壞性套利活動的影響。

借款費

借款費是當用戶以其抵押品抵押穩定幣時收取的另一項一次性費用。這個費用同樣基於基礎利率,但它是在穩定幣從用戶的Trove(一個保存用戶抵押品和債務的保險庫合約)提領時應用的。

借款費用的計算方式如下:

例如,如果用戶希望借款4,000個穩定幣,且基本利率設置為0.5%,則費用為:

這個費用將被增加到用戶的債務中,這意味著他們的總債務將是所借金額加上費用(例如,4,000穩定幣 + 20穩定幣 = 4,020穩定幣)。

這些費用也充當軟釘,間接地通過在特定條件下減少借入或贖回的吸引力,從而影響穩定幣的市場價格,從而有助於使穩定幣與1美元保持緊密鎖定。

現在,讓我們探討一下如果這些關鍵費用被移除或設置為零會發生什麼。

無一次贖回費用的剝削情境

無滑點交換 DEX

如果沒有一次性贖回費,該協定可能會無意中轉變為零滑點掉期 DEX。在這種情況下,大型穩定幣持有者可以利用贖回機制將穩定幣換成抵押品,而不會產生大量成本,從而有效地進行大規模套利交易。這可能會導致一些負面結果,因為在這種零滑點環境中,大規模贖回不僅會耗盡協議的流動性,還會迫使借款人以當前市場價格出售抵押品。雖然他們的債務會相應減少,但這種強制清算可能會增加用戶的運營成本,特別是如果穩定幣的交易價格低於1美元。

此外,還存在預言機前置風險:如果用戶注意到一筆交易即將更新抵押品價格的預言機以反映更高的價格,他們可以在價格更新之前迅速贖回大量穩定幣。一旦抵押品價格更新並上升,用戶可以以利潤出售贖回的抵押品,完成套利循環。這種做法不僅剝削了協議,而且使借款人處於不利地位,因為他們可能被迫以不太有利的價格出售他們的抵押品。

無需一次性借款費用的利用情況

贖回費操縱

最直接的攻擊情景之一涉及操縱贖回費以降低成本。在沒有一次性借貸費用的協議中,用戶可以借貸大量穩定幣,人為地通脹協議的總債務。一旦債務膨脹,他們可以以較低的費用贖回穩定幣,因為贖回費是根據贖回金額與總債務的比例計算的。

這種操縱破壞了協定的預期費用結構,導致協定收入減少,並可能破壞系統的穩定性。例如,攻擊者可以使用閃電貸款借入大量抵押品,然後用於鑄造大量穩定幣,從而增加系統的總債務。然後,他們執行贖回操作,受益於由於債務膨脹而減少的費用,最後償還閃電貸款,使協定的收入低於預期,並可能導致那些可能沒有預料到成為贖回目標的用戶進一步不穩定。

通過Oracle更新交易三明治強制系統恢復模式

另一個關鍵漏洞源於在單個區塊中強制協議進入恢復模式的能力,從而使得原先具有健康抵押品比率的頭寸被清算。這種攻擊利用閃電貸款並在 Oracle 價格更新周圍計時。

攻擊展開如下:

  1. 閃電貸款和借貸:

攻擊者首先使用閃電貸款借入大量抵押品,然後將其作為協議中的抵押品存入。利用這些抵押品,攻擊者以最低抵押品比率(MCR)借入穩定幣。攻擊者可以採取此舉將總抵押品比率(TCR)降至150%,這是觸發恢復模式的閾值。

  1. Oracle 價格更新:

攻擊者等待一個反映抵押品價格下跌的預言更新。當新的較低價格在系統中更新時,抵押品的價值下降,導致TCR低於150%。

  1. 觸發恢復模式和清算:

當 TCR 現在低於 150% 時,協定會自動進入恢復模式。在這種狀態下,該協議允許清算抵押比率(CR)低於新TCR的Troves。然後,攻擊者可以繼續清算其他使用者的 Troves,這些 Trove 現在的 CR 低於 TCR,給他們造成損失並從清算獎勵中獲利。

通過精心製作的贖回來強制系統恢復模式

在前一個攻擊情境的基礎上,這種高級利用技術允許攻擊者通過精心製作的贖回過程將協議強制進入恢復模式。與之前的攻擊不同,該方法確保系統保持在恢復模式下,使攻擊者能夠反复利用漏洞。

當系統支持由不同的Trove Manager管理的多種擔保品時,核心問題在於在贖回後,即使個別Trove Manager的健康狀況改善,系統整體擔保品比率(TCR)可能會下降。這種反直覺的結果是全球和局部擔保品比率之間複雜的相互作用所導致的。

例如,考慮一種情況,系統的TCR為150%。

如果用戶對具有160%抵押品比率的寶庫進行贖回,導致該寶庫關閉,則導致計算結果將使TCR低於150%,觸發恢復模式。

攻擊展開如下:

  1. 建立初始位置:

攻擊者在精心選擇的Trove中以略高於150%的抵押品比率開設了一個最小頭寸。這個設置對於確保下一步的贖回有效地將TCR降至臨界閾值以下至關重要。

  1. TCR的操縱:

攻擊者使用閃電貸款在任何Trove Manager中打開另一個抵押率為110%的頭寸,將系統的總抵押率(TCR)降至正好150%。 這一步為恢復模式做好準備。

  1. 精心製作的贖回:

攻擊者然後贖回在第一步中開立的頭寸。由於該頭寸的CR略高於150%,贖回導致TCR下跌至150%以下,從而觸發恢復模式。贖回不僅影響被贖回的特定Trove,還導致系統性影響,將TCR推入恢復模式。

  1. 弱勢倉位的清算:

系統現在處於恢復模式,攻擊者可以清算任何抵押率低於150%的頭寸。這些清算可能將TCR恢復到150%以上。

  1. 重複這個過程:

攻擊者可以根據需要重複這些步驟,將系統保持在恢復模式下,以持續利用抵押品比率低於150%的投資組合。

一次性贖回費和借款費用在緩解這些攻擊中的作用

費用對攻擊向量的經濟影響

一次性贖回費用和借貸費用在緩解上述攻擊向量所帶來的風險方面發揮了至關重要的作用。通過引入借貸和贖回的成本,這些費用使得攻擊者在大多數情況下無法以大規模盈利的操縱方式進行操作的經濟上不可行。

例如,在贖回費用操縱的情況下,一次性借款費用將增加膨脹系統債務的成本,使攻擊者操縱贖回費用變得不盈利。同樣,在攻擊者試圖觸發恢復模式的場景中,借款費用將作為一種威懾力量,通過提高承擔大量債務的成本來操縱TCR。

關於保護 DeFi 協議的最終想法

隨著DeFi的發展,協議將面臨越來越複雜的攻擊。要保持領先地位,了解不同功能如何相互作用並潛在地產生漏洞至關重要。有效的安全性要求對不同系統組件的相互作用有深入的理解,並且要注意管理這些相互作用的設置和參數。通過主動預見功能結合產生漏洞的方式,設計者可以構建不僅安全而且具有彈性和適應未來挑戰的協議。

免責聲明:

  1. 本文轉載自 [SunSec)]. 所有版權屬於原作者 [比爾]. 如果對此轉載有異議,請聯繫Gate 學習團隊,他們會迅速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,並不構成任何投資建議。
  3. gate Learn團隊將文章翻譯成其他語言。除非特別提到,禁止複製、分發或剽竊翻譯的文章。

深入研究CDP協議中費用結構的安全影響

進階11/26/2024, 6:59:34 AM
本文旨在探討一次性借款費用和贖回費用在這一情境中所起的關鍵作用。通過檢驗可能在沒有這些費用的情況下出現的具體剝削場景,我將演示一個合適的費用結構對於防止破壞性攻擊至關重要,從而確保協議的長期安全和可行性。

介紹

在迅速發展的DeFi世界中,確保協議的穩定性和安全性至關重要。在最近對CDP項目進行的安全審查中,我觀察到在某些配置下可能會出現特定的漏洞。雖然該項目目前的參數設置堅固,但了解這些潛在風險對於維護協議的完整性至關重要。

本文旨在探討一次性借貸費用和贖回費用在這一情景中發揮的關鍵作用。通過檢視可能在沒有這些費用的情況下出現的具體利用方案,我將展示適當的費用結構對於防止破壞性攻擊的重要性,從而確保協議的長期安全和可行性。

協議的抵押貸款頭寸(CDP)機制概述

受到最初協議之一Liquity及其衍生品的啟發,許多抵押貸款頭寸(CDP)模型通過超額抵押生成去中心化穩定幣。這些模型通常包括一套複雜而精密的機制,旨在在各種條件下維持對美元的鎖定,同時確保協議在各種條件下的安全性,從而有效地將不良債務風險降到最低。這些協議通過關鍵的定制化方式區分自己,包括與協議特定目標更緊密對齊的定制經濟激勵措施。

協議的關鍵概念

  1. 借貸
  • 用戶可以利用他們的抵押品來借貸該協議的穩定幣。
  • 抵押品存入Trove——一个保险库,用于保存抵押品并跟踪相应的债务。
  1. 抵押品比率 (CR)
  • 抵押比率是Trove中抵押品與穩定幣債務之比率。
  • 該協議強制執行最低抵押比率(MCR)為110%,這意味著每借出1,000美元的穩定幣,至少必須持有價值1,100美元的抵押品。
  1. 贖回
  • 為了維持穩定幣對美元的鎖定,用戶可以按照1穩定幣兌換1美元價值的擔保品來贖回穩定幣。
  • 贖回過程中,系統選擇擁有最低抵押貸款頭寸(CR)的 Troves 來滿足贖回需求,這意味著風險最高的用戶被最先贖回。
  1. 清算
  • 如果Trove的CR低於MCR,則Trove將受到清算。
  • 在清算期間,穩定幣在穩定池中用於償還債務,對應的擔保品重新分配給穩定池,使持有者受益。
  1. 恢復模式
  • 當整個系統的總抵押品比率(TCR)降至150%以下時,將激活恢復模式。
  • 在此模式下,只有CR高於TCR的財寶才能被創建,並且清算優先以恢復系統的整體健康狀態。
  • 在恢復模式下,即使其CR高於最低抵押率(MCR),CR低於TCR的寶庫也可以被清算,以恢復系統的整體健康狀態。
  • 禁止借款和還款操作,這些操作將使系統進入恢復模式。

了解一次性贖回費和借款費

贖回費

贖回費是當用戶贖回協議的穩定幣以換取其擔保品時收取的費用。該費用旨在通過使贖回過程更昂貴來穩定穩定幣的價值,從而在贖回頻繁時防止過度贖回,從而可能使協議不穩定。

贖回費是根據協議的baseRate計算的,這是一個動態調整的參數,反映了系統內最近的活動。具體來說,baseRate會隨著每次贖回而增加,使後續的贖回變得更昂貴。

這個增加與贖回的穩定幣總供應量的比例成正比。隨著時間的推移,如果沒有贖回發生,基本利率會逐漸衰減至零,半衰期大約為12小時。

贖回費用是使用公式計算的:

例如,如果基本利率為1%,並且在抵押品價格為50,000美元時,用戶贖回100個穩定幣,則贖回費用為:

因此,在扣除贖回費用後,用戶將會收到略少於抵押品的抵押貸款頭寸。這種機制確保贖回保持經濟上的合理性,同時保護協議免受破壞性套利活動的影響。

借款費

借款費是當用戶以其抵押品抵押穩定幣時收取的另一項一次性費用。這個費用同樣基於基礎利率,但它是在穩定幣從用戶的Trove(一個保存用戶抵押品和債務的保險庫合約)提領時應用的。

借款費用的計算方式如下:

例如,如果用戶希望借款4,000個穩定幣,且基本利率設置為0.5%,則費用為:

這個費用將被增加到用戶的債務中,這意味著他們的總債務將是所借金額加上費用(例如,4,000穩定幣 + 20穩定幣 = 4,020穩定幣)。

這些費用也充當軟釘,間接地通過在特定條件下減少借入或贖回的吸引力,從而影響穩定幣的市場價格,從而有助於使穩定幣與1美元保持緊密鎖定。

現在,讓我們探討一下如果這些關鍵費用被移除或設置為零會發生什麼。

無一次贖回費用的剝削情境

無滑點交換 DEX

如果沒有一次性贖回費,該協定可能會無意中轉變為零滑點掉期 DEX。在這種情況下,大型穩定幣持有者可以利用贖回機制將穩定幣換成抵押品,而不會產生大量成本,從而有效地進行大規模套利交易。這可能會導致一些負面結果,因為在這種零滑點環境中,大規模贖回不僅會耗盡協議的流動性,還會迫使借款人以當前市場價格出售抵押品。雖然他們的債務會相應減少,但這種強制清算可能會增加用戶的運營成本,特別是如果穩定幣的交易價格低於1美元。

此外,還存在預言機前置風險:如果用戶注意到一筆交易即將更新抵押品價格的預言機以反映更高的價格,他們可以在價格更新之前迅速贖回大量穩定幣。一旦抵押品價格更新並上升,用戶可以以利潤出售贖回的抵押品,完成套利循環。這種做法不僅剝削了協議,而且使借款人處於不利地位,因為他們可能被迫以不太有利的價格出售他們的抵押品。

無需一次性借款費用的利用情況

贖回費操縱

最直接的攻擊情景之一涉及操縱贖回費以降低成本。在沒有一次性借貸費用的協議中,用戶可以借貸大量穩定幣,人為地通脹協議的總債務。一旦債務膨脹,他們可以以較低的費用贖回穩定幣,因為贖回費是根據贖回金額與總債務的比例計算的。

這種操縱破壞了協定的預期費用結構,導致協定收入減少,並可能破壞系統的穩定性。例如,攻擊者可以使用閃電貸款借入大量抵押品,然後用於鑄造大量穩定幣,從而增加系統的總債務。然後,他們執行贖回操作,受益於由於債務膨脹而減少的費用,最後償還閃電貸款,使協定的收入低於預期,並可能導致那些可能沒有預料到成為贖回目標的用戶進一步不穩定。

通過Oracle更新交易三明治強制系統恢復模式

另一個關鍵漏洞源於在單個區塊中強制協議進入恢復模式的能力,從而使得原先具有健康抵押品比率的頭寸被清算。這種攻擊利用閃電貸款並在 Oracle 價格更新周圍計時。

攻擊展開如下:

  1. 閃電貸款和借貸:

攻擊者首先使用閃電貸款借入大量抵押品,然後將其作為協議中的抵押品存入。利用這些抵押品,攻擊者以最低抵押品比率(MCR)借入穩定幣。攻擊者可以採取此舉將總抵押品比率(TCR)降至150%,這是觸發恢復模式的閾值。

  1. Oracle 價格更新:

攻擊者等待一個反映抵押品價格下跌的預言更新。當新的較低價格在系統中更新時,抵押品的價值下降,導致TCR低於150%。

  1. 觸發恢復模式和清算:

當 TCR 現在低於 150% 時,協定會自動進入恢復模式。在這種狀態下,該協議允許清算抵押比率(CR)低於新TCR的Troves。然後,攻擊者可以繼續清算其他使用者的 Troves,這些 Trove 現在的 CR 低於 TCR,給他們造成損失並從清算獎勵中獲利。

通過精心製作的贖回來強制系統恢復模式

在前一個攻擊情境的基礎上,這種高級利用技術允許攻擊者通過精心製作的贖回過程將協議強制進入恢復模式。與之前的攻擊不同,該方法確保系統保持在恢復模式下,使攻擊者能夠反复利用漏洞。

當系統支持由不同的Trove Manager管理的多種擔保品時,核心問題在於在贖回後,即使個別Trove Manager的健康狀況改善,系統整體擔保品比率(TCR)可能會下降。這種反直覺的結果是全球和局部擔保品比率之間複雜的相互作用所導致的。

例如,考慮一種情況,系統的TCR為150%。

如果用戶對具有160%抵押品比率的寶庫進行贖回,導致該寶庫關閉,則導致計算結果將使TCR低於150%,觸發恢復模式。

攻擊展開如下:

  1. 建立初始位置:

攻擊者在精心選擇的Trove中以略高於150%的抵押品比率開設了一個最小頭寸。這個設置對於確保下一步的贖回有效地將TCR降至臨界閾值以下至關重要。

  1. TCR的操縱:

攻擊者使用閃電貸款在任何Trove Manager中打開另一個抵押率為110%的頭寸,將系統的總抵押率(TCR)降至正好150%。 這一步為恢復模式做好準備。

  1. 精心製作的贖回:

攻擊者然後贖回在第一步中開立的頭寸。由於該頭寸的CR略高於150%,贖回導致TCR下跌至150%以下,從而觸發恢復模式。贖回不僅影響被贖回的特定Trove,還導致系統性影響,將TCR推入恢復模式。

  1. 弱勢倉位的清算:

系統現在處於恢復模式,攻擊者可以清算任何抵押率低於150%的頭寸。這些清算可能將TCR恢復到150%以上。

  1. 重複這個過程:

攻擊者可以根據需要重複這些步驟,將系統保持在恢復模式下,以持續利用抵押品比率低於150%的投資組合。

一次性贖回費和借款費用在緩解這些攻擊中的作用

費用對攻擊向量的經濟影響

一次性贖回費用和借貸費用在緩解上述攻擊向量所帶來的風險方面發揮了至關重要的作用。通過引入借貸和贖回的成本,這些費用使得攻擊者在大多數情況下無法以大規模盈利的操縱方式進行操作的經濟上不可行。

例如,在贖回費用操縱的情況下,一次性借款費用將增加膨脹系統債務的成本,使攻擊者操縱贖回費用變得不盈利。同樣,在攻擊者試圖觸發恢復模式的場景中,借款費用將作為一種威懾力量,通過提高承擔大量債務的成本來操縱TCR。

關於保護 DeFi 協議的最終想法

隨著DeFi的發展,協議將面臨越來越複雜的攻擊。要保持領先地位,了解不同功能如何相互作用並潛在地產生漏洞至關重要。有效的安全性要求對不同系統組件的相互作用有深入的理解,並且要注意管理這些相互作用的設置和參數。通過主動預見功能結合產生漏洞的方式,設計者可以構建不僅安全而且具有彈性和適應未來挑戰的協議。

免責聲明:

  1. 本文轉載自 [SunSec)]. 所有版權屬於原作者 [比爾]. 如果對此轉載有異議,請聯繫Gate 學習團隊,他們會迅速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,並不構成任何投資建議。
  3. gate Learn團隊將文章翻譯成其他語言。除非特別提到,禁止複製、分發或剽竊翻譯的文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!