比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Compound 的潛在風險和改進_COM

Author:

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

本文作者:ripwu

之前在看Compound代碼時,感覺存在一些疑問和改進

其中有個疑問昨天得到了回復,趁著這個機會簡單整理下筆記

退出市場的資產,仍可被清算

背景

//compound-protocol/contracts/Comptroller

//itshouldbeimpossibletobreaktheimportantinvariantassert(markets

}functionaddToMarketInternal(CTokencToken,addressborrower)internalreturns(Error){MarketstoragemarketToJoin=markets;if(!marketToJoin

if(marketToJoin

//survivedthegauntlet,addtolist//NOTE:westorethesesomewhatredundantlyasasignificantoptimization//thisavoidshavingtoiteratethroughthelistforthemostcommonusecases//thatis,onlywhenweneedtoperformliquiditychecks//andnotwheneverwewanttocheckifanaccountisinaparticularmarketmarketToJoin

Compound在借款時會通過borrowAllowed()檢查用戶是否已經進入cToken市場

數字銀行Onyx Private完成410萬美元融資,Y Combinator等參投:5月24日消息,數字銀行 Onyx Private 宣布完成 410 萬美元新一輪融資,Village Global、Y Combinator、Global Founders Capital、One Way Ventures、186 Ventures 和 Olive Tree Capital 參投。Onyx Private 目前與 Piermont Bank 合作提供數字銀行服務,在投資方面為用戶提供高收益、固定收益的投資組合產品,其投資服務由 Helium Advisors 管理,經紀賬戶通過紐約梅隆銀行旗下的清算所 Pershing 進行。[2023/5/24 15:22:55]

如果未進入,會調用addToMarketInternal()將cToken添加到用戶接觸的資產列表accountAssets中

我查了下accountAssets,似乎只在存款,借款,和計算用戶健康度時使用

其中前面兩個操作(存款,借款)更多是類似聲明的邏輯,沒有什么疑點

//compound-protocol/contracts/Comptroller

/*Wecalculatethenumberofcollateraltokensthatwillbeseized*/(uintamountSeizeError,uintseizeTokens)=comptroller

else{seizeError=cTokenCollateral

return(uint(Error

Quik?com市場推出NFT域名鑄造服務:4月13日消息,Quik.com正在推出通過智能合約鏈接到區塊鏈的NFT域名,例如.doge、.shib、.metaverse、.blockchain、.bored和.vr。

NFT域名區別于傳統域名的主要特征是其去中心化性質。當人們購買傳統域名時,只是在中心化服務器控制下租用一段時間。但是,去中心化域使人們能夠保持自我保管并完全控制資產。與任何其他加密貨幣一樣,NFT域名在區塊鏈上進行驗證,并存儲在數字錢包中。

Quik.com推出NFT域名平臺Alpha版本,使用戶能夠購買和出售區塊鏈域名。該平臺包括一個高級搜索系統,用戶可以瀏覽特定的列表。此外,Quik.com 將在今年晚些時候進行QUIK代幣公開銷售。

區塊鏈使NFT域名歸用戶所有,而不是租用。因此,用戶將能夠通過一次性注冊費鑄造域名,而無需定期續訂。擁有真正的所有權意味著原始鑄造者將在每筆后續銷售中獲得約5%至10%的永久版稅。(Bitcoin.com)[2022/4/13 14:21:27]

測試

我擔心存在理解偏差,于是在Ropsten網絡上進行了測試:

首先用賬戶A發送exitMarket交易,將存入的cETH退出市場

然后用賬戶A發送setUnderlyingPrice交易,操縱預言機,模擬市場價格波動,使得賬戶A資不抵債

最后用賬戶B發送liquidateBorrow交易,清算賬戶A的債務,指定以cETH為抵押物

結論是:退出市場的cETH確實可以被清算

問題

問題來了:

Compound法律顧問:比特幣最大的挑戰仍在前方:Compound法律顧問Jake Chervinsky之前曾發推表示,過去幾年加密行業經歷了蜜月期,足夠大以至于能產生影響,但也不能夠改變現狀。而Libra的到來可能結束這個蜜月期,Facebook必須對某些剛性問題做出回應。他轉推這條推特并表示,現在有很多與加密貨幣監管相關的消息讓人目不暇接,跳出這些細節從全局思考,會發現這是一場與個人托管、隱私相關的意識形態戰爭。如果你相信比特幣的核心是金融隱私與個人主權,現狀需要認真對待。最大的挑戰仍在前方。[2020/10/13]

問題一:已經退出市場的資產,是否應該被清算?

問題二:如果不應該被清算,那么進入市場和退出市場的邏輯,意義何在?

綜合考慮,我個人覺得Compound原意應該是不允許清算已退出市場的資產;理由如下:

首先,用戶在實際存款前必須單獨發起進入市場的交易,考慮到Compound在以太坊主網運營,交易手續費不可忽視

如果可以被清算,那么進入和退出市場的邏輯沒有什么實際用途,在代碼中也未找到其他用途

其次,在退出市場前,Compound提示如下

但是,從另外一個角度來說,退出市場的資產,確實應該支持被清算,否則有損于系統健康度

反饋

兩個角度都有道理,我沒想明白,于是向Compound發送了郵件,一周后收到了回復:問題已知,已退出市場的資產可以被清算;提示文本看起來是有誤導

不過,我還是沒明白:既然可以被清算,為什么要設計進入退出的功能,用戶專門發起這兩筆交易的手續費呢...

58COIN USDT合約正式上線XTZ、COMP、BAND三個新品:據58COIN官方公告,其USDT合約交易區現已完成在線上新工作,現已正式上線XTZ、COMP、BAND三個新品,投資者持有USDT即可交易。這是其首創USDT合約以來第三次上線新品,此次上新完成后,USDT合約品類擴大至18個。[2020/8/14]

BTW,前兩天AaveV3似乎也引入了資產隔離的概念..

USDC釘住1美元

前面文章中有舉例說明Compound價格預言機的流程,以DAI為例:首先向USDC-WETH交易對查詢WETH價格,然后向DAI-WETH交易對查詢DAI價格,最后將兩者相乘,得到以USDC計價的DAI價格

換句話說,Compound中大部分token的價格是以USDC計價的

這里隱藏了一個假設,USDC價格是恒定不變的,可以作為計價單位

//https://github

}

實現上,Compound對USDC,USDT等做了特殊處理,其priceSource配置為FIXED_USD,釘在1美元

在USDC價格波動時,可能會導致一些問題,比如這個提案描述的例子:

假設USDC因監管或其他原因不斷下跌,比如市場價格為0

}

其中,在計算sumCollateral時,使用的是抵押率collateralFactor

--與之相對的,在Aave中,貸款時按抵押率計算,而清算時健康度按清算閾值計算;因為清算閾值比抵押率大,因此留出了安全墊

香港比特聲明禁用詹克團方面的bitmain2.com域名與郵件:針對詹克團方面注冊bitmain2.com的郵箱群發要求員工限期回崗。18日下午1點,香港比特大陸發布聲明:域名為bitmain2.com的郵件是不法人士冒用比特大陸名義進行釣魚活動的平臺,我們已經對該域名的郵件采取了封禁措施,并將采取法律手段拿回該域名。在此期間,公司各界合作伙伴對來自該域名的郵件提高警惕,可舉報其為垃圾郵件,并向相關IT安全專家進行投訴。(吳說區塊鏈)[2020/6/18]

引用鏈接中的例子:用戶抵押價值2ETH的資產,借出1.575ETH的債務,此時健康度為1.0476

注意例子中的債務,是按資產的最大抵押率借出的;在這種情況下,可以忍受市場價格小范圍的波動

比如,市場價格短期波動,導致債務上漲3%時,此時健康度仍在1以上,用戶資產不會面臨清算風險

隱患

不在官方倉庫中的代碼

比如價格預言機,還未被合并,見Compound代幣和價格預言

又如,官方倉庫中Comptroller,似乎也是較老的版本;而主網實際使用的合約,是修復了9月底COMP安全事件的版本

--對于新入手Compound的開發者而言,要找到正確的代碼,只能求助于EtherScan和搜索引擎,體驗有點糟糕

更重要的是,會導致接下來的問題:

不同步的主網與測試網絡

考慮到鏈下數據不好維護,為了便于測試,可以在測試網使用模擬預言機作為mock

除此之外,應該盡可能保證其他合約在主網和測試網一致,但在Compound中并非如此:

比如,最核心的Unitroller,在主網與測試網絡上部署的代碼版本不同

又如CErc20Immutable是舊代碼,會導致cToken無法支持社區治理。主網中這個合約已被廢棄,但在測試中仍在使用,比如Ropsten中的cUSDC

--主網與測試網絡之間的不同步,除了削弱測試網絡的意義,也增加了新開發者的理解成本

要解決這個問題,首先要解決前面的問題,確保官方倉庫與主網部署的合約代碼一致

這也就引出了更關鍵的問題:

測試網絡似乎沒有發生作用

COMP安全事件暴露的問題比較嚴重:考慮到除了公開的測試網絡之外,社區中還有不少開發者搭建著私人測試網絡,而理論上,這個問題是必現的;

我們似乎可以得出一個結論:Compound的測試網絡和測試代碼,沒有起到作用

那么,Compound協議安全如何保證呢?社區成員似乎也在擔心,比如最近幾天出現的提案AuditingCompoundProtocol,ContinuousFormalVerification

--另外,還有代碼與文檔/產品之間的不同步,原始的升級模式等;限于個人視野未知全貌,某些理解可能存在局限,因此不做展開

以上,一家之言,歡迎指正~

參考資料

ripwu:https://learnblockchain.cn/people/3911

exitMarket:https://ropsten.etherscan.io/tx/0x7b71d5cf083eca8ab436126953f87573fb9d047dced373394ba2d6ae4621e0a2

setUnderlyingPrice:https://ropsten.etherscan.io/tx/0xbb4691fdf1f81b9634375658862d7b7ec6ff7253e81f3896a6025bba11b1e54c

liquidateBorrow:https://ropsten.etherscan.io/tx/0xa38099eb44664169e41e36d06ef0d72c241ddd0a4349e3f36f46506667c4c975

資產隔離:https://governance.aave.com/t/introducing-aave-v3/6035

這個提案:https://www.comp.xyz/t/floating-stablecoin-prices/2005

Aave清算閾值(LiquidationThreshold):http://godorz.info/2021/10/aave-v2/#i-19

Compound代幣和價格預言:https://godorz.info/2021/11/compound_comp_and_price_oracles/#i-8

較老的版本:https://github.com/compound-finance/compound-protocol/blob/master/contracts/ComptrollerStorage.sol

版本:https://etherscan.io/address/0xbafe01ff935c7305907c33bf824352ee5979b526#code

主網:https://etherscan.io/address/0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B#readProxyContract

測試網絡:https://ropsten.etherscan.io/address/0xcfa7b0e37f5AC60f3ae25226F5e39ec59AD26152#readProxyContract

無法支持社區治理:https://www.comp.xyz/t/legacy-market-migration-wbtc/1333

cUSDC:https://ropsten.etherscan.io/address/0x2973e69b20563bcc66dC63Bde153072c33eF37fe#code

COMP安全事件:https://github.com/rebase-network/Dapp-Learning/blob/main/defi/Compound/contract/9月29日Compound62號提案所引發的可怕Bug.md

測試代碼:https://github.com/compound-finance/compound-protocol/tree/master/spec

AuditingCompoundProtocol:https://www.comp.xyz/t/auditing-compound-protocol/2543

ContinuousFormalVerification:https://www.comp.xyz/t/continuous-formal-verification/2557

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

本文來源于非小號媒體平臺:

登鏈社區

現已在非小號資訊平臺發布105篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/10478099.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

比特幣進入牛市交叉點,BTC反彈迫在眉睫?

Tags:COMCOMPOMPUNDcombo幣發行總量Compound DaiCompound Basic Attention TokenUNDO價格

加密貨幣
ZT創新板即將上線IMX_Aztec

親愛的ZT用戶: ZT創新板即將上線IMX,並開啟IMX/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年11月6日17:00; IMX ZT創新板即將上線Dogmoon:據官網.

1900/1/1 0:00:00
歐易OKEx關于熱門MEME Coin充值上線結果的公告_NFT

尊敬的歐易OKEx用戶:歐易OKEx熱門MemeCoin充值上線專場活動已經結束,感謝廣大社區用戶參與。經社區充值投票,前2名項目SAMO、LEASH符合本次上線條件.

1900/1/1 0:00:00
鏈上「魷魚游戲」崩盤,借 IP 造鏈游成風口_GAME

在現象級網劇《魷魚游戲》熱播時,以劇情設定為創作原型的GameFi也出現了。在BSC鏈上,名為SquidGame的游戲效仿劇情,以可觀的終極大獎為誘惑吸引玩家們闖關角逐,只不過,玩家們每過一關,

1900/1/1 0:00:00
BKEX Global 關于ETP專區新增ARPA3L、ARPA3S(ARPA Chain)的公告_GLO

尊敬的用戶: BKEXGlobalETP專區將于2021年11月04日14:00上線ARPA3L、ARPA3S.

1900/1/1 0:00:00
開啟VOW (VOW)交易 / 2021.11.5_VOW

親愛的BitGlobal用戶:BitGlobal將在GEM上線VOW數位資產服務,?詳情如下充提安排:11月5日11:00(UTC8)開放立即充值>>交易時間:11月8日17:00(.

1900/1/1 0:00:00
Footprint 10月份月報:多鏈競爭格局基本形成, NFT、DeFi 成資本投資熱門_DEF

撰文:Footprint分析師Bella() 日期:2021年11月 數據來源:FootprintAnalytics10月月報dashboard(https://footprint.

1900/1/1 0:00:00
ads