天天看點

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

隐私問題一直是區塊鍊應用落地的障礙問題之一,如何既能滿足監管,又能不侵害資料隐私,是行業都在攻克的問題。那麼,到底隐私問題為何難?有什麼解決思路,以及實踐創新呢?零知識證明、同态加密等技術,又能否解決問題呢?裸資料交易應如何控制?

雷鋒網ai金融評論報道,在5月11日由北京國家會計學院主辦,區塊鍊初創公司靈钛科技,能源區塊鍊實驗室,衆安科技、新加坡第三方支付公司omise協辦的

“區塊鍊在中國的應用與産業發展主題論壇” 上,chinaledger技術委員會主任白碩老師圍繞“區塊鍊中的隐私保護”的主題進行了講述。

白碩老師,現為chinaledger技術委員會主任,先後就讀于清華大學、北京大學,1990年獲得理學博士,曾任中科院計算所研究員、博士生導師,軟體方面首席科學家,2002年起任上海證券交易所總工程師。

據雷鋒網(公衆号:雷鋒網)ai金融評論現場了解,演講上,白碩老師除了介紹了chinaledger提出的基于中央對手方案,也對其他方案進行了拆解分析。他認為,在區塊鍊隐私問題上,目前技術的發展程度對隐私的保護還很差,但也不能認為這就是區塊鍊的固有局限,它還有可以改進的空間。

隐私保護是很重要的,而且有現實的需求;如果說馬上就要實作,等不得那些非常完美的方案,就要兼顧隐私強度和去中心化的程度,根據自身的應用場景找一個适當的平衡。隐私保護可以為區塊鍊進一步賦能,保護區塊鍊落地;同時可以把密碼技術加上區塊鍊在一起,加上原有的大資料,實作大資料的互通有無,催生化學反應和增值。 是以,從途徑看,長治久安型的理想的解決方案确實要抓緊研究,尤其是我們的密碼學界和區塊鍊跟落地直接相關,和跟技術、商業直接相關的這兩方要加快對接。此外短平快的解決方案能落地的也要盡快落地,大家要認清楚什麼是可以犧牲的,什麼是不能犧牲的,在裡邊找一個适合自身的方案。

以下是白碩老師演講原文,雷鋒網ai金融評論做了不改變原意的編輯:

原來是很多機關各記各的賬,但是這個賬本之間是有關聯的,如果上了鍊,大家就可以記同一本賬,這個邏輯上就集中了。然而,記這本賬的實體位置是分散的,但機器之間還要互相達成共識。是以,集中是邏輯的集中,分散是主宰權的分散。

但是,大家都記一本賬的場景之下就會出現一個問題:現金是私人的領域,包括其他區塊鍊上記載的資訊,也都需要隐私保護。而關于這個問題業界存在一些誤解,其中是兩種互相沖突的說法:一個說法是公開透明的,一個說法是區塊鍊是匿名的,但是這個匿名隻有位址是匿名的,而賬目是公開透明的。但是,區塊鍊隻能是這樣了嗎?其實不是,還可以改進;另一個是說區塊鍊隐私保護已經很好了?也不是,在這個問題上隐私保護還很差。

我們具體說賬戶:

一個賬戶由位址來标定,而一個位址的身份同一性無法掩蓋——這次用這個位址,下次用這個位址,當然長時間跨度,一個位址可能會轉給另一個人,但是在一段确定的時間範圍内,這個位址是同一個身份的人在用,這個無法掩蓋。

另外不同位址之間如果出現穩定的關聯交易,也是無法掩蓋的,還是有痕迹可以尋找。

第三,不同的位址之間還有一些趨同交易,就是一個人有個人的手法、有個人的密碼,或者說像指紋一類的驗證資訊,展現在人的交易行為中。這些交易行為如果出現趨同性,那是這個人不自覺留下的,也是無法掩蓋。

正因為有這些無法掩蓋的東西,看起來賬戶是匿名的,但是依然抵抗不了強監管。

