公共鏈面臨的主要挑戰(zhàn) 3 有限的隱私保護(hù)

Preethi Kasireddy瘦棋,?medium.com?(來源)


? ? ? ? 鑒于區(qū)塊鏈交易并不直接與您的身份掛鉤,它們可能顯得更私密肮柜。世界上任何人都可以匿名創(chuàng)建一個(gè)新的錢包擦俐,并使用它進(jìn)行交易檬嘀。

? ? ? ? 但是槽驶,這不是這么簡(jiǎn)單。

? ? ? ? ?一方面鸳兽,這項(xiàng)技術(shù)的大的方面就是應(yīng)用假名:所有交易是記錄和存儲(chǔ)在公共賬本中的掂铐,但是它們僅與一個(gè)個(gè)由數(shù)字和字母組成的賬戶地址相關(guān)聯(lián)。由于這個(gè)地址沒有真實(shí)世界的身份揍异,交易的創(chuàng)始人似乎無法跟蹤全陨。

? ? ? ? 然而,這種完全安全是一種誤導(dǎo)衷掷。只要化名不與個(gè)人聯(lián)系在一起辱姨,一個(gè)人就可以保護(hù)自己的隱私是一個(gè)事實(shí),但是只要有人與化名發(fā)生聯(lián)系戚嗅,秘密就顯露出來雨涛。這方面的一個(gè)典型的例子就是,執(zhí)法機(jī)構(gòu)承認(rèn)他們能夠在調(diào)查過程中識(shí)別特定的比特幣用戶渡处,這些“去匿名化”镜悉,違背了區(qū)塊鏈交易完全隱秘的承諾。

? ? ? ?這個(gè)去匿名化是如何實(shí)現(xiàn)的医瘫?

? ? ? ? 商家網(wǎng)站上的網(wǎng)絡(luò)跟蹤器和cookies使得交易人信息泄漏到網(wǎng)絡(luò)上變得非常容易,任何人(包括政府旧困,執(zhí)法機(jī)構(gòu)和惡意用戶)都可以隨時(shí)使用這些信息醇份。

? ? ? ?此外,像以太坊這樣的區(qū)塊鏈平臺(tái)吼具,用戶通過智能合約進(jìn)行交互僚纷,而不僅僅是簡(jiǎn)單的價(jià)值轉(zhuǎn)移。關(guān)于這些智能合約的所有細(xì)節(jié)在以太坊區(qū)塊鏈上都是公開的拗盒,包括發(fā)件人和收件人怖竭,交易數(shù)據(jù)本身,執(zhí)行的代碼以及合約中存儲(chǔ)的狀態(tài)陡蝇。

? ? ? ?將關(guān)鍵業(yè)務(wù)數(shù)據(jù)上傳到區(qū)塊鏈上后痊臭,黑客,競(jìng)爭(zhēng)對(duì)手或其他未授權(quán)方就都可以查看區(qū)塊鏈上的信息登夫,這對(duì)大多數(shù)公司來說都不會(huì)同意不會(huì)這樣做的广匙。原因如下:

電子病歷,這是非常私人和敏感的信息恼策。在公共區(qū)塊鏈上公開顯示這些信息是不可接受的鸦致,從而危及病人的機(jī)密性。

身份驗(yàn)證數(shù)據(jù),如社會(huì)安全號(hào)碼分唾,不能公開存儲(chǔ)在公共智能合同中抗碰。

憑證管理,如密碼和密鑰绽乔,在開放的弧蝇,最終不安全的智能合同中無法寫入的。

財(cái)務(wù)報(bào)告迄汛,如資產(chǎn)表或員工工資等文件不可能與公開的捍壤,易于追溯的區(qū)塊鏈地址發(fā)生聯(lián)系。

還有其他的例子鞍爱。

對(duì)于隱私和個(gè)人主權(quán)的個(gè)人鹃觉,組織和行業(yè)來說,隱私仍然是一個(gè)根本的障礙睹逃。我們中許多癡迷于區(qū)塊鏈和密碼貨幣的公司都有興趣建立一個(gè)不受信任和審查制度盗扇,為個(gè)人提供財(cái)務(wù)支持。矛盾的是沉填,我們正在使用一個(gè)公開的疗隶,易于追蹤的分類賬來做到這一點(diǎn)。 (每當(dāng)我想起來的時(shí)候我就會(huì)溜號(hào)R砟帧)

