還記得加拿大最大的數(shù)字貨幣交易所QuadrigaCX創(chuàng)始人GeraldCotton突然病逝,導致價值1.63億美元比特幣人間蒸發(fā)事件嗎?
針對該事件,當?shù)厮痉C關(guān)全面的調(diào)查后表示“無法找到QuadrigaCX交易所2016年以來的完整的資金記錄。”這意味著,QuadrigaCX交易所賬上數(shù)百萬比特幣在無人覺察的情況下憑空消失。更有陰謀論者懷疑Cotton通過偽造死亡來促成這場騙局,但調(diào)查報告中并沒有正面回答這個問題,而是將重點放在了QuadrigaCX交易所的非法金融活動上,但截止目前為止數(shù)百萬比特幣任然處于下落不明的狀態(tài)。
在交易所比特幣失竊、丟失頻發(fā)的今天,對于投資者來說,如何才能清楚的了解交易現(xiàn)有的運營狀況?監(jiān)管者如何在這場貓鼠游戲中成為最后的贏家呢?本文就介紹了比特幣儲備證明機制 (POR),幫助交易所用標準化的方式來證明其資金儲備,公眾及監(jiān)管機構(gòu)也可通過這種方式及時了解交易所的資金情況。
背景
數(shù)字貨幣交易所的賬務(wù)儲備信息沒有很好的對外公開渠道,當交易所受到了攻擊導致部分數(shù)字貨幣丟失后,投資人無法清楚地了解交易所是否有足夠的數(shù)字貨幣或者現(xiàn)金支持該交易所的正常運營與經(jīng)常性兌付。某些交易所或者中性化數(shù)字貨幣管理團體在遭到攻擊時甚至不對外公布受攻擊的情況。這些都會大大降低公眾對數(shù)字貨幣交易所的信任。此外,由于交易所的資金不透明,監(jiān)管機構(gòu)對數(shù)字貨幣行業(yè)的監(jiān)管也越來越嚴格,長此以往不利于數(shù)字貨幣的發(fā)展。
為了增強客戶的信任以及滿足監(jiān)管機構(gòu)的需求,交易所需要采取一些方法向公眾證明其資金情況。
傳統(tǒng)金融領(lǐng)域資金的證明一般通過第三方權(quán)威機構(gòu)來執(zhí)行,例如銀行的交易資金托管模式。交易資金托管業(yè)務(wù)是指銀行作為托管方接受協(xié)議當事方委托,簽訂托管協(xié)議,根據(jù)托管協(xié)議約定開立專門的托管賬戶,向托管協(xié)議委托方提供賬戶資金安全保管服務(wù),并對資金使用按約定提供監(jiān)督、核查、劃付和定向信息報送等服務(wù)以及各類增值服務(wù)的托管業(yè)務(wù)。
傳統(tǒng)金融模式也可用于數(shù)字貨幣行業(yè),通過第三方的資金托管或者審計來證明交易所的比特幣存儲數(shù)量,其具有如下優(yōu)點:
1. 模式成熟且被傳統(tǒng)金融領(lǐng)域證實
2. 方便監(jiān)管,有成熟監(jiān)管體系
3. 實時對資金動向進行監(jiān)控
但是傳統(tǒng)金融模式應(yīng)用于數(shù)字貨幣行業(yè)的缺點也是非常明顯的:
1. 傳統(tǒng)方式監(jiān)管數(shù)字貨幣有較大對接成本
2. 需要向第三方證明私鑰所有權(quán),增加受攻擊風險
比特幣儲備證明(Proof of Reserves)
數(shù)字貨幣行業(yè)是一個充滿技術(shù)性的行業(yè),數(shù)字貨幣的交易具有明顯的技術(shù)特征,交易所更傾向于使用技術(shù)手段來向公眾證明其資金儲備。目前,已經(jīng)有一些交易所可以向第三方證明自己的比特幣余額。但這些交易所使用的證明方案各不相同,用戶需要熟悉各個交易所的系統(tǒng),才能了解它們的資金情況,這對用戶來說難度較大。
針對這個問題,Blockstream提出一種標準的比特幣儲備證明(Proof of Reserves)機制[1],該機制與大部分比特幣交易所存儲用戶資金的方式兼容。這意味著大部分交易所可使用一個標準化的方法來證明其資金儲備,公眾及監(jiān)管機構(gòu)也只需掌握一種方法就可以獲取這些交易所的資金情況。
使用Blockstream的儲備證明工具,交易所需要完成如下步驟:
1. 交易所要創(chuàng)建一個交易,花費該交易所持有的所有的比特幣UTXO,并對這筆交易進行簽名,以證明這筆交易中的資產(chǎn)是交易所正式持有的
2. 在這筆交易中增加一個無效的輸入
3. 添加這個無效輸入使得整個交易無效,廣播時會被網(wǎng)絡(luò)拒絕。但這個交易依然能夠用來證明該交易所擁有多少可花費的比特幣UTXO
4. 這個交易數(shù)據(jù)可以分享給需要證明儲蓄的任何人,他們可以將該數(shù)據(jù)輸入自己的儲備證明客戶端即可確認該交易所的總儲備量以及與該儲備相關(guān)的地址
由上述分析可知,該Proof of Reserves機制在證明交易所資金儲備的過程中,不需要交易所移動資產(chǎn)。其優(yōu)缺點如下:
優(yōu)點:
使用簡單,只需要運行CLI即可獲取最準確的信息
無需向第三方透露私鑰證明,更加安全
缺點:
需要交易所透露其整個UTXO清單,造成信息過度暴露
使用的前提是交易所需要公開所有地址
Blockstream使用Liquid網(wǎng)絡(luò),而Liquid將使用加密傳輸技術(shù),可以在不披露單個UTXO價值的情況下證明所有UTXO的總和。這在一定程度上可以解決Proof of reserves機制暴露交易所地址的問題。
Proof of Reserves使用案例
參考文獻[2]中給出了一個具體的Proof of Reserves使用案例,具體步驟如下:
初始化:初始化一個用于比特幣儲備證明的文件
$ reserves init -f reserves.proof --challenge “Blockstream August 2018”
--block-number 12345
創(chuàng)建一個reserves.proof 的文件,文件中包含用于驗證的區(qū)塊高度
獲取UTXO:從錢包源獲取UTXOs并將其添加到這個比特幣儲備證明工具中
$ reserves add-utxos --bitcoind http://localhost:8332
--bitcoind-user rpcuser --bitcoind-pass rpcpass
簽名: 對證明交易進行簽名
一旦收集到所需的所有UTXOs,驗證者就可以對該交易進行簽名
$ reserves sign --bitcoind http://localhost:8332
--bitcoind-user rpcuser --bitcoind-pass rpcpass
$ reserves sign --trezor --id cold-storage
驗證: 對證明交易進行驗證
對UTXO的有效性進行驗證
$ reserves verify -f reserves.proof --bitcoind http://localhost:8332
--bitcoind-user rpcuser --bitcoind-pass rpcpass
比特幣儲備證明機制的思考
這個方案最具創(chuàng)新意義的一點就是將原來中心化的賬務(wù)公開方式變成了數(shù)字貨幣中的去中心化的方式,這是完全符合比特幣設(shè)計初衷的一種方式,用技術(shù)手段確保了該數(shù)據(jù)的真實可信程度。除此之外,通過更好的易用性和較低的門檻使得用戶可以使用簡單的CLI命令查詢,這種易用性也是它能廣泛傳播的基礎(chǔ)和前提。
然而,該方案并沒有很好地替交易所解決隱私問題,目前使用該工具創(chuàng)建的證明需要交易所透露其整個 UTXO 清單,如果該清單被公之于眾,可能會透露過多關(guān)于該交易所的財務(wù)運營狀況信息。雖然Blockstream計劃使用Liquid網(wǎng)絡(luò)的加密傳輸技術(shù)來解決交易所隱私泄露的問題,但是,目前并不是所有的交易所都接受使用Liquid網(wǎng)絡(luò),這也意味著首先從技術(shù)的角度這個方案就將很多交易所隔絕在外。
因此,該方案的成熟尚需時日。但從長期來看,比特幣儲備證明機制是一項去中心化的、易用的技術(shù)解決方案,未來在交易所賬務(wù)透明方面會有更廣闊的應(yīng)用。