對于賬目問題,行業在往兩個方向使勁:一個是往右,就是去中心化,指集體見證——我希望你是公開透明的,一公開透明就可以集體見證。但是另一方面,無論是法律法規的要求還是個人隐私權利的要求,還是幾個人私下之間做一件事,希望無關人士回避等這樣的要求,都要求這目不對無關的人開放。但是這樣就出現一個問題——不開放怎麼集體見證?

這看起來好像是沖突的,但是這個沖突是可以通過進階的技術來化解。

首先我們要區分兩種見證:

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

一種是所謂的事件的時序或者時間順序的見證。區塊鍊提供了時間先後順序不可更改的确定的時序,通過一種集體見證的方式在區塊鍊上得到見證。

同時還有所謂有效支付的見證,比如要防止雙花、透支、出負,這些工作在不同的區塊鍊模型下有不同的解決方法。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

utxo模型,比如這樣的場景:一張一張的支票,每個支票上有不同的面額,在支付的時候要把面額的總額和将要支付的标的進行比較,隻有當總額大于标的的時候,支付才有效。餘額模型會把這些都合并出餘額,把曆史上收到的些錢彙聚成一個總的餘額,這個餘額和你将要支付的标的之間也要進行比較。

這兩件事情,在比特币也好、以太坊也好,是通過一個環節完成的,但是實際上是兩件事情。在保護隐私的時候,其實就是希望還要對事件的順序,對有效支付都要有一個見證,但是有效支付的見證提出了更高的要求——我不看見這些具體的值,時間順序好像沒有什麼問題,加了密,它是這個時間發生的,我仍然可以确認它是這個時間發生的。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

但有效支付這個要求是有問題的——在看不見這些數額的時候,我又要确定誰比誰大;而如果我看見了,那隐私就洩露了。又不要讓人看見,又要确定誰比誰大,這比較難處理。我們可以把目前看到的一些解決隐私問題的技術投影到一個二維平面,這個二維平面其中一個坐标講的是隐私性本身的強和弱,另一個坐标講的是去中心化程度的強和弱,就是弱中心化和強中心化。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

按照這樣的劃法,我們就看到直線區分出兩個集團。線的右上角是比較完美的,它能夠徹底地或者說理想地去解決剛才說的這個問題——在不見到數額的情況下去做見證。而線的左下方采用的這樣一些技術,其實它是有所犧牲的,要麼犧牲了去中心化的特點,要麼犧牲了隐私強度的特點,它可能去中心化做得很好,但是隻能保證很弱程度的隐私保護,再強就保護不了了。要麼是隐私保護得很好,但是去中心化特點沒有辦法完美地保證。

而在這個線的底下,我們看到一種馬上可用,但是是犧牲了一些東西的方法。而在這個右上方,我們看到的是理想的,兩邊都不犧牲的,但技術上還沒有成熟的方法——它們在實作當中效率等各方面還達不到實用,或者很少有能達到實用。是以是尺有所長、寸有所短。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

這裡是零知識證明:

s先生、m先生、p先生,m先生是一個中間人,他出題,想了兩個數,這兩個數都是100以内的整數,然後把這兩個數加起來的和告訴了s先生,把兩個數的積告訴了p先生,然後我們就聽到了對話。s先生說我不知道a、b是多少;p先生說,我知道你不知道,我也不知道;s先生說,現在我知道了;p先生說,現在我也知道了。

假定諸位是旁邊的旁觀者u先生,聽到了他們的對話,如果沒有強大的數學知識,你會說我也知道了。整個這個過程看起來是不知道a、b是多少,但是這個過程已經不是零知識互動了,對這個狀态有所洩露,p先生說這個話又進一步有所洩露,而一來一去大家都知道了。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

這是一個數獨的題目,有人已經做出來了,他聲稱做出來了,但是又不想讓人知道是怎麼解的,怎麼辦呢?大家就可以互動,因為數獨要滿足行、列加起來,都是1-9不重複。這樣的特性可以把翻過來的紙片拿下來洗牌,洗完牌以後再翻開給大家看是不是1-9。每出示一個新的行、列或者小塊,大家對他解出來這個事情就多了一份信任。這就是零知識互動的過程,在整個過程當中,他沒有洩露任何跟他解法有關的東西,隻是把結果告訴大家。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

