介紹

人們通常認爲,區塊鏈系統的透明性對於其運行至關重要。這意味着網絡上的每個節點都可以存儲副本並驗證沒有違反任何規則。對於許多分佈式賬本,任何人都可以加載在線區塊瀏覽器,以便搜索區塊、交易和地址。

從隱私角度來看,這並不理想。在像比特幣這樣的系統中,每筆交易都可以追溯到之前的交易。從技術上講,貨幣不可互換,這意味着每一種貨幣都可以與特定的交易掛鉤。沒有人可以阻止你發送比特幣,但如果這些貨幣之前曾通過黑名單地址,他們可以拒絕接受你的交易。

在最壞的情況下,缺乏可替代性可能會對系統的基礎產生深遠的影響。乾淨的硬幣可能會賣得更高,而較舊的硬幣考慮到其歷史,其價值可能會較低。

比特幣的隱私性常常被誇大。不僅硬幣可以被追踪,用戶也可以。他們享受假名(公開地址而不是名字是可見的),但這並非沒有缺陷。複雜的分析技術可以以越來越高的準確性將位址聚集在一起,以嘗試使網路實體去匿名化。

一項旨在使交易真正私密的升級是保密交易。


什麼是保密交易?

機密交易(CT)由 Blockstream 執行長 Adam Back 於 2013 年首次討論,後來由比特幣開發者 Gregory Maxwell 進行了擴展。麥克斯韋概述了第一部分中提到的問題(可替代性和弱假名)——並提出了解決方案。轉移的金額可以與更廣泛的網路隔離,這樣只有交易方才知道發送了多少金額。


Normal transactions vs Confidential transactions


在正常情況下(對於公開可見的交易),節點很容易驗證收到的金額不超過發送的金額。如果 Alice 想發送 0.3 BTC 給 Bob,她會取出未使用的輸出(我們稱之為 1 BTC)並將其分成兩部分:0.3 發送給 Bob,0.69 發送回她(其餘的被沒收)挖礦費) 。

這對於其他節點來說是簡單的代數:1超過0.3 + 0.69,簽名全部正確,並且Alice的輸入尚未在其他地方花費,因此交易必須有效。然而,當金額被蒙蔽時,事情就不再那麼微不足道了。您如何開始評估未知金額是否等於或超過其他兩個未知金額的總和?


所涉及的密碼學概述

為了隱藏數據,需要加密。然而,傳統方法類似於將文件放入保險箱:一旦鎖在裡面,它就無法使用,直到將其取出。要使機密交易發揮作用,我們需要一個數位保險箱,其內容不會被洩露,但其屬性可以由外部人員驗證。

答案在於同態加密,稱為 Pedersen 承諾的方案。這種類型的加密允許外部人員出於多種目的對加密資料(他們看不到)執行操作。

常規哈希可用於提交您想要稍後顯示的資料。假設你想在社群媒體上宣布一場競賽,誰猜中了你最喜歡的交易所,誰就將贏得 0.01 BTC 的獎勵。參與者可能會持懷疑態度,因為你可以在比賽結束後查看答案,然後選擇一個未提及的交易所。

您可以做的是為您的追蹤者提供一個雜湊值:一串看似隨機的數字和字符,映射到特定的輸入。您透過函數傳遞交換以獲得特定的輸出。我們以SHA256演算法來說明:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


看著這個,你不知道輸入是什麼。您也無法反轉該函數來取得它。但是,如果您知道輸入是“Binance”,您可以輕鬆檢查其雜湊是否與上面列出的雜湊匹配。透過這種方式,你的追隨者可以確信你不會在比賽結束時改變你的答案——這樣做會產生完全不同的產出。

但實際上,這並不是很安全。雖然您的追隨者無法對演算法進行逆向工程,但他們可以建立可能的交換列表,對每個交換進行哈希處理,直到獲得匹配。我們可以透過在我們要散列的資料中添加一些稱為致盲因子的隨機資料來降低這種可能性。

如果我們輸入“Binance 是我最喜歡的交易所,我比任何其他交易所都更喜歡它 2#43Wr”,對手會變得更加難以猜測(對於 0.01 BTC,肯定沒有人會嘗試它)。

Pedersen 承諾允許我們添加承諾背後的投入。正如麥克斯韋所闡釋的:


confidential transaction equation


C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)

其中 BF 是致盲因子,D 是數據


從這裡開始還有一些涉及橢圓曲線加密和範圍證明的步驟,但基本想法是使用者對其地址有 Pedersen 承諾。發送資金時,會建立兩個附加承諾(一個用於傳回給使用者的找零地址,另一個用於目標地址)。

沒有人知道發送了多少,但他們可以檢查更改和目的地承諾(麥克斯韋方程式的左側)是否等於原始地址(方程式的右側)。如果評估正確,則使用者的交易是有效的,因為可以證明輸入等於輸出。


保密交易可以實現什麼?

如果在比特幣中實施機密交易,我們將享受一個更私密的系統。輸入和輸出都將在更廣泛的網路中被屏蔽,分類帳上的條目將被混淆- 但節點仍然可以驗證其真實性。換,因為鏈分析不再揭示歷史給定單位的。

至於機密交易是否會整合到協議中,目前看來不太可能。有了這個附加功能,交易比標準交易大得多——鑑於區塊空間有限,這只會增加需求。它還需要大多數參與者同意更改程式碼,這在傳統上被證明是一項困難的任務。


結束語

機密交易在其他加密貨幣和比特幣側鏈中已經出現了一些迭代。例如,門羅幣將它們與稱為環簽名的結構結合使用,以實現匿名性和可替代性。 Liquid 側鏈實現它們是為了提高隱私性,而 MimbleWimble 將它們擴展到相同的目的。

就機密交易帶來的好處而言,其代價是佔地面積更大。加密貨幣經常在基礎層的可擴展性和吞吐量方面遇到困難,較大的交易規模並不吸引所有人。也就是說,隱私倡導者認為隱藏交易金額和參與者至關重要,以真正允許加密貨幣充當可替代貨幣。