BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

一文看懂以太坊上的隱私保護技術

以太坊爱好者
特邀专栏作者
本文約6760字,閱讀全文需要約10分鐘
對以太坊網絡上隱私保護技術的評估。
AI總結
對以太坊網絡上隱私保護技術的評估。

編者按:本文來自以太坊愛好者(ID:ethfans)編者按:本文來自

以太坊愛好者(ID:ethfans)

以太坊愛好者(ID:ethfans)

編者按:本文來自

以太坊愛好者(ID:ethfans)

以太坊愛好者(ID:ethfans)

以太坊愛好者(ID:ethfans)

以太坊愛好者(ID:ethfans)

在這個聯繫日益緊密的世界裡,我們的信息被記錄、複製、傳播和出售的頻次與日俱增,想要維持我們預期的隱私水平並非易事。

一級標題

大多數事物都不是非黑即白的,隱私也不例外,它處在完全公開到完全隱私的範圍之間。因此,當我們談論隱私的時候,首先得搞清楚下面三個問題。

人們是否願意為隱私付出財力?

在公有鏈上達成隱私交易需要權衡什麼?

本文旨在簡單地研究公有鏈上實際的隱私需求,並在抽象層面上探討實行隱私解決方案的權衡。

問題一:隱私的重要程度分幾等?

一級標題

企業和用戶對於隱私有著截然不同的訴求。企業通常希望保護自己在交易數據方面的隱私,例如產品名稱、數量、價格、地址、以及可識別的個人財務信息,等等。

企業對隱私往往有較強烈的商業需要或合規需要,與之相比,用戶則向來缺乏對隱私的關注及保護意識。儘管如此,用戶依然希望保護自己的身份、信用卡信息及其它敏感數據,以防被竊取身份或遭到詐騙。有時候,用戶希望可以匿名交易,這就要求交易雙方都具備隱私保護。可惜的是,在我們的日常生活中,隱私並不是天然存在的,絕大多數人都願意犧牲自己的隱私來換取便利或免費的權益(比如接受cookies、使用免費WiFi、追踪上網記錄等等操作)。

一級標題

一級標題

一級標題

二級標題

讓我們把眼光鎖定在區塊鏈領域—— 儘管Zcash 已經誕生將近3年了,但現存的ZEC 中仍然只有5% 是採用SNARK 技術存儲的(並且其中還有將近一半使用的是舊版的SNARK技術)。大約有95% 的ZEC 被存儲在透明的地址中,毫無隱私可言。通過這一現象,我們可以推斷也許大部分用戶還沒有意識到需要為隱私付出財力。

二級標題

問題三:隱私的權衡

問題三更具技術性,需要我們對如何在以太坊上保護隱私以及涉及到的各種機制的權衡進行更加深入的研究。正如區塊鍊網絡需要在可擴展性和去中心化之間做出權衡,隱私機制和技術本身也需要權衡。我們先來研究一下其它主打隱私的區塊鏈已經實施的隱私方案,然後討論一些以太坊上的隱私解決方案。

來自其它主打隱私型區塊鏈(Monero 和Zcash)的經驗教訓

2017 年,由於引進了RingCT ,環簽名隱藏交易數據的能力得以飛躍式地提升,RingCT 使用了零知識範圍證明來豐富可以同時批處理的簽名種類。與此同時,RingCT 的引進還強制執行了最低混合要求,從而減輕了困擾早期版本Monero 的可鏈接性攻擊(linkability attack)問題。然而,金無足赤,環簽名也並非完美的解決方案,它的一個主要的問題是佔用了大量的磁盤空間來存儲Monero 區塊鏈。此外,環簽名還無法擴展至大型群組,當前每個群組的參與者數量被限制為10-15 個。

二級標題

說起零知識證明,Zcash 算是第一個吃螃蟹的項目了,它率先採用了zkSNARK 技術。使用該技術,用戶可以發送僅限接收者可見的純私密交易。對於一個外部的觀察者而言,被發送到隱私地址的ZEC 彷彿消失在一個巨大的密碼學黑箱中,當接收者想要將他們的ZEC 轉移回一個非隱私地址(和標準的比特幣地址幾乎一模一樣)時,原本消失的ZEC 彷彿憑空出現,而觀察者永遠也看不到發送者和接收者之間的聯繫。但不得不提的一點是,零知識證明需要耗費更多的計算資源,而這反過來會使得交易的成本更加高昂。

對“同質性”(Fungibility)的威脅

二級標題

然而,與比特幣類似,當使用此類技術進行諸如轉讓同質性(Fungibility,亦稱為“可互換性”,像ECR-20 代幣和ETH 都可算是同質性資產)數字資產的操作時,如果用戶對其所共享的信息廣度毫無所知,其身份可能在不知不覺之間就被以太坊暴露了。而與公私鑰對應的真實身份被暴露會嚴重威脅到隱私安全。考慮到諸如比特幣和以太坊等區塊鏈的公開性,當你天真地使用它們原生的交易框架進行交易時,所有資產的轉移痕跡如同麵包屑一樣很容易留下來而被追踪—— 即便是同質性資產。

