重點整理

  • 機密交易(CT)使用密碼學技術在區塊鏈上隱藏轉帳金額,同時仍允許網路參與者驗證沒有建立新的硬幣,從而維持可互換性並防止對交易價值的鏈上分析。

  • 核心機制依賴 Pedersen 承諾(加法同態加密)結合 Bulletproof 範圍證明;這些證明可在不揭露實際金額的情況下確認金額為非負。

  • 機密交易已在比特幣側鏈(例如 Liquid)上以量產形式上線,並把概念延伸到「機密資產」,同時也隱藏被轉移的代幣類型。

  • 基於 CT 的設計在交易大小與驗證成本上面臨取捨,因此通常會部署在專用側鏈,或是與其他擴容解決方案結合,而不是直接用在比特幣主網。

簡介

系統透明度常被視為區塊鏈運作的關鍵。網路中的每個節點都能儲存分類帳(ledger)的副本,並驗證是否有任何規則被違反。對於許多分散式帳本,任何人都可以透過區塊瀏覽器(block explorer)搜尋區塊、交易與地址。

在隱私面向上,這種透明性可能帶來挑戰。以比特幣這樣的系統來說,每筆交易都能追溯到先前的交易。硬幣在技術上並非完全可互換(fungible),因為每枚硬幣都能被連結到特定交易。沒有人能阻止你寄出比特幣,但若這些硬幣先前曾通過被標記(flagged)的地址,接收方可以拒絕接受該交易。

比特幣中的隱私有時被過度誇大。使用者享有化名性(公開地址可見而非真名),但進階分析技術可以把地址聚類,試圖辨識網路參與者。提出讓交易真正私密的加密方案之一是機密交易(confidential transactions)。

什麼是機密交易(Confidential Transactions)?

機密交易(CT)最早由 Blockstream 執行長 Adam Back 在 2013 年提出,後來由比特幣開發者 Gregory Maxwell 擴展。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 承諾

答案在於同態加密,特別是一種稱為 Pedersen 承諾的方案。這種承諾允許外部人士對加密的資料(他們看不到)執行數學運算,以在不獲知底層數值的情況下驗證正確性。

一般的雜湊(hash)可以用來承諾你之後想揭露的資料。例如,你可以先發布你預測的雜湊,之後再透過展示原始輸入來證明你預測了什麼。然而,如果可能輸入的空間很小,攻擊者可以直接嘗試所有選項,直到找到匹配。這個問題透過在雜湊前把資料加上一個稱為「遮蔽因子(blinding factor)」的隨機值來解決。

Pedersen 承諾更進一步:它能讓承諾之間進行算術運算。形式上,對金額 v、遮蔽因子 r 的承諾 C 會被計算為:C = vG + rH,其中 G 與 H 是橢圓曲線的生成點。關鍵特性是加法同態(additive homomorphism):

C(v1, r1) + C(v2, r2) = C(v1 + v2, r1 + r2)

這表示節點可以在從不看到實際金額的情況下,驗證輸入承諾的總和等於輸出承諾的總和。

範圍證明與 Bulletproofs

Pedersen 承諾本身存在一個漏洞:由於它們使用模數運算,一名使用者可以承諾一個負值,並利用同態性質,實際上「憑空」創造硬幣。範圍證明(range proofs)透過零知識證明來解決:證明承諾金額落在有效範圍內,而不揭露實際金額。

Bulletproofs 是機密交易系統中範圍證明的現代標準。它們相較於較早的方法有幾個優勢:證明大小會以對數方式成長,而不是隨範圍大小線性成長;多個範圍證明可以彙整成單一緊湊證明;而且它們不需要可信設定(不像某些基於 SNARK 的系統)。實務上,每一筆交易的輸出都附帶一個 Bulletproof,使得任何節點都能確認承諾金額是非負的並且在界限內,在保有供給一致性的同時也讓金額保持私密。

機密交易在實作中的應用

雖然機密交易尚未被採用在比特幣主網,但目前已在一些專用網路中以量產方式上線:

Liquid 側鏈

Blockstream 的 Liquid Network 是一個聯邦式的比特幣側鏈,將「機密交易」以及「機密資產(confidential assets)」作為一等公民功能來實作。機密交易使用帶有 Bulletproof 範圍證明的 Pedersen 承諾來隱藏轉帳金額。機密資產則更進一步:同時把被轉移的資產類型也予以遮蔽,因此觀察者無法判斷一筆交易是否涉及 L-BTC、代幣化證券、穩定幣或其他已發行資產。

Liquid 的目標是為交易所、場外(OTC)交易商與交易公司之間的機構結算提供服務;在這些場景中,商業機密性很重要。一個由相關人員組成的聯邦會管理 peg-in/peg-out(資產進入/退出)流程與區塊簽署,犧牲一部分去中心化以換取更快的速度與隱私特性。

其他實作方式

一些其他協議使用由 CT 衍生的技術。MimbleWimble 將機密交易結合透過稱為「cut-through」的流程來最小化交易圖(transaction graph):移除已花費的中間輸出並壓縮區塊鏈狀態。Monero 則使用 RingCT(結合環狀簽名與機密交易)並搭配隱匿地址(stealth addresses),以同時遮蔽送出者、接收者與金額。

選擇性揭露與檢視金鑰

現代的 CT 實作愈來愈多地支援選擇性揭露機制。交易參與者可以把遮盲金鑰(blinding keys)或專用的檢視金鑰(viewing keys)分享給稽核者、合規服務商或監管機關。這使得可以針對特定交易進行私密審查,同時不會讓資料在鏈上公開可見,形成「對公眾而言私密、對授權方而言透明」的模型。

監管環境與合規型隱私

