介紹

比特幣通常被稱爲數位貨幣,但這是一個可疑的比較。如果愛麗絲付給鮑伯十美元現金,鮑伯將不知道錢從哪裏來。如果他以後把錢交給卡蘿,她就不會知道愛麗絲曾經擁有過這筆錢。

比特幣以其開放性而聞名。任何代幣的歷史記錄(更具體地說,未花費的交易輸出或 UTXO)都可以被任何人輕鬆查看。這個概念類似於記錄交易金額和每筆交易的當事人姓名。 

然而,公共地址別名可以確保用戶的身份不會輕易泄露。但比特幣並不是完全私密的。區塊鏈分析變得越來越複雜,能夠更有效地將地址與個人數據聯繫起來。與其他跟蹤方法一起,某些組織可以使加密用戶去匿名化。爲了避免這種情況,隨着時間的推移,出現了打破交易之間聯繫的技術。


什麼是混幣?

從廣義上講,混幣可以指任何與混淆資金歷史和替換其數據有關的活動。然而,在加密貨幣世界中,混幣通常是指由第三方提供的服務。通常情況下,服務提供商會收取用戶的貨幣(和少量費用)並返還與發送的貨幣無關的貨幣。這些服務也稱爲撥動開關或混合器。

當然,這種集中式服務的安全性和匿名性是值得懷疑的。用戶無法保證他們能拿回自己的資金,也無法保證他們不會受到某種形式的損害。此外,使用混合器時,值得注意的是知識產權和比特幣地址可能被第三方註冊。結果,用戶放棄了對其資金的控制權,希望拿回未關聯的資金。

一種更有趣的方法就是 CoinJoin 交易,它提供了更高程度的隱私。也就是說,在 CoinJoin 之後,沒有任何證據可以自信地將用戶與他們之前的交易聯繫起來。許多 CoinJoin 解決方案都是混合器的去中心化替代品。儘管該計劃可能有協調員,但用戶不需要犧牲其資金的保管權。


什麼是 CoinJoin?

CoinJoin交易最初由比特幣開發者Gregory Maxwell於2013年提出。他簡要介紹了此類交易的結構以及如何在不改變協議的情況下實現更高的隱私性。

CoinJoin的本質是將多個用戶的資金合併爲一筆交易。在我們解釋如何(以及爲什麼)之前,讓我們先看一下基本交易的結構。

比特幣交易由輸入和輸出組成。當用戶想要進行交易時,他們會將其 UTXO 作爲輸入,指定輸出並簽署輸入。需要強調的是,每個輸入都是獨立簽名的,並且用戶可以設置多個輸出(提取到不同的地址)。


зображення прикладу транзакції з чотирма входами і двома виходами


如果我們看一下這筆交易,它包含四個輸入(每個 0.2 BTC)和兩個輸出(0.7 BTC 和 0.09 BTC),我們可以做出一些不同的假設。首先,我們觀察付款是如何發生的——發送者將資金髮送給某人並收回一部分資金。由於使用了四個輸入,較大的輸出可能用於接收器。請注意,輸出缺少 0.01 BTC – 這是礦工獎勵。

發送者也可能希望通過較小的 UTXO 創建一個較大的 UTXO,因此他將較小的輸入組合起來以獲得所需的 0.7 BTC 的結果。

我們可以做的另一個假設是每個輸入都是獨立簽名的。此交易最多可以有四個不同的方簽署輸入。這就是 CoinJoin 有效的原理。


CoinJoin 如何工作?

這個想法是多方將參與交易,投入資金並表明期望的結果。隨着登錄信息的合併,我們無法準確地分辨出哪個登錄信息屬於哪個用戶。請考慮下面的圖表:


зображення прикладу coinjoin


這裏我們有四個參與者想要斷開交易之間的聯繫。它們聯合起來(或通過一個特殊的協調員)宣佈它們想要打開的輸入和輸出。 

協調器接收所有信息,將數據包含在交易中,每個參與者在將其發送到網絡之前對其進行簽名。一旦用戶確認,交易可以更改,而不會失效。因此,不存在協調人攜款潛逃的風險。 

這樣的交易就像是混合貨幣的黑匣子。請記住,我們實際上是在銷燬一個 UTXO 來創建一個新的。新舊 UTXO 之間的唯一聯繫就是交易本身,但我們無法區分其參與者。充其量,我們可以說參與者提供了其中一個輸出,並且可能是最終輸出的新主人。

但即便如此,也未能保證。從上面的交易來看,誰會說其中有四個參與者?也許是一個人將資金髮送到四個地址?也許兩個人分別進行兩次購買,每人都會將 0.2 BTC 返回到他們的地址?或者兩個人分別進行兩次購買並將 0.2 BTC 返還到他們的地址?我們不能確定。


反對隱私

僅僅因爲 CoinJoin 實現的存在就足以讓人質疑用於分析交易的方法。大多數情況下,你可以瞭解到使用了 CoinJoin,但無法查明資金被轉給了誰。隨着 CoinJoin 越來越受歡迎,輸入數據屬於單個用戶的假設變得毫無根據,從而導致生態系統的隱私性急劇增加。

我們說,前面例子中的交易有一個由四個輸入組成的匿名集,其接收者可以是所涉及的四個參與者中的任何一個。匿名性越高,交易與原始所有者聯繫起來的可能性就越小。新的 CoinJoin 實現允許用戶安全地將他們的輸入與數十個其他輸入結合起來,提供高水平的不可否認性。近期成功完成了一筆針對100人的交易。


最後的想法

對於任何重視隱私的用戶來說,硬幣混合工具都是必備的工具。與提議的隱私更新(例如機密交易)不同,我們的選項與當前協議兼容。 

對於那些信任第三方的可靠性和方法的人來說,一個簡單的解決方案是使用混合服務。對於那些喜歡透明和非託管服務的人來說,CoinJoin 是一個合適的選擇。對於技術嫺熟的用戶可以手動完成此操作,或者使用抽象出更復雜機制的軟件工具來完成。目前已經出現了幾種這樣的工具,而且隨着用戶尋求更高的隱私保護水平,它們的受歡迎程度只會越來越高。