隱私保護之地址生成大法

隨著隱私技術的不斷進步,許多更加複雜的威脅模型被納入到了考慮範圍中來。在2012 年,BIP32 引入了層級確定性密鑰(Hierarchical Deterministic keys),通過該技術,我們可以使用一套助記詞來生成無數個“全新的” 比特幣地址。這意味著用戶可以在每次收款時生成一個新地址,而所有的這些地址都可以輕鬆地在錢包之間導入導出,你再也不用拿著小本本記錄一堆隨機生成的毫無規律的密鑰了,聽上去是不是賊方便?

二級標題

以太坊中也有同樣的功能,儘管新生成的地址要想和智能合約交互,需要保證地址裡的以太幣足夠支付Gas 費。然而,由於許多基於以太坊構建的系統將用戶的現實世界身份在許多方面與他們的地址關聯了起來,問題又變得複雜了。與以太坊地址關聯的額外的大量元數據會使得以太坊特別容易遭受去匿名化攻擊。幸運的是,雖然某些智能合約功能會將以太坊暴露於這類威脅之下,但智能合約同樣可以為前沿的密碼學系統所用,可以帶給用戶安全無縫的隱私交易。

二級標題

許多零知識方案都要求有“受信任初始設置”。這意味著整個方案依賴於特殊隨機數的生成,而任何知道這些隨機數的人都可以洞悉內部的操作,聽上去好像很不靠譜的樣紙......為了部分緩解這方面的擔憂,一套複雜的隨機數生成流程應運而生,以此確保結構的可信度。這套流程通常需要幾個誠實的社區成員獨立生成各自私有的隨機數據,然後將這些數據以某種方式組合起來,只要其中任何一個成員刪除了TA 的隨機數據,那麼最終計算出來的數據就是安全的。因此,除非所有參與者共謀,否則相關的方案不會面臨風險。

二級標題

二級標題

  • 零知識票據(ZK-Notes)

  • 當票據的所有者決定執行“joinSplit” 操作時,零知識就開始施展它的魔力了—— 票據的所有者可以選取其所控制的任意數量的票據,並創建一組不一定屬於其他人的輸出票據。這與上文提到的隱蔽地址技術相結合,可以使得創建的每一個新票據都歸屬於一個完全嶄新的以太坊地址(從未在以太坊網絡上使用過的地址)。

  • 二級標題

來看一個常見的使用場景吧,一個“零知識資產” 合約可以與任意兼容ERC20 格式的代幣相連接,用戶可以將代幣存入這個合約,獲得一個零知識票據作為存款證明,當用戶想要取回存款時,只需“燒掉” 零知識票據即可。有了這一機制,我們可以通過隱蔽地交易以太坊網絡上現存的任何資產。 AZTEC 協議採用的證明比ZK-Snark 更加容易使用,但受信任啟動設施依然是其繞不過去的一道坎。

二級標題

透明—— 隨機數的生成是公開信息

二級標題

硬件局限

二級標題

二級標題

二級標題

當Zcash 首次提出採用zk-SNARK 來發送交易時,人們還很擔心生成隱匿交易所需的計算資源夠不夠,因為可能需要花費數小時才能生成一筆交易。不過自那以後,我們已經取得了長足的進步,如今我們已經可以在瀏覽器甚至移動設備上花費僅僅幾秒鐘就完成類似的任務了。

圖片描述

二級標題

圖片描述

二級標題

當錢包或個人想要進行原生的隱私交易時,以太坊混幣器就可以派上用場啦。以太幣的可追踪性給了壞蛋可乘之機,他們可以通過對特定交易的跟踪而獲得其背後的錢包、賬戶等信息。而混幣器可以通過對以太幣進行互換而實現匿名交易。

-通過混幣器的GitHub 狀態查看以太坊混幣器的種類和它們各自的計算及gas 成本-

展望未來

誰來為Gas 買單?中繼的風險

一級標題

展望未來最後,別忘了考慮錢包的交互及操作的安全性。錢包的默認設置需要安全到能保護用戶隱私,但又不能讓用戶上手起來感覺太麻煩,至於如何實現這一點,大家還在努力當中。為使獲得的隱私保護符合預期,所有的這些混幣器方案都需要大量的參與者,因此該工具必須易於大眾上手,但是任何快捷方式都可能會帶來嚴重的隱私侵犯。舉個很簡單的例子吧,某用戶使用混幣器混合了一些以太幣,然後出於保護隱私的目的用了其中一些,過了一段時間之後,他忘記哪個錢包曾經發送過隱私交易了,然後把曾經發送過隱私交易的錢包中剩餘的以太幣轉回了一個和其身份直接相關的公開地址......簡直是功虧一簣:(

一級標題

ETH
歡迎加入Odaily官方社群