隱私解決方案

以下是幾個(gè)不同開發(fā)團(tuán)隊(duì)一直在努力的解決方案斑鼻。

1. 橢圓曲線Diffie-Hellman-Merkle(ECDHM)地址

要了解ECDHM地址,您需要了解Diffie-Hellman密鑰交換猎荠。 Diffie-Hellman密鑰交換背后的想法是它建立了雙方之間的共享秘密坚弱。這可以用來在公共網(wǎng)絡(luò)上私下交換信息。

過程是关摇?

發(fā)件人和收件人可以公開共享ECDHM地址荒叶,然后使用他們的共享密碼來獲取匿名比特幣地址。這些比特幣地址只能由擁有這個(gè)秘密的人公布输虱。唯一公開可見的是可重復(fù)使用的ECDHM地址些楣。因此,用戶不必?fù)?dān)心交易被跟蹤宪睹。


通過使用顏色而不是非常大的數(shù)字說明密鑰交換的一般概念的概念圖(來源:https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)

ECDHM地址方案的一些例子包括Peter Todd的Stealth Addresses愁茁,Justus Ranvier的BIP47可重復(fù)使用支付代碼,Justin Newton的BIP75波段地址交換等等横堡。但是埋市,這些方案的具體實(shí)現(xiàn)和實(shí)際使用是很少的。

2. 混合器

混合器的設(shè)想是命贴,一群人可以將他們的付款合并成一個(gè)交易池道宅,跟蹤私人賬本上的債務(wù)食听。然后,當(dāng)從交易池中獲得資金時(shí)污茵,每筆付款的來源都會(huì)被掩蓋樱报。任何觀察區(qū)塊鏈的人都可以看到所支付的金額以及收款人,但理論上泞当,無法追蹤付款的人迹蛤。混合器的一個(gè)例子是CoinJoin襟士。


來源:https://en.wikipedia.org/wiki/CoinJoin

不幸的是盗飒,混合器已被證明是不可靠的解決方案。例如陋桂,研究人員能夠輕松識(shí)別CoinJoin的交易逆趣,并證明識(shí)別的正確,只是需要支出32,000美元的成本嗜历,攻擊者就能夠以90%的機(jī)會(huì)成功實(shí)現(xiàn)交易的去匿名宣渗。進(jìn)一步, 研究人員也證實(shí)混合器只能提供非常有限的保護(hù)對(duì)于Sybil攻擊和Denial-of-Service 攻擊梨州。

更令人不安的是痕囱,混合器的私人賬本需要由一些中央機(jī)構(gòu)進(jìn)行管理,這意味著它需要一個(gè)值得信賴的第三方來“混合”交易暴匠。

由于CoinJoin是供用戶選擇是否使用的解決方案鞍恢,而不是默認(rèn)的方法,因此歷史上很少有人選用加入混合器的交易池每窖,結(jié)果就是這使得匿名產(chǎn)生的交易池很小有序。因此,很容易確定一個(gè)特定的輸出是來自少數(shù)幾個(gè)人中的某一人岛请。

混合器解決方案的另一個(gè)例子是CoinShuffle,這是一個(gè)由德國(guó)薩爾大學(xué)的一組研究人員開發(fā)的分散混合協(xié)議警绩。 CoinShuffle試圖通過不需要可信的第三方來組裝混合交易來改進(jìn)CoinJoin崇败。

3. Monero

解決隱私問題的另一種方法是創(chuàng)建默認(rèn)情況下私密的加密貨幣,如Monero肩祥。與許多山寨幣不同后室,Monero不是比特幣的分支。相反混狠,Monero基于另一種協(xié)議CryptoNote岸霹。

Monero提供的主要功能是另一種“環(huán)形簽名”方案。

環(huán)簽名是一種組簽名将饺,組中的每個(gè)簽名者都有一個(gè)秘密和公鑰贡避。與傳統(tǒng)的加密簽名不??同痛黎,它證明一個(gè)交易是由一個(gè)簽名者使用一個(gè)所述私鑰“批準(zhǔn)”的,而一個(gè)簽名組證明一個(gè)固定組的簽名者批準(zhǔn)了一個(gè)交易刮吧,而不會(huì)泄露誰湖饱。

