本文詳細介紹了不衕類型的暗池的工作原理、隱私架構、訂單匹配、流動性來源、MEV 和抗審查等多個方麵內容。通過引入零知識證明等隱私增強技術,暗池試圖在保護交易隱私的衕時提供高度的安全性。此外,本文還提到了與監管合規性和交易可見性相關的問題,以及探討了在暗池中不衕的商業模式。
在深入了解基於區塊鏈的暗池內部運作之前,讓我們先了解一下暗池的來龍去脈,它們是如何出現的,爲什麽能持續運作,以及它們在多大程度上改變了游戲規則。
1969 年,當時的計算機體積仍足以占用一兩個房間,交易者在交易大廳裡大聲喊著指令,機構投資者需要一種更好的方式來買賣股票,而不會在市場上引髮連鎖反應。Jerome Pustilnik 創立了 Instinet,開創了華爾街電子交易的先河。機構投資者可以下訂單,Instinet 將匹配買賣訂單併執行它們。要讓 Instinet 這樣的平颱髮揮作用,需要大量的供需雙方訂單。那麽,是什麽讓機構投資者嘗到了甜頭?保密性。Instinet 允許大公司通過隱藏其身份和訂單免受其他參與者和更廣泛市場的監視,以匿名方式運作。這一方麵可以防止他們的交易影響市場,另一方麵也意味著降低了被其他交易者搶先交易的風險。
截至 2022 年,已經有 60 多個暗池在 SEC 註冊。其中一些是由交易所運營的,如紐約證券交易所(NYSE)和納斯達剋(NASDAQ);一些是由經紀商運營的,如摩根士丹利的 MS Pool 和高盛的 SigmaX;還有一些是獨立運營的,如 Liquidnet 和 MatchNow。
由運營商運營暗池的問題在於,運營商可能更有動機採取不正當行爲,而不是以合規的方式運作。等式很簡單:腐敗利潤 > 腐敗成本。運營商可以穫得比他們必鬚支付的罰款更多的利潤。2018 年,SEC 對花旗集團處以 1,200 萬美元的罰款,原因是花旗集團在運營暗池時誤導投資者,衕時將機密訂單信息泄露給高頻交易商,後者針對花旗集團的客戶執行了價值超過 90 億美元的訂單,從中穫利。
傳統暗池的用戶麵臨被運營商操縱的風險。這是他們參與一個破碎的信任繫統所不得不付出的沉重代價。自 2011 年以來,暗池運營商已支付了超過 3.4 億美元的罰款以解決指控。與他們可能積纍的利潤相比,付出的代價相對較小。基於區塊鏈的暗池試圖擺脫對那些有潛在惡意行爲的運營商的信任需求,但仍然存在問題。
區塊鏈的設計初衷是完全透明。雖然它促進了問責製,但也是一把雙刃劍。如果你在鏈上收到了工資,那麽任何擁有你錢包地址的人都可以看到你多年來的工資以及未來的工資。
DEX(去中心化交易所)和錢包會受到錢包追蹤平颱和跟單交易平颱的追蹤,後者甚至允許匿名者狙擊錶現良好的交易者,使他們的交易策略更加覆雜。大額訂單還有可能被公共內存池中的搜索者搶跑的風險。
在我們深入探討暗池之前,讓我們區分一下混幣器和暗池。混幣器是暗池的一個子集。像 Tornado Cash 這樣的混幣器將代幣混合在一起,以切斷錢包和資産之間的聯繫,使資金來源難以追蹤。另一方麵,暗池不僅切斷了錢包和代幣之間的聯繫,還幫助用戶在不透露有關其他交易方的任何信息的情況下進行交易。
既然我們已經了解了傳統暗池背後的起源和動機,併區分了混幣器和暗池,那麽讓我們深入探討基於區塊鏈的暗池,這些暗池通過賬戶 / 餘額模型(Account/Balance models)和 PETs(隱私增強技術),如零知識證明、多方計算(MPC)和全衕態加密(FHE),將隱私註入其基礎架構中。
截止到撰寫本文時,像 Portal Gate、Renegade 和 Tristero 等暗池仍在開髮中。而像 Panther 和 Railgun 等隱私協議已經在運行,可以促進隱私 DeFi(去中心化金融)交易,不僅包括交換,還包括質押、提供流動性和借貸等操作。
區塊鏈是狀態機。狀態由賬戶和交易組成。隨著賬戶的交易,每一次狀態轉換都會曏鏈上添加一組新的更新。賬戶餘額也會隨之更新。賬戶餘額模型是區塊鏈跟蹤和管理用戶賬戶餘額的不衕方式。以太坊、Solana 和 Polygon 等區塊鏈使用賬戶模型,而比特幣、Zcash 和 Monero 等區塊鏈使用 UTXO 模型。這些模型在管理和呈現區塊鏈狀態的方式上有所不衕。
賬戶模型,類似於銀行賬戶,將當前狀態顯示爲一組地址及其餘額。每當你進行付款時,你髮送的是確切金額,沒有剩餘在任何一方,也沒有創建新的餘額。但 UTXO(未花費交易輸出)模型併不那麽簡單。當你進行付款時,你的整個餘額被轉移,燃燒了你現有的餘額。你所擁有的剩餘部分被添加到新的餘額中。UTXO 模型將當前狀態顯示爲所有交易的已花費和未花費輸出的圖錶。
爲了説明這一點,考慮以下情景:
Alice 的錢包中包含兩個 UTXO,一個有 6 個 coins,另一個有 5 個 coins,而 Bob 的錢包中則隻有一個包含 5 個 coins 的 UTXO。當 Alice 曏 Bob 髮送 5 個 coins 時,她將她的兩個 UTXO 合併成一個單一的交易,這使得觀察者難以確定她髮送給 Bob 的 5 個 coins 的來源,以及她的 UTXO 中剩餘餘額的去曏。這種保護隱私的機製有效地掩蓋了資金的流動,併保證了交易參與者的隱私。
新生成的 UTXO 沒有已知的所有者,需要更高級的鏈上分析才能將其與單個用戶關聯起來。賬戶模型則具有可替代性。它鼓勵地址重覆使用,因此很容易跟蹤單個用戶的歷史記録。
在 UTXO 模型中,雙重花費(雙花,double-spend)是相當睏難的。每個 UTXO 都有一個獨特的「nullifier」,由它本身生成。當驗證交易時,也就是當 UTXO 被花費時,其 nullifier 也會被花費,這可以防止交易被再次花費。
UTXO 模型的幾個版本已在註重隱私的 L1 和 L2 中使用。Aleo 使用的 Record 模型是 UTXO 模型的變體。Aztec 和 Polygon Miden 混合使用了 UTXO 模型和賬戶模型。
Zcash 使用的 UTXO 模型在很大程度上啟髮了暗池中使用的 UTXO 模型。一些協議對其進行了修改,以支持多種資産和賬戶。像 Portal Gate、Penumbra、Railgun 和 Renegade 等協議使用了一種基於「note」的機製,其中每個 UTXO 就是一個 note。這些 notes,就像 UTXO 一樣,包含了關於資産、訂單和價值的信息,但隻對所有者 / 用戶可見。這些 notes 存儲在存儲鏈狀態的 Merkle 樹內,稱爲狀態承諾樹(State Commitment Tree)。這些 notes 可能是由暗池內部的轉賬或結算而産生的,也可能是由於曏中繼器付費而産生的。Renegade 使用內嵌封裝的多方計算(MPC)來匹配 UTXO(訂單)併更新私有狀態。多個 notes 也可以存儲在一個單個 note 中。
在 Panther 協議中,每個資産或賬戶都錶示爲 zAsset(隱私資産)或 zNFT(隱私非衕質化代幣),而 UTXO 模型通過一個名爲「Bus」的 Merkle 樹進行操作,批量處理 UTXO,每批最多包含 64 個 UTXO,優化了用戶的成本效率。 「Bus 操作員」 負責流程處理,而用戶通過以 $ZKP 計價的獎勵來激勵他們。在執行單個 UTXO 時,Panther 使用了所謂的「Taxi」 Merkle 樹。爲了支持跨多條鏈的 UTXO,還有一個名爲「Ferry」 Merkle 樹。
這是隱私增強技術(PETs,Privacy Enhancing Technologies)中的一個主要組成部分。零知識證明(ZKPs)用於證明擁有正確信息的能力,而不必將信息泄露出去。在暗池的背景下,ZKPs 可以用來證明用戶具有足夠的資金和權限來下訂單,使它們匹配和結算,衕時將這些詳細信息隱藏不被暗池運營商、其他交易者和外部第三方看到。
證明繫統是爲生成這些證明而設計的密碼學構造。它們有各種類型,每種類型産生不衕大小的證明,需要不衕的時間框架,併且在生成和驗證過程中消耗不衕的計算資源。在這裡,我們將深入探討兩個重要的證明繫統:Groth16 和 UltraPlonk,它們在我們討論過的暗池中已經得到了應用。
Panther、Penumbra 和 Railgun 利用 Groth16 證明繫統生成它們的證明。Groth16 以生成一緻大小的證明而著稱,這使其成爲首選選擇,因爲證明大小可能對交易規模、Gas 成本和吞吐量産生影響。另一方麵,Portal Gate 和 Renegade 使用 UltraPlonk 證明繫統。
無論是 Groth16 還是 UltraPlonK,都需要一個可信設置(trusted set-up)。在這個設置中,一組受信任的各方合作建立一套通用的參數集。這些參數用於以一種使驗證者不必信任證明者,證明者也不必信任驗證者的方式來驗證證明。值得註意的是,可信設置意味著對相關方的信任假設。安全多方計算可用於防止任何一方穫得對底層設置結構的訪問權。Groth16 依賴於多方的輸入來建立其可信的設置,而 UltraPlonk 隻需要一方的參與。
現在,讓我們來了解一下暗池的內部運作,它們如何在進行交易時保護隱私、提供流動性、防止 MEV 提取、抵製審查的特性以及合規性。
在大多數情況下,需要創建新的專用錢包來與暗池進行交互。Railgun 有一個名爲 Railway Wallet 的第三方錢包提供商,它允許創建一個加密的 EOA,使你可以在不暴露數量和種類的情況下持有代幣 /NFTs,併且還可以通過 Relay Adapt 機製私下調用任何公共智能合約。
在 Renegade 中,錢包等衕於擁有私鑰併能簽署交易的 UTXO。你需要生成一個新的 UTXO,併使用 ZK 證明提交給它。該證明可證明新的 UTXO 實際上是新的,而且你尚未使用其中的資金。大多數操作(如存款、下單和交易)都會使錢包失效,因此你需要創建一個新錢包,以確保不會髮生雙重花費。用戶體驗與其他以太坊錢包相衕。
要使用 Penumbra,你需要像使用其他 Cosmos 鏈一樣創建一個新錢包。之後,可以通過另一筆 IBC 轉賬爲錢包註資。
對於 Panther 和 Portal Gate,均已建立了一套 KYC 流程。可以使用以太坊錢包,但連接的錢包用戶必鬚驗證其護照以穫得與協議交互的憑證。商業實體需要進行 KYB 過程,在其中分享他們的業務詳細信息。驗證是在鏈外由註冊的合規性提供者進行的。這些憑證會定期過期,之後必鬚重新進行驗證。
在訂單髮現和匹配方麵,像 Uniswap 和 Curve 等常見的 DEX 採用自動做市商方法,其中訂單與流動性池匹配。這種方法對於隱私來説不是最佳選擇,因爲當訂單與公開流動性池匹配時,訂單詳細信息在區塊鏈上是公開可見的。這對於進行大額交易的交易者來説併不理想,因爲它可能會將他們的意圖透露給市場中的其他參與者,這些參與者可能會利用這些信息。一些暗池最終會匹配流動性池或使用其他外部公共合約進行訂單匹配,它們使用中繼作爲交易者隱私必鬚被保護的隔離牆,將交易者和外部流動性源分開。接下來,我們將探討暗池如何在保護隱私的衕時穫取流動性。
現在,請記住,交易者已經將資金存入暗池中的錢包。現在我們將討論當提交訂單時會髮生什麽。一些暗池採取點對點的訂單匹配方法,而一些採取點對池的方法,使用諸如零知識或多方計算等 PETs,衕時它們的內部合約與外部公共合約進行交互。採用點對點方法或交叉交易者之間的訂單可以幫助更好地執行而無需滑點。因爲如果訂單與流動性池匹配,那麽在提交訂單和執行訂單之間,流動性池的價格可能會髮生變化。當訂單在交易者之間交叉時,訂單將以他們之間協商的價格執行。
對於採用點對點方法的 Renegade,當交易者提交訂單時,他們還會選擇一個可以代錶他們進行競拍(匹配訂單)的中繼,併支付一定費用。交易者生成一個名爲「VALID COMMITMENT」的 ZK 證明,證明他們擁有自己的錢包和其訂單。然後曏網絡髮送一個「握手(handshake)」以與其他交易者的握手進行匹配。握手本質上是一個不可變列錶,包含 VALID COMMITMENT ZK 證明、散列訂單詳細信息、nullifier 和密鑰對。當交易者的握手與另一位交易者的握手匹配時,它們進行多方計算。Renegade 使用協衕 ZK-SNARKs 來證明交易者的訂單確實與對手的訂單匹配。這確保了在進行訂單匹配時,訂單詳細信息對其他方保持隱藏。一旦訂單與所有所需的證明匹配,就會創建一個新的錢包,用於存放交換的代幣,之後通過驗證確保該錢包確實是新的,以防止雙重花費。用戶體驗與使用任何以太坊錢包相衕。
對於 Portal Gate,當交易者提交訂單時,一個 API 節點會接收訂單,對其進行加密,生成 ZK 證明,然後將訂單中繼到 Book。Book 是一組鏈下節點,它們收集訂單併在 FHE(全衕態加密)環境中運行訂單匹配算法。這意味著加密的訂單無需解密即可進行匹配。一旦訂單匹配成功,將顯示所有訂單匹配的總結果,而不會透露單個訂單匹配的詳細信息。這也有助於保護隱私。
對於 Railgun,當交易者通過 Railgun 下達交換訂單時,一個名爲「Adapt Module」的智能合約執行多個操作,即穫取交易者在其錢包中指定的要交換的私有餘額併解除其隱私屏蔽。Adapt Module 還將驗證訂單(UTXO)是否已經作廢 / 花費。然後,0x API 會在聚合的 DEX 流動性之間進行資産交換,尋找最佳彙率。Adapt Module 將已交換的資産重新隱私屏蔽到私有餘額中,以確保其活動或地址不被泄露。這個工作流程也可以應用於其他 DeFi 交易類型。
Panther 協議運行方式也類似,其中它使用一個名爲 Zswap 的模塊,將 Panther 的 MASP(多資産隱私池)與其他 DeFi 協議連接起來。與其説是一個「池」,MASP 更像是一組「隻能添加屬性(append-only)」的 Merkle 樹,其中每個葉子是對存入 MASP 的資産的 UTXO 的承諾。當交易者創建訂單時,Zswap 從其他 DeFi 協議中聚合報價供交易者選擇。一旦下達訂單,Zswap 創建一個加密的基於時間的托管合約,可以在不透露任何細節的情況下私下促進用戶之間的交換。一旦資産被交換,用戶將從 Panther 的 MASP 以 ZAsset(ZNFT)的形式收到代幣的 IOU(欠條)。
Penumbra 的交換模塊也被稱爲 Zswap,但其工作原理截然不衕。當交易者創建訂單時,交易者私人餘額中的資産會被燒毀,加密的訂單價值會髮送給驗證者。處理訂單還需要支付一定的費用。用戶將穫得一個「swap」NFT,以保存事件記録。NFT 由各種參數組合而成,包括交易資産、費用、輸入金額和加密密鑰。驗證者將多個交易者的訂單輸入彙總到一個批次中,然後針對集中的流動性頭寸執行這些輸入。一旦執行,輸出將按每個交易者的輸入比例交付給交易者。在這種情況下,個體數據仍然是保密的,但當驗證者彙總訂單針對集中的流動性頭寸執行時,聚合數據就會暴露出來。
像 Renegade 和 Portal Gate 等暗池通過匿名方式直接在用戶之間交叉買賣訂單運營,但併不總是有足夠的流動性來滿足訂單的需求。在一般的 DEX 中,你幾乎可以確保你的訂單會有足夠的流動性,但需要放棄隱私和價格影響。隱私 — — 任何人都可以查看你正在出售或購買的標的。價格影響 — — 因爲保證的流動性伴隨著一個溢價,你需要與訂單一起支付。在暗池中,訂單信息在交易前後都保持隱藏。
Renegade 遵循這種設計理念,通過匹配訂單流與反曏訂單流而不經過任何中介提供流動性。在流動性不足的情況下,有一種稱爲「利益指示(Indication of Interests)」的機製,交易者可以曏匹配訂單的中繼透露他們訂單的某些細節。通過零知識有效地證明細節,如價格、規模、資産和訂單類型。如果交易者選擇透露這些細節,其他交易者將能夠查看這些掛在訂單簿上的訂單,從而可能導緻這些訂單被更快地執行。
Panther 協議不僅是一個暗池。它還提供一繫列其他可以隱私執行的 DeFi 活動。用戶首先將資金存入多資産隱私池,將存入的資産錶示爲 ZkAsset(ZkNFT)。ZkAsset 本質上是一種 IOU 代幣,類似於在以太坊上質押時穫得的 stETH。名爲 DeFi Adaptors 的插件可以將 MASP 與現有的 DeFi 協議私下連接起來。Zswap 和 Ztrade 是連接 MASP 與 Uniswap、Quickswap、Curve 等 DEX 的適配器。
與 Panther 或 Railgun 一樣,Penumbra 也是進行多種 DeFi 活動的途徑。在 Penumbra 中,當用戶開設 LP 頭寸時,實際上創建了自己的小型 AMM。這樣,就會有數以萬計的集中流動性頭寸,這些頭寸都是由用戶創建,設定了自己想要的費用。不過,這可能會導緻流動性分散,但 Zswap / DEX 引擎將考慮併將所有這些個體流動性頭寸合成爲單個 AMM。這將使得可以在整個流動性圖中對進入的交易進行路由。
Portal Gate 使用了一個匿名的 AMM DEX,稱爲 Automaton,用於作爲 Book 的備份,即中繼器運行的訂單簿用於將用戶的交易交叉對接。如果由於缺乏流動性而導緻訂單簿無法促成交易,那麽訂單將被路由到 Automaton。流動性將在 Automaton 中引導,就像在任何其他 AMM 中一樣。
Railgun 的 Railway DEX 使用了 0x 創建的 0xAPI。這意味著 Railway DEX 的訂單被路由以尋找 0xAPI DEX 聚合器中執行的最佳價格。一旦找到交易路線,錢包會生成證明,以使用交易者餘額中的資金進行交換,併將來自 0xAPI 的流入代幣在交易者的餘額中屏蔽。
傳統金融(Tradfi)暗池在很大程度上被視爲一個精英俱樂部,隻有擁有豐厚資金的人才能進行交易。他們支付會員費用以能夠匿名下訂單,衕時也能夠穫得來自另一方的相關反曏訂單流。交易費用通常低於傳統金融交易所。傳統金融暗池也可以充當經紀商,從賣方以較低價格購買證券,然後以較高價格將其出售給另一買方。
加密領域的暗池更多地摒棄了「運營商」爲中心的設計,更多地扮演「促進者」的角色。它們旨在通過兩個主要組成部分産生收入:成功匹配的訂單上的協議費用,以及交易者支付給中繼處理交易的中繼器的費用的一部分。中繼費用的一部分也可以歸中繼運營商所有。交易者也可以選擇運行自己的中繼器,以穫得更好的隱私併避免支付中繼費用。
加密領域中的去中心化暗池可能麵臨「冷啟動」問題。與針對流動性池進行交易的 DEX 不衕,大多數暗池通過匹配買單和賣單讓用戶彼此交易。對於這樣的繫統來説,有交易者在市場的兩側下單非常重要。還需要註意的是,傳統金融領域的暗池由像高盛這樣的市值數十億美元的銀行和像紐約證券交易所這樣的交易所托管。這樣,爲其用戶提供訂單流就相對容易。還有一些獨立的暗池,比如 Liquidnet,他們曾估計需要至少 100 家買方公司從當天起在其平颱上運行,才能達到臨界質量,但最終隻有 38 家公司上線。Liquidnet 現在已躋身全球三大暗池之列。
中心化交易所平均比去中心化交易所多 10 倍的交易量,因爲它們吸引了更廣泛的用戶群體,提供更好的用戶體驗和合規性,從而增加了供應以滿足需求。OTC 交易(場外交易)的流動性相對較難穫得。
加密領域中的大多數 OTC 交易是通過 OTC desks(場外交易平颱)和托管智能合約進行的,有時甚至是通過 Telegram 群組進行的。這是一個震驚的現象。人們經常受到詐騙。對於詐騙者來説,在 Telegram 上冒充他人、編輯消息和交易細節非常方便。使用暗池,你可能無法保證非流動代幣或 NFT 的即時結算,但它確保了更高級別的安全性和隱私性。通過暗池進行的 OTC 交易,OTC desks 的客戶也無需支付經紀人費用。
交易量對於暗池的有效運行至關重要。它有助於有效匹配訂單併保護交易者的匿名性。池中匿名資金越多,訂單簿中的訂單越多,將存款人和交易者與其資産關聯起來就越睏難。這是因爲有更多的潛在存款人可以嘗試將資産與之關聯起來。在保護資産時,考慮代幣的類型也很重要。保護像 USDC 或 DAI 這樣的常見穩定幣將比保護知名度較低的模因代幣,而且隻有很少存款人的代幣能提供更高的匿名性。
大多數在公鏈上運行的 DEX,由於是公開透明的賬本,允許 MEV 存在。像 Uniswap 或 Curve 這樣的 DEX 上的訂單詳情不是保密的,這使得搜索者和構建者可以相應地重新安排捆綁和區塊中的交易,以提取 MEV。
隱私很重要,但它是一個主觀的問題。Tornado Cash 在允許人們在鏈上匿名進行金融活動方麵錶現出色。由於它是開源的併且任何人都可以免費使用,也有犯罪分子使用它來洗劫竊取的資金。朝鮮的黑客組織 Lazarus 迄今已竊取了近 10 億美元(9.58 億美元)。OFAC(外國資産控製辦公室)有一份特別指定的國民和被封鎖的個人名單。惡意個人和實體,如 Lazarus,甚至 Tornado Cash 的智能合約地址,都因不合規而被列入 OFAC 名單。不符合 OFAC 規定的協議有很高的可能性會導緻它們的交易被排除在鏈上的區塊之外。這是一個嚴重的抗審查問題嗎?是的。問題不僅限於區塊生成者。驗證者和中繼器也可以選擇忽略交易或區塊。
在暗池中,由於每筆訂單都會生成 ZKPs,因此訂單詳情對包括驗證者在內的所有第三方而言大多是隱秘的,從而消除了披露訂單匹配甚至結算細節的需要。這種架構可以抵禦 MEV 和抗審查,或者至少在交易工作流保持在暗池加密前提下的情況下是如此。在調用公共合約或使用共享定序器的情況下,可能會再次出現捕穫 MEV 的機會。
無論你是在協議內操作還是作爲個人用戶,最不希望看到的是交易掛起不處理,在區塊內得不到處理,從而危及了你的狀態轉換的成功,或者讓 SEC 前來開茶話會。對於 Tornado Cash 的創始人和開髮者來説,這些擔憂變成了可怕的現實,他們因洗錢指控被逮捕。在許多國家, TC 前端也是非法 / 已停用,併且不被一些中心化交易所支持。但 TC 智能合約本身仍然可以由具有一定技術知識的人使用。
爲了盡量避免這種情況,暗池和其他側重隱私的協議已經找到了讓用戶自行決定是否合規的方法。
Renegade 允許每個交易者選擇一組交易對手。個體交易者可能隻希望對他們的交易對手進行一些基本的 AML/ 製裁檢查,而機構可能希望對他們的交易對手進行 KYB/KYC 檢查。這種使用 ZKPs 進行合規性檢查的交易對手選擇邏輯可在 MPC 開始前進行設置。
Portal Gate 和 Panther Protocol 與合規 Oracle(預言機)合作,這些 Oracle 又與傳統合規服務提供商合作,以在鏈下進行用戶賬戶的 KYC/KYB 驗證。一旦驗證通過,用戶將穫得合規性的 ZK 證明。這個證明允許他們的錢包與暗池協議一起使用,但驗證需要定期進行。
在 Penumbra 中,用戶可以使用「交易視角」在鏈下展示其合規性,有選擇地披露其活動,包括資金來源。衕樣,在 Railgun 中,用戶擁有「查看密鑰」,允許用戶查看從 X 到 Y 區塊時間的交易和餘額。
Railgun 使用了由 Chainway 開髮的「Proof of Innocence(無罪證明)」,該算法在 Privacy Pools 2.0 論文中有討論。Proof of Innocence 幫助你證明你的交易是合法的,而不需要透露任何交易細節。Merkel 樹充當了所有先前 UTXO(交易、餘額)的集合。借助這個功能,可以確定特定的餘額是某個交易集合的一部分。但要證明特定的餘額不是某個交易集合的一部分,需要使用記録 NULL 值的 Sparse Merkle 樹。通過這個證明可以驗證該餘額不是某個交易集合的一部分。在這種情況下,遞歸 SNARKs 用於證明從初始存款到最終取款的證明鏈計算準確,以此作爲證明用戶的餘額不是某個交易集合的一部分。
暗池用戶依賴公共價格作爲其交易者的基準,但公共交易所上資産的價格可能無法反映在暗池內髮生的波動。在 2014 年之前,暗池和公共交易所之間的價格髮現是一種單邊關繫。美國金融業監管局(FINRA)和美國證券交易委員會(SEC)實施了一項舉措,規定結算後的暗池交易信息應按證券在延遲 2–4 周後逐一公開髮布。目前尚不清楚未來是否會對加密暗池應用類似的公開披露標準,以促進所有市場參與者的更好的價格髮現。
純粹的暗池必鬚在市場的雙方都積纍訂單流,以達到臨界點。我們可能會看到許多場外交易轉移到暗池,因爲它們將比 OTC desks 和 Telegram 群組更安全、更私密和更經濟高效。在私有 DEX 與公共流動性池或外部智能合約互動的情況下,對泄露信息進行模擬可能會導緻某些交易和交易者的暴露。
本文詳細介紹了不衕類型的暗池的工作原理、隱私架構、訂單匹配、流動性來源、MEV 和抗審查等多個方麵內容。通過引入零知識證明等隱私增強技術,暗池試圖在保護交易隱私的衕時提供高度的安全性。此外,本文還提到了與監管合規性和交易可見性相關的問題,以及探討了在暗池中不衕的商業模式。
在深入了解基於區塊鏈的暗池內部運作之前,讓我們先了解一下暗池的來龍去脈,它們是如何出現的,爲什麽能持續運作,以及它們在多大程度上改變了游戲規則。
1969 年,當時的計算機體積仍足以占用一兩個房間,交易者在交易大廳裡大聲喊著指令,機構投資者需要一種更好的方式來買賣股票,而不會在市場上引髮連鎖反應。Jerome Pustilnik 創立了 Instinet,開創了華爾街電子交易的先河。機構投資者可以下訂單,Instinet 將匹配買賣訂單併執行它們。要讓 Instinet 這樣的平颱髮揮作用,需要大量的供需雙方訂單。那麽,是什麽讓機構投資者嘗到了甜頭?保密性。Instinet 允許大公司通過隱藏其身份和訂單免受其他參與者和更廣泛市場的監視,以匿名方式運作。這一方麵可以防止他們的交易影響市場,另一方麵也意味著降低了被其他交易者搶先交易的風險。
截至 2022 年,已經有 60 多個暗池在 SEC 註冊。其中一些是由交易所運營的,如紐約證券交易所(NYSE)和納斯達剋(NASDAQ);一些是由經紀商運營的,如摩根士丹利的 MS Pool 和高盛的 SigmaX;還有一些是獨立運營的,如 Liquidnet 和 MatchNow。
由運營商運營暗池的問題在於,運營商可能更有動機採取不正當行爲,而不是以合規的方式運作。等式很簡單:腐敗利潤 > 腐敗成本。運營商可以穫得比他們必鬚支付的罰款更多的利潤。2018 年,SEC 對花旗集團處以 1,200 萬美元的罰款,原因是花旗集團在運營暗池時誤導投資者,衕時將機密訂單信息泄露給高頻交易商,後者針對花旗集團的客戶執行了價值超過 90 億美元的訂單,從中穫利。
傳統暗池的用戶麵臨被運營商操縱的風險。這是他們參與一個破碎的信任繫統所不得不付出的沉重代價。自 2011 年以來,暗池運營商已支付了超過 3.4 億美元的罰款以解決指控。與他們可能積纍的利潤相比,付出的代價相對較小。基於區塊鏈的暗池試圖擺脫對那些有潛在惡意行爲的運營商的信任需求,但仍然存在問題。
區塊鏈的設計初衷是完全透明。雖然它促進了問責製,但也是一把雙刃劍。如果你在鏈上收到了工資,那麽任何擁有你錢包地址的人都可以看到你多年來的工資以及未來的工資。
DEX(去中心化交易所)和錢包會受到錢包追蹤平颱和跟單交易平颱的追蹤,後者甚至允許匿名者狙擊錶現良好的交易者,使他們的交易策略更加覆雜。大額訂單還有可能被公共內存池中的搜索者搶跑的風險。
在我們深入探討暗池之前,讓我們區分一下混幣器和暗池。混幣器是暗池的一個子集。像 Tornado Cash 這樣的混幣器將代幣混合在一起,以切斷錢包和資産之間的聯繫,使資金來源難以追蹤。另一方麵,暗池不僅切斷了錢包和代幣之間的聯繫,還幫助用戶在不透露有關其他交易方的任何信息的情況下進行交易。
既然我們已經了解了傳統暗池背後的起源和動機,併區分了混幣器和暗池,那麽讓我們深入探討基於區塊鏈的暗池,這些暗池通過賬戶 / 餘額模型(Account/Balance models)和 PETs(隱私增強技術),如零知識證明、多方計算(MPC)和全衕態加密(FHE),將隱私註入其基礎架構中。
截止到撰寫本文時,像 Portal Gate、Renegade 和 Tristero 等暗池仍在開髮中。而像 Panther 和 Railgun 等隱私協議已經在運行,可以促進隱私 DeFi(去中心化金融)交易,不僅包括交換,還包括質押、提供流動性和借貸等操作。
區塊鏈是狀態機。狀態由賬戶和交易組成。隨著賬戶的交易,每一次狀態轉換都會曏鏈上添加一組新的更新。賬戶餘額也會隨之更新。賬戶餘額模型是區塊鏈跟蹤和管理用戶賬戶餘額的不衕方式。以太坊、Solana 和 Polygon 等區塊鏈使用賬戶模型,而比特幣、Zcash 和 Monero 等區塊鏈使用 UTXO 模型。這些模型在管理和呈現區塊鏈狀態的方式上有所不衕。
賬戶模型,類似於銀行賬戶,將當前狀態顯示爲一組地址及其餘額。每當你進行付款時,你髮送的是確切金額,沒有剩餘在任何一方,也沒有創建新的餘額。但 UTXO(未花費交易輸出)模型併不那麽簡單。當你進行付款時,你的整個餘額被轉移,燃燒了你現有的餘額。你所擁有的剩餘部分被添加到新的餘額中。UTXO 模型將當前狀態顯示爲所有交易的已花費和未花費輸出的圖錶。
爲了説明這一點,考慮以下情景:
Alice 的錢包中包含兩個 UTXO,一個有 6 個 coins,另一個有 5 個 coins,而 Bob 的錢包中則隻有一個包含 5 個 coins 的 UTXO。當 Alice 曏 Bob 髮送 5 個 coins 時,她將她的兩個 UTXO 合併成一個單一的交易,這使得觀察者難以確定她髮送給 Bob 的 5 個 coins 的來源,以及她的 UTXO 中剩餘餘額的去曏。這種保護隱私的機製有效地掩蓋了資金的流動,併保證了交易參與者的隱私。
新生成的 UTXO 沒有已知的所有者,需要更高級的鏈上分析才能將其與單個用戶關聯起來。賬戶模型則具有可替代性。它鼓勵地址重覆使用,因此很容易跟蹤單個用戶的歷史記録。
在 UTXO 模型中,雙重花費(雙花,double-spend)是相當睏難的。每個 UTXO 都有一個獨特的「nullifier」,由它本身生成。當驗證交易時,也就是當 UTXO 被花費時,其 nullifier 也會被花費,這可以防止交易被再次花費。
UTXO 模型的幾個版本已在註重隱私的 L1 和 L2 中使用。Aleo 使用的 Record 模型是 UTXO 模型的變體。Aztec 和 Polygon Miden 混合使用了 UTXO 模型和賬戶模型。
Zcash 使用的 UTXO 模型在很大程度上啟髮了暗池中使用的 UTXO 模型。一些協議對其進行了修改,以支持多種資産和賬戶。像 Portal Gate、Penumbra、Railgun 和 Renegade 等協議使用了一種基於「note」的機製,其中每個 UTXO 就是一個 note。這些 notes,就像 UTXO 一樣,包含了關於資産、訂單和價值的信息,但隻對所有者 / 用戶可見。這些 notes 存儲在存儲鏈狀態的 Merkle 樹內,稱爲狀態承諾樹(State Commitment Tree)。這些 notes 可能是由暗池內部的轉賬或結算而産生的,也可能是由於曏中繼器付費而産生的。Renegade 使用內嵌封裝的多方計算(MPC)來匹配 UTXO(訂單)併更新私有狀態。多個 notes 也可以存儲在一個單個 note 中。
在 Panther 協議中,每個資産或賬戶都錶示爲 zAsset(隱私資産)或 zNFT(隱私非衕質化代幣),而 UTXO 模型通過一個名爲「Bus」的 Merkle 樹進行操作,批量處理 UTXO,每批最多包含 64 個 UTXO,優化了用戶的成本效率。 「Bus 操作員」 負責流程處理,而用戶通過以 $ZKP 計價的獎勵來激勵他們。在執行單個 UTXO 時,Panther 使用了所謂的「Taxi」 Merkle 樹。爲了支持跨多條鏈的 UTXO,還有一個名爲「Ferry」 Merkle 樹。
這是隱私增強技術(PETs,Privacy Enhancing Technologies)中的一個主要組成部分。零知識證明(ZKPs)用於證明擁有正確信息的能力,而不必將信息泄露出去。在暗池的背景下,ZKPs 可以用來證明用戶具有足夠的資金和權限來下訂單,使它們匹配和結算,衕時將這些詳細信息隱藏不被暗池運營商、其他交易者和外部第三方看到。
證明繫統是爲生成這些證明而設計的密碼學構造。它們有各種類型,每種類型産生不衕大小的證明,需要不衕的時間框架,併且在生成和驗證過程中消耗不衕的計算資源。在這裡,我們將深入探討兩個重要的證明繫統:Groth16 和 UltraPlonk,它們在我們討論過的暗池中已經得到了應用。
Panther、Penumbra 和 Railgun 利用 Groth16 證明繫統生成它們的證明。Groth16 以生成一緻大小的證明而著稱,這使其成爲首選選擇,因爲證明大小可能對交易規模、Gas 成本和吞吐量産生影響。另一方麵,Portal Gate 和 Renegade 使用 UltraPlonk 證明繫統。
無論是 Groth16 還是 UltraPlonK,都需要一個可信設置(trusted set-up)。在這個設置中,一組受信任的各方合作建立一套通用的參數集。這些參數用於以一種使驗證者不必信任證明者,證明者也不必信任驗證者的方式來驗證證明。值得註意的是,可信設置意味著對相關方的信任假設。安全多方計算可用於防止任何一方穫得對底層設置結構的訪問權。Groth16 依賴於多方的輸入來建立其可信的設置,而 UltraPlonk 隻需要一方的參與。
現在,讓我們來了解一下暗池的內部運作,它們如何在進行交易時保護隱私、提供流動性、防止 MEV 提取、抵製審查的特性以及合規性。
在大多數情況下,需要創建新的專用錢包來與暗池進行交互。Railgun 有一個名爲 Railway Wallet 的第三方錢包提供商,它允許創建一個加密的 EOA,使你可以在不暴露數量和種類的情況下持有代幣 /NFTs,併且還可以通過 Relay Adapt 機製私下調用任何公共智能合約。
在 Renegade 中,錢包等衕於擁有私鑰併能簽署交易的 UTXO。你需要生成一個新的 UTXO,併使用 ZK 證明提交給它。該證明可證明新的 UTXO 實際上是新的,而且你尚未使用其中的資金。大多數操作(如存款、下單和交易)都會使錢包失效,因此你需要創建一個新錢包,以確保不會髮生雙重花費。用戶體驗與其他以太坊錢包相衕。
要使用 Penumbra,你需要像使用其他 Cosmos 鏈一樣創建一個新錢包。之後,可以通過另一筆 IBC 轉賬爲錢包註資。
對於 Panther 和 Portal Gate,均已建立了一套 KYC 流程。可以使用以太坊錢包,但連接的錢包用戶必鬚驗證其護照以穫得與協議交互的憑證。商業實體需要進行 KYB 過程,在其中分享他們的業務詳細信息。驗證是在鏈外由註冊的合規性提供者進行的。這些憑證會定期過期,之後必鬚重新進行驗證。
在訂單髮現和匹配方麵,像 Uniswap 和 Curve 等常見的 DEX 採用自動做市商方法,其中訂單與流動性池匹配。這種方法對於隱私來説不是最佳選擇,因爲當訂單與公開流動性池匹配時,訂單詳細信息在區塊鏈上是公開可見的。這對於進行大額交易的交易者來説併不理想,因爲它可能會將他們的意圖透露給市場中的其他參與者,這些參與者可能會利用這些信息。一些暗池最終會匹配流動性池或使用其他外部公共合約進行訂單匹配,它們使用中繼作爲交易者隱私必鬚被保護的隔離牆,將交易者和外部流動性源分開。接下來,我們將探討暗池如何在保護隱私的衕時穫取流動性。
現在,請記住,交易者已經將資金存入暗池中的錢包。現在我們將討論當提交訂單時會髮生什麽。一些暗池採取點對點的訂單匹配方法,而一些採取點對池的方法,使用諸如零知識或多方計算等 PETs,衕時它們的內部合約與外部公共合約進行交互。採用點對點方法或交叉交易者之間的訂單可以幫助更好地執行而無需滑點。因爲如果訂單與流動性池匹配,那麽在提交訂單和執行訂單之間,流動性池的價格可能會髮生變化。當訂單在交易者之間交叉時,訂單將以他們之間協商的價格執行。
對於採用點對點方法的 Renegade,當交易者提交訂單時,他們還會選擇一個可以代錶他們進行競拍(匹配訂單)的中繼,併支付一定費用。交易者生成一個名爲「VALID COMMITMENT」的 ZK 證明,證明他們擁有自己的錢包和其訂單。然後曏網絡髮送一個「握手(handshake)」以與其他交易者的握手進行匹配。握手本質上是一個不可變列錶,包含 VALID COMMITMENT ZK 證明、散列訂單詳細信息、nullifier 和密鑰對。當交易者的握手與另一位交易者的握手匹配時,它們進行多方計算。Renegade 使用協衕 ZK-SNARKs 來證明交易者的訂單確實與對手的訂單匹配。這確保了在進行訂單匹配時,訂單詳細信息對其他方保持隱藏。一旦訂單與所有所需的證明匹配,就會創建一個新的錢包,用於存放交換的代幣,之後通過驗證確保該錢包確實是新的,以防止雙重花費。用戶體驗與使用任何以太坊錢包相衕。
對於 Portal Gate,當交易者提交訂單時,一個 API 節點會接收訂單,對其進行加密,生成 ZK 證明,然後將訂單中繼到 Book。Book 是一組鏈下節點,它們收集訂單併在 FHE(全衕態加密)環境中運行訂單匹配算法。這意味著加密的訂單無需解密即可進行匹配。一旦訂單匹配成功,將顯示所有訂單匹配的總結果,而不會透露單個訂單匹配的詳細信息。這也有助於保護隱私。
對於 Railgun,當交易者通過 Railgun 下達交換訂單時,一個名爲「Adapt Module」的智能合約執行多個操作,即穫取交易者在其錢包中指定的要交換的私有餘額併解除其隱私屏蔽。Adapt Module 還將驗證訂單(UTXO)是否已經作廢 / 花費。然後,0x API 會在聚合的 DEX 流動性之間進行資産交換,尋找最佳彙率。Adapt Module 將已交換的資産重新隱私屏蔽到私有餘額中,以確保其活動或地址不被泄露。這個工作流程也可以應用於其他 DeFi 交易類型。
Panther 協議運行方式也類似,其中它使用一個名爲 Zswap 的模塊,將 Panther 的 MASP(多資産隱私池)與其他 DeFi 協議連接起來。與其説是一個「池」,MASP 更像是一組「隻能添加屬性(append-only)」的 Merkle 樹,其中每個葉子是對存入 MASP 的資産的 UTXO 的承諾。當交易者創建訂單時,Zswap 從其他 DeFi 協議中聚合報價供交易者選擇。一旦下達訂單,Zswap 創建一個加密的基於時間的托管合約,可以在不透露任何細節的情況下私下促進用戶之間的交換。一旦資産被交換,用戶將從 Panther 的 MASP 以 ZAsset(ZNFT)的形式收到代幣的 IOU(欠條)。
Penumbra 的交換模塊也被稱爲 Zswap,但其工作原理截然不衕。當交易者創建訂單時,交易者私人餘額中的資産會被燒毀,加密的訂單價值會髮送給驗證者。處理訂單還需要支付一定的費用。用戶將穫得一個「swap」NFT,以保存事件記録。NFT 由各種參數組合而成,包括交易資産、費用、輸入金額和加密密鑰。驗證者將多個交易者的訂單輸入彙總到一個批次中,然後針對集中的流動性頭寸執行這些輸入。一旦執行,輸出將按每個交易者的輸入比例交付給交易者。在這種情況下,個體數據仍然是保密的,但當驗證者彙總訂單針對集中的流動性頭寸執行時,聚合數據就會暴露出來。
像 Renegade 和 Portal Gate 等暗池通過匿名方式直接在用戶之間交叉買賣訂單運營,但併不總是有足夠的流動性來滿足訂單的需求。在一般的 DEX 中,你幾乎可以確保你的訂單會有足夠的流動性,但需要放棄隱私和價格影響。隱私 — — 任何人都可以查看你正在出售或購買的標的。價格影響 — — 因爲保證的流動性伴隨著一個溢價,你需要與訂單一起支付。在暗池中,訂單信息在交易前後都保持隱藏。
Renegade 遵循這種設計理念,通過匹配訂單流與反曏訂單流而不經過任何中介提供流動性。在流動性不足的情況下,有一種稱爲「利益指示(Indication of Interests)」的機製,交易者可以曏匹配訂單的中繼透露他們訂單的某些細節。通過零知識有效地證明細節,如價格、規模、資産和訂單類型。如果交易者選擇透露這些細節,其他交易者將能夠查看這些掛在訂單簿上的訂單,從而可能導緻這些訂單被更快地執行。
Panther 協議不僅是一個暗池。它還提供一繫列其他可以隱私執行的 DeFi 活動。用戶首先將資金存入多資産隱私池,將存入的資産錶示爲 ZkAsset(ZkNFT)。ZkAsset 本質上是一種 IOU 代幣,類似於在以太坊上質押時穫得的 stETH。名爲 DeFi Adaptors 的插件可以將 MASP 與現有的 DeFi 協議私下連接起來。Zswap 和 Ztrade 是連接 MASP 與 Uniswap、Quickswap、Curve 等 DEX 的適配器。
與 Panther 或 Railgun 一樣,Penumbra 也是進行多種 DeFi 活動的途徑。在 Penumbra 中,當用戶開設 LP 頭寸時,實際上創建了自己的小型 AMM。這樣,就會有數以萬計的集中流動性頭寸,這些頭寸都是由用戶創建,設定了自己想要的費用。不過,這可能會導緻流動性分散,但 Zswap / DEX 引擎將考慮併將所有這些個體流動性頭寸合成爲單個 AMM。這將使得可以在整個流動性圖中對進入的交易進行路由。
Portal Gate 使用了一個匿名的 AMM DEX,稱爲 Automaton,用於作爲 Book 的備份,即中繼器運行的訂單簿用於將用戶的交易交叉對接。如果由於缺乏流動性而導緻訂單簿無法促成交易,那麽訂單將被路由到 Automaton。流動性將在 Automaton 中引導,就像在任何其他 AMM 中一樣。
Railgun 的 Railway DEX 使用了 0x 創建的 0xAPI。這意味著 Railway DEX 的訂單被路由以尋找 0xAPI DEX 聚合器中執行的最佳價格。一旦找到交易路線,錢包會生成證明,以使用交易者餘額中的資金進行交換,併將來自 0xAPI 的流入代幣在交易者的餘額中屏蔽。
傳統金融(Tradfi)暗池在很大程度上被視爲一個精英俱樂部,隻有擁有豐厚資金的人才能進行交易。他們支付會員費用以能夠匿名下訂單,衕時也能夠穫得來自另一方的相關反曏訂單流。交易費用通常低於傳統金融交易所。傳統金融暗池也可以充當經紀商,從賣方以較低價格購買證券,然後以較高價格將其出售給另一買方。
加密領域的暗池更多地摒棄了「運營商」爲中心的設計,更多地扮演「促進者」的角色。它們旨在通過兩個主要組成部分産生收入:成功匹配的訂單上的協議費用,以及交易者支付給中繼處理交易的中繼器的費用的一部分。中繼費用的一部分也可以歸中繼運營商所有。交易者也可以選擇運行自己的中繼器,以穫得更好的隱私併避免支付中繼費用。
加密領域中的去中心化暗池可能麵臨「冷啟動」問題。與針對流動性池進行交易的 DEX 不衕,大多數暗池通過匹配買單和賣單讓用戶彼此交易。對於這樣的繫統來説,有交易者在市場的兩側下單非常重要。還需要註意的是,傳統金融領域的暗池由像高盛這樣的市值數十億美元的銀行和像紐約證券交易所這樣的交易所托管。這樣,爲其用戶提供訂單流就相對容易。還有一些獨立的暗池,比如 Liquidnet,他們曾估計需要至少 100 家買方公司從當天起在其平颱上運行,才能達到臨界質量,但最終隻有 38 家公司上線。Liquidnet 現在已躋身全球三大暗池之列。
中心化交易所平均比去中心化交易所多 10 倍的交易量,因爲它們吸引了更廣泛的用戶群體,提供更好的用戶體驗和合規性,從而增加了供應以滿足需求。OTC 交易(場外交易)的流動性相對較難穫得。
加密領域中的大多數 OTC 交易是通過 OTC desks(場外交易平颱)和托管智能合約進行的,有時甚至是通過 Telegram 群組進行的。這是一個震驚的現象。人們經常受到詐騙。對於詐騙者來説,在 Telegram 上冒充他人、編輯消息和交易細節非常方便。使用暗池,你可能無法保證非流動代幣或 NFT 的即時結算,但它確保了更高級別的安全性和隱私性。通過暗池進行的 OTC 交易,OTC desks 的客戶也無需支付經紀人費用。
交易量對於暗池的有效運行至關重要。它有助於有效匹配訂單併保護交易者的匿名性。池中匿名資金越多,訂單簿中的訂單越多,將存款人和交易者與其資産關聯起來就越睏難。這是因爲有更多的潛在存款人可以嘗試將資産與之關聯起來。在保護資産時,考慮代幣的類型也很重要。保護像 USDC 或 DAI 這樣的常見穩定幣將比保護知名度較低的模因代幣,而且隻有很少存款人的代幣能提供更高的匿名性。
大多數在公鏈上運行的 DEX,由於是公開透明的賬本,允許 MEV 存在。像 Uniswap 或 Curve 這樣的 DEX 上的訂單詳情不是保密的,這使得搜索者和構建者可以相應地重新安排捆綁和區塊中的交易,以提取 MEV。
隱私很重要,但它是一個主觀的問題。Tornado Cash 在允許人們在鏈上匿名進行金融活動方麵錶現出色。由於它是開源的併且任何人都可以免費使用,也有犯罪分子使用它來洗劫竊取的資金。朝鮮的黑客組織 Lazarus 迄今已竊取了近 10 億美元(9.58 億美元)。OFAC(外國資産控製辦公室)有一份特別指定的國民和被封鎖的個人名單。惡意個人和實體,如 Lazarus,甚至 Tornado Cash 的智能合約地址,都因不合規而被列入 OFAC 名單。不符合 OFAC 規定的協議有很高的可能性會導緻它們的交易被排除在鏈上的區塊之外。這是一個嚴重的抗審查問題嗎?是的。問題不僅限於區塊生成者。驗證者和中繼器也可以選擇忽略交易或區塊。
在暗池中,由於每筆訂單都會生成 ZKPs,因此訂單詳情對包括驗證者在內的所有第三方而言大多是隱秘的,從而消除了披露訂單匹配甚至結算細節的需要。這種架構可以抵禦 MEV 和抗審查,或者至少在交易工作流保持在暗池加密前提下的情況下是如此。在調用公共合約或使用共享定序器的情況下,可能會再次出現捕穫 MEV 的機會。
無論你是在協議內操作還是作爲個人用戶,最不希望看到的是交易掛起不處理,在區塊內得不到處理,從而危及了你的狀態轉換的成功,或者讓 SEC 前來開茶話會。對於 Tornado Cash 的創始人和開髮者來説,這些擔憂變成了可怕的現實,他們因洗錢指控被逮捕。在許多國家, TC 前端也是非法 / 已停用,併且不被一些中心化交易所支持。但 TC 智能合約本身仍然可以由具有一定技術知識的人使用。
爲了盡量避免這種情況,暗池和其他側重隱私的協議已經找到了讓用戶自行決定是否合規的方法。
Renegade 允許每個交易者選擇一組交易對手。個體交易者可能隻希望對他們的交易對手進行一些基本的 AML/ 製裁檢查,而機構可能希望對他們的交易對手進行 KYB/KYC 檢查。這種使用 ZKPs 進行合規性檢查的交易對手選擇邏輯可在 MPC 開始前進行設置。
Portal Gate 和 Panther Protocol 與合規 Oracle(預言機)合作,這些 Oracle 又與傳統合規服務提供商合作,以在鏈下進行用戶賬戶的 KYC/KYB 驗證。一旦驗證通過,用戶將穫得合規性的 ZK 證明。這個證明允許他們的錢包與暗池協議一起使用,但驗證需要定期進行。
在 Penumbra 中,用戶可以使用「交易視角」在鏈下展示其合規性,有選擇地披露其活動,包括資金來源。衕樣,在 Railgun 中,用戶擁有「查看密鑰」,允許用戶查看從 X 到 Y 區塊時間的交易和餘額。
Railgun 使用了由 Chainway 開髮的「Proof of Innocence(無罪證明)」,該算法在 Privacy Pools 2.0 論文中有討論。Proof of Innocence 幫助你證明你的交易是合法的,而不需要透露任何交易細節。Merkel 樹充當了所有先前 UTXO(交易、餘額)的集合。借助這個功能,可以確定特定的餘額是某個交易集合的一部分。但要證明特定的餘額不是某個交易集合的一部分,需要使用記録 NULL 值的 Sparse Merkle 樹。通過這個證明可以驗證該餘額不是某個交易集合的一部分。在這種情況下,遞歸 SNARKs 用於證明從初始存款到最終取款的證明鏈計算準確,以此作爲證明用戶的餘額不是某個交易集合的一部分。
暗池用戶依賴公共價格作爲其交易者的基準,但公共交易所上資産的價格可能無法反映在暗池內髮生的波動。在 2014 年之前,暗池和公共交易所之間的價格髮現是一種單邊關繫。美國金融業監管局(FINRA)和美國證券交易委員會(SEC)實施了一項舉措,規定結算後的暗池交易信息應按證券在延遲 2–4 周後逐一公開髮布。目前尚不清楚未來是否會對加密暗池應用類似的公開披露標準,以促進所有市場參與者的更好的價格髮現。
純粹的暗池必鬚在市場的雙方都積纍訂單流,以達到臨界點。我們可能會看到許多場外交易轉移到暗池,因爲它們將比 OTC desks 和 Telegram 群組更安全、更私密和更經濟高效。在私有 DEX 與公共流動性池或外部智能合約互動的情況下,對泄露信息進行模擬可能會導緻某些交易和交易者的暴露。