深入學習區塊鏈的隱私保護(一)概述

區塊鏈作爲公開賬本解決了各方信任問題,但卻帶來了一個新的問題:用戶的隱私如何得到保證?這在傳統的集中式系統中,不存在此問題,或者說只有“可信”第三方擁有上帝視角。如果在區塊鏈上用戶的交易信息被惡意敵手進行分析和利用,將給用戶帶來嚴重的威脅。隱私保護問題不僅在公鏈中需要考慮,在部署商業應用的聯盟鏈中顯得更爲迫切。如何解決公開、透明與隱私保護之間的矛盾,一直是區塊鏈技術發展的重要方向,至今仍未完全解決。並且在一些特定的應用場景,需要根據實際需求結合各種密碼組件設計相應的隱私保護算法。

比特幣沒有提供真正的匿名性,可以稱爲僞匿名性,是因爲比特幣的賬戶地址從其對應的公鑰中直接得到,不與用戶在真實世界中的身份綁定,而現實中則使用CA(Certificate Authority)進行身份認證。比特幣在區塊鏈上的所有交易都是公開的,因此任何人都可以追蹤到某個地址的交易。雖然創建新地址進行交易看來起增加了匿名性,但仍然不能解決所有交易都被公開的事實。論文【1】對用戶地址間的關係進行了分析,結果如圖1。而在聯盟鏈應用場景中,例如銀行間的轉賬,如果採用區塊鏈系統進行記錄交易,雖然嚴格一致的賬本省去了繁瑣的對賬工作,但沒有任何一家銀行希望自己的資金往來完全暴露。並且歐盟於2018年5月實施了GDPR【2】(General Data Protection Regulation),這意味着在歐盟的企業如果想將用戶的個人數據進行上鍊,那麼必須保證用戶數據的鏈上隱私性。

比特幣地址關係圖

                                                                                     圖1. 比特幣地址關係圖

針對鏈上的一筆交易而言,接收者地址、發送者地址以及交易金額都是需要考慮的問題,以及除此之外的附加數據。對接收者和發送者地址的隱私保護我們稱爲匿名性;對交易金額的隱私保護我們稱爲機密性。在保證匿名性和機密性的同時,要達成多方校驗和共識,我們稱之爲公開可驗證性。常用在區塊鏈隱私保護中的高級密碼組件/方法如下:

  1.  簽名類:簽名類的隱私保護手段有盲簽名、羣簽名以及環簽名等。盲簽名就是接收者在不讓簽名者獲取所簽署消息具體內容的情況下所採取的一種特殊的數字簽名技術,消息者先將消息盲化,而後讓簽名者對盲化的消息進行簽名,最後消息擁有者對簽字除去盲因子,得到簽名者關於原消息的簽名,例如基於橢圓曲線的盲簽名ECBDS【3】。羣簽名是羣參與者利用羣公鑰和自己的私鑰對消息進行簽名,驗證者對消息進行驗證時,無法確定該消息是羣中的哪一個成員進行了簽名,但羣簽名中存在管理員,羣的管理員可以揭示簽名者。而環簽名則在羣簽名的基礎上,去掉了羣管理員的角色。羣簽名/環簽名的方案例如可鏈接的羣簽名【4】和可追蹤的環簽名【5】等。
  2. 非交互式零知識證明:非交互式零知識證明是指證明者無需交互,就能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。常見的NIZK有zk-SNARKs【6】、zk-STARKs【7】、Bulletproofs【8】等。
  3. 同態加密技術:同態加密是一種特殊的加密方法,對密文直接進行處理,與對明文進行處理後再加密得到的結果相同。同態加密分爲全同態和部分同態。全同態爲可以對密文進行加減乘除四則運算,例如BGV方案【9】;部分同態分爲加法同態、乘法同態、減法同態和除法同態。常用的有加法同態paillier【10】、Pederson承諾【11】和橢圓曲線點乘【12】等。
  4. 可信執行環境:可信執行環境在系統中是一個獨立的環境,受硬件機制保護,與現有系統隔離,提供從文件到內存的全方位安全。它作爲一個安全、可靠、中立的環境,可以用來執行區塊鏈系統中隱私性要求比較高的業務邏輯,例如將密文解密成明文再進行運算,不用擔心明文數據被竊取,在離開可信環境前,再將結果轉化成密文在區塊鏈中傳輸。可信執行環境有SGX【13】等。

