目前匿名幣市場火熱,達世和門羅價格受到投資者追捧,ZEC 也一直穩步增長,有心幣友也許注意到,2017 年初市值排名 50 左右的 Zcoin,在牛市中一度消失,而如今 Zcoin 團隊發佈 Znodes 零知識節點測試網絡以後市值已經達到 1.5 億美金左右(Znodes 將於 12 月初正式發佈),排名也回到 50 至 60 之間,但是很多幣友對 Zcoin 並不瞭解,甚至認爲其是 ZEC 的山寨幣,那麼 Zcoin 作爲首個應用 Zerocoin 協議和零知識證明(Zcoin 發佈早於 ZEC 一個月左右)的加密貨幣究竟有什麼特色,相對其他匿名幣有哪些優點和不足?本文就從技術方面做出全面敘述,同時本文也可作爲匿名技術科普文章供各位幣友參考)

本文宗旨在於簡要概述當今主流加密貨幣中實施的匿名機制,特別是 Zcoin 使用的 Zerocoin 協議如何工作的。

區塊鏈匿名是一個特別困難的事情,因爲公共區塊鏈的設計使得所有的交易都是透明的,加密貨幣的供應可以被公開驗證。匿名機制必須確保這些要素得到保留,因此在維護可驗證性的同時保護匿名是相互矛盾的。要了解 Zcoin 背後的創新,我們需要研究區塊鏈匿名技術的歷史。

1. 資金池混幣和混幣器混幣

用於:達世幣 Dash

優點:

  • 不需要特定的共識就可以在大多數加密貨幣上運行
  • 相對簡單即可實施
  • 輕量化

缺點:

  • 只能提供基礎的匿名 /li>
  • 要求在線混幣
  • 早期需要可信的第三方

人們試圖實現匿名的第一種方法是通過在資金池中混合自己和他人的幣來達到目的,混合之後很難證明誰的硬幣最初屬於誰,從而提供某種程度的匿名。當然,前提是相信別人不會偷你的幣。混幣器是這種混合理念的改進,消除了匿名發起者竊取幣的可能性,它在 Darkcoin (現在稱爲 Dash)中被廣泛使用。但是混幣器仍然有很多缺點。

