以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > 非小號 > Info

V神文章:如何使用 ZK-SNARKs 改善中心化交易所的安全性?_ETH

Author:

Time:1900/1/1 0:00:00

作者:VitalikButerin

原文鏈接:https://hackmd.io/@vbuterin/proof_of_solvency

每當一個大型中心化交易所崩潰時,一個常見的問題就是我們是否可以使用加密技術來解決。交易所可以利用密碼學證明它們在鏈上持有的資金足以支付它們對用戶的債務,而不是僅僅依賴政府許可、審查公司審計和運營交易所的個人背調等法律途徑。

而且交易所可以建立一個系統,在該系統中,未經儲戶同意,交易所不能提取儲戶的資金。我們可以探索「主動不做壞事」且有野心的CEX和「沒有能力做壞事」的CEX之間的界限,但目前往往人們只是看向效率低下且隱私泄露的鏈上DEX。

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

交易所試圖用密碼學的方式證明自己沒有欺騙用戶的最早嘗試要追溯到很久以前。

2011年,當時最大的比特幣交易所MtGox通過發送一筆交易,將424242個比特幣轉移到預先公布的地址,證明他們有資金。

2013年,人們開始討論如何解決問題的另一面:證明客戶存款的總規模。如果你證明客戶的存款等于X,并證明擁有X個代幣的私鑰,那么你就有了償付能力證明——你證明了交易所有資金償還所有儲戶。

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

每個余額都是非負的;

總額為索賠金額。

當然,這破壞了隱私,所以我們可以稍微改變一下方案:

V神:錢包設計需滿足三個關鍵條件:1月11日,以太坊創始人V神發布《為什么我們需要廣泛采用社會恢復錢包》一文,其中介紹了社會恢復錢包的技術、原理和價值。他在文章中表示,錢包安全性問題是非常重要,不應該被低估。并指出錢包設計應滿足三個關鍵條件,首先沒有單一的故障點,其次是低腦力消耗,盡可能不要求用戶花費腦力去記住某些特定的行為模式,第三最大程度地簡化交易。他認為社會恢復錢包是“加密價值”的一種表達。加密貨幣的目標絕不是消除對所有人的信任。相反,加密的目的是使人們能夠使用加密和經濟構建區塊,從而使人們有更多選擇信任的對象,并允許人們建立更多受限的信任形式。多重簽名(multisig)和社會恢復是這一原則的完美表達,每個參與者都有一些影響接受或拒絕交易的能力,但是沒有人可以單方面轉移資金。與必須由一個人或鑰匙單方面控制資金的情況相比,這種更復雜的邏輯可以使設置安全得多。[2021/1/11 15:50:28]

發布一個對的列表,并私下向每個用戶發送他們的salt值。但即使這樣也會泄露余額和余額變化的模式。

為了保護隱私,我們想到了下一個發明:默克爾樹技術。

綠色:代表Charlie的節點。

藍色:代表Charlie將收到作為證明的一部分代節點。

黃色:代表根節點,向所有人公開顯示。

默克爾樹技術包括將客戶余額表放入默克爾總和樹中。在默克爾總和樹中,每個節點都是一個對。底層葉節點表示各個客戶的余額和salt的用戶名哈希。

在每個較高層節點中,余額是下面兩個余額的和,而哈希是下面兩個節點的哈希。默克爾總和證明與默克爾證明一樣,是樹的一個「分支」,由從葉到根的路徑上的姐妹節點組成。

V神在推特發布其個人版本ETH 2路線圖:金色財經報道,V神連續發布數條推文稱:“以下的路線圖是我對ETH 2未來約5-10年及以后的樣子的大概看法,路線圖僅反映了我自己的觀點,隨著發現新信息或新技術,詳細信息可能會更改。總體來說,過去兩年從“blue sky”研究(試圖理解什么是可能的)向具體的研究和開發進行了堅實的轉變。我們對權益證明的功能和限制、分片的安全模型等了解了更多。此外,在過去的2年中,一個趨勢正不斷增長,即維護兼容性并確保應用程序的平穩過渡,以及將ETH 1.x和ETH 2融合在一起作為一致性愿景的一部分。從這里開始,研究仍在繼續。”[2020/3/19]