采用這個原理做的,大家比較熟悉的就是去年年底上線的zcash。zcash的原理是非互動式的零知識證明——一次性出示一個證明,而對方拿到這個東西可以一次性驗證,不需要再互動。我們可以把這個過程分成三個區域,底下的是使用者自己收到的支票,中間黃顔色的是目前這筆交易,我們看到一般的交易隻有三要素,就是誰給誰多少錢,發放方的位址、接收方的位址和轉賬的數額。

但是zcash就多了一個要素,就是零知識證明的資訊。這個資訊可以證明,虛線的最上面那個區域就是無關方面,他們又要代記賬,需要為你背書,又不知道誰給誰轉了多少錢;但是這個零知識證明的資訊傳上來了,可以驗證夠不夠支付。

基于零知識證明這個比較高深的密碼學原理,就能夠驗證你是否足夠完成本次支付。這種方法在不洩露本次轉賬的金額、發送方、接收方的位址,也不洩露之前的支票發送方、接收方的位址的情況下,就能夠做出是有效支付還是無效支付的判斷。對于有效的支付,他們就可以從挖礦的角度給予确認。

除了零知識證明,還有一個叫同态加密,我們可以看成在a和b之間存在一種數學運算——進行了這個數學運算就可以得到一個結果c,相關方看到的都是明文,但是無關方不需要看見a,也不希望看見b,也不希望看見c;如果等于c,就知道這個轉賬的來往,進而确認。因為價值是守恒的,等式要成立。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

同态加密想的辦法是做變換,把a、b、c變成fa、fb、fc,然後a和b之間的運算變成fa和fb之間的另外一種運算。但是這種運算是所謂同态映射,同态映射能夠做到先運算後加密和先加密後運算結果是一樣的。

有這個保證,我們就可不管使用者轉了多少錢,隻需知道賬是平(守恒)的,映射完後價值沒多沒少,之間是如何配置設定不用管,這就是同态加密的方法。

chinaledger提出了基于中央對手的方案,這個方案分成a鍊和b鍊,事件時序的見證在一條鍊上,而有效支付的見證在另外一條鍊上。這個實踐順序加密送出,送出為ccp——中央對手方,由中央對手方來解密、檢驗簽名、檢驗餘額,如果是有效就實作過戶,然後加密再回去。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

也就是說,時間順序在a鍊上進行了背書,而交易的有效性在b鍊上進行了背書,但是b鍊上并不是所有的參與者,而隻是法律上大家賦予了它這個職能的中央對手方。而中央對手方方案顯然有中心化色彩。是以結果是中心化色彩很強,但是隐私保護也很強。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

但是為了防止ccp本身去做壞事,還可以在b鍊上設定監管使用者——監管使用者既可以看到a鍊,也可以看到b鍊,隻要ccp和監管方不是共謀的,那麼監管方還可以把ccp的所有事情再檢驗一遍,這個就是chinaledger的方案。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

以太坊社群也提出了一個基于state channel的隐私保護方案:

一個賬本統一打一筆錢到智能合約裡,智能合約實作加密,中間的明細怎麼改變價值最終的版本等外邊是看不見的;等到最後交易完成,再把結果顯回到基礎上。是以中間過程部分的隐私是保護了,但是總額進來多少、出去多少,這些保護不了。

基于tear-off的隐私保護方案

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

這個是基于tear-off的隐私保護方案,相當于撕去敏感資訊的盲簽名,對敏感資訊和非敏感資訊進行分組,讓敏感資訊不出現。這樣的話相關人能看見敏感資訊,也能看見上邊的,無關人隻能看見上邊的。這種方案一定程度能保護隐私,比如交易的有效性,就需要敏感資訊,而敏感資訊是看不見的,交易的有效性在無關人就沒有辦法做背書,隻能由相關人做背書。

是以,這就引進了公證人這樣的角色——公證人屬于相關人,能夠接收到敏感資訊,是以能夠對交易的有效性進行驗證,但是公證人又不同于交易雙方,chinaledger做的就是基于ccp的公正,其實道理是相同的。

區塊鍊上價值是守恒的,也知道資料是不守恒的,很低的成本就可以拷貝。裸資料交易其實有很多的痛點,大家都覺得這是不可行的。

