以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

Code Review 回顧:算法穩定幣 Basis_BAC:COD

Author:

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

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是一個很新的項目,采用了三幣模型。

Basis機制

Basis有三個幣:BAC、BAS、BAB,三者相當于貨幣,股票和債券。可以將Basis理解為一個央行,BAC是央行發行的貨幣;BAS是央行的股東持有的股票,需要承擔系統風險,也獲取系統的收益;BAB是債券,相當于央行的債券。這3個都是erc20token,BAB目前沒有日期限制,只要在合適的價格就可以兌付。

以太坊dapp開發框架Truffle發布VS Code Extension:4月20日消息,以太坊 dapp 開發框架 Truffle 發布 VS Code Extension,該擴展將支持 Microsoft VS Code 用戶開發、構建、調試和部署以太坊智能合約,并提供調試器、樹視圖和命令面板等原生 IDE 功能來增強開發者的開發體驗。[2022/4/20 14:35:24]

BAC價格調節機制就是一個市場供需的調節機制。

當BAC價格少于1美元,需要減少BAC流通,讓BAC的價格自然上升到1美元

BAC價格少于1美元,用戶可以用申購債券BAB,方式是銷毀BAC,得到BAB

BAB價格=BAC價格的平方,因為BAC價格小于1,所以平方后的BAB的價格會更低

Coda啟動Genesis計劃第二輪,主網預計第四季度推出:Coda協議的區塊鏈是輕量級的,使用22 KB的區塊,而不是1 MB的比特幣區塊。該公司表示,這使得它的使用成本更低、速度更快,而且更加民主,因為礦工遍布世界各地。8月13日,其Genesis計劃的第二輪啟動,1000名礦工將被選為Genesis創始成員,獲得66000個代幣。主網預計將于今年第四季度推出。(Decrypt)[2020/8/14]

未來可以用一個BAB換回一個BAC

當BAC價格超過1美元,需要增加BAC流通,讓BAC的價格自然下降到1美元

目前的閾值是當BAC>1.05時,可以觸發系統增發BAC

增發的BAC會發給持有BAB和BAS的用戶

優先還債,所以先給持有BAB的用戶,方式是銷毀BAB,得到BAC

RIDDLE&CODE與S1Seven達成戰略合作:歐洲區塊鏈接口解決方案提供商RIDDLE&CODE與S1Seven宣布達成戰略合作伙伴關系,將RIDDLE&CODE的區塊鏈接口解決方案與S1Seven的產品相結合,旨在解決金屬行業的可追溯性問題。

RIDDLE&CODE與S1Seven正在構建基于區塊鏈的金屬證書公證服務,為產品提供數字、防篡改的身份,并跟蹤產品從原材料到最終應用的每一步。該服務允許制造商用不可變存儲的數字記錄替換硬拷貝文檔。(Businesswire)[2020/7/13]

剩下的BAC給BAS持有人,如果沒有剩余,則不給BAS持有人分配

BAS相當于股東,只有鎖定到boardroom合約的BAS才能獲得這部分收益

代碼解讀

Coda設立價值210萬美元的代幣資助計劃:輕量級區塊鏈協議Coda Protocol宣布在主網啟動之前已經分配了價值210萬美元的代幣,以鼓勵社區成員從事與開發Coda協議和社區相關的項目。Coda稱主網啟動之后將分配額外的Coda代幣贈款。

此前消息,2019年7月24日,Coda測試網正式上線。今年1月份,Coda宣布啟動千人Genesis資助計劃,將從測試網社區中選出1000名成員成為Genesis的創始成員,并在主網正式啟動時發放6.67%的代幣,也就是6.6萬Coda代幣,鎖定期為四年。

注:Coda是一個使用ZK-SNARKs零知識證明來為區塊瘦身的加密協議。[2020/6/17]

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

動態 | IOTA與Riddle&Code合作實現自動機器對機器交易:據blokt報道,IOTA基金會與區塊鏈公司Riddle&Code合作,以實現IOTA Tangle上的自動的機器對機器交易。IOTA基金會合作負責人HolgerK?ther表示,與Riddle&Code的這種集成使IOTA基金會實現了啟用所有連接設備的愿景。[2018/12/4]

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%會進入到CommunityDevelopmentFund

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

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

ISimpleERCFund(fund).deposit(...)

發給債券持有人

uint256?treasuryReserve?=?...;

accumulatedSeigniorage?=?accumulatedSeigniorage.add(treasuryReserve);

emit?TreasuryFunded(now,?treasuryReserve);

給股票持有人,也就是給boardroom

IBoardroom(boardroom).allocateSeigniorage(boardroomReserve);

Boardroom.sol

Boardroom相當于董事會,是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?=?true;_status?=?true;

總結

Basis的代碼很巧妙,化繁為簡,也很整潔,通過3種token的互相轉化,保持價格穩定。AMPL的供應量是自動調整的,而Basis的token供應調整是通過激勵用戶的投機行為,讓用戶主動參與的。

Tags:BACCODBASSISETHBACKOVCodeBASHTANKPolychain Monsters Genesis

中幣下載
LOEx國際站1月11日15:00上線LON

尊敬的LOEx用戶:LOEx國際站上線LON!并開放LON/USDT交易對具體時間如下:充幣:1月11日15:00提幣:暫定交易對:1月11日15:00注:未到充值開放時間請勿提前充值.

1900/1/1 0:00:00
回調行情,該不該加補倉位?_比特幣:TOKE

一、觀點 幣圈從瘋狂回到了平靜,啟動回調,在這個過程中,敏銳的交易者可以尋找極好的加補倉價位,比如昨日的最低價,或者等待抵達上升通道的下軌,都是不錯的中途上車和補倉的買點.

1900/1/1 0:00:00
一文讀懂多鏈結構中的“保護關系”_OSM:OSMO幣

經過幾年的發展,加密貨幣網絡的設計已經很成熟了,所以每個公鏈生態里都出現了很多多鏈的設計,這個設計里有一個相互保護的關系,這個關系是廣泛存在的,所以我們來揭秘一下.

1900/1/1 0:00:00
關于比特幣的基本常識 你都了解嗎?_APE:DRAP

很多朋友最近詢問比特幣的問題,正好在此一并回答,增進大家對比特幣網絡的認知。1、比特幣出塊時間是十分鐘嗎?理論上是10min,實際上一個小時不出塊也正常.

1900/1/1 0:00:00
HomiEx(紅米交易所)關于杠桿ETF產品BTC3S觸發清算程序重啟交易的公告_ALP:ALPHA

親愛的用戶: 由于杠桿ETF產品BTC3S的單價跌破10USDT,低于初始凈值100USDT的1/10,BTC3S觸發了杠桿ETF產品清算重啟交易機制.

1900/1/1 0:00:00
Gate.io 已經完成當日為用戶轉化分發1.3萬枚FIL代幣公告_GAT:gate.io安卓下載app官網

Gate.io今日已經根據用戶FIL6持倉情況完成FIL分發,總計約1.3萬枚,用戶可在賬戶賬單明細中查看詳情.

1900/1/1 0:00:00
ads