TPS:Compound 代币和价格预言_gate.io交易平台合法吗

本文作者:ripwu

Compound白皮书和核心代码,大佬已经写了很详细的文档,见

Compound从白皮书看业务逻辑Compound合约部署合约升级模式-以compound为例

这里补充下周边:COMP代币和价格预言

COMP

投放计划

为了激励用户,用户每次存款或者借款,Compound都会奖励COMP代币,可以用于治理投票

COMP每日总产出约为2312枚,各市场的分布见文档,部分市场如下

MarketPerDayDAI880

compBorrowSpeeds和comSupplySpeeds为cToken到每区块产出COMP数量的映射

比如对cUSDC来说,它在两个映射表中的值都为67000000000000000(COMP的精度为)

存款挖矿

用户每次操作,只要可能更新存款,如存款操作,会触发mintAllowed(),它进一步

调用updateCompSupplyIndex()更新当前市场的COMP存款指数

调用distributeSupplierComp()分发当前用户此前未结算的存款产出的COMP

functionmintAllowed(addresscToken,addressminter,uintmintAmount)externalreturns(uint){//KeeptheflywheelmovingupdateCompSupplyIndex(cToken);distributeSupplierComp(cToken,minter);returnuint(Error

--当前市场的COMP存款指数更新逻辑如下

/***

首先判断距离上次更新指数,经过了几个区块deltaBlocks,另外根据supplySpeed判断当前市场是否产出COMP(0x,Aave等配置为0,表示不产出)

条件都满足后,计算COMP产出数量,除以cToken总供给,得到这几个区块间,平均每个cToken对应的COMP产出,即代码中的ratio

也就是说,ratio可以理解为每持有一个cToken,可以得到多少COMP

最后将ratio累加进COMP存款指数

--当前用户此前未结算的COMP分发逻辑如下

/***);uintsupplierTokens=CToken(cToken)

首先获取市场最新的COMP存款指数,以及用户此前结算时的指数,相减得到deltaIndex

然后乘以用户持有的cToken数量,得到用户这段时间应该获得的COMP

--需要说明的是,这里结算的是用户之前的存款,占当前总供给的百分比,不会算入用户接下来马上将改变的存款

换句话说,存款余额的修改,要在至少一个区块之后才会被用于结算COMP,即用户操作与COMP结算是跨区块的

算是降低了被闪电贷攻击的风险

借款挖矿

与存款挖矿大同小异,稍微复杂一些,这里不再赘述

通胀

根据messari,COMP的InflationRate为27

elseif(isWithinAnchor(reportedPrice,anchorPrice)){require(reportedPrice<2**248,"Reportedpricetoolarge");prices

else{emitPriceGuarded(config

}

核心代码如上所示

validate()由Chainlink调用,参数currentAnswer表示Chainlink链下统计的价格,单位由Chainlink控制

以DAI为例,假设currentAnswer为100055330

为了方便处理,convertReportedPrice()将其转为内部单位,得到1000553

calculateAnchorPriceFromEthPrice()通过向交易对询价得到链上Uniswap交易所的价格,比如为1001190

接下来判断failoverActive,这是由社区投票决定的一项配置,表示当前市场(DAI)是否忽略Chainlink价格,以Uniswap价格为准

否则,通过isWithAnchor()确认Chainlink价格在Uniswap价格浮动范围内()

--```/***

/***/***

```

逻辑非常直白了..

参考资料

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

Compound从白皮书看业务逻辑:https://learnblockchain.cn/article/2781

Compound合约部署:https://learnblockchain.cn/article/2915

合约升级模式-以compound为例:https://learnblockchain.cn/article/2802

文档:https://compound.finance/governance/com

27.50%:https://messari.io/asset/compound/metrics/supply

流动性投放计划:https://messari.io/asset/compound/profile/supply-schedule

9月29日Compound62号提案所引发的可怕Bug:https://github.com/rebase-network/Dapp-Learning/blob/main/defi/Compound/contract/9月29日Compound62号提案所引发的可怕Bug.md

地址:https://etherscan.io/address/0x2775b1c75658Be0F640272CCb8c72ac986009e38

compound-finance/open-oracle:https://github.com/compound-finance/open-oracle

OracleInfrastructure:ChainlinkProposal:https://www.comp.xyz/t/oracle-infrastructure-chainlink-proposal/1272

OracleImprovement(ChainlinkPriceFeeds)#150:https://github.com/compound-finance/open-oracle/pull/150

TrailofBits:ChainlinkOpen-OracleSummaryReport:https://drive.google.com/file/d/1TsOXhBLenStjdd2mxF1Sfmmh_Na9X527/view

smartcontractkit/open-source:https://github.com/smartcontractkit/open-oracle/blob/master/contracts/Uniswap/UniswapAnchoredView.sol

USDC-WETH:https://etherscan.io/address/0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc

DAI-WETH:https://etherscan.io/address/0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11

SigmaPrime:ChainlinkValidatorProxySecurityAssessmentReport:https://drive.google.com/file/d/1u12kitAyQKwe3mJVFh5ePzabTmwhjA2Y/view

smartcontractkit/chainlink:https://github.com/smartcontractkit/chainlink/blob/develop/contracts/hide/v0.8/ValidatorProxy.sol

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/10468157.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

比特币进入牛市交叉点,BTC反弹迫在眉睫?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-7:794ms