區塊鏈隱私的監管環境已大幅演進。歐盟的《加密資產市場法》(MiCA)規範以及 FATF 的旅行規則(Travel Rule)都要求加密資產服務提供商(CASPs)蒐集並傳送轉帳的原始方與受益方資訊。雖然這些規範主要針對服務提供商而非加密原語本身,但它們會間接對高隱私資產施加壓力。

在受到監管的司法管轄區,交易所常常會下架或限制那些無法有效進行 AML 監測的資產。這特別影響到具備完整交易圖(transaction graph)遮蔽的隱私幣。然而,監管機關通常對於能夠從公眾端隱藏商業資料、同時又對受監管實體提供可選擇(opt-in)的透明度的系統,表現出相對更多的容忍。

近年來的主流走向是「合規型隱私(compliant privacy)」:結合零知識證明與身分驗證(identity attestations)。使用者可以證明自己已完成 KYC 或不在制裁名單中,而不需要在鏈上揭露身分細節。帶有檢視金鑰的 CT 類設計能自然融入這個框架:預設私密,但在法律要求時可被驗證。

機密交易能夠達成什麼?

機密交易解決了幾個實務上的問題:

  • 商業機密性:企業可以在公開的區塊鏈上進行交易,而不需要向競爭對手揭露交易規模、付款金額或資金流向。

  • 可替代性(Fungibility):當金額被隱藏時,鏈上分析無法追溯特定硬幣的歷史或「污點(taint)」,因此所有單位在實務上都可視為彼此可互換。

  • 降低前跑風險:在 DeFi 與交易情境中,隱藏金額可防止觀察者偵測並利用大型待處理交易。

  • 監管相容性:與完全匿名系統不同,搭配檢視金鑰的 CT 能在滿足稽核與合規需求的同時維持公眾層面的隱私。

至於機密交易是否會直接整合到比特幣主網,目前在近程內仍不太可能。由於每個輸出都附帶 Bulletproof 範圍證明,CT 交易的大小遠大於標準交易。考量到比特幣的區塊容量有限,以及對協議變更採取保守態度,部署在側鏈與專用網路仍是較務實的路徑。

常見問題(FAQ)

什麼是 Bulletproofs?為什麼它們對機密交易很重要?

Bulletproofs 是一種零知識範圍證明,可在不揭露金額本身的前提下,證明一個被承諾的值落在有效範圍內(非負且不過度大)。它們之所以重要,是因為它們體積緊湊(證明大小為對數級成長),不需要可信設定,而且可以把多個輸出之間的證明彙整到單一證明中,讓機密交易在真實世界的使用成為可行。

機密交易與 Zcash 這類零知識證明系統有什麼不同?

機密交易會特別使用 Pedersen 承諾與範圍證明來隱藏金額,同時保留地址可見性。像 Zcash 這樣的零知識系統,其 shielded pools 可以同時隱藏送出者、接收者與金額,但需要更複雜的 ZK 電路(例如 Groth16 或 Halo2)。CT 是更聚焦於「價值隱私」的原語,而 shielded 系統則在更高的計算成本下提供更廣泛的匿名性。

機密交易是否合法?

本身的加密技術在大多數司法管轄區並未被禁止。像 MiCA 與旅行規則這類法規,是針對服務提供商(交易所、託管機構),而不是針對底層的加密方法。然而,若服務提供商上架使用 CT 類隱私的資產,可能會面臨更強的合規義務,特別是關於交易監控與通報。

為什麼機密交易沒有被加入到比特幣主網?

主要障礙是技術面的:由於範圍證明的存在,CT 交易的體積遠大於一般比特幣交易,會佔用有限的區塊空間。要導入 CT 也需要進行共識層級的協議變更(soft fork 或 hard fork),而這要求整個社群達成廣泛共識。考量到比特幣相對保守的開發文化與現有區塊空間限制,側鏈部署仍是更偏好的作法。

什麼是檢視金鑰(viewing keys)?它們如何支援合規?

檢視金鑰是加密金鑰,允許被指定的第三方(稽核者、監管機關、合規服務商)在不需要資料在鏈上公開可見的情況下,解密機密交易中被遮蔽的金額。交易參與者可以有選擇地分享這些金鑰,從而在維持一般公眾隱私的同時進行私密審查。此機制把「鏈上機密性」與「監管需求」之間的落差連接起來。

收尾想法

機密交易代表一種已被充分理解的鏈上隱私加密方案:在「隱藏價值」與「網路可驗證性」之間取得平衡。透過 Pedersen 承諾與 Bulletproof 範圍證明,CT 系統能讓節點在不需要得知交易涉及金額的情況下確認交易有效性。.

延伸閱讀

  • 對稱式與非對稱式加密

  • 什麼是全同態加密(FHE)?

  • 用零知識證明提升加密透明度

  • 什麼是工作量證明(PoW)?

  • 什麼是端到端加密(E2EE)?

免責聲明:本內容以「現況(as is)」提供,僅供一般資訊與教育用途,且不提供任何形式的聲明或保證。內容不應被解讀為金融、法律或其他專業建議,也不旨在推薦購買任何特定產品或服務。你應向合適的專業顧問尋求自己的建議。若內容由第三方貢獻者提供,請注意其所表達的觀點屬於該第三方貢獻者,且未必反映 Binance Academy 的觀點。數位資產價格可能波動。你的投資價值可能下跌或上漲,你也可能無法取回所投資的金額。你完全自行負責你的投資決策,而 Binance Academy 不對你可能蒙受的任何損失承擔任何責任。如需更多資訊,請參閱我們的使用條款(Terms of Use)、風險警示(Risk Warning)與 Binance Academy 條款。