本文作者: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市场
Orange Comet在股权融资中筹集700万美元:金色财经报道,专注于娱乐行业NFT和元宇宙体验的Web3初创公司Orange Comet已在新一轮的股权融资中筹集了700万美元。该公司预计将在今年晚些时候启动更大规模的融资。在2月23日提交给美国证券交易委员会(SEC)的文件中显示Orange Comet通过出售股权和证券筹集了7,243,539美元。
总部位于洛杉矶的Orange Comet过去的合作伙伴包括演员Anthony Hopkins、NBA名人堂成员Scottie Pippen。Orange Comet于2021年由电视和电影制片人Dave Broome、美国国家橄榄球联盟(NFL)名人堂成员Kurt Warner以及音乐家Gloria和Emilio Estefan共同创立。[2023/3/1 12:35:21]
如果未进入,会调用addToMarketInternal()将cToken添加到用户接触的资产列表accountAssets中
我查了下accountAssets,似乎只在存款,借款,和计算用户健康度时使用
其中前面两个操作(存款,借款)更多是类似声明的逻辑,没有什么疑点
//compound-protocol/contracts/Comptroller
/*Wecalculatethenumberofcollateraltokensthatwillbeseized*/(uintamountSeizeError,uintseizeTokens)=comptroller
else{seizeError=cTokenCollateral
Compute North CFO:与Generate Capital的纠纷导致资金链断裂:9月24日消息,Compute North首席财务官Harold Coulby发布声明称,Generate Capital曾于今年2月向Compute North提供3亿美元的贷款,之后于7月利用合同条款控制Compute North业务的各个方面,并且至今仍有1亿美元未偿还贷款。
Harold Coulby表示,虽然Compute North正在通过出售资产以及其他融资方案来获取资金,但可能无法实现在庭外重组的时间限制内完成。
关于提交债权人名单和公司现金管理系统运作的动议将在9月26日下午4点举行的听证会上进一步讨论。其他听证会定于10月11日上午9点和10月24日下午1点30分在休斯顿法院举行。
据此前报道,比特币矿企Compute North申请第11章破产保护,今年2月曾融资3.85亿美元。此外,Compute North因未归还140万美元押金而遭NBTC起诉。(The Block)[2022/9/24 7:18:15]
return(uint(Error
测试
我担心存在理解偏差,于是在Ropsten网络上进行了测试:
首先用账户A发送exitMarket交易,将存入的cETH退出市场
然后用账户A发送setUnderlyingPrice交易,操纵预言机,模拟市场价格波动,使得账户A资不抵债
最后用账户B发送liquidateBorrow交易,清算账户A的债务,指定以cETH为抵押物
结论是:退出市场的cETH确实可以被清算
COMP突破440美元关口 日内涨幅为2.64%:欧易OKEx数据显示,COMP短线上涨,突破440美元关口,现报440.18美元,日内涨幅达到2.64%,行情波动较大,请做好风险控制。[2021/3/16 18:49:18]
问题
问题来了:
问题一:已经退出市场的资产,是否应该被清算?
问题二:如果不应该被清算,那么进入市场和退出市场的逻辑,意义何在?
综合考虑,我个人觉得Compound原意应该是不允许清算已退出市场的资产;理由如下:
首先,用户在实际存款前必须单独发起进入市场的交易,考虑到Compound在以太坊主网运营,交易手续费不可忽视
如果可以被清算,那么进入和退出市场的逻辑没有什么实际用途,在代码中也未找到其他用途
其次,在退出市场前,Compound提示如下
但是,从另外一个角度来说,退出市场的资产,确实应该支持被清算,否则有损于系统健康度
反馈
两个角度都有道理,我没想明白,于是向Compound发送了邮件,一周后收到了回复:问题已知,已退出市场的资产可以被清算;提示文本看起来是有误导
不过,我还是没明白:既然可以被清算,为什么要设计进入退出的功能,用户专门发起这两笔交易的手续费呢...
BTW,前两天AaveV3似乎也引入了资产隔离的概念..
USDC钉住1美元
前面文章中有举例说明Compound价格预言机的流程,以DAI为例:首先向USDC-WETH交易对查询WETH价格,然后向DAI-WETH交易对查询DAI价格,最后将两者相乘,得到以USDC计价的DAI价格
DAY与ZG.COM达成合作,将于近期上线交易:据悉,DAY宣布与ZG.COM达成合作,并将于近期上线ZG.COM交易。双方将从社群流量、线上活动、媒体宣发等方面进行合作,致力于打造有实际落地的区块链项目。
DAY平台是由多尔曼集团通过链+智能”技术打造的数据储存和商品溯源服务生态,通过POC机制,创建去中心化可信任的服务平台,实现匿名存储和溯源。据悉,此前DAY已与知名区块链基金DCFUND达成合作。
ZG.COM是一家领先的数字资产交易平台,目前已跻身全球交易所综合排名前二十。其总部设立于新加坡,并同时在韩国、日本、美国等国家设立了办事处。[2020/6/21]
换句话说,Compound中大部分token的价格是以USDC计价的
这里隐藏了一个假设,USDC价格是恒定不变的,可以作为计价单位
//https://github
}
实现上,Compound对USDC,USDT等做了特殊处理,其priceSource配置为FIXED_USD,钉在1美元
在USDC价格波动时,可能会导致一些问题,比如这个提案描述的例子:
假设USDC因监管或其他原因不断下跌,比如市场价格为0
}
其中,在计算sumCollateral时,使用的是抵押率collateralFactor
--与之相对的,在Aave中,贷款时按抵押率计算,而清算时健康度按清算阈值计算;因为清算阈值比抵押率大,因此留出了安全垫
引用链接中的例子:用户抵押价值2ETH的资产,借出1.575ETH的债务,此时健康度为1.0476
BP Combinator区块动力加速器成立:据官方消息,BP Combinator区块动力加速器于近日成立,加速器主要为交易所提供保荐及顾问服务,为区块链项目提供孵化及加速服务。加速器以其完整且自控的全流程服务链条,帮助合作方快速实现业务搭建及业务增长。
BP加速器成员均有3年以上的区块链交易所及孵化业务从业经验。目前已开启交易所保荐、交易所顾问、项目孵化、流量聚合等多项业务。[2020/6/10]
注意例子中的债务,是按资产的最大抵押率借出的;在这种情况下,可以忍受市场价格小范围的波动
比如,市场价格短期波动,导致债务上涨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反弹迫在眉睫?
标签:COMPSBFUNDCompoundYearn Compounding veCRV yVaultsbf币圈央妈dFundCompound Dai
尊敬的用户: ?? 本着保护用户的宗旨,BKEXGlobal为保证交易币种的高标准,将定期对平台内的代币进行综合性审查;如项目方出现对投资者不利因素,我们将采取对应措施,并下架对应项目.
尊敬的用户:?????????????BKEXGlobal即将上线PROT,详情如下:上线交易对:PROT/USDT币种类型:BEP20充值功能开放时间:已开放交易功能开放时间:2021年11月.
作为加密世界近半年的风口之一,GameFi赛道正呈现出百花齐放的局面,角色扮演、虚拟空间、战斗养成、卡牌收集等各类链游轮番上线,更多创新性玩法也在不断涌现.
FTX创始人SamBankman-Fried是这个星球上财富积累速度最快的男人,没有之一。他的底层思考逻辑是什么,众多文章或者采访素材似乎都没有解答我这个困惑,直到最近听到了一期Patrick对.
尊敬的用户: BKEXGlobalETP专区将于2021年11月10日14:00上线IOTX3L、IOTX3S.
亲爱的BitMart用户:BitMart将于2021年11月15日上线代币YooShi(YOOSHI)。届时将开通YOOSHI/USDT交易对.