作者:Vitalik
編譯:董一鳴,ChainCatcher
每當一個重要的中心化交易所爆炸時,一個常見的問題就會被提出來,那就是我們是否可以使用加密技術來解決問題。交易所可以創建加密證明,表明他們在鏈上持有的資金足以支付他們對用戶的負債,而不是僅僅依靠政府許可、審計師和審查公司治理和經營交易所的個人背景等"法定"方法。
交易所可以建立一個系統,在未經儲戶同意的情況下,根本無法提取他們的資金。潛在地,我們可以探索在"不要做壞事"的有抱負的好人CEX和"不能做壞事",但現在效率低下和泄露隱私的鏈上DEX之間的整個光譜。這篇文章將深入探討試圖讓交易更接近無信任的一兩步的歷史嘗試,這些技術的局限性,以及一些依靠ZK-SNARKs和其他先進技術的更新和更強大的想法。
收支平衡表和Merkle?tree:老派的清償能力證明
交易所最早嘗試用密碼學方法證明他們沒有欺騙他們的用戶,這可以追溯到很久之前。2011年,當時最大的比特幣交易所MtGox通過發送一筆交易,將424242個BTC轉移到一個預先公布的地址,證明他們有資金。2013年,人們開始討論如何解決問題的另一面:證明客戶存款的總規模。如果你證明客戶的存款等于X,并證明X幣的私鑰的所有權,那么你就有了償付能力的證明:你已經證明交易所有資金來償還所有的存款人。
證明存款的最簡單方法是簡單地發布一個對的列表。每個用戶都可以檢查他們的余額是否包括在列表中,任何人都可以檢查完整的列表,以查看每個余額都是非負的,總金額為賠索金額。當然,這破壞了隱私,所以我們可以稍微改變一下方案:發布一個對的列表,并私下向每個用戶發送他們的salt值。但即使這樣也會泄露余額,而且會泄露余額的變化模式。保護隱私的愿望把我們帶到了下一個發明:Merkle?tree技術。
Vitalik Buterin 2014年的歷史肖像被作為NFT進行拍賣:金色財經報道,加拿大著名攝影師Andrew Miller宣布獨家拍賣以太坊創始人Vitalik Buterin的首張專業且從未售出的肖像,該肖像被鑄造成NFT。此次拍賣恰逢以太坊概念誕生10周年。拍賣將于 7 月 1 日在Manifold.xyz上開始,一直持續到7月30日,為收藏家提供了一個難得的機會來獲得以太坊早期歷史的一部分。起拍價為333 ETH。[2023/7/19 11:03:17]
綠色:Charlie節點。藍色:David節點,也是Charlie將接收到的節點,作為他證明的一部分。黃色:根節點,向大家公開展示。
Merkle?tree技術是將客戶的余額表放入Merkle?sum?tree中。在Merklesum?tree中,每個節點都是一個對。底層的葉子節點代表個別客戶的余額和salted的用戶名哈希值。在每個高層節點中,余額是下面兩個余額的總和,而哈希值是下面兩個節點的哈希值。Merkle?sum證明,就像Merkle證明一樣,是樹的一個"分支",由從葉到根的路徑上的姐妹節點組成。
交易所將向每個用戶發送其余額的Merklesum證明來證明他們的余額。然后,用戶將得到一個保證,他們的余額被正確地包括在總數的一部分。一個簡單的代碼示例可以從這里找到。
這種設計中的隱私泄露比完全公開的列表要低得多,而且可以通過每次發布根目錄時對分支進行洗牌來進一步減少隱私泄露,但一些隱私泄露還是存在的。Charlie可以得知某人的余額為164ETH,有兩個用戶的余額加起來為70ETH,等等。一個控制許多賬戶的攻擊者仍有可能了解到交易所用戶的大量信息。
該方案的一個重要的微妙之處在于負余額的可能性:如果一個交易所有1390ETH的客戶余額,但只有890ETH的儲備,試圖通過在樹上的某個假賬戶下增加一個-500ETH的余額來彌補差額怎么辦?事實證明,這種可能性并沒有破壞該方案,盡管這就是我們特別需要Merkle?sum樹而不是普通Merkle?樹的原因。假設Henry是交易所控制的假賬戶,交易所把-500ETH放在那里。
Vitalik Buterin:由于安全問題只用少量ETH質押:金色財經報道,以太坊聯合創始人Vitalik Buterin由于擔心安全問題和保持安全的復雜性,他只用少量的ETH質押。Buterin在Bankless Podcast上表示,他并沒有把他所有的以太坊質押,只是 \"相當小的一部分\",因為在網絡上安全投資需要多重簽名,這仍然是一個棘手的過程。如果你把你的ETH質押,訪問它的鑰匙必須在某個在線系統上公開。為了安全起見,它必須是一個多重簽名,而用于抵押的多重簽名仍然相當難以設置,它在很多方面都變得很復雜。[2023/6/30 22:10:38]
Greta的證明驗證將失敗:交易所將不得不給她Henry的-500ETH節點,她將拒絕這個節點,因為它是無效的。Eve和Fred的驗證也會失敗,因為Henry上面的中間節點的ETH總量為-230,所以也是無效的!為了逃脫盜竊,交易所將不得不希望整個樹的右半部分沒有人檢查他們的余額證明。
如果交易所能夠識別出價值500ETH的的用戶,他們相信這些用戶要么不會費心檢查證明,要么在抱怨從未收到證明時不會被相信,那么他們就有信心逃脫偷竊的懲罰。但是,交易所也可以將這些用戶從樹上排除,從而達到同樣的效果。
因此,如果只是為了實現負債證明的目標,Merkle樹技術基本上和負債證明方案一樣好,。但它的隱私屬性仍然不理想。你可以通過以更巧妙的方式使用Merkle樹,比如讓每個satoshi或wei成為一個單獨的葉子,但最終隨著更現代的技術,還有更好的方法來做到這一點。
用ZK-SNARKs改善隱私和穩健性
ZK-SNARKs是一項強大的技術。ZK-SNARKs對密碼學的作用可能就像變壓器對人工智能的作用一樣:它是如此強大的一種通用技術,以至于它將完全碾壓幾十年前開發的特定應用技術中的一大堆問題。因此,當然,我們可以使用ZK-SNARKs來大大簡化和改善責任證明協議中的隱私。
Vitalik Buterin證實自己正在幫助狗狗幣過渡至PoS網絡:2月1日消息,以太坊聯合創始人Vitalik Buterin最近在接受UpOnly采訪時證實自己正在幫助狗狗幣(DOGE)過渡至PoS網絡。Vitalik表示:“幾乎每一個主流區塊鏈現在都有向PoS過渡的計劃,狗狗幣也不例外。”(Finbold)[2022/2/1 9:26:31]
我們可以做的最簡單的事情是將所有用戶的存款放入一個Merkle樹,并使用ZK-SNARK來證明該樹中的所有余額都是非負的,并且加起來等于某個聲稱的值。如果我們為隱私添加一層哈希,給每個用戶的Merkle分支將不會透露任何其他用戶的余額。
使用KZG承諾是避免隱私泄漏的一種方法,因為不需要提供“姐妹節點”作為證明,一個簡單的ZK-SNARK可以用來證明余額的總和,并且每個余額都是非負的。
我們可以用一個特殊用途的ZK-SNARK來證明上述KZG中余額的和與非負性。這里有一個簡單的例子,可以做到這一點。我們引入一個輔助多項式??,它"建立了每個余額的位",并且每16個位置都跟蹤一個帶有偏移的運行總數,因此只有當實際總數與聲明的總數一致時,它的總和才為零。如果z是-128次的單位根,我們可以證明以下等式。
有效設置的第一個值是0000?0000?0012?51020-165?0000?0000?13612?2550-300...
關于如何將這樣的方程轉化為多項式檢查,然后再轉化為ZK-SNARK,請參見我在ZK-SNARK的文章中的這里和這里的進一步解釋。這不是一個最佳協議,但它確實顯示了這些天來這些類型的加密證明并不那么詭異!
只需幾個額外的公式,像這樣的約束系統就可以適應更復雜的環境。例如,在一個杠桿交易系統中,個別用戶出現負余額是可以接受的,但前提是他們有足夠的其他資產來覆蓋有一些抵押保證金的資金。一個SNARK可以用來證明這個更復雜的約束,讓用戶放心,交易所不會通過暗中豁免其他用戶的規則來給他們的資金帶來風險。
動態 | Kavita Gupta離職后 ConsenSys宣布重組其各項業務:據Cointelegraph消息,5月6日,風險投資公司ConsenSys在一份新聞稿中證實,其正在重組其各項業務,以鞏固其市場地位。據悉,其ConsenSys將整合ConsenSys實驗室、加速器Tachyon、風險投資運營公司以及ConsenSys Ventures合并為一個傘型投資部門。此前報道, ConsenSys Ventures負責人Kavita Gupta表示即將辭職,將擔任顧問并在斯坦福大學任教。[2019/5/7]
在更長遠的未來,這種ZK債務證明也許不僅可以用于客戶在交易所的存款,還可以用于更廣泛的貸款。任何人在貸款時,都會將一條記錄放入一個包含該貸款的多項式或樹中,而該結構的根將被公布在鏈上。這將讓任何尋求貸款的人向貸款人提供他們還沒有借出太多其他貸款的ZK證明。最終,法律創新甚至可以使已經以這種方式承諾的貸款比沒有承諾的貸款具有更高的優先級。這將我們引向與?"去中心化社會:尋找Web3的靈魂"中討論的一個想法完全相同的方向:通過某種形式的"靈魂代幣",在鏈上建立一個負面的聲譽或抵押品的概念。
資產證明
資產證明的最簡單版本是我們上面看到的協議:為了證明你持有X枚幣,你只需在某個預先約定的時間或在數據字段包含"這些資金屬于幣安"的交易中移動X個幣。為了避免支付交易費用,你可以簽署一個鏈外信息來代替;比特幣和以太坊都有鏈外簽名信息的標準。
這種簡單的資產證明技術有兩個實際問題。
“冷庫”處理
抵押品的雙重用途
出于安全考慮,大多數交易所將絕大多數客戶的資金保存在"冷庫"中:在離線計算機上,交易需要手動簽署并轉移到互聯網上。我曾經為個人資金使用設置的冷庫涉及到一臺永久離線的計算機,它會生成一個包含簽名交易的二維碼,我可以用我的手機掃描。現代交換協議更加瘋狂,經常涉及到幾個設備之間的多方計算。鑒于這種設置,即使是一個額外的信息來證明對一個地址的控制,也是一個昂貴的操作!
Vitalik Buterin:BTC本身是有問題的,BCH值得去爭取:Vitalik在推特上發文稱,“BCH是比特幣名稱的合理競爭者,雖然社區支持隔離見證(SegWit)已經一年有余,但目前并未得出合理的擴容方案。”[2017/11/16]
一個交易可以采取以下幾種路徑:
保留幾個公開的長期使用的地址。交易所將生成幾個地址,對每個地址發布一次證明,以證明所有權,然后重復使用這些地址。這是迄今為止最簡單的方案,盡管它確實在如何保護安全和隱私方面增加了一些限制。
設置許多地址,隨機地證明幾個。交易所會有許多地址,也許甚至每個地址只使用一次,并在一次交易后退役。在這種情況下,交易所可能有一個協議,不時地隨機選擇幾個地址,必須"打開"以證明所有權。一些交易所已經用審計師做了類似的事情,但原則上這種技術可以變成一個完全自動化的程序。
更復雜的ZKP選項。例如,一個交易所可以將其所有的地址設置為1/2個多重簽名,其中每個地址的密鑰是不同的,另一個是某個"重大"緊急備份密鑰的盲版,以某種復雜但非常高安全的方式存儲,例如12/16個多重簽名。為了保護隱私和避免暴露其地址的整個集合,交易所甚至可以在區塊鏈上運行一個零知識證明,它證明鏈上所有具有這種格式的地址的總余額。
另一個主要問題是防止抵押品的雙重用途。交易所可以很容易地在彼此之間來回運送抵押品以進行儲備證明,這將使他們在實際沒有償付能力時假裝有償付能力。理想情況下,償付能力的證明是實時進行的,在每個區塊之后都會更新證明。如果這不現實,次優選擇是在不同的交易所之間協調一個固定的時間表,例如,在每周二UTC14點證明儲備。
最后一個問題是:能在法幣上做資產證明嗎?交易所不只是持有加密貨幣,他們還在銀行系統內持有法幣。在這里,答案是:可以,但這樣的程序將不可避免地依賴于"法幣"信任模型:銀行本身可以證明余額,審計師可以證明資產負債表,等等。考慮到法幣是不可加密驗證的,這是在該框架內所能做到的最好的,但它仍然值得做。
另一種方法是將一個運行交易所和處理USDC等資產支持的穩定幣的實體和另一個處理在加密貨幣和傳統銀行系統之間移動的現金進出過程的實體干凈地分開。因為USDC的"負債"只是鏈上的ERC20代幣,負債證明是"免費的",只需要資產證明。
Plasma和validiums:我們可以使CEXs不受拘束嗎?
假設我們想更進一步:我們不想僅僅證明交易所有資金來償還用戶的錢。相反,我們想完全防止交易所竊取用戶的資金。
這方面的第一個重大嘗試是Plasma,這是一個在2017年和2018年在以太坊研究圈流行的擴展解決方案。Plasma的工作原理是將余額分割成一組單獨的"硬幣",每個硬幣都被分配了一個索引,并位于Plasma區塊的Merkle樹中的一個特定位置。對一個硬幣進行有效的轉移需要將交易放到樹的正確位置,而樹的根部會在鏈上公布。
Plasma一個版本的過度簡化示意圖。硬幣存放在智能合約中,在提現時強行執行Plasma協議的規則。
OmiseGo試圖在這個協議的基礎上做一個去中心化的交易所,但從那時起,他們就轉向了其他的想法---就這一點而言,Plasma集團本身也是如此,它現在是optimistic?EVM的rollup項目Optimism。
在2018年設想的Plasma的技術局限性是不值得一看的。自2018年Plasma論述的高峰期以來,ZK-SNARKs在與擴展有關的用例中變得更加可行,正如我們上面所說,ZK-SNARKs改變了一切。
Plasma想法的更現代版本是Starkware所謂的validium:基本上與ZK-rollup相同,只是數據被保存在鏈外。這種結構可以用于很多用例,可以想象任何集中式服務器需要運行一些代碼并證明其正確執行代碼的情況。在一個validium內,運營商沒有辦法竊取資金,盡管取決于實施的細節,如果運營商消失,一些數量的用戶資金可能會被卡住。
這一切都真的很好:CEX與DEX遠不是二元對立的關系,事實證明,它有一整套的選擇,包括各種形式的混合中心化,你可以獲得一些好處,如效率,但仍有許多加密護欄,防止中心化的運營商參與大多數形式的濫用。
但是,這個設計空間的右半部分,我們還是有必要討論一下最基本的問題:處理用戶錯誤。到目前為止,最重要的錯誤類型是:如果用戶忘記了他們的密碼,丟失了他們的設備,被黑客攻擊,或以其他方式失去了對他們賬戶的訪問,該怎么辦?
交易所可以解決這個問題:首先是電子郵件恢復,如果連這個都失敗了,可以通過KYC進行更復雜形式的恢復。但是,為了能夠解決這樣的問題,交易所需要真正擁有對硬幣的控制權。為了有能力以好的理由恢復用戶賬戶的資金,交易所需要有權力,也可能被用來以壞的理由竊取用戶賬戶的資金。這是一個不可避免的權衡。
理想的長期解決方案是依靠自我保管,并輔以多重簽名和社會恢復錢包等技術,幫助用戶處理緊急情況。但在短期內,有兩個明顯的替代方案,其成本和收益明顯不同。
結論:未來更好的交易所
在短期內,有兩個明顯的交易所"類別":托管型交易所和非托管型交易所。今天,后一類只是DEXes,如Uniswap,在未來,我們也可能看到加密學上"受約束"的CEXes,用戶的資金被保存在類似validium智能合約的東西中。我們也可能看到半托管的交易所,我們用法幣而不是加密貨幣信任他們。
這兩種類型的交易所都將繼續存在,而提高托管交易所安全性的最簡單的向后兼容的方法是增加準備金證明。這包括資產證明和負債證明的結合。為這兩者制定良好的協議存在技術挑戰,但我們也應該盡可能地在這兩方面取得進展,并盡可能地將軟件和流程開源,以便所有交易所都能受益。
在更長遠的未來,我希望我們越來越接近所有交易所都是非托管的,至少在加密貨幣方面。錢包恢復會存在,對于處理小金額的新用戶,以及出于法律原因需要這種安排的機構,可能需要有高度集中的恢復選項,但這可以在錢包層而不是在交易所本身內完成。magic.link與Polymarket等平臺的互動方式就是這種方法的一個例子。在法幣方面,傳統銀行系統和加密貨幣生態系統之間的流動可以通過資產支持的穩定幣的本地現金流入/現金流出流程來完成。然而,在我們完全達到這個目標之前,還需要一段時間。
特別感謝BalajiSrinivasan,以及Coinbase、Kraken和幣安工作人員的討論。
據慢霧安全團隊情報,ETH鏈上的NumbersProtocol代幣項目遭到攻擊,攻擊者獲利約13,836美元.
1900/1/1 0:00:00許多新加坡散戶投資者在FTX事件中受到影響,據earthweb.com數據顯示,新加坡用戶占FTX總用戶量的5%以上,成為受FTX影響第二大國家,僅次于排名第一的韓國,德國排名第三.
1900/1/1 0:00:00孫宇晨表示,首先聯合項目方100%賠付所有火幣平臺內GALA真幣持有者,全部一比一剛性兌付,總計賠付金額超5500萬GALA,重新開啟火幣平臺GALA代幣交易充值提現,恢復正常秩序.
1900/1/1 0:00:00Vitalik發布新文章《擁有一個安全的CEX:證明償付能力及其他》,探討交易平臺進行去中心化資產證明的嘗試歷史、技術局限性.
1900/1/1 0:00:00整理:蔣海波,PANewsStarkNet是Layer2四大天王之一StarkWare的拳頭產品.
1900/1/1 0:00:00總部位于邁阿密的Web3電子商務公司?Spindl完成700萬美元融資,DragonFlyCapital和Chapter1領投.
1900/1/1 0:00:00