BAC:Code Review 回顾:算法稳定币 Basis

2021 年 1 月 6 日晚上 9 点,我们组织大家一起 review 了算法稳定币中的 Basis,视频回顾在这里:https://www.bilibili.com/video/BV1bK4y157aR/ ,非常感谢菠菜的分享。

目前的稳定币一共分为三种:

锚定法币,比如 USDT 和 USDC,也包括交易所发行的稳定币,例如 BUSD、HUSD 等。

链上资产抵押型,比如 MakerDAO 的 DAI 和 Synthetix 的 sUSD。

算法稳定币,比如 AMPL、ESD、Frax,还有今天要说的 Basis。

算法稳定币经历了几个阶段,basis 是一个很新的项目,采用了三币模型。

Art Blocks引入BytecodeStorage V1,以增强链上存储能力:5月15日消息,生成NFT艺术平台Art Blocks发推称,在现有SSTORE 2基础上引入BytecodeStorage V1以增强平台的链上存储能力,同时与以太坊核心路线图、以及后续即将推出的以太坊对象格式(EOF)规范保持一致,新模型将支持把读取和写入分离到不同的数据库中。

随着EOF路线图的完善,团队将把其纳入post-EOF BytecodeStorage V2计划中,以缓解DApp处理过渡到不支持EOF合约、直接对传统合约进行EXTCODECOPY的过程中。此外,团队还决定增加对使用BytecodeStorage V0实现编写的合约以及使用SSTORE2编写的合约的向后兼容读取的支持。在post-EOF中,与BytecodeStorage V1共享阅读器的交互需要通过CALL而非基于读取传统合约的DELEGATECALL。[2023/5/15 15:02:53]

Basis 有三个币:BAC(Basis Cash)、BAS(Basis Share)、BAB(Basis Bond),三者相当于货币,股票和债券。可以将 Basis 理解为一个央行,BAC 是央行发行的货币;BAS 是央行的股东持有的股票,需要承担系统风险,也获取系统的收益;BAB 是债券,相当于央行的债券。这 3 个都是 erc20 token,BAB 目前没有日期限制,只要在合适的价格就可以兑付。

基于Solana的Exchange.Art将推出生成艺术NFT平台Code Canvas:3月8日消息,基于Solana的数字艺术市场Exchange.Art背后的团队表示,他们将推出一个生成艺术NFT平台。该平台名为Code Canvas,允许创作者和收藏家在Solana区块链上铸造和交易生成艺术NFT。与基于以太坊的生成艺术平台Art Blocks类似,Code Canvas将进行初级发行,以及基于Solana的生成艺术NFT的二次销售。(coindesk)[2023/3/8 12:50:08]

BAC 价格调节机制就是一个市场供需的调节机制。

当 BAC 价格少于 1 美元,需要减少 BAC 流通,让 BAC 的价格自然上升到 1 美元

zkSync在Code4rena平台启动漏洞赏金计划:10月29日消息,以太坊Layer2扩容解决方案zkSync宣布在Code4rena平台启动漏洞赏金计划,总奖金池达165,000美元。活动将于北京时间10月29日4时开启,至11月10日4时结束,本次活动旨在提高网络安全性,使zkSync2.0成为更多开发人员的选择。[2022/10/29 11:55:24]

BAC 价格少于 1 美元,用户可以用申购债券 BAB,方式是销毁 BAC,得到 BAB

BAB 价格 = BAC 价格的平方,因为 BAC 价格小于 1,所以平方后的 BAB 的价格会更低

未来可以用一个 BAB 换回一个 BAC

当 BAC 价格超过 1 美元,需要增加 BAC 流通,让 BAC 的价格自然下降到 1 美元

目前的阈值是当 BAC > 1.05 时,可以触发系统增发 BAC

TAAL收购澳大利亚科技公司Codugh20%股份:专注于BSV的区块链基础设施提供商TAAL已与澳大利亚科技公司Codugh签订了最终股权购买、融资协议以及开发协议。TAAL将收购后者20%的股份,支付款项将用于Codugh进一步开发、推出和扩大公司的产品和平台。预计这笔投资将进一步推动TAAL的商业API服务层的开发和商业化。(CoinGeek)[2020/6/8]

