BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

V神最新長文:CEX如何利用技術自證清白

Katie 辜
Odaily资深作者
2022-11-20 03:22
本文約5130字,閱讀全文需要約8分鐘
增加儲備證明,將軟件和流程開源,在技術上使交易所接近非託管。
AI總結
展開
增加儲備證明,將軟件和流程開源,在技術上使交易所接近非託管。

本文來自 Vitalik Buterin本文來自

,由Odaily 譯者Katie 辜編譯。

,由Odaily 譯者Katie 辜編譯。

二級標題

這篇文章將討論將CEX 向免信任更近一步的嘗試過程、這些技術的局限性,以及一些依靠ZK-SNARK 等先進技術的方案和更強大的想法。

二級標題

  • 二級標題

  • 餘額表和默克爾樹:傳統的償付能力證明

交易所試圖用密碼學的方式證明自己沒有欺騙用戶的最早嘗試要追溯到很久以前。 2011 年,當時最大的比特幣交易所MtGox 通過發送一筆交易,將424242 個比特幣轉移到預先公佈的地址,證明他們有資金。 2013 年,人們開始討論如何解決問題的另一面:證明客戶存款的總規模。如果你證明客戶的存款等於X(負債證明),並證明擁有X 個代幣的私鑰(資產證明),那麼你就有了償付能力證明——你證明了交易所有資金償還所有儲戶。

  • 證明存款的最簡單方法是簡單地發布一個(用戶名、餘額)對列表。每個用戶都可以檢查他們的餘額是否包含在列表中,任何人都可以檢查完整的列表,查看:

每個餘額都是非負的;

  • 發布一個(哈希「用戶名、salt」,餘額)對的列表,並私下向每個用戶發送他們的salt 值。但即使這樣也會洩露餘額和余額變化的模式。

圖片描述

默克爾樹技術。

綠色:代表Charlie 的節點。藍色:代表Charlie 將收到作為證明的一部分代節點。黃色:代表根節點,向所有人公開顯示。這裡這裡

該交易所將向每位用戶發送一份默克爾存款證明。然後,用戶將得到一個保證,他們的餘額是正確包括在總額的一部分。可以在

這裡

這裡

該方案的一個重要的微妙之處是負餘額的可能性:如果一個交易所有1390 ETH 的客戶餘額,但只有890 ETH 的儲備,試圖通過在樹的某個位置的假賬戶下添加-500 ETH餘額來彌補差額,該怎麼辦?事實證明,這種可能性並沒有破壞該方案,這就是我們特別需要默克爾總和樹而不是常規默克爾樹的原因。假設Henry 是交易所控制的假賬戶,交易所在那裡放了-500 ETH:

二級標題

如果交易所能夠識別出價值500 ETH 的用戶,他們相信這些用戶要么不會費心檢查證據,要么在他們抱怨他們從未收到過證明時不信任他們,他們就可以不被懷疑盜用。但是,交易所也可以將這些用戶從樹中排除並產生相同的效果。因此,如果僅以實現負債證明為目標,默克爾樹技術基本上與責任證明方案一樣好。但它的隱私屬性仍然不理想。你可以用更聰明的方式使用默克爾樹,比如把每個satoshi 或wei 做成一個單獨的葉,但最終通過更現代的技術,還有更好的方法來做到這一點。

使用ZK-SNARK 改進隱私性和穩健性

圖片描述

我們可以做的最簡單的事情是將所有用戶的存款放入默克爾樹(或者,更簡單的,KZG 承諾),並使用ZK-SNARK 來證明樹中的所有餘額都是非負的,並且加起來是某個聲稱的值。如果我們為隱私添加一層哈希,那麼給每個用戶的默克爾分支(或KZG 證明)將不會透露任何其他用戶的餘額。

圖片描述

《去中心化社會:尋找Web3 的靈魂》《去中心化社會:尋找Web3 的靈魂》二級標題

資產證明

資產證明

這種簡單的資產證明技術存在兩個實際問題:

  • 這種簡單的資產證明技術存在兩個實際問題:

  • 資產證明的最簡單版本是我們上面看到的協議:要證明你持有X 個代幣,你只需在事先約定的時間移動X 個代幣,或者在數據字段包含“這些資金屬於幣安”字樣的交易中移動X 個代幣。為了避免支付交易費用,你可以簽署一個鏈下消息。比特幣和以太坊都有鏈外簽名消息的標準。

冷錢包處理;

交易所可以採用以下幾種方式:

  • 交易所可以採用以下幾種方式:

  • 出於安全考慮,大多數交易所將絕大多數客戶資金保存在冷錢包中。在離線計算機上,交易需要手動簽名並轉移到互聯網上。我過去用來存放個人資金的冷錢包設置需要一台永久離線的電腦生成一個包含簽名交易的二維碼,然後我用手機掃描。現在的交易所協議更加瘋狂,經常涉及多個設備之間的多方計算。在這種設置下,製造一個額外的消息來證明對地址的控制是一個昂貴的操作。

  • 交易所可以採用以下幾種方式:

  • 交易所可以採用以下幾種方式:

保留一些公共長期使用地址。交易所將生成一些地址,發布一次每個地址的證明以證明所有權,然後重複使用這些地址。這是迄今為止最簡單的選擇,不過它確實在如何保護安全和隱私方面增加了一些限制。

另一個主要問題是防止抵押品兩用。在彼此之間來迴轉移抵押品以證明儲備,這對交易所而言很容易做到,這將使它們能夠在實際上沒有償付能力的時候假裝自己有償付能力。理想情況下,償付能力的證明應該是實時完成的,每個區塊之後都有一個更新的證明。如果這是不切實際的,那麼下一個最好的辦法就是在不同交易所之間按照固定的時間表進行協調,例如在UTC 時間每週二下午2 點時證明儲量。

二級標題

另一種方法是將一個運營交易所處理資產支持穩定幣的實體(如USDC)和另一個處理在加密貨幣和傳統銀行系統之間移動的現金進出過程的實體(USDC 本身)完全分離開來。因為USDC 的“負債”只是鏈上的ERC20 代幣,負債證明是“免費的”,只需要資產證明。

二級標題

二級標題

Plasma 和validiums 擴容解決方案:我們能實現非託管CEX 嗎?

假設我們想更進一步:我們不想僅僅證明交易所有資金償還用戶。相反,我們希望阻止完全交易所盜用用戶的資金。

第一個主要嘗試是Plasma,這是一種2017 年和2018 年在以太坊研究圈流行的擴容解決方案。 Plasma 的工作原理是將餘額拆分為一組獨立的“代幣”,其中每個代幣都被分配一個索引,並位於Plasma 區塊的默克爾樹的特定位置。要進行有效的代幣轉移,需要將一筆交易放到根被發佈到鏈上的樹的正確位置。

Plasma 的一個版本的過度簡化圖。代幣保存在智能合約中,該合約在取款時強制執行Plasma 協議的規則。

自2018 年Plasma 討論的熱潮以來,ZK-SNARK 已經變得更加適用於與擴展相關的用例,正如我們上面所說的,ZK-SNARK 改變了一切。

處理用戶錯誤也是一個大問題。到目前為止,最重要的錯誤類型是——如果用戶忘記了密碼,丟失了設備,被黑客攻擊,或者無法訪問自己的帳戶,該怎麼辦?

二級標題

理想的長期解決方案是依靠自我託管,並藉助諸如多籤和社會恢復錢包等技術來幫助用戶處理緊急情況。但在短期內,有兩種明顯的替代方案,它們的成本和收益明顯不同:

二級標題

二級標題

安全
歡迎加入Odaily官方社群