4. 零知識(shí)證明

零知識(shí)證明是證明者設(shè)法讓驗(yàn)證者相信自己擁有一些秘密知識(shí),而不必直接展示該秘密知識(shí)杀捻。換句話說井厌,一個(gè)程序可以有秘密的輸入,證明者沒有向驗(yàn)證者展示任何東西致讥。零知識(shí)證明提供了可用于構(gòu)建隱私保護(hù)機(jī)制的基礎(chǔ)仅仆。應(yīng)用的例子包括:


示例1:挑戰(zhàn)/反應(yīng)游戲

在計(jì)算機(jī)安全方面,質(zhì)詢 - 響應(yīng)認(rèn)證是一個(gè)協(xié)議族垢袱,其中一方提出一個(gè)問題(“質(zhì)疑”)墓拜,而另一方必須提供一個(gè)有效的答案(“答復(fù)”)進(jìn)行認(rèn)證。這個(gè)“游戲”可以在區(qū)塊鏈上用來驗(yàn)證交易惶桐。如果一個(gè)特定的事務(wù)是無效的撮弧,另一個(gè)節(jié)點(diǎn)可以選擇“提示注意”來證明無效。這就要求提供可證實(shí)的證據(jù)姚糊,證明交易是無效的贿衍。如果不這樣做,就會(huì)產(chǎn)生一個(gè)“挑戰(zhàn)”救恨,要求交易的發(fā)起者提供一個(gè)證明交易有效的“回應(yīng)”贸辈。

舉一個(gè)例子:假如“鮑伯”只是訪問一些資源(例如他的車)。愛麗絲現(xiàn)在也想訪問它肠槽,所以她可以開車去雜貨店擎淤。鮑勃發(fā)出了一個(gè)挑戰(zhàn),假如是“52w72y”秸仙。愛麗絲必須用適合鮑勃發(fā)出的挑戰(zhàn)的一串字符來回應(yīng)嘴拢。通過使用只有Bob和Alice知道的算法來找到答案是唯一方法。而且寂纪,鮑勃每次都會(huì)發(fā)出不同的挑戰(zhàn)席吴。因此,知道以前的正確答案并不會(huì)給Alice帶來任何優(yōu)勢(shì)捞蛋。

挑戰(zhàn)/反應(yīng)游戲已經(jīng)在像以太坊這樣的區(qū)塊鏈中得到使用孝冒。但是,我們需要代碼庫和開發(fā)工具來使這類的認(rèn)證方案更加容易使用拟杉。

例2:zkSNARKs

什么是zkSNARKs庄涡?我們來看看不同字母的含義:

zk =零知識(shí)。不需要展示信息出來就可以證明信息存在

SNARK:簡(jiǎn)潔的知識(shí)非交互式自適應(yīng)參數(shù)搬设。

“簡(jiǎn)潔”是指可以快速驗(yàn)證的簡(jiǎn)潔證明穴店。

“非交互”意味著不要求驗(yàn)證者與證明者直接進(jìn)行交流撕捍。替代的方法是,證明者可以提前發(fā)布證明迹鹅,驗(yàn)證者可以確認(rèn)它是正確的卦洽。

“適應(yīng)性的知識(shí)論”意味著一些計(jì)算知識(shí)的證明。

雖然我希望有一天能夠在一篇文章中介紹zkSNARK斜棚,但是我會(huì)跳過這里的技術(shù)細(xì)節(jié)阀蒂。 zkSNARKs是一個(gè)令人興奮和有前途的隱私建設(shè)區(qū)塊,有幾點(diǎn)注意事項(xiàng):

1)SNARKs是資源密集型的弟蚀。

2)SNARKs允許用戶證明他們可以訪問一個(gè)秘密蚤霞,但是用戶有責(zé)任維護(hù)秘密并只是在需要時(shí)才使用它。