增发的 BAC 会发给持有 BAB 和 BAS 的用户

优先还债,所以先给持有 BAB 的用户,方式是销毁 BAB,得到 BAC

剩下的 BAC 给 BAS 持有人,如果没有剩余,则不给 BAS 持有人分配

BAS 相当于股东,只有锁定到 boardroom 合约 的 BAS 才能获得这部分收益

源码:https://github.com/Basis-Cash/basiscash-protocol

动态 | VScode上线支持Motoko语言的Dfinity插件:据AnchorDAO消息,Visual Studio Code上线首个支持Motoko语言的Dfinity插件,VScode搜索插件 Dfinity 即可安装。去中心化计算平台Dfinity于2018年完成一轮a16z领投的1.02亿美金融资,Motoko是Dfinity的智能合约语言,该语言可以与WebAssembly模块连接。[2019/12/12]

treasury.sol

合约中主要的方法包括:

setFund:修改社区发展基金接收地址 

setFundAllocationRate:修改社区发展基金从 BAC 增发中接收的比率 

getBondOraclePrice:通过预言机获取 Uniswap 上 BAB 的价格 

getSeigniorageOraclePrice:通过预言机获取 Uniswap 上 BAC 的价格

bugBonds:购买债券,targetPrice 参数是给前端进行校验的,只有当 BAC 小于 1 美元才能执行

redeemBonds:赎回债券,BAC 价格要大于 1.05 美元才能执行

allocateSeigniorage:分配系统收入

价格小于 1.05 不执行,大于 1.05 才计算发多少钱

需要在一个 epoch (周期)开始后才能执行, 代码中的 checkEpoch 是 1 个 modifier,用来检查这个条件

计算增发量,并增发

uint256 seigniorage = cashSupply.mul(percentage).div(1e18); 

IBasisAsset(cash).mint(address(this), seigniorage);

每次增发的总量的 2%会进入到 Community Development Fund(社区发展基金)

uint256 fundReserve = seigniorage.mul(fundAllocationRate).div(100);

IERC20(cash).safeApprove(fund, fundReserve);

发给债券持有人

uint256 treasuryReserve = ...;

accumulatedSeigniorage = accumulatedSeigniorage.add(treasuryReserve);

给股票持有人(BAS),也就是给 boardroom

IBoardroom(boardroom).allocateSeigniorage(boardroomReserve);Boardroom.solBoardroom 相当于董事会,是 Basis 股份的持有者。合约的主要方法有:

allocateSeigniorage:计算可以分配多少钱 

claimReward:取钱操作

Timelock.sol

时间锁是治理体系不可或缺的一部分,通过 Timelock 限制超级用户对系统参数的修改,使普通用户有足够的时间进行决策,这里的 Timelock,参数需要等待至少 2 天才能生效。

uint256 public constant MINIMUM_DELAY = 2 days;uint256 public constant GRACE_PERIOD = 14 days;uint256 public constant MAXIMUM_DELAY = 30 days;还有个巧妙的 onlyOneBlock, 限制 1 个块中只能有 1 个操作者,防止多次调用。

_status[block.number][tx.origin] = true;_status[block.number][msg.sender] = true;总结Basis 的代码很巧妙,化繁为简,也很整洁,通过 3 种 token 的互相转化,保持价格稳定。AMPL 的供应量是自动调整的,而 Basis 的 token 供应调整是通过激励用户的投机行为,让用户主动参与的。

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

金星链

pepe最新价格TOK:A16Z:五张图总结 2020 年的加密世界

对于加密技术来说,这是一个大年。资产价格获得了大部分主流媒体关注,比特币在本月创下了历史新高。与此同时,以太坊上的DeFi即去中心化金融应用吸引了渴望交易、贷款或借贷加密资产的用户,将网络推向了.

火币APP元宇宙:未来是确定的 过程是曲折的

狂人本着负责,专注,诚恳的态度用心写每一篇分析文章,特点鲜明,不做作,不浮夸!本内容中的信息及数据来源于公开可获得资料,力求准确可靠,但对信息的准确性及完整性不做任何保证,本内容不构成投资建议.

[0:15ms0-0:843ms