代幣混合和 CoinJoins 介紹
首頁
文章
代幣混合和 CoinJoins 介紹

代幣混合和 CoinJoins 介紹

進階
發佈時間 Mar 25, 2020更新時間 Dec 28, 2022
6m

前言

比特幣通常被稱為數位現金,但這可能是存在疑點的比較。如果 Alice 向 Bob 支付 10 美元現金,Bob 不知道資金的來源。如果他後來繼續給 Carol,她將無法推斷 Alice 曾經擁有該資金。
比特幣因其固有的公共性質而與眾不同。任何人都能輕鬆地觀察到給定代幣的歷史(更準確地說,未支付的交易輸出或 UTXO)。這有點像每次使用帳單時,都會在帳單上寫下交易金額和參與者姓名。
也就是說,公共地址的假名可確保用戶的身份不會被輕易洩露。儘管如此,比特幣並非完全私有。區塊鏈分析變得日益複雜,並且能夠越來越有效地將地址與身份聯繫起來。除了其他監控技術,專門的企業可對加密貨幣用戶去匿名化。為了解決此問題,多年來一直在開發解除交易連結的技術。


什麼是代幣混合?

從廣義上講,代幣混合可以指任何涉及用其他方式替代資金來混合資金的活動。然而,在加密貨幣領域,代幣混合通常指由第三方提供的服務。通常,服務提供者會拿走用戶的代幣(並收取少量手續費),然後退回與傳送的代幣沒有連結的代幣。這些服務也稱為混幣混合器

當然,這種集中式服務的安全性和匿名性值得懷疑。用戶不能保證其資金會透過混合器退回給他們,或者退回的代幣不會以某種方式受到污染。使用混合器時,需要考慮的另一個方面是第三方可能會記錄 IP 和比特幣地址。最終,用戶放棄對其資金的控制權,希望能收回未連結的資金。

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 如何運作?

該想法是,多方將進行協調以建立交易,每項交易提供輸入和所需的輸出。由於所有輸入組合在一起,因此,無法確定哪個輸出屬於哪個用戶。思考下圖︰



這裡有四個參與者希望打破交易之間的連結。他們相互協調(或透過專門的協調者),宣佈其希望包含的輸入和輸出。

協調者將獲取所有資訊,將其製作成交易,然後在將其推播至網路之前讓每個參與者簽名。用戶簽名後,交易在沒有變得失效的情況下無法被修改。因此,不存在協調者資金流失的風險。

該交易充當混合代幣的黑匣子。請記住,我們有效地破壞了 UTXO 以建立新的 UTXO。我們擁有的新舊 UTXO 之間的唯一連結是交易本身,但是,當然,我們也無法區分參與者。充其量,我們可以說參與者提供了其中一個輸入,並且可能是產生輸出的新擁有者。

但即使這樣也不能做出保證。誰敢說,在探究上述交易時,會有四個參與者?這是一個人將其資金傳送至自己的四個地址嗎?還是兩個人分別進行兩次買入,並將 0.2 BTC 分別退回到其自己的地址?或者是四個人傳送給新參與者,或退回給自己?我們不確定。


透過否認來保護隱私權

CoinJoin 實作存在的這一事實,足以讓人們對用於分析交易的方法產生懷疑。您可以推斷在許多情況下都發生了 CoinJoin,但您仍然不知道誰擁有輸出。隨著它們越來越受歡迎,輸入歸同一用戶所有的假設被削弱 – 隱私權在更廣泛的生態系統中實現巨大飛躍。

在前面的範例中,我們說交易有包含 4 個的匿名集 – 輸出的擁有者可能涉及四個參與者中的任何一個。匿名集越大,交易與其原始擁有者關聯的可能性就越小。幸運的是,最近的 CoinJoin 實作讓用戶可以輕鬆地將其輸入與其他數十個輸入進行不受信任的合併,從而提供高度的可否認性。最近已成功執行 100 人交易


總結

對於認真對待其隱私權的任何用戶,混合代幣工具都是其武器庫的重要補充。與提議的隱私權升級(例如機密交易)不同,它們與今天的協定相容。

對於那些信任第三方完整性和方法的人來說,混合服務是簡單的解決方案。對於那些喜歡可驗證且非託管替代方案的人來說,CoinJoin 替代方案則更勝一籌。這些可以由技術熟練的用戶手動完成,或者使用可抽象出更複雜機制的軟體工具來完成。隨著用戶爭取更大的隱私權,這些工具中只有少數會繼續流行。