主流匿名加密貨幣的技術對比

  • 因爲後臺可以記錄信息,並且知道每個用戶的輸入地址和他們正在接收的地址,所以您需要信任匿名發起者。這個問題可以通過使用匿名數字簽名來避免,因此混幣器的匿名強烈依賴於以匿名方式(例如通過 Tor 網絡)登陸。
  • 要求參與混幣的人員在線進行混幣。如果雙方就混幣的數額不能達成一致的話則必須推遲。
  • 匿名受到人數限制。Dash 的混幣(private transactions)的一輪只涉及 3 個參與者,但是這個過程可以重複。
  • 最近的研究(https://arxiv.org/pdf/1708.04748.pdf)顯示,即使經過多輪混幣器混合,如果用戶的錢包在進行支付時不清除瀏覽器 cookie 的話,可以通過技術手段識別用戶的錢包,因爲混幣只會掩蓋地址之間的交易鏈接,但不會完全破壞它們。
  • 很容易破壞混幣器運行,並延遲其他參與者完成混幣交易。

Dash’s implementation of CoinJoin called PrivateSend also is susceptible to cluster intersection attacks.

混幣器的其他改進,例如 CoinShuffle++不再需要可信的第三方,但仍然受到混幣器的其他缺點的限制,如有限的匿名、參與者必須在線等。

混幣器匿名的主要好處是它們相對簡單,並且在加密貨幣的基礎上工作,而不需要使用特定的共識規則。通過適當的預防措施,混幣器可以提供基礎匿名。

Tumblebit 也是一個非常有希望的改進混幣器匿名的方案,但超出了本文的範圍。與我們將在下一步討論的其它匿名方案相比,這是一個沒有在協議級別實施的匿名計劃,但仍然需要其他人提供用於混合的資金。它的主要優點與混幣器相同,可以在比特幣或任何其他數字貨幣上實現,而不需要改變其協議。

2.Cryptonote 和環籤

用於:門羅幣 Monero

優點:

  • 混合自動完成
  • 默認情況下可以匿名實施
  • 隨着新的混幣加入和時間的推移,匿名性會增加
  • 使用環籤執行時可隱藏交易金額
  • 精心研究的密碼學

缺點:

  • 因爲其區塊鏈數據巨大且不可修剪,因此可擴展性較差
  • 由於科技進步或執行錯誤的原因,可能會被解密
  • 無法利用現有的比特幣生態系統,需要單獨的工作
  • 環籤大小受限

我們將要探討的下一個匿名方案是在 Monero 等 Cryptonote 加密貨幣中使用的環籤,環籤方案大大提高了混幣器方案的匿名性。在環籤中,某人簽署了交易,只能追蹤到一個組而不能具體追蹤到組中的這個人。比如,可知某個「高級白宮官員」簽署了環籤,但不能追蹤到具體哪個官員簽署了這條信息。

Cryptonote 和環籤可以自動實現匿名功能,無需其他用戶指定想要和誰混合,也無需等待其他人提供資金,因爲它只是掃描區塊鏈以便使用輸出。因爲沒有混幣器,所以你不需要信任任何人。Monero 最近還實施了 RingCT(Ring Confidential Transactions),也隱藏了交易金額。

主流匿名加密貨幣的技術對比

該加密技術的主要缺點是,它的交易——特別是與 RingCT 的交易——非常大,佔用了幾千個字節,這大大增加了存儲區塊鏈所需的存儲空間。目前沒有任何辦法可以精簡已形成的加密的區塊鏈。使用與比特幣完全不同的代碼庫,也意味着第三方必須做更多的工作,將 Cryptonote 加密技術整合到他們現有的生態系統中。

另一種對此種加密技術的批評是,如果它的環籤技術有一個 bug,或者一個相當強大的量子計算機,那麼整個區塊鏈的記錄就會被去匿名化和可追溯,並且無法在事後修正。就像名爲 Shadowcash 的 Cryptonote 加密貨幣,因爲 bug 導致所有區塊數據全部被解密。

另外還需要注意的是,使用環籤來隱藏交易金額,犧牲了供應可審覈性。「供應可審覈性」可以驗證在交易過程中,是否有新的加密貨幣被祕密生成,並確定在某一時刻加密貨幣的具體數量。在 Monero 的「環籤」的實現中,如果有人打破了支撐環籤的離散對數,他就可以在沒人知道的情況下僞造加密貨幣,雖然用目前的技術還很難做到。

儘管有這些缺點,但 Cryptonote 今天已被證明是一種非常好的匿名技術,它唯一公開慘敗的例子是 Shadowcash,被全部解密,通過使用混合了零交易的 Monero 交易導致一個級聯效應,約 87% 的輸入被去匿名化。(https://eprint.iacr.org/2017/338)(隨後被新的交易所緩和)。Cryptonote 加密技術解決了加密貨幣的許多問題,提供了良好的匿名性,但是作爲代價,更大的交易規模和區塊鏈擴展性也更難實現。

3.Zerocoin 協議和 Zcoin

用於:Zcoin,PIVX

優點 :

  • 不需要混幣
  • 成千上萬個熔鑄和取回交易完全打亂了各地址通過交易建立起來的聯繫,從而實現極高的匿名性
  • 保留總量的可審覈性
  • 使用了高級的密碼學知識

缺點 :

  • 證明數據目前比較大
  • 需要一個信任機制
  • 不正確的操作或泄漏受信任的設置參數可能導致僞造 Zerocoin
  • 在熔鑄和取回的時候,需要多加註意

現在,我們來看看 Zerocoin。與之前的匿名方案不同,在使用零知識證明的情況下,Zerocoin 協議完全打破了幣之間的交易鏈接。簡單地說,零知識證明是你做某件事或知道某件事的證明,而不泄露任何其他信息。例如,要證明您知道密碼,而不需要實際顯示密碼。

Zerocoin 的工作原理是,熔鑄掉你自己的加密貨幣 (也就是所謂的零幣熔鑄),然後再兌換等量的做記號的新幣 (被稱爲零幣取回)。這些幣在沒有任何交易歷史的情況下出現,與新挖礦而得到幣相似。這一證明是用來證明你確實燒過了加密貨幣,而沒有透露你燒過的具體加密貨幣信息,因此你有權贖回等量的新幣。

這意味着,與混幣和 Cryptonote 技術(匿名者的數量是由參與者的數量或環的大小所限制)不同,Zerocoin 交易過程中將允許你和任何一個挖礦(或熔鑄)的人完全匿名,同時挖礦(或熔鑄)的人也即時獲得特定面額的加密貨幣。這就使得匿名者可以在成千上萬的人中使用零幣熔鑄和取回來擴大規模。此外,這些硬幣的交易環節也被完全打破,因爲它們看起來完全是全新的硬幣,與之相比,之前的匿名方法只是掩蓋交易環節。

主流匿名加密貨幣的技術對比

這種匿名模式也有一些缺點。爲了獲得巨大的匿名性,同時打破交易鏈接,Zerocoin 需要一次可信的設置來生成初始的參數。在 Zerocoin 中,有兩個被摧毀的大質數。如果有人獲取這兩個巨大的質數,就可以憑空僞造出 Zerocoin。爲了解決這一問題,Zcoin 使用了 1991 年的 RSA 質數挑戰中的方法,在該挑戰中,密碼學專家生成並摧毀了兩個大質數,併爲能在 16 年內成功地將其分解的挑戰者提供了 20 萬美元的獎金,但無人能破解此難題。時至今日,RSA-2048 方法仍然是我們所知的最好的方法,RSA-2048 方法仍然被廣泛使用,直到某天能夠專門破解此類難題的量子計算機的出現。

主流匿名加密貨幣的技術對比

值得注意的是,對這兩個質數成功的分解不會影響零硬幣的匿名性,因爲它隻影響熔鑄。此外,Zcoin 的總量可查,這樣就可以監測硬幣的熔鑄過程。在項目前期由於編程中的一個 bug(並非 RSA 被破解),硬幣的熔鑄出現問題,但我們及時檢測到了 bug 並進行了修復,因此可見,總量可查是非常重要的。

Zerocoin 的另一個限制是,熔鑄和取回只能處理固定面值的貨幣,相比環籤交易,零幣的零知識證明的數據大小是 25kb。值得注意的是,不同於 Cryptonote 交易(所有交易都佔用同樣大小的數據),只有匿名取回的交易佔據了 25kb 數據,而普通交易的數據大小與比特幣交易的數據大小相同。

錯誤的或可預見性的熔鑄和取回方式(有規律的熔鑄和取回,或者使用相同的 IP 地址來熔鑄和取回)可能會影響匿名性,因此使用時需要注意。

總而言之,Zerocoin 提供了非常強大的匿名性,但爲了實現該匿名,需要信任機制、區塊鏈上的存儲空間和額外的計算資源。爲了移除信任機制和降低零知識證明數據大小,目前開發團隊正在研究和評估採用 Sigma 協議的可行性。

4.Zerocash 和 Zcash

用於:Zcash, Zencash, Komodo

優點 :

  • 在熔鑄過程和打破地址之間的交易鏈接方面可能是最好的匿名技術
  • 驗證數據小,驗證速度快
  • 隱藏交易金額
  • 不需要轉換成普通硬幣,且匿名硬幣可以直接發送到對方

缺點 :

  • 私密交易需要花費一段時間才能完成 (在一臺功能強大的計算機上要花一分鐘左右)
  • 由開發人員完成的複雜的信任參數
  • 不正確的設置或泄漏受信任的設置參數可能導致僞造硬幣
  • 不能對供應進行審計,因此僞造很難被發現
  • 使用更新的密碼學

我們討論的最後一個匿名方案是 ZCash 中使用的 Zerocash 協議。Zerocash 採用了零知識證明,並試圖改進 Zerocoin 協議。有了 Zerocash 和 zkSNARKs 技術,匿名數據大小現在只有 1kb,並且可快速驗證。此外,所有交易金額都是隱藏的,在進行熔鑄時不需要使用固定的面額。Zerocash 還允許人們將 Zerocash 的「零硬幣」直接轉移給對方,而不需要將其轉化爲等價的基本硬幣。它的匿名方法也是之前所有匿名計劃中規模最大的一個,包含了所有鑄造的硬幣,而沒有考慮區塊鏈的面值。

粗略來看,就會覺得 Zerocash 技術超出了 Zerocoin,然而,相對 Zerocoin,它也有一些不足。

首先,Zerocash 缺乏可審覈性。和 Zerocoin 一樣,Zerocash 需要一個信任機制,但 Zerocash 的設置要複雜得多。Zcash 採用了一場涉及 6 人的多方儀式來完成設置,其參數泄露的唯一方式是,所有的 6 人相互串通,並保留相關參數。換句話說,你必須信任這 6 個人中的任何一位,相信他們摧毀了初始參數並且相信這個儀式被正確執行。如果代碼中存在 bug,或者密碼缺陷或多方信任設置的問題,攻擊者可以生成無限的 Zcash,與 Zerocoin 不同的是,這種額外的供應是無法被檢測到的。因此,總量可查是非常重要的。

主流匿名加密貨幣的技術對比

其次 Zerocash 使用一種 zkSNARKs 的新加密算法,它實際上只在 Zerocash 中使用。但是,相對 RSA 技術,其並未經過多年的使用和審查,也並未被廣泛使用。許多密碼學專家認爲 zkSNARKs 的保密性相對較弱。

Zerocash 的另一個主要缺點是,由於需要進行復雜的數學計算,因此,在一臺功能強大的計算機上,匿名交易的生成時間要比之前任何一種匿名方式要長得多,特別是對配置較低的計算機來說,這一過程太長。這使得人們無法廣泛使用它的匿名功能,也可能會不適用一些功能不太強大的系統,比如移動設備。

因此,儘管 Zerocash 具備可能是最好的匿名性,但它以犧牲總量可查爲代價,同時也包括如下缺點:複雜的可信設置,使用過於新的加密技術,創建匿名交易需要很長時間。

其他匿名方案

在這裏列出的所有區塊鏈匿名方案都得到了研究人員的好評,各種匿名方案都很容易理解。然而,現在的加密貨幣有好幾百種,但只有少數能真正實現匿名。以下是新的匿名機制是否可靠的關鍵因素:

  • 它能提供區塊鏈的匿名嗎 ?
  • 一些匿名貨幣聲稱具備匿名技術,但在區塊鏈上完全看不到任何匿名保護。具體可見下文:https://zcoin.io/the-difference-between-privacy-on-the-blockchain-and-hiding-your-ip-address
  • 專家撰寫的匿名保護機制是否被審查過 ?
  • 看看他們的匿名計劃是否經過密碼學家的審覈,是否有學術論文引用它,許多程序都是由開發人員或程序員編寫的,而他們沒有任何的加密或信息安全的背景,其實現匿名技術的技術通常並不可靠
  • 它僅僅是利用現有技術的一個新名稱嗎 ?
  • 一些項目將現有的匿名貨幣更名爲自己的名字,並將其作爲自己的名字進行發行,如果他們公開了原始的匿名技術,這是可以接受的。
  • 是否是中心化的?
  • 如果依靠你信任別人來保護你的匿名計劃的話,它通常是一個糟糕的匿名計劃
  • 團隊是否理解這些匿名技術背後的密碼學 ?

除非你自己是專家,否則這很難確定。檢查他們的團隊,看看他們的團隊或者他們的顧問名單上是否有密碼學相關的研究經歷。

總結

每一個匿名模式都有自己的利益和權衡取捨,我們相信,對這些匿名方案進行持續的探索和研究,會改善整個區塊鏈的匿名技術。我們堅信 Zcoin 中使用的 Zerocoin 協議與其他匿名方案相比,提供了一個非常全面的匿名方案,它使用經過驗證的加密技術,同時還保持了可擴展性和可審計性。

我們將會繼續研究並進一步改善 Zerocoin 協議。

主流匿名加密貨幣的技術對比