在閱讀本文前建議先閱讀SynthetixLitepaper和一文讀懂Defi熱門項目Synthetix。這里先簡單的介紹幾個術語,Synthetix是一個Defi項目的名稱,SNX是一種擴展了ERC20協議的代幣,也是Synthetix的激勵代幣。Synth是指合成資產,比如sUSD、sBTC、iBTC等都是合成資產,其中s開頭的是指做多,i開頭的是指做空。債務池是指所有Synth的匯總,在Synthetix引入超額抵押借貸之后,要扣減借貸產生的Synth。債務池對應的抵押物SNX能捕獲Synthetix交易合約產生的費用以及流動性挖礦產生的SNX,因此抵押SNX是有利可圖的。
SNX
Synthetix的運行需要SNX,那么SNX是怎么產生的呢?根據icodrops的數據SNX在2018年3月啟動ICO,初始發行100000000個,其中60%通過公開市場銷售。
從2019年3月開始Synthetix啟動了貨幣供應計劃到2023年8月SNX的總供應量將會從100000000個增長到260263816個。新增的SNX會按比例分配給抵押了的SNX持有者,SNX獎勵的細節會在后文講述。
Synth
Synth有三種途徑產生:
第一種是通過超額抵押鑄造,這種方式的抵押物只有SNX,產生的Synth只有sUSD。
第二種是通過超額抵押借貸,這種方式目前的抵押物只有ETH,產生的Synth有sUSD和sETH。
第三種是通過交易。比如當你通過SNX抵押出sUSD之后如果想持有sBTC,那么可以在Synthetix的交易合約中先銷毀sUSD然后鑄造出sBTC,sUSD兌換sBTC的價格由Oracle提供。
抵押和交易產生Synth沒有數量限制,而借貸產生的Synth有數量限制。借貸產生的債務不會進入債務池,也無法享有交易產生的手續費和流動性挖礦獎勵。
SNX超額抵押鑄造
SNX通過超額抵押可以鑄造出sUSD,抵押后的SNX無法被轉移,然后通過銷毀sUSD可以解鎖SNX使其重新能夠流通,如果SNX的抵押率不足則會面臨被清算的風險。
鑄造
抵押賬戶上的SNX鑄造sUSD的公式如下:
amount(sUSD)=amount(SNX)*price(SNX)*I-Ratio
OnX Finance:借貸平臺供應池取款問題已部分修復 團隊正在研究還款問題:2月28日消息,抵押代幣DeFi平臺OnX Finance表示,對于在借貸平臺供應池遇到取款問題的用戶,小數點問題已修復,當點擊100%時是沒有問題的。團隊正在研究還款問題,在合約團隊周一做出回應之前,不要抵押aETH。按鈕被禁用。[2021/2/28 18:00:25]
Synthetix中很多運算上都是以sUSD作為計價單位,而I-Ratio是發行率。假定SNX的價格是100,那么抵押100個SNX產生的sUSD是2000個。
賬戶上所有可用來抵押的SNX由三個部分組成:
collateral(SNX)=amount(synthetix)+amount(synthetixEscrow)+amount(rewardEscrow)
amount(synthetix)是指SNX合約的余額,amount(synthetixEscrow)是指SNX托管合約的余額,amount(rewardEscrow)是指SNX獎勵合約的余額。
抵押的SNX是被轉移到哪個合約上了嗎?不是的,抵押之后賬戶的SNX合約余額依然不會發生變化。但是當需要轉移賬戶上的SNX時,合約會判斷可以被轉移的SNX數量。
tranferable(SNX)=amount(synthetix)-debt(SNX)
debt(SNX)是指以SNX作為計價單位的債務數量。由于債務池中的資產價格是在波動的,所以債務池的總債務數量也會波動,為了計算當前時刻賬戶的債務數量需要記錄賬戶在債務池中的占比ownership。
debt=ownership*totalDebt
比如說賬戶在t0時刻的ownership是10%,totalDebt是100sUSD,則在t0時刻賬戶的debt是10sUSD。當t1(t1>t0)時刻totalDebt上升到200sUSD,則賬戶的debt變成了20sUSD。債務總量上升一般是債務池中資產價格的上漲導致的。debt(SNX)上升會導致tranferable(SNX)下降,賬戶的債務比上升。賬戶的債務比上升到一定程度就無法從FeePool中提取手續費和流動性挖礦獎勵。當賬戶的債務比上升到一定程度的時候任何人都可以對這筆債務進行清算。
為了記錄每個賬戶的債務占比,Synthetix引入了兩個關鍵性的數據結構:IssuanceData和debtLedger
動態 | 七部門印發海運業高質量發展意見 推進區塊鏈全球航運服務網絡平臺研究應用:2月3日,交通運輸部、發展改革委、工業和信息化部、財政部、商務部、海關總署 稅務總局發布關于大力推進海運業高質量發展的指導意見。意見稱,大力推廣應用移動互聯網、人工智能、大數據、區塊鏈等新技術。推進基于區塊鏈的全球航運服務網絡平臺研究應用。(交通運輸部官網)[2020/2/3]
issuanceData記錄每個賬戶的債務信息。initialDebtOwnership是指賬戶的債務在債務池中的占比,debtEntryIndex是debtLedger中對應的index。任何時候對賬戶進行新增債務或者銷毀債務操作都會延展debtLedger,并重新設置賬戶的initialDebtOwnership和debtEntryIndex。
令在debtLedger的index=i時的總債務為t(i),debtLedger為d(i),賬戶A的債務為d(A),在index=i+1時
initialDebtOwnership(A)=d(A)/t(i+1)
debtEntryIndex(A)=i+1
d(i+1)的遞推公式為:
d(i+1)=d(i)*,i>0
d(0)=1,i=0
如下圖所示賬戶A給系統新增第一筆債務100sUSD,系統總債務是100sUSD,賬戶A的債務占比是1
然后當B增加900sUSD之后,d(1)=d(0)*t(0)/t(1)=0.1,如下所示
此時賬戶A的債務占比計算公式為:
debtOwnership(A)=*initialDebtOwnership(A)=*1=0.1
事實上當賬戶A的debtEntryIndex為i,對于任意debtLedger的index為j(j>i)時計算賬戶A的債務占比公式為:
debtOwnership(A)=*initialDebtOwnership(A)
公式右側的推導過程如下:
*initialDebtOwnership(A)=**..**initialDebtOwnership(A)=**..**initialDebtOwnership(A)=*=d(A)/t(j)
聲音 | 國網信通產業集團董事長:國網信通產業集團高度重視區塊鏈技術在電力行業的應用研究:11月7日下午,由國網信通產業集團和華北電力大學聯合主辦的“區塊鏈技術在電力場景中的應用”技術論壇在京召開。國網信通產業集團董事長王政濤在論壇上表示,國網信通產業集團作為國家電網有限公司區塊鏈技術“一主兩側”的主要支撐單位,高度重視區塊鏈技術在電力行業的應用研究。從2016年至今,積極爭取并參與區塊鏈技術相關標準研究與編制;承接國家電網有限公司科技項目和信息化項目;加強核心技術攻關與應用探索;初步構建了完整的能源區塊鏈生態體系。同時,于去年正式發布擁有自主知識產權的企業級區塊鏈技術服務平臺———思極鏈1.0,近期又完成了思極鏈2.0的發布。(中國電力新聞網)[2019/11/15]
而d(A)/t(j)正好就是賬戶A在index=j時的債務占比。
銷毀
一般情況下鑄造sUSD之后再銷毀會有一個等待期,這個等待期目前是1天。銷毀sUSD能降低debt(SNX),從而使tranferable(SNX)變大。銷毀的過程跟鑄造類似,比如賬戶B銷毀200個sUSD,系統總債務變為800sUSD,B的債務占比變成0.875
而A的債務占比根據公式計算為0.125
debtOwnership(A)=*initialDebtOwnership(A)=*1=0.125
debtOwnership(A)=d(A)/t(2)=100/800=0.125
清算
賬戶的債務比C-Ratio是指賬戶的債務與賬戶上可用的SNX之間的比值:
C-Ratio=debt(SNX)/collateral(SNX)
債務池中的資產的報價單位都是以sUSD,因此debt(SNX)會同時受到資產價格和SNX價格的影響。也就是說假如SNX價格不變,債務池中的資產價格上漲則debt(SNX)會變大。相對的,如果SNX價格下跌,而債務池中的資產價格不變,debt(SNX)也會變大。
當賬戶的C-Ratio超過一定的閾值會被清算,任何人都可以對C-Ratio超過閾值的賬戶進行清算。但是清算有一個緩沖期,在緩沖期內等待被清算的賬戶依然可以通過增加collateral(SNX)或者銷毀一定的債務來降低C-Ratio。
被清算的賬戶會施加一定比率的罰金p。假定被清算賬戶是A,清算賬戶是B,清算過程是將B的sUSD銷毀,然后將A的(1+p)倍等值的SNX轉移給B,因此B的清算收益率是p。清算的目標是使賬戶A的C-Ratio恢復到初始的I-Ratio。令賬戶A的債務為D,抵押物為C,罰金比率為p,I-Ratio為r,需要清算掉的債務為F,則F必須要滿足如下公式:
動態 | 清華—福州數據技術研究院運用區塊等技術實現數據的科研合作和共享應用:清華—福州數據技術研究院宣布對外開放精準醫學數據及應用開放共享平臺,將免費開放精準醫療前沿科研成果的系列數據、算法、標準等。項目團隊和清華-福州數據技術研究院自主研發的SOLAR系統,運用區塊鏈、邊緣計算等技術,可以在“數據不出門、隱私不泄露、利益有保障”前提下,實現組學、影像、病歷等數據的科研合作和共享應用。[2019/8/11]
(D-F)/(V-(1+p)*F)=r
從而得到
F=(D-V*r)/(1-(1+p)*r)
ETH超額抵押借貸
通過抵押ETH可以從Synthetix系統中借出sETH和sUSD,抵押1個ETH可以借出0.8個sETH或者借出0.67個sUSD。為了控制風險,借出的sETH和sUSD總量是有上限的,sETH最多能借出5000個,sUSD最多能借出1000萬個。贖回債務需要付出一定的利息,產生的利息會轉換成sUSD注入到FeePool中分配給SNX的抵押持有者。如果ETH價格下跌導致抵押率不足,則債務會面臨被清算的風險。
Synthetix交易
在Synthetix中除了sUSD和sETH可以通過鑄造或者借貸發行外,其它的Synth都是通過交易產生的。Synthetix交易對以(src,dest)來表示,src指將會銷毀的Synth,dest指將會發行的Synth,比如(sUSD,sBTC)意味著銷毀sUSD然后發行sBTC。這點跟訂單簿或者AMM區別很大,由于沒有對手方所以Synthetix也不會有滑點和深度的問題,但風險就在于流動性可能不足,舉個極端的例子:
系統總債務暴漲到10100sUSD之后,A和B分別承擔5050sUSD的債務。為了保證債務比符合0.2的要求賬戶A必須要補充價值24750sUSD的SNX,對A來說這是沒啥意義的,也不會有人愿意清算這筆債務。賬戶B可以銷毀5050sUSD的債務來解鎖價值500sUSD的SNX,但是剩下的4950sUSD只有名義上價值500sUSD的SNX作為抵押,使得sUSD基本上毫無價值,所以這筆獲利也無法兌現。
除了流動性問題還有另外一個問題,那就是單個交易對發生報價錯誤會導致全體SNX抵押者極大的損失。比如上面那個BTC價格暴漲的例子,可能真實的價格是101,但是由于報價錯誤導致價格暴漲了100倍。如果抵押的SNX足夠多,則B就獲利巨大,而損失則由全體SNX持有人承擔。再加上沒有深度限制,B如果發現Oracle還在mempool中的交易價格為10000,而真實價格為101,則B可以提前以100的價格買入足夠多的sBTC,等到Oracle的報價上鏈,再以10000的價格賣出sBTC,這個過程SNX抵押者的損失會無限放大。也許Oracle是誠實的,但Oracle也可能犯錯,然后上報一個跟真實價格差異巨大的價格。
深圳大學區塊鏈技術研究中心與火幣Labs達成戰略合作:4月14日,深圳大學區塊鏈技術研究中心正式揭牌。研究方向有:1、區塊鏈基礎理論的研究;2、區塊鏈系統開發;3、區塊鏈不同行業應用方案;4、區塊鏈人才培養培訓平臺建設等。火幣集團旗下火幣Labs與航天五院、中泰國際等作為首批合作單位,與深圳大學信息工程學院及區塊鏈技術研究中心簽訂了戰略合作協議。[2018/4/16]
為了避免這個問題SIP-65引入了一種價格保護機制,Synthetix會記錄每個Synth上一次交易的報價lastExchangeRate,使用lastExchangeRate與當前交易時的報價currentRate進行對比。如果倍數超過一定的閾值交易會失敗,這個交易對會被暫停直到protocalDao查明原因再重新恢復交易。
正常情況下行情不會在短時間內有一個超過3倍的插針,所以由于價格保護機制導致交易對被暫停實際上是非常罕見的情況。但是因為以太坊擁堵導致Oracle的價格不能及時的上鏈倒是可能經常發生。一旦價格不能及時上鏈就會有被套利的空間,比如
在上圖所示過程中先觀察到未上鏈的Oracle報價會比鏈上最新的報價高10%,所以立即買入1sBTC,然后等Oracle的報價交易上鏈再以這個價格賣出1sBTC,這樣就可以無風險套利10%。為了緩解這個問題SIP-37引入了交易修正機制,通過交易得到的dest必須等待一個交易窗口期之后才能賣出。比如上面這個例子假設在交易窗口期內t1時刻Oracle的報價上鏈了,那么再賣出1sBTC時需要先對TX0的交易進行修正。TX0會重新以1sBTC=110sUSD的價格來核算,賬戶需要給系統退還100*(1/100-1/110)約為0.09個sBTC。之所以說是緩解而不是解決是因為Oracle的報價可能過了窗口期都沒能上鏈,那么套利還是會發生。反過來如果鏈上價格比實際價格高,那么購買1個sBTC就虧了,這個時候系統會將差價返還給賬戶。交易修正除了在交易過程中會引入,凡是需要轉出或者銷毀Synth的地方都會引入,比如轉出Synth、鑄造sUSD、銷毀債務、清算債務。
FeePool
FeePool負責收集交易產生的費用和流動性挖礦產生的獎勵,費用和獎勵的分配要依照SNX抵押者在債務池中的債務占比來決定。比如產生了100sUSD的交易費用,賬戶A的債務占比是10%,那么賬戶A就可以分配10sUSD的交易費用。假如賬戶A剛發行債務把獎勵取走,然后就立即把債務銷毀,那A就基本上不用承擔債務池膨脹的風險而獲得收益。實際上這個風險就由其它一直進行SNX抵押的賬戶在承擔,顯然這對其它賬戶來說是不公平的。
為了解決這個問題FeePool引入了結算周期的概念,結算周期有兩類,一類是已經封閉的結算周期,一類是開放的結算周期。封閉的結算周期內的費用和獎勵可以領取,開放的不行。一個開放的結算周期達到7天后就可以開啟新的結算周期,然后這個開放的結算周期就變成了封閉的結算周期,而之前封閉的結算周期內的費用和獎勵延展到這個新產生的封閉結算周期中。結算周期的數據結構如下:
FeePool會緩存賬戶的債務占比信息,然后找到離費用周期結束的debtLedgerindex最近的債務占比來計算費用和獎勵。如下圖所示,F0和F1是已經封閉且延展過的的結算周期,F2是可以提取獎勵和費用的結算周期,F3是正在開放的結算周期,d10是F2結束時刻對應的debtLedger,d0是由賬戶A的債務變更引發的。
賬戶A如果提取獎勵和費用,其占比的計算公式為:
p=(d10/d0)*initialDebtOwnership(A)
也就是計算賬戶A在d10時的債務占比。如果賬戶A有多次債務變更操作,比如d0和d5
則p的計算公式為:
p=(d10/d5)*initialDebtOwnership(A)
也就是說取盡可能離d10近的債務變更操作對應的debtLedger值。
FeePool這種工作模式會帶來一個問題,如果F0和F1有未提取的費用和獎勵延展到F2,那么可以在F2中發行債務,然后等F2進入封閉期提取費用。令F0、F1和F2未提取的費用分別為f0、f1和f2,賬戶A在F2期間的費用占比為p,則賬戶A可以提取非費用為
f=p*(f0+f1+f2)
也就是說雖然賬戶A在F0和F1期間對系統不承擔任何債務,但依然能拿到一部分費用。所以當費用周期結束后應該盡可能的把賬戶上的費用和獎勵提取干凈,否則會便宜后面周期發行債務的賬戶。
提取費用和獎勵的前提是賬戶的債務比不能過高,這個閾值目前是1.01*I-Ratio。費用是直接打到賬戶地址上,而SNX獎勵是放在了第三方托管合約上。
SNX供應計劃
SNX獎勵由SNX供應計劃合約注入到FeePool,然后FeePool發放給SNX托管合約,被托管的獎勵要延遲一年才能領取。為什么要給抵押SNX的賬戶獎勵呢?首先我們看一下比特幣的激勵機制,比特幣給礦工獎勵,礦工通過挖礦來保障比特幣網絡的安全。在比特幣總量沒有達到2100萬個之前,比特幣跟央行的法幣一樣是一個通脹幣,只不過通脹速率逐年降低而已。那為什么持有者認為比特幣是有稀缺性呢?原因在于通脹預期是固定的,也即所有人都知道比特幣的發行規律,并且知道當發行完2100萬個之后就不再發行。所以一個去中心化的激勵機制中,一定時間內的貨幣發行并不可怕,只要貨幣發行是對網絡的核心價值有用,然后發行計劃是有預期那么對整個網絡就是有正面意義的。
在SNX網絡中最核心的價值就是抵押物,只有足額的抵押物才能有更多的做多和做空交易,才能產生更多的交易手續費從而提升網絡的價值形成一個正向循環。基于此SNX從2019年3月開啟了投放SNX的計劃,這個投放計劃類似于比特幣也是按周期獎勵減半:
但貨幣新增突然斷崖式的下降會可能會對系統產生一個不可預測的不好結果。比如在比特幣網絡上如果減半周期疊加幣價低迷,那么減半周期到來時很多老的礦機因為無利可圖而關機,這個會導致比特幣算力出現斷崖式下降。為了避免這個問題,Synthetix后來又優化了貨幣投放計劃:
這個優化首先是讓貨幣供應速率平緩下降,其次是在貨幣供應計劃結束后繼續以2.5%每年的速率增發SNX。
Synth價格
Synth分為做多的Synth和做空的Synth,sBTC的價格就是Oracle的報價,其中sUSD的價格總是1。做空的價格跟基準報價有關:
如圖所示,黑色的箭頭表示sBTC的價格走勢,紅色的箭頭表示iBTC的價格走勢。當sBTC的價格為120時,iBTC的價格為200-120=80;
當sBTC的價格為10時,iBTC的價格為200-10=190,但由于190超過的upperLimit,所以最終iBTC的價格為180。如果frozenAtUpperLimit為false,則iBTC的價格不會被鎖定在上邊界,等到sBTC價格上升時,iBTC的價格會回落。反之,iBTC的價格就會一直被鎖定在上邊界。
反向價格信息由系統提供,并且反向價格信息也可以根據需要更新,比如說重新設置基準價。
結束語
Synthetix是一個非常優秀的Defi項目,它可以讓我們交易各種資產的風險敞口,由于是與系統對賭所以交易的深度極佳。以太坊的特性使得開發一個復雜的Defi項目變得十分困難,在這個黑暗森林里不僅僅面臨合約邏輯錯誤這種基礎性風險,還面臨交易搶跑、Oracle報價延遲、報價錯誤等業務性風險。Synthetix在這方面做了非常多的努力,比如通過交易熔斷來控制單個交易對報價錯誤的風險、通過交易修正來緩解Oracle報價不及時的問題。Synthetix對去中心化項目的激勵問題理解的也非常深刻,為什么激勵?怎么激勵?這些都需要想清楚,而不僅僅是增發token去割韭菜,激勵過程也要注意減少一些不必要的經濟學博弈。在項目的開發上,Synthetix對Gas的優化也做了一些努力,比如緩存全局債務總量來減少計算量。
Synthetix也有一些需要改進的地方,在費用和獎勵的分配上更有利于巨鯨賬戶,這點倒是可以參考sushi的分配方式進行優化。使用Proxy的模式雖然便于遷移,但是業務上需要向后兼容容易帶來代碼的復雜性。隨著功能的越來越復雜,代碼出現邏輯錯誤的可能性也會越來越大。
本文鏈接:https://www.8btc.com/article/6589014
轉載請注明文章出處
今天的封面是《火的發現》,吉蘭·馬格利特昨晚雨神在圈子里提示市場正式進入止跌,隨后在以太坊的帶領下開啟了一波大反彈!大盤穩住后,DeFi板塊率先反彈.
1900/1/1 0:00:00本文結構 三句話介紹FindoraFindora能解決什么問題? 比特幣和以太坊的現狀 可選擇的隱私與審計管理 經典應用案例:千萬用戶、百億市值企業與Findora的結合 技術實踐 零知識證明:.
1900/1/1 0:00:00頭條 ▌達沃斯2021年議程包含數字貨幣主題加密貨幣是今年線上達沃斯世界經濟論壇的與會者將討論的主要問題之一.
1900/1/1 0:00:00春節期間要合理安排行程,非必要不出行,鼓勵就地過節、錯峰返鄉返城,非必要不出境、不到中高風險地區.
1900/1/1 0:00:00親愛的用戶: 為支持ERC20錢包進行安全升級,DigiFinex將于2021年1月25日14:30(GMT8)暫停ETH及所有ERC20代幣的充幣服務.
1900/1/1 0:00:00去年,Uniswap、Curve和1inch等備受矚目的DeFi項目發布了治理Token,并以追溯性空投的形式,重金獎勵過去的協議用戶.
1900/1/1 0:00:00