目前有不少區塊鏈上的隱私保護項目,將其分爲兩類,一種基於UTXO,另一種基於賬戶性。基於UTXO的項目有Mixcoin【14】、Zcash【15】、Monero【16】和Hawk【17】等。基於賬戶性的項目有Zether【18】和AZTEC【19】等。本文給出了區塊鏈隱私保護的學習知識圖譜,有興趣的小夥伴可以一起多交流。

                                                                                     圖2. 隱私保護知識圖譜

參考文獻:

【1】Meiklejohn S, Pomarole M, Jordan G, et al. A fistful of bitcoins: characterizing payments among men with no names[C]//Proceedings of the 2013 conference on Internet measurement conference. 2013: 127-140.

【2】Voigt P, Von dem Bussche A. The eu general data protection regulation (gdpr)[J]. A Practical Guide, 1st Ed., Cham: Springer International Publishing, 2017.

【3】Abe M, Okamoto T. Provably secure partially blind signatures[C]//Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 2000: 271-286.

【4】Liu J K, Wei V K, Wong D S. Linkable spontaneous anonymous group signature for ad hoc groups[C]//Australasian Conference on Information Security and Privacy. Springer, Berlin, Heidelberg, 2004: 325-335.

【5】Fujisaki E, Suzuki K. Traceable ring signature[C]//International Workshop on Public Key Cryptography. Springer, Berlin, Heidelberg, 2007: 181-200.

【6】Parno B, Howell J, Gentry C, et al. Pinocchio: Nearly practical verifiable computation[C]//2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 238-252.

【7】Ben-Sasson E, Bentov I, Horesh Y, et al. Scalable, transparent, and post-quantum secure computational integrity[J]. IACR Cryptology ePrint Archive, 2018, 2018: 46.

【8】Bünz B, Bootle J, Boneh D, et al. Bulletproofs: Short proofs for confidential transactions and more[C]//2018 IEEE Symposium on Security and Privacy (SP). IEEE, 2018: 315-334.

【9】Brakerski Z, Gentry C, Vaikuntanathan V. (Leveled) fully homomorphic encryption without bootstrapping[J]. ACM Transactions on Computation Theory (TOCT), 2014, 6(3): 1-36.

【10】https://en.wikipedia.org/wiki/Paillier_cryptosystem

【11】Pedersen T P. Non-interactive and information-theoretic secure verifiable secret sharing[C]//Annual international cryptology conference. Springer, Berlin, Heidelberg, 1991: 129-140.

【12】https://en.wikipedia.org/wiki/Elliptic-curve_cryptography

【13】McKeen F, Alexandrovich I, Berenzon A, et al. Innovative instructions and software model for isolated execution[J]. Hasp@ isca, 2013, 10(1).

【14】Bonneau J, Narayanan A, Miller A, et al. Mixcoin: Anonymity for bitcoin with accountable mixes[C]//International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2014: 486-504.

【15】Sasson E B, Chiesa A, Garman C, et al. Zerocash: Decentralized anonymous payments from bitcoin[C]//2014 IEEE Symposium on Security and Privacy. IEEE, 2014: 459-474.

【16】Noether S, Mackenzie A. Ring confidential transactions[J]. Ledger, 2016, 1: 1-18.

【17】Kosba A, Miller A, Shi E, et al. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts[C]//2016 IEEE symposium on security and privacy (SP). IEEE, 2016: 839-858.

【18】Bünz B, Agrawal S, Zamani M, et al. Zether: Towards Privacy in a Smart Contract World[J]. IACR Cryptology ePrint Archive, 2019, 2019: 191.

【19】Williamson Z J. The aztec protocol[J]. https://github.com/AztecProtocol/AZTEC, 2018.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章