如今,隱私在數(shù)字貨幣中是一個重要主題,這已經(jīng)不是什么秘密了。無論是公司還是個人都不希望將自己的所有信息發(fā)布到公共區(qū)塊鏈上,因為這些信息可以在不受本國政府、外國政府、家庭成員、同事或商業(yè)競爭對手的任何限制下被任意讀取。目前有很多實驗和研究涉及區(qū)塊鏈的各種隱私保護方法,但我們還沒有看到該類別的全面概述。
本文作者Richard Chen,由格密鏈社區(qū)的馬佳敏翻譯。
在這篇文章中,我們將涵蓋隱私領域四個方面的最新實驗和研究:1)隱私數(shù)字貨幣,2)智能合約中的隱私,3)隱私基礎設施,4)隱私保護研究。
?
比特幣最初是作為一種匿名加密貨幣開發(fā)的,只要現(xiàn)實世界的身份不能與比特幣地址聯(lián)系起來,它就能保證隱私。然而,由于比特幣區(qū)塊鏈的公共性,很容易就可以根據(jù)某些特定地址和交易的使用模式來識別個人。此外,節(jié)點在廣播交易時泄漏其IP地址。
2013年,Meiklejohn等人成功識別出了屬于在線錢包、商家和其他服務提供商的集群。如今,像Chainalysis和Elloptic等服務商都將區(qū)塊鏈去匿名化,以檢測洗錢、欺詐和違規(guī)行為。
在這個例子中,一個觀察者可以看到{Alice,Bob}將比特幣發(fā)送給{Carol,Ted},但無法準確地說出誰向誰匯款。對不同的用戶多次重復這個過程,匿名集增長。
為了應對比特幣隱私受到的侵蝕,Tumbler服務應運而生,例如CoinJoin等,用于提高比特幣的匿名性。在CoinJoin中,用戶共同創(chuàng)建用于換取其數(shù)字貨幣所有權(quán)的交易,使整組中的每個用戶都匿名。然后在不同的用戶間重復這個過程來增長匿名集。犯罪分子一直使用Tumbler服務將可識別的比特幣與其他基金混合在一起,來掩蓋追溯到基金原始來源的蹤跡。
然而,CoinJoin也有其缺陷。CoinJoin的隱私依賴于龐大的匿名集。但實際上,每次CoinJoin交易平均只有2-4名參與者,因此研究人員能夠?qū)?7%的CoinJoin交易實現(xiàn)去匿名。后來在對CoinJoin的改進中激發(fā)了更好的數(shù)字貨幣Tumbler的設計,例如TumbleBit,但是TumbleBit也有局限性。
隱私數(shù)字貨幣
由于比特幣缺乏隱私,而且目前并沒有計劃在協(xié)議層面上改善其隱私,因此一些新的數(shù)字貨幣孕育而生,用來支持私人交易。
Zcash是由一個強大的學術(shù)型密碼團隊使用zk-SNARKs構(gòu)建的。Goldwasser、Micali和Rackoff在1985年提出了“零知識證明”。zk-SNARKs是由EliBen-Sasson等人在2015年開發(fā)的,它是對零知識證明的一種改進,它允許人們在不透露信息的情況下簡潔而非交互地證明自己知道某件事。zk-SNARKs為許多與隱私相關的項目提供了技術(shù)支持,還可以使用一種名為遞歸組合(recursive composition)的技術(shù)壓縮區(qū)塊鏈的大小。
目前,Zcash團隊正在致力于Sapling項目,這是對網(wǎng)絡的性能升級,將改善加密交易的性能和功能,并計劃于2018年10月啟動。由于發(fā)送加密交易的計算開銷非常大,因此大約85%的Zcash交易仍以明文形式發(fā)送,而Sapling項目有望提高加密交易的數(shù)量。
Monero是另一種使用ring signatures而不是zk-SNARKs的隱私數(shù)字貨幣。目前,Monero團隊正在構(gòu)建Kovri來實現(xiàn)一種保護隱私數(shù)據(jù)包的路由,以便用戶可以隱藏其地理位置和IP地址。匿名用戶的網(wǎng)絡流量將大大提高Monero網(wǎng)絡的安全性,并保護用戶不因使用Monero而被逮捕或遭受人身傷害。
Zcash和Monero經(jīng)常被拿來比較。這兩個社區(qū)都是由Twitter的名人領導的——Zooko Wilcox代表Zcash,Riccardo “fluffypony” Spagni代表Monero,但不同于Zcash(Zcash是由一家公司和一家基金會支持的),Monero只有一個由核心開發(fā)者組成的系統(tǒng)社區(qū)。這兩個項目的匿名性甚至都存在缺陷,這些缺陷現(xiàn)已被修復——研究人員能夠?qū)?9%的Zcash加密交易與創(chuàng)始人/礦工聯(lián)系起來,也能將62%的Monero交易去匿名。
然而,這兩個項目在本質(zhì)上采用了截然不同的隱私保護方法,并采用了不同的權(quán)衡方式,到目前為止,還沒有明確的案例說明,為什么一個項目會在長期內(nèi)勝過另一個項目。在我看來,Zcash和Monero將繼續(xù)像可口可樂和百事可樂一樣共存。
Mimblewimble是一個新的專注于隱私的區(qū)塊鏈項目,它是基于比特幣所設計出來的。2016年7月19日,“Tom Elvis Jedusor”把白皮書丟進了一個比特幣研究頻道,消失了。后來,“Ignotus Peverell”開始了一個名為Grin的Github項目,并開始將Mimblewimble論文從理論轉(zhuǎn)向真正的實現(xiàn)。Blockstream公司的Andrew Poelstra在2017年斯坦福BPASE會議上展示了這項工作,之后Grin開始得到了主流的關注。Grin的第三個測試網(wǎng)已經(jīng)發(fā)布,主網(wǎng)預計在2019年初發(fā)布。
Mimblewimble/Grin是對比特幣的保密交易和CoinJoin的改進。主要功能包括無需公共地址,完全的隱私,和一個緊湊的區(qū)塊鏈。最近,Grin幣的開采引起了很多關注,因為Grin幣類似于比特幣,只能通過PoW挖礦來鑄幣。Grin使用Cuckoo Cycle PoW算法,該算法最初是為抗ASIC而設計的算法,但現(xiàn)在被認為是ASIC友好的。
總的來說,Grin結(jié)合了令比特幣如此強大的社會特性——匿名創(chuàng)始人、無領導的開發(fā)團隊、PoW共識、沒有ICO,沒有鏈上治理,以及對Zcash和Monero的技術(shù)改進。與比特幣不同的是,Grin幣的發(fā)行量是無限的,其貨幣政策是線性供應計劃,這意味著通貨膨脹在早期非常高,但隨著時間的推移逐漸接近(而不是達到)零。在網(wǎng)絡啟動后,早期的通貨膨脹是一種激勵措施而不是投機。盡管持續(xù)的通貨膨脹使Grin并不能成為一種理想的價值儲存手段,但一旦比特幣的區(qū)塊獎勵消失、礦工只能賺取交易費,此時它就避免了比特幣的不穩(wěn)定性。
Grin新穎的貨幣政策避免了有爭議的Zcash創(chuàng)始人的報酬問題,即20%的新鑄造的ZECs在最初的4年里給予項目開發(fā)者。MimbleWimble區(qū)塊鏈的大小也與用戶數(shù)量而不是交易數(shù)量成比例,從而避免了使用Monero的ring signatures的UTXO集的縮放問題。
其他有趣的隱私加密貨幣仍處于早期開發(fā)階段,包括MobileCoin和BEAM。
智能合約中的隱私
智能合約中的隱私與支付中的隱私不同,因為智能合約公開包含的程序代碼。不幸的是,程序混淆被證明是不可能的,因此智能合約目前既缺乏保密性(隱藏付款金額),也缺乏匿名性(隱藏發(fā)送方和接收方的身份)。
在我看來,當企業(yè)準備大規(guī)模開發(fā)dApps并需要隱藏客戶的活動時,對智能合約隱私的強烈需求就會到來;目前,對所有人來說,使用CryptoKitties這樣的dApps并沒有什么不好的地方。這可能類似于互聯(lián)網(wǎng)最初是如何在基礎網(wǎng)站上使用HTTP啟動的,后來又為需要加密網(wǎng)絡流量的網(wǎng)站(如電子商務)引入了HTTPS。
在以太坊的案例中,Zether是斯坦福大學Benedikt Bunz正在進行的一項研究,研究的是一種完全與以太坊相兼容、能夠為以太坊的智能合約提供保密和匿名的私人支付機制。Zether將作為以太坊智能合約的實施條件,并將使用最少的gas。Zether還具有多種用途,可以為支付渠道等常見應用程序添加可證明的隱私。
Keep是另一個通過創(chuàng)建私有數(shù)據(jù)的離線容器來為以太坊構(gòu)建隱私層的項目。這允許合約管理和使用私有數(shù)據(jù),而不將數(shù)據(jù)暴露給公共區(qū)塊鏈。
雖然在Casper之后,隱私是以太坊的首要任務,但是以太坊基金會實施Casper的速度很慢,而且風險在于,隱私不會在多年以后成為以太坊的核心功能。如果智能合約中的隱私成為加密社區(qū)迫切需要的東西,那么新的隱私智能合約平臺就會出現(xiàn),填補這一空白,就像Zcash和Monero的出現(xiàn)一樣,它們是為私人支付而不是比特幣。Enigma,Origo和Covalent都是新的智能合約平臺,它們試圖將隱私原生地實現(xiàn)到區(qū)塊鏈中。
Oasis Labs是另一個激動人心的隱私項目,它構(gòu)建了Ekiden,這是一個新的智能合約平臺,將智能合約執(zhí)行與基礎共識機制分開。智能合約運行在一個被稱為安全區(qū)的獨立硬件(如英特爾SGX)內(nèi)。enclave就像一個黑盒,使計算對于其他應用程序是不可見的。它還生成一個密碼證明,證明程序是正確執(zhí)行的,然后該證明存儲在區(qū)塊鏈中。通過將智能合約執(zhí)行與共識分離,Ekiden與不同的底層區(qū)塊鏈兼容,包括以太坊。
隱私的基礎設施
除了隱私加密貨幣和私有智能合約之外,Web 3堆棧還有其他重要的隱私基礎設施項目值得一提。
Orchid正在嘗試構(gòu)建一個更好的Tor版本,在這個版本中,用戶從出租額外帶寬作為Orchid網(wǎng)絡中的中繼器中獲取token。Tor的問題是只有6000個中繼節(jié)點,不到2000個橋接節(jié)點,所以中國政府可以把所有中繼節(jié)點和橋接節(jié)點都列入黑名單,從而阻止公民訪問Tor。使用token獎勵來激勵更多人成為中繼者,這使得阻止Orchid變得更加困難,因為總不能阻止互聯(lián)網(wǎng)的大部分節(jié)點。
BOLT正在構(gòu)建一個私人支付渠道,使用盲簽名和零知識證明來隱藏參與者在打開、交易和關閉支付渠道時的身份。最初的支付渠道建立在Zcash之上,但之后將能夠與比特幣和以太坊進行互操作。
NuCypher正在使用proxy re-encryption來構(gòu)建一個去中心化的密鑰管理系統(tǒng),用于提供與HTTPS相同的功能。Proxy re-encryption是一種公鑰加密,它允許用戶在不了解底層消息的情況下將密文從一個公鑰轉(zhuǎn)換到另一個公鑰。
Starkware正在包括以太坊在內(nèi)的各種區(qū)塊鏈中實現(xiàn)zk-STARKs。與zk- SNARK相比,zk-STARKs的優(yōu)勢在于,它不需要可信的設置,盡管加密證明的密鑰尺寸變得更大了。
隱私保護研究
密碼學的學術(shù)研究推動了隱私保護領域的創(chuàng)新。隱私保護研究主要涉及到零知識、多方計算、全同態(tài)加密等領域。
除了zk- SNARKs和zk-STARKs之外,Bulletproofs是一種新的簡短的非交互式的零知識證明形式。與zk-STARKs一樣,Bulletproofs不需要可信的設置,但是驗證Bulletproofs比驗證zk-SNARK文件更耗時。Bulletproofs的設計目的是為了能夠以加密貨幣進行高效的保密交易,并將Bulletproofs文件的大小從10 KB以上縮小到1-2 KB。如果所有比特幣交易都是保密的,并且使用了Bulletproofs,那么UTXO集的總大小將只有17 GB,而目前的大小是160 GB。
多方計算允許一組人在他們的輸入上聯(lián)合計算一個函數(shù),而不需要每個人透露他們自己的輸入。例如,Alice和Bob想要知道誰擁有更多的比特幣,而不是每個人都透露他/她擁有多少比特幣。不幸的是,當前多方計算的限制是,在實踐中使用它的效率非常低。
全同態(tài)加密允許在加密數(shù)據(jù)上進行計算。幾十年來,這一直是密碼學領域的一個開放性問題,直到2009年,斯坦福大學博士生Craig Gentry使用格構(gòu)造了第一個全同態(tài)加密方案。如果Bob想在Alice的數(shù)據(jù)上執(zhí)行任意計算(比如訓練機器學習模型),而Alice不需要顯示明文數(shù)據(jù),那么這個例子就很有用。全同態(tài)加密,像多方計算一樣,目前仍然是很理論化的,而且在實踐中效率很低。
那又怎樣?
總的來說,隱私是目前密碼學研究中最令人興奮的領域之一,并且優(yōu)化這些理論技術(shù)的效率以使其在現(xiàn)實中實際應用還有很多工作要做。研究型實驗室,如斯坦福大學區(qū)塊鏈研究中心,正積極在這一領域取得進展,未來幾年將會有哪些重大突破將是令人興奮的。
加密貨幣的好處是它為最新的隱私研究提供了一個直接的用例。許多用于加密貨幣、智能合約和基礎設施的隱私技術(shù)都是近幾年才發(fā)明出來的??紤]到這個領域發(fā)展速度之快,隱私將繼續(xù)成為加密項目設計中不可或缺的一部分。
評論
查看更多