作者:Vitalik Buterin
原文鏈接:https://hackmd.io/@vbuterin/proof_of_solvency
每當一個大型中心化交易所崩潰時,一個常見的問題就是我們是否可以使用加密技術來解決。交易所可以利用密碼學證明它們在鏈上持有的資金足以支付它們對用戶的債務,而不是僅僅依賴政府許可、審查公司審計和運營交易所的個人背調等法律途徑。
而且交易所可以建立一個系統,在該系統中,未經儲戶同意,交易所不能提取儲戶的資金。我們可以探索「主動不做壞事」且有野心的 CEX 和「沒有能力做壞事」的 CEX 之間的界限,但目前往往人們只是看向效率低下且隱私泄露的鏈上 DEX。
這篇文章將討論將 CEX 向免信任更近一步的嘗試過程、這些技術的局限性,以及一些依靠 ZK-SNARK 等先進技術的方案和更強大的想法。
[余額表和默克爾樹:傳統的償付能力證明]
交易所試圖用密碼學的方式證明自己沒有欺騙用戶的最早嘗試要追溯到很久以前。
2011 年,當時最大的比特幣交易所 MtGox 通過發送一筆交易,將 424242 個比特幣轉移到預先公布的地址,證明他們有資金。
2013 年,人們開始討論如何解決問題的另一面:證明客戶存款的總規模。如果你證明客戶的存款等于 X(負債證明),并證明擁有 X 個代幣的私鑰(資產證明),那么你就有了償付能力證明——你證明了交易所有資金償還所有儲戶。
V神:以“治理權”作為衡量Token價值的指標是反常的:11月29日消息,以太坊創始人Vitalik Buterin發布推文表示,以“治理權”作為衡量Token價值的指標是非常反常的,這種敘事實際上是在說:我之所以購買某種Token,是因為以后會有一群人從我手里買走這些Token。這會讓協議被利用以符合這些人的特殊利益。作為普通個體,支付500美元以獲得0.0001%的機會影響某些選票的結果并不是一筆好的交易。只有千萬富翁和對沖基金(包括攻擊者)才認為這是一筆好交易。[2022/11/29 21:10:25]
證明存款的最簡單方法是簡單地發布一個(用戶名、余額)對列表。每個用戶都可以檢查他們的余額是否包含在列表中,任何人都可以檢查完整的列表,查看:
每個余額都是非負的;
總額為索賠金額。
當然,這破壞了隱私,所以我們可以稍微改變一下方案:
發布一個(哈希「用戶名、salt」,余額)對的列表,并私下向每個用戶發送他們的 salt 值。但即使這樣也會泄露余額和余額變化的模式。
為了保護隱私,我們想到了下一個發明:默克爾樹技術。
綠色:代表 Charlie 的節點。
藍色:代表 Charlie 將收到作為證明的一部分代節點。
V神:感謝Shiba Inu社區發送的代幣,使AI主題獎學金計劃得以實現:7月21日消息,由以太坊聯合創始人Vitalik Buterin支持的第一批人工智能贈款計劃于昨天公布,Buterin感謝Shiba Inu社區提供的加密貨幣使該計劃得以實現。
Vitalik Buterin人工智能存在安全博士獎學金(Vitalik Buterin Ph.D. Fellowship in AI Existential Safety)是為2022年在美國、英國或加拿大開始博士項目的學生提供,他們計劃從事該領域相關研究。
這些獎學金與Shiba Inu幾乎沒有關系,但Shiba Inu開發者去年將代幣總供應量的50%發送到Vitalik Buterin的地址。Buterin并沒有為了豐厚的利潤而出售代幣。相反,他選擇銷毀其錢包收到的90% SHIB代幣,并將剩余的捐給慈善機構。(CoinDesk)[2022/7/21 2:29:05]
黃色:代表根節點,向所有人公開顯示。
默克爾樹技術包括將客戶余額表放入默克爾總和樹中。在默克爾總和樹中,每個節點都是一個(余額,哈希)對。底層葉節點表示各個客戶的余額和 salt 的用戶名哈希。
在每個較高層節點中,余額是下面兩個余額的和,而哈希是下面兩個節點的哈希。默克爾總和證明與默克爾證明一樣,是樹的一個「分支」,由從葉到根的路徑上的姐妹節點組成。
該交易所將向每位用戶發送一份默克爾存款證明。然后,用戶將得到一個保證,他們的余額是正確包括在總額的一部分。可以在這里找到一個簡單的示例代碼實現。
Gitcoin社區通過提案投票決定將V神捐贈的全部AKITA兌換為ETH:據官方消息,針對此前以太坊創始人V神向Gitcoin捐贈的秋田犬幣(AKITA),Gitcoin社區通過提案投票決定,將全部出售AKITA并將其兌換成ETH,該提案尚未執行。
此前報道,5月中旬,Vitalik Buterin出售大量meme代幣,并將所獲ETH和部分meme代幣進行捐贈,其中向Gitcoin的社區多簽錢包捐贈49萬億枚AKITA。[2021/6/7 23:17:43]
該方案的一個重要的微妙之處是負余額的可能性:如果一個交易所有 1390 ETH 的客戶余額,但只有 890 ETH 的儲備,試圖通過在樹的某個位置的假賬戶下添加 -500 ETH 余額來彌補差額,該怎么辦?
事實證明,這種可能性并沒有破壞該方案,這就是我們特別需要默克爾總和樹而不是常規默克爾樹的原因。假設 Henry 是交易所控制的假賬戶,交易所在那里放了 -500 ETH:
如果交易所能夠識別出價值 500 ETH 的用戶,他們相信這些用戶要么不會費心檢查證據,要么在他們抱怨他們從未收到過證明時不信任他們,他們就可以不被懷疑盜用。但是,交易所也可以將這些用戶從樹中排除并產生相同的效果。
因此,如果僅以實現負債證明為目標,默克爾樹技術基本上與責任證明方案一樣好。但它的隱私屬性仍然不理想。你可以用更聰明的方式使用默克爾樹,比如把每個 satoshi 或 wei 做成一個單獨的葉,但最終通過更現代的技術,還有更好的方法來做到這一點。
V神:現階段與其提出新的創新 不如實現現有創意:V神發推稱:“以太坊生態系統(甚至整個加密貨幣生態系統)正處于這樣一個階段:實現現有想法要比提出新的、更好的想法更為重要。三年前可不是這樣的。”[2020/5/10]
[使用 ZK-SNARK 改進隱私性和穩健性]
ZK-SNARK 是一項強大的技術。ZK-SNARK 之于密碼學,可能就像變壓器之于人工智能。我們可以使用 ZK-SNARK 極大地簡化和改善責任證明協議中的隱私。
使用 KZG 承諾是避免隱私泄露的一種方法,因為不需要提供「姐妹節點」作為證明,并且可以使用一個簡單的 ZK-SNARK 來證明余額的總和,并且每個余額都是非負的。
我們可以用一個專用的 ZK-SNARK 證明上述 KZG 中余額的總和以及非負性。這里有一個簡單的例子。
我們引入一個輔助多項式 I(x),它組成每個余額的比一部分(我們假設余額低于 215),每 16 個位置跟蹤一個帶有偏移量的總和,只有當實際的總和與聲明的總和相匹配時,它的總和才為零。如果 z 是單位的 -128 階根,我們可以證明以下等式:
動態 | V神推特對StarkWare團隊表達敬意,并重提以太坊激勵提案:零知識證明技術開發公司StarkWare在推特宣布,獲得3000萬美元A輪融資。在回應用戶關于專利方面問題時,其回應稱“截至目前,我們沒有申請任何專利”。V神對其沒有進行ICO也沒有進行專利申請的行為深表敬意,并借此重新提出激勵以太坊開發人員的激勵提案。
此前,Vitalik Buterin 在以太坊研究論壇上發表文章,提出一種激勵開發者的新方案,當開發者創建一個智能合約后,任何其他使用該合約的用戶付出的交易手續費的一部分(比如說 33%),會發送給合約的創建者作為激勵,而且還提出了兩種關于獎勵的算法,分別是線性和超線性。[2019/11/19]
在較長期的未來,這種 ZK 債務證明或許不僅可以用于客戶在交易所的存款,還可以用于更廣泛的貸款。任何人借出一筆貸款都會將記錄放入一個多項式或包含該貸款的樹中,該結構的根會在鏈上發布。這將使任何尋求貸款的人向貸款機構證明,他們還沒有獲得過多的其他貸款。
最終,法律創新甚至可能使以這種方式承諾的貸款比沒有這樣承諾的貸款具有更高的優先級。這與我們在《去中心化社會:尋找 Web3 的靈魂》文章中討論的一個想法的方向完全相同——通過某種形式的「靈魂綁定代幣」,在鏈上產生負面聲譽的概念。
[資產證明]
這種簡單的資產證明技術存在兩個實際問題:
冷錢包處理;
抵押品兩用。
出于安全考慮,大多數交易所將絕大多數客戶資金保存在冷錢包中。在離線計算機上,交易需要手動簽名并轉移到互聯網上。我過去用來存放個人資金的冷錢包設置需要一臺永久離線的電腦生成一個包含簽名交易的二維碼,然后我用手機掃描。
現在的交易所協議更加瘋狂,經常涉及多個設備之間的多方計算。在這種設置下,制造一個額外的消息來證明對地址的控制是一個昂貴的操作。
交易所可以采用以下幾種方式:
保留一些公共長期使用地址。交易所將生成一些地址,發布一次每個地址的證明以證明所有權,然后重復使用這些地址。這是迄今為止最簡單的選擇,不過它確實在如何保護安全和隱私方面增加了一些限制。
有很多地址,隨便證明幾個。交易所將有許多地址,甚至可能每個地址只使用一次,并在單筆交易后退出。在這種情況下,交易所可能有一個協議,其中不時隨機選擇一些地址,必須“打開”以證明所有權。一些交易所已經通過審計師進行了類似的操作,但原則上,這種技術可以轉化為完全自動化的程序。
最后一個問題是:你能以法定方式進行資產證明嗎?交易所不僅持有加密貨幣,它們還在銀行系統內持有法定貨幣。在這方面,答案是肯定的,但這樣的程序將不可避免地依賴于「法定」信托模型——銀行本身可以證明余額,審計師可以證明資產負債表等等。考慮到法幣無法通過密碼學驗證,這是在該框架內所能做到的最好的方法,但仍然值得一做。
[Plasma 和 validiums 擴容解決方案:我們能實現非托管 CEX 嗎?]
假設我們想更進一步:我們不想僅僅證明交易所有資金償還用戶。相反,我們希望阻止完全交易所盜用用戶的資金。
第一個主要嘗試是 Plasma,這是一種 2017 年和 2018 年在以太坊研究圈流行的擴容解決方案。Plasma 的工作原理是將余額拆分為一組獨立的「代幣」,其中每個代幣都被分配一個索引,并位于 Plasma 區塊的默克爾樹的特定位置。要進行有效的代幣轉移,需要將一筆交易放到根被發布到鏈上的樹的正確位置。
Plasma 的一個版本的過度簡化圖。代幣保存在智能合約中,該合約在取款時強制執行 Plasma 協議的規則。
自 2018 年 Plasma 討論的熱潮以來,ZK-SNARK 已經變得更加適用于與擴展相關的用例,正如我們上面所說的,ZK-SNARK 改變了一切。
CEX 和 DEX 并不是二進制的,事實證明,它們有一系列的選擇,包括各種形式的混合中心化,在那里你可以獲得一些優勢,比如效率,但仍然有很多加密屏障,防止中心化運營商的濫用。
處理用戶錯誤也是一個大問題。到目前為止,最重要的錯誤類型是——如果用戶忘記了密碼,丟失了設備,被黑客攻擊,或者無法訪問自己的帳戶,該怎么辦?
理想的長期解決方案是依靠自我托管,并借助諸如多簽和社會恢復錢包等技術來幫助用戶處理緊急情況。但在短期內,有兩種明顯的替代方案,它們的成本和收益明顯不同:
[總結:展望未來更先進的交易所]
短期內,有兩種明確的交易所類別:托管交易所和非托管交易所。如今,后一類只是像 Uniswap 這樣的 DEX,在未來我們可能還會看到加密技術受限的 CEX,用戶資金以類似 validium 智能合約的形式持有。我們也可能會看到半托管交易所,我們信任他們使用法定貨幣,而不是加密貨幣。
這兩種類型的交易所將繼續存在,而提高托管交易所安全性的最簡單的向后兼容方法是增加儲備證明。這包括資產證明和負債證明的結合。為兩者都制定好的協議存在技術上的挑戰,但我們可以也應該盡可能在這兩個方面取得進展,并盡可能地開源軟件和流程,以便所有的交易所都能受益。
從長遠來看,我希望我們越來越接近所有非托管交易所,至少在加密貨幣方面是這樣。錢包恢復將會存在,而且可能需要為處理小額金額的新用戶提供高度集中的恢復選項,以及由于法律原因需要這種安排的機構,但這可以在錢包層而不是在交易所內部完成。
magic.link 與 Polymarket 等平臺的交互就是這種方法的一個例子。在法幣方面,傳統銀行系統和加密貨幣生態系統之間的流動可以通過 USDC 等資產支持穩定幣原生的現金進出過程完成。然而,我們要完全實現還需要一段時間。
1435Crypto
個人專欄
閱讀更多
金色財經
CertiK中文社區
虎嗅科技
區塊律動BlockBeats
web3中文
深潮TechFlow
念青
DeFi之道
CT中文
華夏時報制圖 本報(chinatimes.net.cn)記者趙奕 胡金華 上海報道曾火爆一時的數字藏品在近期迎來了第一個“冬天”.
1900/1/1 0:00:00原文標題:《Why Nobody Really Uses Web3… Yet》撰文:ChainLinkGodWeb3 仍然是一個尚未被主流采用的利基行業.
1900/1/1 0:00:002021年,有這樣一個頭條新聞:一家投資公司以大約400萬美元的價格在The Sandbox上買下了2000英畝的虛擬地產.
1900/1/1 0:00:00注:原文來源于 SuperDAO,作者為 SuperDAO 首席執行官 Yury Lifshits.
1900/1/1 0:00:00撰文:David Yaffe-Bellany編譯:Block unicorn Gary Gensler(圖源:SEC官網)SEC 的主席 Gary Gensler.
1900/1/1 0:00:00運營商正成為VR(虛擬現實)普及的關鍵橋梁!近日,2022卡塔爾世界杯正式開幕,不少球迷正通過VR/AR設備“親至現場”,一同感受足球賽事的魅力.
1900/1/1 0:00:00