在閱讀本文前建議先閱讀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
印度央行:將對創建數字支付保護基金的范圍進行研究:6月17日消息,印度央行表示,將對創建數字支付保護基金的范圍進行研究。(金十)[2022/6/17 4:35:52]
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
issuanceData記錄每個賬戶的債務信息。initialDebtOwnership是指賬戶的債務在債務池中的占比,debtEntryIndex是debtLedger中對應的index。任何時候對賬戶進行新增債務或者銷毀債務操作都會延展debtLedger,并重新設置賬戶的initialDebtOwnership和debtEntryIndex。
中幣(ZB)市場研究員:BTC價格達到58976美元的高點:美國銀行業巨頭高盛在其內部公告表示,該公司已經成立了加密貨幣交易團隊。此外,美國證券交易委員會(SEC)主席加里?詹斯勒也在上周承認,盡管比特幣波動性較大,但它是一種“價值儲存手段”。或受上述利好消息影響,加密貨幣的市值在上周迎來了大規模上漲。
BTC達到58976.18美元的周高點,ETH更是上漲33.91%,創下3949.27美元的歷史新高,漲幅超過1000美元,同時也帶動了部分替代幣的大幅上漲,市場風險偏好整體上升。
此外該報告還對BTC、ETH和ADA做出了未來一周行情的技術分析,更多詳情請查閱中幣(ZB)官方發布的研究報告。[2021/5/10 21:44:22]
令在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)
而d(A)/t(j)正好就是賬戶A在index=j時的債務占比。
動態 | 埃及央行正研究發行數字貨幣的可行性:據cointelegraph消息,埃及央行希望推出數字版的埃及鎊,以降低成本。埃及央行副行長艾曼?侯賽因(Ayman Hussein)周日在阿布扎比的一次會議上表示,“可行性研究”目前正在進行。埃及相信基于區塊鏈的法定貨幣的數字版本可以幫助將發行和交易成本與硬幣和紙幣相比降至最低。[2018/12/17]
銷毀
一般情況下鑄造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必須要滿足如下公式:
(D-F)/(V-(1+p)*F)=r
從而得到
公告丨中加物聯網與區塊鏈產業發展研究院落戶無錫高新區:據新浪援引格隆匯消息,日前,江蘇省無錫高新區與中加物聯網與區塊鏈產業發展研究院簽署合作協議,在中國成立首個分院,全面推進物聯網與區塊鏈技術應用落地。[2018/6/25]
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也可能犯錯,然后上報一個跟真實價格差異巨大的價格。
研究顯示:上周所有的比特幣中有7%易手:據bitcoinist消息,比特幣借貸平臺Unchained Capital分析了比特幣未花費的交易輸出(UTXO),對加密貨幣投資者如何存儲或花費其加密貨幣發表了獨特見解。現有的所有比特幣都包含在某些UTXO中,這意味著所有比特幣都有一個年齡:不是比特幣第一次開采時的時間,而是最后一次使用比特幣的時間。數據顯示,上周所有的比特幣中有7%易手。過去一年里,58.7%的比特幣供應經過了易手。[2018/4/19]
為了避免這個問題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
轉載請注明文章出處
區塊鏈將重塑音樂行業破損的墻垣眾所周知,音樂在我們的生活中扮演著重要的角色。從貝多芬到巴赫,從史奇雷克斯到波斯特馬龍,一架鋼琴的88個琴鍵可以創作出無數的歌曲,這實則令人驚嘆.
1900/1/1 0:00:00在70%的情況下,0xAPI所提供的調整后價格優于?1inch、DexAg、Paraswap和Uniswap。所謂的調整后價格,就是支付完交易費后的價格.
1900/1/1 0:00:00DeFi數據 1.DeFi總市值:394.71億美元市值前十幣種漲跌幅,金色財經制圖,數據來源Coingecko2.過去24小時去中心化交易所的交易量:26.6億美元交易量排名前十的DEX數據來.
1900/1/1 0:00:00波卡生態中有哪些鏈計劃成為波卡/Kusama平行鏈?如何參與CrowdLoan來支持自己看好的項目呢?今天我們就盤點了一些計劃競拍波卡或Kusama平行鏈的項目.
1900/1/1 0:00:00據官方博客消息,1月23日,MakerDAO治理促進者已代表MakerGovernance社區將一系列執行投票納入投票系統.
1900/1/1 0:00:00譯文出自:登鏈翻譯計劃 譯者:翻譯小組 校對:Tiny熊 在套利系列的第一部分中,會先解釋閃電貸和閃電兌背后的基本概念.
1900/1/1 0:00:00