智能合約隱私計算之開篇

本文首發公衆號 VenusBlockChain,關注公衆號後可免費閱讀!VenusBlockChain 致力於區塊鏈技術研究,傳播區塊鏈技術和解決方案、區塊鏈應用落地、區塊鏈行業動態等。
在這裏插入圖片描述

1 區塊鏈隱私泄露問題

在 CIA 三要素中,區塊鏈在確保完整性和可用性方面天然具有某種優勢,但在確保機密性方面尚存在較大挑戰。

隱私是一種與公共利益、羣體利益無關,當事人不願他人知道或他人不便知道的個人信息(只能公開於有保密義務的人)、當事人不願他人干涉或他人不便干涉的個人私事,以及當事人不願他人侵入或他人不便侵入的個人領域。

區塊鏈技術的邏輯要求相關上鍊數據必須得到不同節點的共識驗證。因此,區塊鏈上的數據隱私保護與傳統的數據隱私保護相比,具有不同的特點與要求,往往需要設計專門的隱私保護策略:

一是設計隱私保護技術方案,區塊鏈在設計和實現時,宜考慮提供適當的隱私保護方案來加強對其上運行的隱私數據的保護。

二是鏈上(on-chain)鏈下(off-chain)分割,區塊鏈上的隱私保護,需根據實現方案考慮鏈上和鏈下隱私數據的保護策略。

三是訪問控制,區塊鏈在設計和實現時,應採取技術措施控制隱私相關數據的訪問權限,對隱私數據訪問者進行身份驗證並檢查其授權。

四是需要重點研究同態加密、零知識證明、安全多方計算、TEE(如 SGX)等技術領域,最大限度地爲區塊鏈體系提供隱私保護能力。同態加密在保證信息不解密的情況下運行。零知識證明即證明者能夠在不向驗證者提供信息本身內容的情況下,使驗證者相信某個論斷真實可信,保證身份的匿名性。

安全多方計算是解決一組互不信任的參與方之間隱私保護的協同計算問題,安全兩方計算作爲其特例,一般基於混淆電路和不經意傳輸等技術實現。TEE 技術則是在信任特定硬件設備(如 Intel 芯片的 SGX 功能)難以攻破的前提下選擇在受硬件保護的 Enclave 環境中解密外部輸入數據、執行智能合約代碼、加密輸出數據,此過程中明文信息只出現在 Enclave 中但不能被外部看到。

當然,在實現匿名的過程中,所需的代價可能較高,也可能給追蹤與監管帶來非常大的挑戰。本節內容摘抄自參考資料[1]。

下面主要研究和討論關於同態加密和與同態加密相關的零知識證明技術。

2 智能合約隱私計算

在區塊鏈中,隱私主要分爲身份隱私和交易隱私,身份隱私主要指的是區塊鏈地址信息與現實生活中的身份相對於的關係。交易隱私指的是區塊鏈上公開的信息,如輸入輸出地址、交易金額,以及地址之間的關係等,地址之間的關係通常指的是用戶使用一個地址向另一個地址轉賬並且餘額轉入零錢地址從而暴露地址之間的關係。

在隱私保護技術方面,比較突出的有兩種主流的開源密碼數字貨幣:Monero 和 Zcash。這兩種隱匿幣採用的賬戶模型是 UTXO 模型,並非 ACCOUNT 模型。Monero 在地址隱私方面採用環簽名和一次性地址技術,在交易數據隱私方面採用基於羣簽名和 Pedersen 承諾的 Ring CT 方案,同時也解決了交易輸入輸出地址不可鏈接且不可跟蹤問題。Zcash 在交易數據隱私方面採用的是自研的非交互式零知識證明技術 zk-SNARKs。此外,業界還提出一種不用進行可信設置的非交互式零知識證明技術 Bulletproof,可結合 Pedersen 承諾解決範圍證明問題。

如果用戶的交易數據未加密,用戶的資金情況以及交易金額等隱私信息很容易泄露,阻止了區塊鏈技術在更多領域內的應用。雖然可以採用加密技術來對用戶的交易數據進行加密,但是在傳統的交易過程中,爲了防止應用層發起非法交易,鏈碼端還需要對交易數據的合法性進行校驗,即對輸入金額與輸出金額相等性校驗、交易金額大於 0 校驗和用戶餘額大於 0 校驗,這些校驗在交易數據爲明文時很容易完成,但是在對交易信息採用加密技術後,鏈碼端出現的數據均爲密文狀態,致使無法像校驗明文那樣來完成校驗過程,同時也無法對密文進行相關的運算,來完成對賬本的更新。

同態加密是一種具有特殊屬性的非對稱加密方法,該加密方法可以對加密後的數據進行基本的運算,然後對結果進行解密與直接用明文進行相應的運算結果是一致的,通過使用同態加密算法,能夠讓鏈碼端在不解密交易數據的情況下對交易密文進行相關的運算,來完成對用戶資產的更新。

零知識證明是一種基於承諾的證明技術,該技術可以讓驗證者在不知道承諾中祕密的情況下,相信關於承諾中祕密的有關信息,譬如祕密所在的範圍或兩個承諾中是否隱藏同一個祕密,通過使用零知識證明技術,能夠使鏈碼端在交易信息爲密文的情況下,判斷密文中隱藏值的所在範圍,來完成對交易信息的校驗過程。

本專欄的主題是針對 ACCOUNT 模型,設計一種交易金額的同態加密計算和基於 FO 承諾的零知識證明方案,主要解決交易數據在智能合約中如何進行密文加法計算,同時提供對密文數據的有效性證明和驗證,如交易祕密數據範圍證明、交易祕密數據承諾相等證明、交易私密數據輸入輸出平衡驗證。

下面是整個寫作思路,歡迎關注和交流。
在這裏插入圖片描述

3 往期回顧

數字簽名系列

密碼學承諾系列

同態加密系列

4 參考資料

[1]https://mp.weixin.qq.com/s/rfiqphUb09ajUdHIRPWkqQ

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