該交易所將向每位用戶發送一份默克爾存款證明。然后,用戶將得到一個保證,他們的余額是正確包括在總額的一部分。可以在這里找到一個簡單的示例代碼實現。

這種設計中泄露的隱私比完全公開的列表要低得多,而且可以通過在每次發布「根」時移動分支來進一步減少,但仍然存在一些隱私泄露:Charlie了解到有人的余額為164ETH,有兩個用戶的余額加起來達到70ETH等等。控制多個帳戶的攻擊者仍有可能了解交易所用戶的大量信息。

該方案的一個重要的微妙之處是負余額的可能性:如果一個交易所有1390ETH的客戶余額,但只有890ETH的儲備,試圖通過在樹的某個位置的假賬戶下添加-500ETH余額來彌補差額,該怎么辦?

事實證明,這種可能性并沒有破壞該方案,這就是我們特別需要默克爾總和樹而不是常規默克爾樹的原因。假設Henry是交易所控制的假賬戶,交易所在那里放了-500ETH:

動態 | V神回復“以太坊遷移到Eth 2.0執行環境時是否會破壞當前部署的合約”的問題:Parity的Rust開發者Wei Tang發推擔憂以太坊接下來的伊斯坦布爾硬分叉中的 EIP-1884 提案可能會破壞目前已經部署在以太坊上的合約。V神回復稱,支持EIP 1884(并希望重新定價更高),但這仍然需要進一步探討。此外,對于以太坊遷移到 Eth 2.0 執行環境時是否會破壞當前部署的合約的問題,Vitalik回復道,約束見證數據大小以重新平衡 Gas 費,是我能想到的產生重大變化的一點。區塊間間隔可能縮短至 3-6 秒,DIFFICULTY 操作碼將不再輸出任何有用的內容。在遷移時,除非給出偏移的區塊編號進行破解,否則操作碼編號將遵從非單調邏輯(non-monotonic)。同時,以太坊merkle證明的硬編碼驗證可能會遭到破壞,很大可能會從十六進制的 Patricia 樹切換到二進制的 SMT。此外,EIP 1559 提案將會改變與 GASPIRCE 操作碼相關的所有經濟活動,帳戶抽象將使 ORIGIN 操作碼的工作方式發生改變。[2019/9/2]

Greta的證明驗證將會失敗:交易所將不得不給她Henry的-500ETH節點,她會以無效為由拒絕它。Eve和Fred的證明驗證也會失敗,因為Henry上面的中間節點有-230的ETH,所以也是無效的。為了避免被懷疑盜用,交易所必須希望樹的右半部分沒有人檢查他們的余額證明。

如果交易所能夠識別出價值500ETH的用戶,他們相信這些用戶要么不會費心檢查證據,要么在他們抱怨他們從未收到過證明時不信任他們,他們就可以不被懷疑盜用。但是,交易所也可以將這些用戶從樹中排除并產生相同的效果。

因此,如果僅以實現負債證明為目標,默克爾樹技術基本上與責任證明方案一樣好。但它的隱私屬性仍然不理想。你可以用更聰明的方式使用默克爾樹,比如把每個satoshi或wei做成一個單獨的葉,但最終通過更現代的技術,還有更好的方法來做到這一點。

聲音 | 趙長鵬反駁V神:創新將繼續:針對此前V神在接受彭博采訪時稱“區塊鏈行業將難以繼續爆炸式增長”,幣安創始人趙長鵬在其社交媒體表示,2000年,每個人都聽說過互聯網,但當時google,facebook,airbnb,uber,阿里巴巴規模有多大?趙長鵬稱自己不能同意這種邏輯,創新將繼續。[2018/9/12]

ZK-SNARK是一項強大的技術。ZK-SNARK之于密碼學,可能就像變壓器之于人工智能。我們可以使用ZK-SNARK極大地簡化和改善責任證明協議中的隱私。

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

使用KZG承諾是避免隱私泄露的一種方法,因為不需要提供「姐妹節點」作為證明,并且可以使用一個簡單的ZK-SNARK來證明余額的總和,并且每個余額都是非負的。

