近日,微眾銀行區塊鏈首席架構師、FISCO BCOS開源區塊鏈平台首席架構師張開翔做客HKSAIR《AI金融》系列線上講座,以“區塊鏈上隱私保護的挑戰和應對”為主題,探討區塊鏈如何為數據隱私和信息開放構建一座天平。
以下為張開翔演講全文,雷鋒網《AI金融評論》做了不改變原意的整理:
我是微眾銀行的張開翔,我們團隊從2015年開始研究區塊鏈。
在講區塊鏈和隱私保護之前,先簡單過一下區塊鏈的概念和分類。
首先,真正的區塊鏈必須是在分佈式網絡上的。區塊是有序號、有高度,一個區塊接一個區塊地互相依賴生成,這樣可以做到數據的嚴格校驗,不丟、不錯、不亂。再用密碼學來校驗數據的穩定性、可靠性、完整性。
下面兩層加起來,更像一個分佈式數據庫或分佈式網絡。行業裏有個玩笑,説它是最慢的分佈式數據庫。像比特幣的TPS就是7(筆/秒),以太坊大概是10 。我們聯盟鏈其實還是快很多,單鏈TPS目前是兩萬左右。這裏就涉及到性能優化的課題了。
分佈式這麼慢,它還有什麼價值?它的價值就在於多方協作。
區塊鏈的靈魂與核心是什麼?共識。沒有多方智能合約與共識算法來達成透明、高效、可信的合作,那它就只是個分佈式數據庫。
那多方合作是為了什麼?肯定是為了資產交易,數據分享。計算和數據共享基於智能合約透明的規則,大家共同執行,這就是區塊鏈。
區塊鏈的基本特性是什麼?介紹隱私保護之前,我們先來了解區塊鏈怎麼組織這些數據和規則。
首先,在每個節點裏,都有相同的區塊的數據結構。簡單來説,就是每個block裏都包含一批交易。每個交易可能體現的是一次資產轉移,比如a給b轉了100塊錢。
這個交易必須是事務性的,交易執行結果在所有節點上一致,怎麼做到這一點?即通過共識和數據同步,意味着所有數據都會存到鏈上所有節點。
如果這個鏈接入了10個節點,數據存了10份一模一樣的;如果是1萬個節點,那數據存了1萬份,它也是一模一樣的,一個字節不錯、不丟,説明所有人都可以看到這個數據,也能驗證數據。
(如果)有少量的人篡改數據,其他人可以通過共識和驗證來拒絕修改,並且在發現修改之後懲戒篡改者。
所以,區塊鏈可以達成這樣幾個效果:
第一,數據難以篡改。要改,則必須算力達到50%以上,或者與鏈上所有或大部分共識記賬節點串謀,還是可以做到篡改,但這非常難,幾乎不可能實現。
第二,規則透明。因為智能合約在所有列的節點上是同樣的虛擬機和代碼,對同樣的輸入運行結果肯定是一樣的,是可驗證的。
第三,可追溯。既然大家都有所有數據,而且數據是含括了block 0到block最近高度,這就意味着可以追溯。
因為以上幾點,從而達成了區塊鏈最重要的特點——信任。但是,任何事情都具有兩面性。
説到區塊鏈上的隱私挑戰,首先定義一下隱私是什麼?你的個人數據和信息是隱私:除了你有多少資產、銀行存款、不動產等,還包括你跟誰交易,也就是銀行流水。
我之前遞交出國簽證申請,需要附上最近半年銀行流水和交税記錄。當時我很詫異,也很難接受,我覺得這些交易關係是我的隱私數據。
從流水中的交易信息,可以分析出交易時間、地點、交易對象、常用的交易類型是零售還是轉賬,這些都是你的行為模式。
現在所謂的大數據營銷,更多的就是基於你的身份、擁有資產、交易關係、交易頻率、行為模式等信息,來對你進行用户畫像,分析出你的習慣喜好。
還有一種是大容量數據文件,在商業場景較為常見。比如刷臉會留下視頻,籤合同會留下PDF文件,大量用户行為產生一堆大數據集,這其實都是隱私的、個人的、商業的數據。
所以,隱私是立體化的,它包含很多維度,各種場景、時間、行為都會產生隱私數據。
那區塊鏈上的隱私是怎麼表達的呢?
以前,大家都説比特幣和以太坊本來就是隱私的,但它隱私基礎的重點是匿名。在比特幣、以太坊上轉賬,用的是一個私鑰和私鑰生成的地址,並不包含用户聯繫電話、真實姓名、郵箱等個人信息,大家看到的就是一串密碼串。
比特幣網絡的創建者中本聰,到現在也沒有人知道他是誰。聽起來這是一個很成功的隱私保護方案。但是,如果你不注意私鑰保管,或者自己把地址公佈到某個論壇上,讓別人去給你轉賬,那就意味着這個地址在論壇上跟你的賬號綁定了。
如果你參與了某種交易所,登陸交易所需要個人手機號註冊、上傳身份證,這時你的地址就跟身份綁定;又或者是通過反洗錢、反恐融資策略——總之可以利用一些方法,將賬户跟你的個人身份聯繫上。
從技術手段來看,IP映射是指無論你在哪台計算機,發出哪個通信包,只要能被抓包下來,就可以分析包裏的很多信息,映射到你這台電腦,獲取你的賬號、地址等。社工分析也可以基於你論壇上的行為、個人朋友關係、動賬的交易關係進行跟蹤。如上圖所示,只要轉賬,就有關係網,這都是公開可追蹤的。
區塊鏈的特徵是透明、共享、可追溯、廣泛參與:
透明就意味着拓展了信息暴露的維度;
共享就意味着增加了數據存儲的位置,所有節點都存儲數據;
可追溯就意味着你的隱私數據存儲可能是永久的,並不是存儲一段時間後就刪掉丟棄,延長了隱私存儲時間,就很難被遺忘;
廣泛參與,是説區塊鏈作為分佈式網絡,一定是有各方共識的,這時,參與的網絡裏就可能有短板,而公開的網絡環境更容易摻入非信任角色,聯盟鏈在這一點上相對會好些。
所以,區塊鏈其實帶來了更大的隱私挑戰。有種説法是區塊鏈大量使用了密碼學,所以它是可信可驗證的,但其實這裏的因果關係要調換一下——是因為區塊鏈本身追求公開透明,為了在公開透明的基礎上達成信任和驗證,才要引入更多密碼學算法。
在工作中,我們會遇到很多靈魂拷問:
作為一個金融機構,每天的交易信息都是透明的嗎?
怎麼做到上鍊的數據可驗證,但又不被看到,更不會被竊取?
數據上鍊後,能不能刪掉?
加密數據會不會被暴力破解?
現在都用橢圓曲線、RSA算法、對稱非對稱加密,用很長的密鑰來保護數據。從數學理論上來説這些都可確保數據安全,但量子計算出來之後該怎麼辦?
……
個人認為,量子計算技術成熟到應用可能還沒這麼快,目前來看,量子計算的形態可以交換密鑰,但想要處理和破解大量數據還是比較難。
可是,對金融業來説,如果數據保留二、三十年,甚至永久保留,即使使用長密鑰加密,鏈上數據也可能被破解。父親的數據被破解,影響了兒子,影響幾代人,(這種現象)理論上是存在的。
當然,密碼學保護和攻擊的兩個陣營,是呈交叉螺旋上升式:你有矛,我就有盾,只是看矛和盾哪個硬,要用多少成本去保護數據。
假設一個借貸服務,涉及多機構共同參與,這些機構聯合為借貸人提供資質證明和資金,這就意味着這些機構要投票判斷用户信用、決定貸款利率等。
但金融有風控獨立的要求,就是a機構與b機構的規則應該是互相獨立、各自運作的,如果只有一套規則且全部透明就有可能被人猜到。
這還涉及到用户隱私問題,比如用户在a機構發生的交易數據,不應該直接交給b機構,a機構和b機構都應該用自己的數據和數據來對用户進行判斷。這些都是隱私保護。
徵信和風控有相似之處,但其中的不同是徵信要用大量的、多維度的有效數據,涉及到社保、銀行、税務各機構的多方參與。怎麼把不同維度、不同機構的數據連接在一起,整理出風控模型,這就自然而然聯想到聯邦學習。
下圖左側展示的場景類似二級市場:有發行、代理銷售,代理機構a不希望代理機構b知道自己的代理情況,用户不希望別人知道自己買入賣出,這都是個人賬務資產變化,屬於隱私信息。
現在確實有很多隱私保護的策略,像是零知識證明、安全多方計算、可信硬件環境、全同態密文計算等,還有相關規範標準,那是不是就能完整保護隱私了?我的觀點是,每種隱私保護策略各有所長,各有所短,它的長短可能都體現在性能、功能、複雜度和中心化程度上。
零知識證明和安全多方計算,就是隱私保護的核武器,非常有潛力。
但其也有侷限,比如零知識證明重點在於證明一個事物的有效性,而不在於運算,但用户的賬目、風控模型都涉及計算。
安全多方計算是可以用於聯合計算,但現在它處在從兩方向多方發展的階段,多方安全解決起來比較困難,牽涉成本、計算量、複雜度。
我們都知道,手機有個安全區,把密鑰保護在安全區可以降低安全風險——但一個大企業把成千上萬的數據保護在安全區,就相當於完全依賴安全區。安全軟硬件依舊會有漏洞,還是要及時升級,總的來看,依賴硬件體系的反應速度會比較慢。
同態非常有趣,兩個密文相加得到一個密文,密文解密之後是這兩個密文對應的明文相加的結果。它可以用於多種情況的賬目計算,但只能計算,很難驗證,也就是計算結果如果是錯的,在密文情況下無法得知。
而且,現在同態一般是用於加法計算,乘法計算的速度比較慢。另外,同態的數據量如果是比較大,那麼其數據膨脹和運算速度降低就會非常明顯。
羣/環簽名,它很輕也有不錯的性能,但主要面向身份,不面向數據。
規範和標準,依賴很多鏈外管理手段,比如懲罰、司法追責。我們要把這些手段全部綜合起來,在性能、功能、複雜度和中心化中取平衡,在不同的場景下揚長去短,來達到成本和效果的最優。那就要求從多維度考慮隱私保護,它是個立體的場景化問題。
身份、資產、交易,這是我們要保護的基本信息。
首先,這些信息是否可見?如果連數據都碰不到,那沒辦法利用這些數據做任何事情。
其次,能看到之後,我們能不能使用?如果看到的是一串密文,那無法使用,還可以運用混淆、脱敏的方式來保證這些信息不完整性。例如,有賬户信息,但沒有身份信息,這樣就無法被利用。
比如,密碼學有個密碼信封,只有信封密鑰的人才能打開。又或者是使用很多方式,比如一次一密的假名,來防止關聯,這樣就無法對用户進行畫像,外人可以看到的只是孤立的數據,沒有辦法對用户做什麼。
最後,就是你看到的數據能不能被控制。控制數據就是説,你們把我的賬轉給別人,改變我的屬性,我就要做權限控制,做安全加密的安全策略和多方制衡。
正如前文所述,區塊鏈有個特點:如果你改數據,別人不同意,共識算法不通過,我有拜占庭容錯,這就是一種多方制衡。
我們要達到幾個效果:看不見數據,不知道數據,不能改,但它在區塊鏈上依舊是可驗證、可監管。
這就是聯盟鏈的特點——要可監管、合法合規,這些要求要覆蓋鏈上整個生命週期,包括收集、傳輸、存儲、使用、屏蔽、銷燬。
生命週期的每個階段都有不同的特點,環境還牽涉網絡、存儲、內存計算和雲,要用不同的技術手段去應對。所以我們的整個版圖還是很龐雜,圖上的底層就是各種各樣的隱私技術,並不是一兩個算法、密碼承諾或者簡單的不經意傳輸就能夠涵蓋的。
聯盟鏈跟公有鏈最大的區別在於,聯盟鏈有准入機制。所有接入聯盟鏈的人、機構、節點、身份都是可知的,接入前需向運營委員會申請。
委員會是多中心化的,並非單點。如果大家同意你加入這個鏈,給你分配了證書、公私鑰,就可以接入這個鏈。方式是發起連接。如果這個人或節點在鏈上有惡意行為,委員會還可以把他踢掉。
機構參與業務時,有可能和不同的人發生交易,作為機構,會希望這些人裏沒有交集,這樣同業的傾軋、數據泄露等情況都不會發生。
我們研發的底層平台有一個羣組架構,就是在區塊鏈上拉出一個局部共識的獨立賬本。羣組裏信息互相隔離,羣可以擴容,也就是你可以建立無數個羣,覆蓋無數業務,這樣從性能、功能上來説都有極大好處。在不同的羣、不同的鏈上的不同信息需要互相驗證、打通,就走跨鏈的路徑,這項技術安全上是可控的。
角色隔離,首先要定義清楚,不同的人做不同的事情。有個術語叫DO分離,就是開發和運營分離,開發不能做運營的事情,運營也不用去寫代碼。
擴展一下,就是建設、管理和使用是分離的,避免一個角色又當裁判又當運動員,以免他觸達太多數據,可能會侵害隱私,這就是整個聯盟鏈的角色分層理念。
剛才説到了節點、人、權限的隔離,再看數據隔離。我經常被問到一個問題:要傳輸一個文件,能不能上鍊共享,但同時上鍊後不讓所有人都看到這個文件?這時,可以將文件加密再放上鍊。
還有一種文件不需要上鍊的方法,鏈上存儲的是一些標識或URL,是一些哈希,它們相當於文件的指紋。通過鏈上鍊下結合:鏈上建立哈希指紋,鏈下傳輸文件,用户可以在鏈上得到指紋,去驗證文件。
如果文件密級不高,可以用IFPS,但它是把文件分片,依舊可以串謀幾個計算機把文件分片聚集再拼出文件。如果是密級較高,還是建議用自有存儲的方式。
交易隔離,鏈下有些私有交易,是高頻、小額、點對點的,可以放到鏈下,像閃電網絡就是類似風格。這樣操作一方面可以提高性能和響應速度,更重要的是解決交易關係的問題。區塊鏈上的兩個人通過點對點網絡溝通,完全可以不經過服務器。所以點對點的過程是完全隱私的,只是最終產生了賬目,總賬裏不包含這種點對點交易的隱私信息。
這個協議是由DIF(全球分佈式身份基金會)與W3C(萬維網聯盟)國際標準化組織共同推進,目標是形成開放網絡,大家統一身份、互聯互通,做到數據無縫共享和流轉。這種模型可以連接人、物聯網、數據,服務各種各樣場景,包括金融、政務、醫療。
它是非常開放且通用的標準,參與其中的用户可以自行控制並擁有數據,這跟之前很多互聯網模型不太一樣。在互聯網模型裏,互聯網巨頭保存所有數據,我們説的在“雲”上,(其實)都在別人機房裏。用户只有一個登陸密碼,沒有管理和擁有數據的權限。
這是非常重要的一點:用户保存、控制自己的數據,這個數據是一種憑據,從權威機構,或是用户業務行為而來,它們不僅僅是數據,而是證明,是可信、可驗證的證明。
怎麼理解分佈式DID協議?
首先,用户要做KYC,比如刷臉,叫KYC生成標識。全局唯一標識,標識的樣子就是密碼串。中間這條豎線左邊所有東西都是用户自己持有和控制的,右邊是你要交出去的,中間就起到防火牆作用。
這裏有個隔離,誰找你要什麼數據,必須表明訪問策略,就像你的安卓手機安裝APP時,詢問你開啓攝像頭權限,也就是用户同意訪問策略,才會給出一個表述或披露。這個披露可驗證,但它是選擇性的最小化披露。
這就是隱私保護非常重要的模式:你保存管理自己的數據,明示同意,經過批准、審核之後,挑選一些數據,把它生成一個密文證明,給到對方去認證。因為區塊鏈連接了權威機構、用户、商家,所以在鏈上進行可信的驗證,就是區塊鏈和隱私保護的一個有機結合。
企業數據則涉及人、行為、業務的大量數據,如果要聯合做業務,就會考慮採用聯邦學習,在多家機構做到數據不出自己機構,還能夠訓練出一個有效模型。
這個模型就可以導入區塊鏈上,鏈上的行為,風控、交易匯率、信用評級、定價等等,都可以採用聯邦學習訓練出的模型,非常有意義。
不同目標要採用不同的算法,比如收集大量的數據,要做差分隱私;為了防止畫像而做假名化;數據脱敏再做同態加密,彙總到雲上,這都是大批量的羣體數據算法,適用於大數據挖掘以及聯邦學習等。
再來看看身份隱秘,其適用在匿名支付、匿名投票、匿名競拍場景。如果可以匿名,又可監管的話,用户就不用擔心自己的投票行為會招致別人非議。
數據隱秘,資產裏的數字、交易行為,都是數據。支付、投票、競拍,這都是場景。其中可能用到包括同態加密,零知識證明、安全多方計算、TEE等技術。這一系列的技術怎麼為業務所用?
前面提到這麼多隱私保護策略、數據維度和算法,一個場景不太會每個技術都用到,所以我們把這套技術整合成開發包方案,覆蓋從業務層、服務層、區塊鏈到智能合約的整體架構,不同的客户端用不同的密鑰,使用SDK和模板工具生成場景所需的隱私保護工程和策略。
值得一提的是,每個人的隱私偏好有所不同,但我們是以最嚴厲的隱私保護標準來做的,這樣對整個生態的未來才是健康的。我們的技術也是開放的,包括區塊鏈,絕大部分都是開源易用的,可以適配很多場景。
總結一下:隱私保護,機會和挑戰並存。隱私保護是立體化策略,去設計一個通用的隱私保護策略其實很難,我們現在做的是針對大量場景做有效實現,也歡迎大家一起研究實踐,一起達成技術、業務以及整個生態價值的突破。
CCF-GAIR 全球人工智能與機器人峯會———AI金融專場
歷屆 CCF-GAIR 已匯聚多位諾獎、圖靈獎得主,28位海內外院士,21位世界A類頂會主席,103位Fellow,400多位知名企業家以及100餘位VC創始人出席。
8月7日-9日,《AI金融評論》將在第五屆CCF-GAIR中舉辦「AI金融專場」,目前統計學“諾貝爾”— COPSS總統獎得主,摩根大通執行董事,世界頂級學會主席,金融巨頭首席科學家、首席風控官,已確認出席。
會議詳情與合作,可聯繫專場負責人周蕾,微信:LorraineSummer
雷鋒網雷鋒網雷鋒網