3)SNARKs有一個(gè)設(shè)置階段义钉,在這個(gè)階段昧绣,需要證明該路徑或者其計(jì)算是固定的。這個(gè)階段需要事先在相互已經(jīng)取得了信任的人群中進(jìn)行捶闸。這不僅要求您相信前期設(shè)置的人員夜畴,還意味著SNARK不適合運(yùn)行任意計(jì)算,因?yàn)橛?jì)算總是需要有準(zhǔn)備階段删壮。

示例3:zkSNARKs + Zcash

Zcash是基于zk-SNARKs的隱私保護(hù)加密貨幣贪绘。 Zcash擁有所謂的“屏蔽交易”,即所有使用的硬幣都有一個(gè)匿名集合央碟。屏蔽交易使用“屏蔽地址”税灌,要求發(fā)送者或接收者生成一個(gè)零知識(shí)證據(jù),允許其他人驗(yàn)證交易的加密數(shù)據(jù)亿虽,而不會(huì)被泄露菱涤。


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Zcash交易圖

Zcash絕對(duì)是一個(gè)有趣的項(xiàng)目,值得關(guān)注洛勉。

例4:zkSNARKs +以太坊

在以太坊的下一個(gè)協(xié)議升級(jí)中粘秆,Metropolis,開發(fā)者將有能力有效驗(yàn)證鏈上的zk-SNARKs收毫。

在應(yīng)用了SNARKs的以太坊上我們可以做什么翻擒?某些合同變量可以被有效地私有化。取代存儲(chǔ)秘密信息在鏈上牛哺,它可以存儲(chǔ)信息在用戶哪里,那些可以證明他們遵守合同規(guī)則使用SNARKs的用戶劳吠。這些用戶中的每一個(gè)都需要獲得自己可信任的過程引润,這會(huì)增加一些準(zhǔn)備工作。但是痒玩,一旦路徑存在淳附,就可以根據(jù)需要使用于盡可能多的交易中议慰。

然而,以太坊上的SNARKs無法做到的是奴曙,獨(dú)立于用戶的自治性隱私别凹。由于以太坊上的SNARKs依靠用戶維護(hù)秘密的外鏈,如果沒有這個(gè)用戶洽糟,無法追蹤這個(gè)秘密炉菲。

例5:zkSTARKs

ZK-SNARKs有一個(gè)更新的,更閃亮的表親:ZK-STARK坤溃,'T'代表“透明”.ZK-STARK解決了Zk-SNARKs的主要弱點(diǎn)之一:依賴于可信賴的預(yù)先設(shè)置拍霜。它們也更簡(jiǎn)單,因?yàn)樗鼈兗兇庖蕾嚬S?jì)算和信息理論薪介,并且更安全祠饺,因?yàn)樗鼈儾皇褂脵E圓曲線或指數(shù)假設(shè)。

總的來說汁政,盡管在隱私保護(hù)方面取得了令人驚嘆的進(jìn)展道偷,但是仍然有很多工作要做。零知識(shí)證明軟件庫需要進(jìn)行大量的研究记劈,實(shí)戰(zhàn)檢驗(yàn)和完善勺鸦。 zkSNARKs和zkSTARKs需要在各種公共鏈上進(jìn)行實(shí)驗(yàn)。 Zcash需要在現(xiàn)實(shí)世界的場(chǎng)景用例中大規(guī)模地證明抠蚣。我們?nèi)匀贿€無法應(yīng)用這一方法祝旷。

5. 代碼混淆

另一個(gè)隱私保護(hù)機(jī)制是代碼混淆。目標(biāo)是找到一種混淆程序P的方法嘶窄,使得混淆器可以產(chǎn)生第二個(gè)程序O(P)= Q怀跛,使得如果給定相同的輸入,則P和Q返回相同的輸出柄冲,但是Q不顯示關(guān)于P的內(nèi)部結(jié)構(gòu)吻谋。這使得我們可以隱藏Q中的私有數(shù)據(jù),如密碼现横,社會(huì)安全號(hào)碼等漓拾,但仍然可以在程序中使用它。