我們可以用一個專用的ZK-SNARK證明上述KZG中余額的總和以及非負性。這里有一個簡單的例子。

我們引入一個輔助多項式I(x),它組成每個余額的比一部分,每16個位置跟蹤一個帶有偏移量的總和,只有當實際的總和與聲明的總和相匹配時,它的總和才為零。如果z是單位的-128階根,我們可以證明以下等式:

V神:以太坊團隊即便沒有我 也能做得更好:今日V神在王峰十問上回應了其本人的去留對以太坊發展的影響。2017年,一則V神去世的謠言曾一度導致以太坊市值大跌40億美元。V神稱,至于其死亡傳聞是不是造成以太坊價格下跌,現在還不是很清楚,因為當時市場本身就比較低迷,而且價格下跌已經發生了。非常堅信的是,DAO分叉這件事發生,社區內是有很多人支持的,當時有進行碳投票、各種社區民意調查等等,結果就是有80%的人支持分叉。V神認為,以太坊團隊即便沒有他,也絕對有能力完成Casper和分片路線圖,即使自己想要消失一段時間,也完全相信他們會做得很好。[2018/6/22]

可在這里找到關于ZK-SNARK的進一步解釋。只需要幾個額外的方程,這樣的約束系統就可以適應更復雜的環境。例如,在杠桿交易系統中,個人用戶的余額為負是可以接受的,但前提是他們有足夠的其他資產,以一定的擔保保證金覆蓋資金。SNARK可以用來證明這一更復雜的約束,讓用戶放心,交易所不會通過秘密豁免其他用戶遵守規則來冒資金風險。

在較長期的未來,這種ZK債務證明或許不僅可以用于客戶在交易所的存款,還可以用于更廣泛的貸款。任何人借出一筆貸款都會將記錄放入一個多項式或包含該貸款的樹中,該結構的根會在鏈上發布。這將使任何尋求貸款的人向貸款機構證明,他們還沒有獲得過多的其他貸款。

最終,法律創新甚至可能使以這種方式承諾的貸款比沒有這樣承諾的貸款具有更高的優先級。這與我們在《去中心化社會:尋找Web3的靈魂》文章中討論的一個想法的方向完全相同——通過某種形式的「靈魂綁定代幣」,在鏈上產生負面聲譽的概念。

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

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

冷錢包處理;

抵押品兩用。

出于安全考慮,大多數交易所將絕大多數客戶資金保存在冷錢包中。在離線計算機上,交易需要手動簽名并轉移到互聯網上。我過去用來存放個人資金的冷錢包設置需要一臺永久離線的電腦生成一個包含簽名交易的二維碼,然后我用手機掃描。

現在的交易所協議更加瘋狂,經常涉及多個設備之間的多方計算。在這種設置下,制造一個額外的消息來證明對地址的控制是一個昂貴的操作。

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

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

有很多地址,隨便證明幾個。交易所將有許多地址,甚至可能每個地址只使用一次,并在單筆交易后退出。在這種情況下,交易所可能有一個協議,其中不時隨機選擇一些地址,必須“打開”以證明所有權。一些交易所已經通過審計師進行了類似的操作,但原則上,這種技術可以轉化為完全自動化的程序。

更復雜的ZKP選項。例如,一個交易所可以將它的所有地址設置為1/2多簽,其中每個地址的私鑰都是不同的,另一個是某個“重要”緊急備份密鑰的盲版,以某種復雜但安全的方式存儲,例如12/16多簽。為了保護隱私并避免泄露其全部地址,交易所甚至可以在區塊鏈上運行零知識證明,證明鏈上所有具有這種格式的地址的總余額。

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

最后一個問題是:你能以法定方式進行資產證明嗎?交易所不僅持有加密貨幣,它們還在銀行系統內持有法定貨幣。在這方面,答案是肯定的,但這樣的程序將不可避免地依賴于「法定」信托模型——銀行本身可以證明余額,審計師可以證明資產負債表等等。考慮到法幣無法通過密碼學驗證,這是在該框架內所能做到的最好的方法,但仍然值得一做。

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

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

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

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

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

