保密交易介紹
首頁
文章
保密交易介紹

保密交易介紹

進階
發佈時間 Feb 10, 2020更新時間 Dec 28, 2022
6m

前言

通常來說,系統透明對於區塊鏈的正常運作至關重要。這就是說,網路上的每個節點均可儲存副本,並驗證並未違反任何規則。對於許多分散式帳本,任何人皆可加載一個線上區塊鏈瀏覽器,以便搜尋區塊、交易及地址。

從隱私層面來看,效果並不理想。在比特幣等系統中,每筆交易均可連結回前一筆交易。從技術上來說,代幣具有同質化屬性,這就是說,每枚代幣均可與特定交易相關聯。沒有人可以阻止您發送比特幣,但若這些代幣先前已通過列入黑名單的地址,則他們可以拒絕接受您的交易。

在最糟糕的情況下,缺乏同質化可能會對系統的根基產生深遠影響。來路乾淨的代幣可能會獲得溢價,而較早期代幣的價值可能會因其交易歷史而有所降低。

比特幣的隱私往往被誇大其詞。不僅代幣可以追蹤,就連用戶亦可追蹤。他們熱衷於匿名 (顯示公共地址來替代名稱),但這並非毫無瑕疵。透過運用精密的分析技術,可日趨精準地將地址匯聚在一起,從而試圖對網路實體進行去匿名化。

保密交易是為真正實現交易私密化而提出的一項升級。


什麼是保密交易?

Blockstream 執行長 Adam Back 於 2013 年首次討論了保密交易 (CT),而比特幣開發人員 Gregory Maxwell 隨後對其進行了擴展。Maxwell 羅列了第一節中提到的問題 (同質化和作用較弱的匿名),並提出了解決方案。可從更廣泛的網路屏蔽轉帳金額,以便僅交易各方知曉已經轉出的數額。


正常交易與保密交易


正常情況下 (透過公開可見的交易),節點可輕鬆驗證已收到的金額並未超過已轉出的金額。如果 Alice 想向 Bob 轉 0.3 BTC,她會取出一筆未消費的輸出 (我們稱之為 1 BTC) 並將其分成兩個部分:轉 0.3 給 Bob,並將 0.69 轉回給她自己 (剩餘金額充當挖礦手續費)。

這個簡單代數適用於其他節點:1 超過 0.3 + 0.69,且簽章皆正確無誤,Alice 的輸入尚未花費於別處,因此交易肯定有效。不過,如果金額已經屏蔽,事情就不會這麼微不足道了。如果一筆未知金額等於或超過其他兩筆未知金額的總和,您甚至會如何開始評估?


相關密碼學總覽

若要隱藏資料,就需要進行加密。但傳統方法類似於將文件放入保險箱:鎖到保險箱裡後,即無法使用,直至將其取出。要讓保密交易順利運作,需要使用這樣的數位保險箱:不會洩露內容,但可由外部人員驗證屬性。

同態加密就是解決之道,具體而言,是一種稱為 Pedersen 承諾的方案。藉由這種加密類型,外部人員可出於多種目的對 (其看不到的) 加密資料執行操作。

可使用常規算力來投入您想要稍後公開的資料。假設您想要在社交媒體上宣布一場比賽,誰能猜中您最喜愛的交易所,就能贏取 0.01 BTC 的獎勵。參與者可能會持懷疑態度,因為您大可在比賽結束後看看這些答案,再選擇沒有提到的交易所。

您可以做的就是為關注者提供一個雜湊:一串看似隨機的數字及字元,可對應至特定輸入。您透過函數傳遞交易所,從而得到特定的輸出。我們以 SHA256 演算法為例:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


看看這串字母數字,您對輸入的內容毫無頭緒,亦無法反轉函數來得到內容。但若您知道輸入內容為「幣安」,就能輕鬆查看其雜湊值是否與上方所列之雜湊值相符。這樣一來,關注者可在一定程度上確信您不會在比賽結束時變更答案,這樣做會產生截然不同的輸出。

儘管如此,實際上這不是非常安全。雖然您的關注者無法對演算法進行反向工程,但他們可建立一個可能的交易所清單,對每個輸入進行雜湊處理,直至獲得相符的內容。我們可以向要進行雜湊的資料新增一些稱為盲化因子的隨機資料,來降低出現這種情況的可能性。

如果我們輸入「幣安是我最喜愛的交易所,我對它的喜愛勝過其他任何交易所 2#43Wr 」,這樣可以明顯加大對手猜中的難度 (如為 0.01 BTC,當然不大可能有人願意嘗試)。

Pedersen 承諾可讓我們在承諾背後新增輸入。以 Maxwell 為例:


保密交易關係式


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

其中 BF 表示盲化因子D 表示資料


從這裡開始,還有幾個步驟涉及橢圓曲線密碼學及區間證明,但基本概念是用戶對其地址使用 Pedersen 承諾。發送資金時,會建立兩個額外承諾 (一個用於返回給用戶的更改地址,一個用於目標地址)。

沒有人知道發送了多少金額,但他們可以查看更改和目的地承諾 (Maxwell 關係式左側) 加總得到發端地址 (關係式右側)。如果此項評估正確,則用戶交易生效,因為可以證明輸入等於輸出。


保密交易可以帶來什麼?

如果比特幣中可以實現保密交易,我們就可以暢享一個更加私密的系統了。輸入及輸出都將被更廣泛的網路所遮罩,分類帳上的條目將予以模糊處理,但節點仍可驗證其真實性。透過這種大幅度的隱私提升,比特幣可有效呈現出同質化屬性,因為鏈分析不再揭示給定單位的歷史記錄。

至於保密交易是否將被整合至協定中,目前似乎不太可能。有了這個新增功能,交易規模會比標準交易大得多,鑒於區塊空間有限,這只會增加需求。此外,還需要大多數參與者同意變更代碼,事實證明,這通常是個艱鉅的任務。


總結

保密交易已經在其他加密貨幣和比特幣側鏈中出現一些迭代。例如,Monero 將它們與稱為環簽章的結構組合使用,來實現匿名性和同質化。Liquid 側鏈為它們帶來了更好的隱私性,而 MimbleWimble 對其加以擴展,實現了同樣的效果。

就其所帶來的好處而言,保密交易能夠權衡掉更大的碳足跡。加密貨幣通常在基礎層會遇到可擴展性和吞吐量方面的困難,交易規模更大並不會對所有人構成吸引力。也就是說,支持隱私的人認為,隱藏交易金額且參與者真正允許將加密貨幣用作同質化貨幣至關重要。