儲備金證明由一開始的直接資産證明,不斷引入可信任的技術和流程來優化證明過程,最終髮展成爲債務證明。其中的嘗試包括可信第三方、默剋爾樹和零知識證明技術等。
2011年,當時最大的比特幣交易所MtGox,通過髮送一筆移動424,242個BTC到預先公布地址的交易,來證明他們擁有該筆資金。該方法隻能對資産進行證明,無法對交易所負債進行證明。用戶無法知道這是否是已經被挪用過得資産數額。
債務證明和資産證明最大的區別就是,債務證明不僅要證明交易所持有的資産數量,還有將用戶存入的資産數量公布。
交易所的債務就是用戶存入的資産。如果想證明用戶的資産,最簡單的方法就是公布一個含有用戶賬號和餘額的列錶,每個用戶可以打開錶格,查詢自己賬號對應的餘額是否正確。
但這個方法有著明顯的缺陷:
①無法保證交易所提供的列錶是真實的。
②過程中,用戶的賬號信息和餘額都會被泄露。
所以直接公布法是債務證明的基礎理論設想,暫時沒有交易所實行過。
默剋爾樹是種類似於”樹”的數據結構,最下層數據稱爲“葉節點”,中間可以稱爲“中間節點”,左右兩個葉節點可以經過哈希處理(把任意輸入值通過特定處理方式得出特定值)輸出中間節點的值,左右中間節點經過哈希處理得到上層中間節點唯一的輸出值,層層處理後,最終得到默剋爾樹的根節點(Root)。該值是唯一的,任何葉節點的變動都會導緻根節點的變動。
這種方法下,通過層層相加得到交易所持有的用戶資産數量,但直接在葉節點中放入用戶賬戶和餘額兩個數據後,仍存在小範圍的信息泄露問題。以上圖爲例,緑色標記的用戶Charlie不僅可以知道David的部分信息,還可以知道左側Alice和Bob的餘額和。於是在葉節點方麵有了新的技術改進:
(1)如上圖所示,將用戶賬戶ID和一個特定值一起進行哈希處理。
(2)將用戶餘額分散開,比如Charlie的10ETH,可以分成兩個5ETH放入兩個葉節點。
(3)將用戶ID和餘額分別經過哈希處理,然後再將得到的值進行一次哈希處理。
盡管有多種優化的方式,但有一個問題是默剋爾樹無法解決的:負值賬戶。在實際使用中,用戶存入加密貨幣後,會體驗交易所杠桿交易、永續合約等産品,假如髮生虧損,最大虧損也應爲100%本金,也就是説用戶賬戶餘額應大於或等於0。
所以負值賬戶一般由作惡的交易所端髮起,如果交易所挪用了500ETH的資産,按照正常計算,交易所實際擁有的資産之應有資産抵押率很可能小於100%,暴露出其挪用資産的行爲。但交易所可以通過如下圖例中名爲Henry的餘額爲-500ETH的賬戶,讓默剋爾樹生成的總資産等於或者小於交易所挪用後實際擁有的資産數,從而僞造出抵押率大於100%的假象。
“審計”在日常語境中主要指具有獨立性的經濟監督活動,從事這種活動的主體稱爲“審計公司”,常見的應用場景有上市公司財報審計、政府審計等。在加密世界中,CEX都會尋找在傳統領域具有良好聲譽的審計公司爲其完成審計。由於加密行業的特殊性以及審計製度的不完善,很多第三方審計需要結合默剋爾樹技術。
審計公司會利用交易所提供的用戶餘額生成默剋爾樹。默剋爾樹生成後,審計員驗證總用戶餘額併髮布完整默剋爾樹和根哈希。用戶可以在驗證界麵輸入自己的哈希用戶ID和代幣餘額來觸髮驗證過程。
這種方法的好處就是可以通過知名的審計公司來提高可信度。但由於主要依賴於審計師的職業道德,也無法保證審計師與交易所不聯合作惡。所以爲了更加安全透明的提供儲備金證明,第三方審計逐漸成爲輔助證明方式或者被棄用。
從上文也可以了解到,現有的默剋爾樹結構除了隱私問題外還有負值賬戶問題無法解決。以太坊創始人Vitalik Buterin在22年12月髮布了一篇名爲《Having a safe CEX: proof of solvency and beyond》的文章討論交易所如何擁有更好的證明償付能力。文中提到可以在傳統儲備金證明的基礎上引入zk-SNARK等新型技術來保證更加公開、透明、真實的儲備金證明。這也激起了各大交易所對採用零知識證明技術更新儲備金證明技術的探索。
從簡單的資産證明到採用加密技術,交易所的儲備金證明正在朝著去中心化、隱私化和透明化髮展。在下一節中,我們將重點講解零知識證明技術與儲備金證明的結合。
儲備金證明由一開始的直接資産證明,不斷引入可信任的技術和流程來優化證明過程,最終髮展成爲債務證明。其中的嘗試包括可信第三方、默剋爾樹和零知識證明技術等。
2011年,當時最大的比特幣交易所MtGox,通過髮送一筆移動424,242個BTC到預先公布地址的交易,來證明他們擁有該筆資金。該方法隻能對資産進行證明,無法對交易所負債進行證明。用戶無法知道這是否是已經被挪用過得資産數額。
債務證明和資産證明最大的區別就是,債務證明不僅要證明交易所持有的資産數量,還有將用戶存入的資産數量公布。
交易所的債務就是用戶存入的資産。如果想證明用戶的資産,最簡單的方法就是公布一個含有用戶賬號和餘額的列錶,每個用戶可以打開錶格,查詢自己賬號對應的餘額是否正確。
但這個方法有著明顯的缺陷:
①無法保證交易所提供的列錶是真實的。
②過程中,用戶的賬號信息和餘額都會被泄露。
所以直接公布法是債務證明的基礎理論設想,暫時沒有交易所實行過。
默剋爾樹是種類似於”樹”的數據結構,最下層數據稱爲“葉節點”,中間可以稱爲“中間節點”,左右兩個葉節點可以經過哈希處理(把任意輸入值通過特定處理方式得出特定值)輸出中間節點的值,左右中間節點經過哈希處理得到上層中間節點唯一的輸出值,層層處理後,最終得到默剋爾樹的根節點(Root)。該值是唯一的,任何葉節點的變動都會導緻根節點的變動。
這種方法下,通過層層相加得到交易所持有的用戶資産數量,但直接在葉節點中放入用戶賬戶和餘額兩個數據後,仍存在小範圍的信息泄露問題。以上圖爲例,緑色標記的用戶Charlie不僅可以知道David的部分信息,還可以知道左側Alice和Bob的餘額和。於是在葉節點方麵有了新的技術改進:
(1)如上圖所示,將用戶賬戶ID和一個特定值一起進行哈希處理。
(2)將用戶餘額分散開,比如Charlie的10ETH,可以分成兩個5ETH放入兩個葉節點。
(3)將用戶ID和餘額分別經過哈希處理,然後再將得到的值進行一次哈希處理。
盡管有多種優化的方式,但有一個問題是默剋爾樹無法解決的:負值賬戶。在實際使用中,用戶存入加密貨幣後,會體驗交易所杠桿交易、永續合約等産品,假如髮生虧損,最大虧損也應爲100%本金,也就是説用戶賬戶餘額應大於或等於0。
所以負值賬戶一般由作惡的交易所端髮起,如果交易所挪用了500ETH的資産,按照正常計算,交易所實際擁有的資産之應有資産抵押率很可能小於100%,暴露出其挪用資産的行爲。但交易所可以通過如下圖例中名爲Henry的餘額爲-500ETH的賬戶,讓默剋爾樹生成的總資産等於或者小於交易所挪用後實際擁有的資産數,從而僞造出抵押率大於100%的假象。
“審計”在日常語境中主要指具有獨立性的經濟監督活動,從事這種活動的主體稱爲“審計公司”,常見的應用場景有上市公司財報審計、政府審計等。在加密世界中,CEX都會尋找在傳統領域具有良好聲譽的審計公司爲其完成審計。由於加密行業的特殊性以及審計製度的不完善,很多第三方審計需要結合默剋爾樹技術。
審計公司會利用交易所提供的用戶餘額生成默剋爾樹。默剋爾樹生成後,審計員驗證總用戶餘額併髮布完整默剋爾樹和根哈希。用戶可以在驗證界麵輸入自己的哈希用戶ID和代幣餘額來觸髮驗證過程。
這種方法的好處就是可以通過知名的審計公司來提高可信度。但由於主要依賴於審計師的職業道德,也無法保證審計師與交易所不聯合作惡。所以爲了更加安全透明的提供儲備金證明,第三方審計逐漸成爲輔助證明方式或者被棄用。
從上文也可以了解到,現有的默剋爾樹結構除了隱私問題外還有負值賬戶問題無法解決。以太坊創始人Vitalik Buterin在22年12月髮布了一篇名爲《Having a safe CEX: proof of solvency and beyond》的文章討論交易所如何擁有更好的證明償付能力。文中提到可以在傳統儲備金證明的基礎上引入zk-SNARK等新型技術來保證更加公開、透明、真實的儲備金證明。這也激起了各大交易所對採用零知識證明技術更新儲備金證明技術的探索。
從簡單的資産證明到採用加密技術,交易所的儲備金證明正在朝著去中心化、隱私化和透明化髮展。在下一節中,我們將重點講解零知識證明技術與儲備金證明的結合。