更現代的Plasma想法是Starkware所稱的validium:基本上與ZK-rollup相同,只是數據是鏈外保存的。這種結構可以用在很多用例中,可以想象任何中心化服務器需要運行一些代碼并證明它正在正確執行代碼的情況。在有效期限內,操作人員沒有辦法竊取資金,盡管根據實現的細節,如果操作人員消失,一些數量的用戶資金可能會被卡住。

CEX和DEX并不是二進制的,事實證明,它們有一系列的選擇,包括各種形式的混合中心化,在那里你可以獲得一些優勢,比如效率,但仍然有很多加密屏障,防止中心化運營商的濫用。

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

交易所可以解決這個問題。首先是電子郵件恢復,如果連這都失敗了,再通過KYC進行更復雜的恢復。但為了能夠解決這些問題,交易所需要真正控制這些代幣。為了有能力以正當的理由收回用戶賬戶的資金,交易所需要有能力以不正當的理由竊取用戶賬戶的資金。這是一個不可避免的權衡。

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

短期內,有兩種明確的交易所類別:托管交易所和非托管交易所。如今,后一類只是像Uniswap?這樣的DEX,在未來我們可能還會看到加密技術受限的CEX,用戶資金以類似validium智能合約的形式持有。我們也可能會看到半托管交易所,我們信任他們使用法定貨幣,而不是加密貨幣。

這兩種類型的交易所將繼續存在,而提高托管交易所安全性的最簡單的向后兼容方法是增加儲備證明。這包括資產證明和負債證明的結合。為兩者都制定好的協議存在技術上的挑戰,但我們可以也應該盡可能在這兩個方面取得進展,并盡可能地開源軟件和流程,以便所有的交易所都能受益。

從長遠來看,我希望我們越來越接近所有非托管交易所,至少在加密貨幣方面是這樣。錢包恢復將會存在,而且可能需要為處理小額金額的新用戶提供高度集中的恢復選項,以及由于法律原因需要這種安排的機構,但這可以在錢包層而不是在交易所內部完成。

magic.link與Polymarket等平臺的交互就是這種方法的一個例子。在法幣方面,傳統銀行系統和加密貨幣生態系統之間的流動可以通過USDC等資產支持穩定幣原生的現金進出過程完成。然而,我們要完全實現還需要一段時間。

Tags:ETH以太坊ARKNARETHE以太坊交易所apparkm幣怎么樣Narwhale.finance

非小號
數據:投資者11月從加密貨幣基金中撤資近200億美元_比特幣

金色財經報道,隨著FTX在11月陷入混亂和破產,加密貨幣投資者正竭盡全力撤出資金。根據研究公司CryptoCompare的數據,GrayscaleInvestments和CoinSharesIn.

1900/1/1 0:00:00
美CFTC主席在國會首次FTX聽證會上呼吁加密立法_FTC

摘要: -在?FTX?申請破產保護后,美國?CFTC?主席?RostinBehnam?希望獲得監管加密貨幣的新權力.

1900/1/1 0:00:00
Web3初創項目應該如何進行產品營銷?_WEB

原文標題:《MarketingInTheBeraAndBeyond-AGuideForSeriousCryptoFounders?》原文作者:Matti原文編譯:Kxp.

1900/1/1 0:00:00
一文探討 Crypto 游戲的演變軌跡_CRYPT

關于區塊鏈游戲,Onchain和Offchain的選擇問題一度困擾著我,回顧過去幾個Crypto周期,包括AxieInfinity、STEPN、TheSandbox等多款曾獲得過成功的游戲.

1900/1/1 0:00:00
扎克伯格時代即將結束?_ACE

美股周二大幅走高,因華爾街忽視疫情的反復,轉而關注一系列強勁的財報,以及在假期縮短的交易周內未來小幅加息的可能性.

1900/1/1 0:00:00
晚間必讀 | Web3 世界的通行證:錢包到底是什么?_WEB

1.金色觀察丨StarkNet新手指南ollup代表了以太坊未來擴展計劃的基礎。StarkNet是一個無需許可的第2層擴展網絡,是“四大”早期主流rollup之一.

1900/1/1 0:00:00
ads