雖然研究人員聲稱戒祠,黑盒混淆是不可能的骇两,但研究人員認(rèn)為弱化的混淆,不可區(qū)分性混淆器姜盈,是可以實(shí)現(xiàn)的低千。不可區(qū)分性混淆器O的定義是,如果你取兩個(gè)等價(jià)的程序A和B(即同一個(gè)輸入到A或B產(chǎn)生相同的輸出)并且計(jì)算O(A)= P和O(B)= Q馏颂,那么那里對(duì)于沒有訪問A或B的人來說示血,對(duì)于P是來自A還是B來說棋傍,沒有計(jì)算上可行的方法。


最近难审,研究人員Craig Gentry瘫拣,Amit Sahai等,已經(jīng)能夠完成不可區(qū)分的代碼混淆告喊。但是麸拄,該算法需要很大的計(jì)算量。

如果這個(gè)架構(gòu)可以獲得改進(jìn)葱绒,潛在的好處是巨大的感帅。在加密貨幣世界中,最令人感興趣的可能性是區(qū)塊鏈合同包含有私密信息地淀。

例如失球,我們可以想象一個(gè)以太坊合約,它包含一個(gè)用戶密碼給Coinbase帮毁。然后实苞,我們可以編寫一個(gè)程序,如果合同的某些條件得到滿足烈疚,合同將使用一些中間節(jié)點(diǎn)與Coinbase發(fā)起HTTPS會(huì)話黔牵,使用用戶的密碼登錄并進(jìn)行交易。由于合同中的信息將被混淆爷肝,中間節(jié)點(diǎn)或區(qū)塊鏈中的任何其他玩家將無法修改正在運(yùn)輸?shù)恼?qǐng)求或確定用戶的密碼猾浦。

6. Oracles

在區(qū)塊鏈空間中,一個(gè)Oracle是在智能合約和外部數(shù)據(jù)源之間傳遞信息的一方灯抛。它本質(zhì)上充當(dāng)區(qū)塊鏈上智能合約與區(qū)塊鏈外部數(shù)據(jù)源之間的數(shù)據(jù)載體金赦。因此,保持信息“私密”的一種方法就是使用Oracle從外部數(shù)據(jù)源獲取隱私信息对嚼。

7. 可信執(zhí)行環(huán)境

可信執(zhí)行環(huán)境(TEE)是主處理器的安全區(qū)域夹抗。它保證內(nèi)部加載的代碼和數(shù)據(jù)在保密性和完整性方面得到保護(hù)。這種可信賴的環(huán)境與面向用戶的操作系統(tǒng)并行運(yùn)行纵竖,但比面向用戶的操作系統(tǒng)更加私密和安全漠烧。


資料來源:https://www.slideshare.net/JavierGonzlez49/operating-system-support-for-runtime-security-with-a-trusted-execution-environment-phd-thesis

早期的研究和開發(fā)正在進(jìn)入TEE,以確定如何使用它們來實(shí)現(xiàn)區(qū)塊鏈上的隱私靡砌。我個(gè)人非常期待已脓,有更多的安全專家來解決這些問題。這方面的確需要更多的專家來通殃。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末摆舟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌恨诱,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骗炉,死亡現(xiàn)場(chǎng)離奇詭異照宝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)句葵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門厕鹃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乍丈,你說我怎么就攤上這事剂碴。” “怎么了轻专?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵忆矛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我请垛,道長(zhǎng)催训,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任宗收,我火速辦了婚禮漫拭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘混稽。我一直安慰自己采驻,他們只是感情好匈勋,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布礼旅。 她就那樣靜靜地躺著颓影,像睡著了一般各淀。 火紅的嫁衣襯著肌膚如雪诡挂。 梳的紋絲不亂的頭發(fā)上碎浇,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音璃俗,去河邊找鬼奴璃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛城豁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼雳旅,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了攒盈?” 一聲冷哼從身側(cè)響起抵拘,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎型豁,沒想到半個(gè)月后僵蛛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迎变,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年充尉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了衣形。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驼侠。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泵喘,死狀恐怖泪电,靈堂內(nèi)的尸體忽然破棺而出纪铺,到底是詐尸還是另有隱情相速,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布突诬,位于F島的核電站,受9級(jí)特大地震影響旺隙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骏令,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榔袋。 院中可真熱鬧周拐,春花似錦凰兑、人聲如沸妥粟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至播急,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桩警,已是汗流浹背惭笑。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工生真, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捺宗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓长已,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親术瓮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容