第0章 引言
本文介紹一種不依賴于特定中心化機構,完全依賴市場和合約,并且不需要法幣抵押,卻能獲得穩定錨定法幣的辦法。

第1章 一個鏈上對賭合約
我們現在來利用比特幣現金來設計一個鏈上的對賭合約。
A賭BCH漲;B賭BCH跌。即開倉后,如果BCH比開倉時價格漲了,則A贏錢,反之B贏錢。
假定每人賭資nBCH。即每人出nBCH進賭池。(為了計算方便,我們假設不允許小數出現,只賭整個幣)
假設開倉價格x$/BCH。
現在要平倉了,現在價格 y$/BCH
賭局權益計算公式如下:
A賭漲,A的收益為
(x/x-x/y)*n
B賭跌,B的收益為
(x/y-x/x)*n
比如,n=1;x=500$/bch;y=600$/bch
A的收益為,
(500/500-500/600)*1=0.1667BCH
B的收益為:
(500/600-500/500)*1=-0.1667BCH
A的余額為
1+0.1667=1.1667BCH
1.1667*600=700.02 $
B的余額為
1-0.1667=0.8333BCH
0.8333*600=499.98 $
現在假設 n =1 ; x = 500; y = 400
A的收益為,
(500*1/500-500*1/400)*1=-0.25BCH
B的收益為:
(500*1/400-500*1/500)*1=0.25BCH
A的余額為
1-0.25=0.75 BCH 0.75*400=300.0 $
B的余額為
1+0.25=1.25 BCH 1.25*400=500 $
你會發現,B賭跌,無論BCH的價格漲跌,B的權益都穩定錨定在開倉時的權益。這就是穩定幣需要的。
B賭跌,是不會爆倉的,哪怕是x=500$,y=5萬$,漲了100倍,B的權益= (500/50000-500/500)*1+1=0.01BCH,換成成美元,0.01*50000=500.0 $。
但A是會爆倉的,如果x=500$,y=250 $,A的權益 = (500/500-500/250)*1+1=0 BCH,即此時,A的幣100%輸給了B。如果BCH價格跌到50%,還繼續跌,B雖然得到了兩個幣,但總市值已經無法錨定500美元了。
但,我們先不考慮A會爆倉的情況。
第2章Oracle
現在我們來將上述對賭合約,設計成交易上鏈,并且讓B的權益是可以轉讓,就可以獲得一個穩定幣。
但還缺一個環節,平倉價格數據如何獲得?這里需要Oracle。Oracle是一個發布信息的主體。
Oracle本身有一個數字身份,比如BCH上的Oracle就一定有一對公私鑰對,向外界公布其公鑰。如果Oracle要發布什么信息,那就拿這個公鑰和信息,用他的私鑰進行簽名。外界就可以用這個公鑰和簽名,來驗證這條信息確實是Oracle發布。
Oracle就可以發布價格數據,一般會發布,價格,和價格的hash值,以及對該信息的簽名信息。
一個鏈上的對賭合約,就可以使用Oracle發布的價格hash值和簽名信息,做條件判斷來計算對賭結果。
第3章 結束語
更多詳細的細節,我還需要去研究。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。