首先,賣出去的資料就像潑出去的水,一擴散出去就别想控制它向更遠的地方擴散了。

還有資料的權屬問題,有沒有權利賣?它是在經營過程當中形成的,但是資料的所有者可能不是你。舉個例子,病曆是病人在醫院看病的過程當中形成的,但是病曆的所有者是病人,不是醫院,醫院沒有權利賣這些資料。

還有是洩密。不是所有資料都可以賣,有些資料很敏感,賣出去以後是洩露别人的秘密。

但是不賣的話,資料在自己手裡能夠帶來的價值又很有限,是以賣也不是,不賣也不是。

那麼,如果不賣裸資料,而賣資料api的使用權,就是賣一種服務行不行?但這遇到兩個問題:

第一個是拖庫,我賣的是f(x);再一個是計量記賬的問題,用了多少次這個資料,沒有公認的計量的話就說不清楚。當然也有好處,反正這個x是沒拿走的,隻是賣一個f(x),那個x不是自己的也沒關系,隻是賣一種服務。

另外一種可能是以物易物。給别人開放一個接口,别人也給我開放一個接口,但問題是:使用權是不是成立?

智能合約也有一個問題,就是智能合約資源的控制——資源的使用是花費的。智能合約有一個gas的概念,舉一個場景的例子:大家各自擁有自己的資料,x和y是不曝露出來的,而曝露出來的是場景和接口,輸出的是服務——這些服務在使用者使用的時候,實際上可以用區塊鍊進行計量,那麼交易明細實際上可以直接跟付費挂鈎,銀行可以直接轉走這個付費,也可以在區塊鍊使用代币來進行支付,這樣區塊鍊大資料的使用就完蛋了。

獨家| ChinaLedger白碩:區塊鍊中的隐私保護

資料單獨的使用價值有限,而不同領域的資料一旦實作關聯,可能就會出現化學反應,進而給資料帶來增值。是以我們看到三個空間,自己的資料放在封閉空間裡,然後經過接口曝露,放出來的服務資料在開放空間裡,而這個資料的化學反應是在增值空間裡。

背靠背求交集

背靠背求交集,這是一種競合關系,兩方又要同時跟對方共享兩個集合的交集,但是又不想對方看到這個全集。這個曾經有一個不靠譜的做法,就是引入第三方——為了求交集,第三方拿到了并集——第三方太便宜了,我們可能還要給他付費,而付費還不便宜,這樣的做法很危險。

也有一些沒面子的做法,實在是沒有技術手段了才這麼辦?大家帶着盤到現場,緊盯着對方操作,操作完了以後看着對方把硬碟砸掉。

如果大家都用哈希怎麼樣呢?也不行,如果一方老實地把自己的集合拿出來;不老實的一方,把電話号碼做一個全集,一求交集就把你的資料拿出來了。也可以窮舉,這個也是不靈的。

那怎麼辦?解決的途徑是混淆,通過混淆能夠實作背靠背求交集,自己不曝露自己的全集,而且一方面想拿到另一方的全集——事實上這樣計算上付出的代價也很大,實際上是不可能的一件事情,這樣給大家背靠背求交集帶來了一種希望。

隐私保護是很重要的,而且有現實的需求;如果說馬上就要實作,等不得那些非常完美的方案,就要兼顧隐私強度和去中心化的程度,根據自己的應用場景找一個适當的平衡。

從途徑看,長治久安型的理想的解決方案确實要抓緊研究,尤其是我們的密碼學界和區塊鍊跟落地直接相關,和跟技術、商業直接相關的這兩方要加快對接。此外短平快的解決方案能落地的也要盡快落地,大家要認清楚什麼是可以犧牲的,什麼是不能犧牲的,在其中找一個适合自己的方案。

隐私保護可以為這個區塊鍊進一步的賦能,在一些如果沒有隐私保護區塊鍊就沒有辦法落地的場景上,保護區塊鍊落地;隐私保護也可以為大資料護航,把密碼技術加上區塊鍊,加上原有的大資料,進而實作大資料的互通有無,實作化學反應和增值。

本文作者:溫曉桦

繼續閱讀