寫在前面:
關於天眼(SkyEye),我們很容易聯想到通過監控視頻的「天眼」數字監控系統,或者是可查詢企業信息的天眼查,抑或是影視作品《終結者》里的天網(Skynet),這些系統有的能夠幫助我們查詢到有用的信息,有的則會產生非常嚴重的後果,例如美國版天眼計劃稜鏡(PRISM)在被斯諾登曝光之後,便引發了全球範圍的擔憂。正如現實世界一樣,區塊鏈世界也會出現一些違法犯罪的現象,因此對於監管的需求是非常迫切的,但正如稜鏡計劃一般,賦予監管者過大的權限,可能最終會引發新的災難。
正是如此,區塊鏈監管必然要進行權衡,既要對潛在的違法行為進行追蹤,同時確保監管者不會濫用職權。
這期的學術研究分享,我們會介紹來自中科院學者馬天軍等人提出的具有監督功能的區塊鏈身份追溯方案BTSOF,該方案是中科院天眼區塊鏈(SkyEye)方案的升級版,在這種架構下,監管機構必須獲得委員會的同意,才能對用戶數據進行追蹤。
而在硬核技術文章精選部分,我們還會看到關於以太坊默克爾樹結構切換、密碼學原語混淆電路的內容。
另外,在過去的一周當中,比特幣閃電網絡,以太坊1.X及2.0研發均迎來了一些新的進展。
(圖片來自:tuchong.com)
一、「N號房」引發隱私技術爭議,中科院區塊鏈「天眼」如何破局
當前有很多區塊鏈研究專注於隱私保護,然而,對於隱私意識非常淡薄的普通用戶而言,強隱私技術的發展,並不一定是件好事。
這是因為,犯罪分子也可利用強大的隱私保護功能來對其犯罪進行掩護,例如最近轟動一時的韓國N號房事件,便是這樣的例子,其主犯趙主彬主要利用隱私幣門羅及Telegram來隱藏其交易痕跡,在這起事件當中,慶幸的是犯罪分子使用了加密貨幣交易所,因此暴露了他們的身份,若假設他們並未使用這些第三方工具,則會給破案帶來巨大的阻力。
也因此,關於區塊鏈身份可追溯機制的研究,似乎在當前的背景下,要顯得更為重要一些。
1、1 關於區塊鏈身份可追溯機制的研究
針對保護隱私的區塊鏈項目,一些研究者提出了自己的身份追溯機制,比如:Ateniese和Faonio 提出了一種針對比特幣的身份追溯方案,在他們的方案中,如果用戶從可信證書頒發機構獲得經認證的比特幣地址,則該用戶就是經認證的。然後,監管機構就可通過證書頒發機構,來確認比特幣交易用戶的身份,這種方案與交易所的KYC方案有一些類似。
Garman,Green和Miers則基於Zerocash構建了一個去中心化匿名支付系統,他們的方案通過添加隱私保護策略執行機制來實現追蹤。
Narula,Vasquez和Virza則設計了一個稱為zkLedger的分布式帳本,其可以提供強大的隱私保護、公共可驗證性及可審核性,他們的方案主要用於審核某些銀行的數字資產交易。據悉,帳本在zkLedger中是以表格的形式存在,每個用戶的身份對應於表中的每一列,因此,監管者可據此來確定每個用戶的身份。
而來自中科院的Tianjun Ma等人則提出了SkyEye(天眼),這是一種可追溯用戶身份的區塊鏈方案,其允許監管機構追蹤區塊鏈用戶的身份,而沒有任何限制,因此存在監管濫用的可能。
而在最新的研究中,信息安全國家重點實驗室的研究者Tianjun Ma、Haixia Xu以及Peili Li基於SkyEye提出了一種具有監督措施的區塊鏈身份追蹤方案,簡單來說,監管機構必須要在獲得委員會同意的情況下,才能對用戶數據進行跟蹤。
論文連結:https://eprint.iacr.org/2020/311.pdf
此外,研究者構造了一個非交互式可驗證的多秘密共享方案(VMSS方案),並利用VMSS方案為Cramer-Shoup公鑰加密方案設計了一個分布式多密鑰生成(DMKG)協議,這也是BTSOF所採用的一個協議。
1、2 關於區塊鏈天眼(SkyEye)
在中科院的天眼(SkyEye)區塊鏈方案設計中,使用了一些密碼學原語(例如chameleon哈希函數方案),SkyEye由多項式時間算法(Setup
,Geninfo
,Verinfo
,Genproof
,Verproof
以及T race
)組成,其中Setup
為系統生成公共參數pp
,Geninfo
和Verinfo
分別創建和驗證用戶註冊信息,Genproof
和Verproof
分別生成和驗證用戶的身份證明,而T race
算法則在區塊鏈數據中跟蹤用戶的真實身份。如上圖所示,當用戶u生成註冊信息reginfo
後,這個reginfo
信息就會發送給監管機構。如果reginfo
的信息驗證成功,則監管者可以從reginfo
中提取一些信息recordu =(PKcu,IDu,CHidu)
,並將其存儲到資料庫(Database)中,同時把PKcu
和CHidu
信息添加到Merkle樹(MT),並廣播這些信息,如果用戶u的(PKcu ||CHidu ) 出現在Merkle樹(MT)中,則表明其註冊成功,然後,用戶u可以生成區塊鏈數據datau
,這些數據發送到節點網絡(由普通節點和驗證節點組成),與區塊鏈中的傳統驗證過程不同,這裡的驗證過程驗證的是:
如果datau數據驗證成功,則將datau添加到驗證節點生成的區塊中。根據共識機制,網絡中的節點會選擇一個最終區塊,並將其添加到區塊鏈中,而追蹤過程如下所示:
監管者從區塊鏈獲取datau
數據,並通過使用私鑰skreg
解密datau中的chameleon哈希公鑰的每個密文,以獲得chameleon哈希公鑰集PKc
,最後,監管者可以根據PKc
搜索資料庫,從而在datau
中獲取用戶的真實身份集ID。
而這樣一個系統,就用到了這些密碼學原語:Cramer-Shoup加密方案 、非交互式零知識 、數字簽名方案 以及多秘密共享方案(關於這些密碼學組件的具體描述,可以看原論文);
對於SkyEye方案,監管者進行追蹤的前提條件,是使用可追溯的私鑰skreg
對區塊鏈數據datau中的所有chameleon哈希公鑰密文進行解密,以獲得chameleon哈希公鑰集PKc。
然而在SkyEye方案中,監管機構的權力過大成為了一個主要問題,其可以任意跟蹤區塊鏈用戶的身份,而不受任何限制和監督,從而引發了一些擔憂。
1、3 具有監督功能的區塊鏈可追溯方案(BTSOF)
為了監督監管機構,研究者提出了新方案BTSOF,其主要設計思想如下圖所示:如果監管機構想要追蹤區塊鏈數據datau,則必須將數據datau
和相應的證據witu
發送給委員會。如果委員會同意追蹤,則它將把追蹤信息發送給監管機構,最後,監管機構可以根據委員會發送的信息追蹤數據datau。
上面提到,SkyEye方案中使用了Cramer-Shoup加密方案,而在新方案中,則是讓委員會定期生成Cramer-Shoup加密方案的可追溯公私鑰對,換句話說,監管機構必須獲得委員會的同意才能進行追蹤,這相當於起到了一個監督的作用。
而在這個過程中的關鍵,是一種稱為DMKG的加密協議,其是研究者基於分布式密鑰生成協議DKG,為Cramer-Shoup加密方案而設計的,其負責生成的是委員會的可追溯公私鑰對。
1、4 BTSOF的威脅模型,目標及構造
在BTSOF方案中,我們要考慮的一個威脅模型,就是委員會非誠實成員的比例,如果對手控制了超過1/3的委員會成員,則可能對最終結果構成威脅。而BTSOF的目標,是確保監管機構必須獲得委員會的同意才能進行跟蹤,並且只能跟蹤發送給委員會的數據集,那這又是如何實現的呢?
它的關鍵思想描述如下:
監管機構向委員會廣播一條消息,指出其要跟蹤的數據集,而消息有兩種類型:
- 消息
mrtc = (R, dw) = (R,(datal, witl)l∈{1,...,len})
表示監管機構希望使用len
元素跟蹤數據集,其中R
表示監管機構的標識符,以及(datal,witl)
表示第l個數據,和l∈{1,...,len}
的相應證據。 - 消息
mrtc =(R,dw)=(R,(T,witT))
表示監管機構想要追蹤T周期的所有數據,其中R
表示監管機構的標識符,而witT
表示相應的證據。
委員會誠實成員Pi
收到上述消息mrtc
後,對於每個i∈Qfinal
,Pi都會驗證mrtc
中相應證據的正確性。如果驗證成功,Pi在消息mrtc中對dw
簽名,然後將簽名發送給監管機構。每次收到委員會成員的簽名時,監管機構都會對簽名進行驗證,如果驗證成功,則將其保存在集sigall
當中。
最後,如果sigall
的大小大於或等於t,則監管者將消息mrtc =(R,dw,sigall)
廣播給委員會。
在收到上述消息mrtc =(R,dw,sigall)
之後,Qfinal中的每個委員會成員首先驗證集sigall中的每個簽名,並計算有效簽名的數量。 如果該數字大於或等於t,則Qfinal中的委員會成員會執行一些操作。
監管者在接收到誠實成員Pi為i∈Qfinal發送的消息mi
後,選擇這些消息中占多數的值,並根據該值進行追蹤。
洒脫喜簡評:區塊鏈隱私保護與監管看似相互矛盾,實際是可以做到兩者兼得。天眼升級版協議BTSOF在確保普通用戶的隱私前提下可打擊犯罪行為,同時確保不會造成監管權力過大的問題,而實現這個目標,就依託於各種密碼學工具的組合,而類似這樣的方案,會更容易被大眾和監管機構所接受。
二、硬核技術文章一周精選
在這篇文章中,作者ethos.dev對以太坊創始人Vitalik 發布的以太坊路線圖進行了詳細說明,並提出了以太坊在2020年中可能的亮點。文章連結:https://www.8btc.com/article/576260
在這篇文章中,作者Guillaume Ballet提出了一種方案,可以將以太坊從當前使用的MPT十六叉樹結構轉換成二叉樹結構,以此大大較少以太坊無狀態中的見證數據。
文章連結:https://www.8btc.com/article/575138
在這篇文章中,作者Vitalik Buterin 科普了密碼學原語混淆電路(Garbled circuits)的概念,並提出了一些潛在的應用。
文章連結:https://www.8btc.com/article/572746
三、比特幣&以太坊 開發更新進展
3、1 比特幣開發更新進展
- Eclair#1339阻止用戶將其htlc-minimum量設置為0毫聰,這將違反BOLT2,新的最小值為1毫聰;
- LND#4051 最多可跟蹤每個peer 10個錯誤,並在必要時重連接存儲它們,最新的錯誤消息將作為
ListPeers
結果的一部分返回,從而使診斷問題變得更加容易; - BOLT#751更新了BOLT7,以允許節點宣布給定類型(例如IPv4,IPv6或Tor)的多個IP位址。這確保了多宿主節點可以更好地通知網絡關於它們的網絡連接。
3、2 以太坊開發更新進展
以太坊1.X更新內容:以太坊2.0研發更新內容:
本期的分享就到這裡啦,下周再見~