或許我們會產生疑惑,“匿名性”是比特幣等區塊鏈技術特性之一,為何會存在隱私性問題?
在此,我們需要區分“匿名”與“化名”,匿名是指每個人的身份是無法被人知道的,而化名是指每個人在區塊鏈上有一個和真實身份無關的虛擬身份,但是這個虛擬身份做的所有事情都是透明的。
例如,在比特幣系統的交易中,使用者無需使用真名,而是采用公鑰哈希值作為交易標識。在這個例子中,公鑰哈希值就可以代表使用者的身份,與真名無關,因此比特幣是具備化名性的。由于用戶反復使用公鑰哈希值作為交易標識,交易之間顯然能建立關聯。因此比特幣并不真的具備匿名性。
如今已有大量的加密技術,如混合器(Mixers)、環簽名(Ring Signature)、零知識證明(Zero knowledge proofs)、通道(Channels)等。在一些同態加密或其他可信任的執行環境,雖然這些加密技術已被證明能夠實現數據的隱私和保密,但其主要挑戰通常來自于隱私與區塊鏈應用程序的另外兩個重要功能不一致:可拓展性和可用性。
借用 CAP 定理中的部分思想,我們將隱私性、可拓展性以及可用性視為沖突力量三角的核心。與CAP定理不同的是,最近如 Enigma 系統似乎能夠證明在一定程度上支持這三種能力。然而,在絕大部分的區塊鏈技術中,無法同時滿足這三項。
區塊鏈中的隱私協議
隱私性正成為推動區塊鏈下一波技術浪潮的主要因素之一。從彼此孤立的協議到完整的平臺,區塊鏈空間已催生大量研究與創新想法,使得區塊鏈技術應用過程中隱私得以保護。以下是在區塊鏈領域中值得遵循的一些隱私協議和技術。
CryptoNote & Ring Signatures
這是區塊鏈技術中最早的隱私協議之一。CryptoNote 用密鑰鏡像替換標簽,并拋棄可追溯性屬性,稱之為“算法一次性環簽名”。其強調用戶在私鑰下只生成一個有效簽名的能力,相同密鑰下的兩個不同簽名可輕松鏈接,只有一個將被存儲在塊鏈中。Monero 就是基于 CryptoNote 協議和相關代碼的加密貨幣。
CryptoNote 的交易無法通過塊鏈接來顯示發送或接收貨幣的方式。交易的大概數量可以知道,但無法知曉發送方、接收方和實際數量,唯一可用的信息是實際數量低于顯示的數量。訪問關于交易的整個數據集的唯一人是交易的發送者或接收者以及擁有一個或兩個密鑰的人。CryptoNote 協議的改進已被證明能夠在可拓展級別的操作中產生高級別的匿名性。
zk-SNARKS
ZCash 背后的協議 zk-SNARKS 采用的是零知識證明算法,即它允許一方(證明者)向另一方(驗證者)證明一個陳述是正確的,而無需透露該陳述是正確之外的任何信息。自從 ZCash 發布以來,zk- cluks 已被用于不同的區塊鏈技術,如 J.P Morgan Quorum。
對于 zk-SNARKS 算法來說,通常有一個構建階段,在構建階段完成后,證明者(power)只需向驗證者(verifier)發送一個信息即可。同時,SNARK 通常還有一個被稱作是“公開驗證者”的特性,意味著任何人無需任何交互即可驗證零知識證明,這對區塊鏈是至關重要的。
zk-STARKS
由三角理論可知,由于證明的復雜性與數據庫的大小成線性關系,zk-SNARKS 很難大規模應用。今年5月,以色利理工學院 Eli Ben-Sasson 教授其論文中描述了一種比 zk-SNARKS 更快捷的替代方法。
該解決方案名為“zk-starks”,可將大量信息壓縮成小樣本,并將其命名為“starks”。其使用零知識證明協議來保護信息隱私,且相比于量子計算,它更高效、透明和安全。
“zk-starks”區塊鏈隱私解決方案不僅能證明隱私信息,同時也不會浪費大量計算資源,確保計算完整性不會因為耗費大量算力而遭到破壞,Eli Ben-Sasson 將其稱為“透明化隱私”。
論文中也提到,zk-starks 區塊鏈隱私解決方案除支持零知識證明外,同時不需要可信設置。實際上,作為編譯隱私區塊鏈的一個階段,很多黑客就是在進行可信設置的時候進行攻擊。也就是說,zk-starks 區塊鏈隱私解決方案能夠提升區塊鏈安全性。
據悉,該解決方案兩位創始人 Eli Ben-Sasson 和 Alessandro Chiesa 成立一家名為 Starkware 的公司,為交易所內的加密貨幣提供基于 stark 技術的解決方案,并收取以本地貨幣結算的服務費。
TEE
TEE 是一個基于 CPU 硬件安全擴展,且與外部完全隔離的可信執行環境。基于TEE優化的產品叫做安全屋,安全屋最大的特點是“數據的所有權和使用權的分離”。通過 TEE 、安全屋、區塊鏈,可構建一個基于可信區塊鏈的數據流通平臺——TBC,這實際上是一種分布式的可信數據運算平臺。基于平臺TBC可運行公有鏈平臺的私有智能合約、智能合約通過TEE執行, 從而實現基于硬件保護的合約代碼和數。
例如,英特爾的軟件保護擴展(SGX)等 TEE 技術隔離了代碼執行、遠程證明、安全配置、數據的安全存儲以及用于執行代碼的可信路徑。在 TEE 中運行的應用程序受到安全保護,幾乎不可能被第三方訪問。
Enigma
Enigma 是由麻省理工學院媒體實驗室(MIT Media Lab)的研究人員開發的一項基于區塊鏈技術的新加密系統,能夠讓非信任和匿名的參與者,安全的與第三方分享敏感信息。
它將數據分解成碎片進行加密,并且隨機地把這些無法破譯的碎片分配給 Enigma 網絡中稱之為“節點”的眾多計算機。在用戶將這些結果重組來獲得未加密的答案之前,每一個節點都執行單獨的信息碎片計算。該協議本質上允許節點使用智能合約的加密片段進行計算,而無需對它們進行解密,而其他區塊鏈則無法做到這一點。Enigma 使用 TEEs 將加密計算與區塊鏈的其余部分隔離,而不是依賴于諸如 zkSNARS / zk-STARKS 等占有權協議的證明。
從早期 CryptoNote 到如今 Enigma,在區塊鏈領域不斷涌現新的想法和創意來保護用戶的數據隱私。在未來,區塊鏈領域依然會不斷革新,保證區塊鏈交易的安全性以外,讓用戶隱私性得到保護。