[比特幣]比特幣中的匿名性


一般來說,匿名通常跟隱私保護聯系在一起。在比特幣是基於交易的區塊鏈,系統中沒有用戶的概念,不要求用戶使用真名,可以用公鑰產生地址,所以比特幣具有一定的匿名性。

但比特幣中的交易記錄在區塊鏈上,區塊鏈是公開的。雖然使用者可以生成任意多的地址來隱藏自己,但由於所有的交易信息的都是公開的,仍可以通過分析鏈上的交易信息來鎖定用戶。從這點上來講,比特幣又不是完全匿名的。

什么情況下會破壞匿名性

分析交易地址

正常情況下,比特幣交易都是通過錢包進行的。使用錢包交易時,輸出地址中通常會有一個用於接收找零的地址。市面上常用的比特幣錢包就那么幾款,有心研究的話,發現各個錢包生成找零地址的規律並不是不能發現的。一旦找出規律來,結合區塊鏈將很容易定位用戶的身份。

與真實世界發生交易

通過比特幣與真實世界發生交易時,比如從比特幣交易所變現,使用比特幣購買咖啡等,這些情況下用戶的真實身份是很容易確定的。

如何提供匿名性

比特幣系統是運行於應用層的,底層是個P2P網絡層,要提高匿名性可以從這兩方面入手:

  • 網絡層:多路徑轉發
  • 應用層:將不同人的幣混合在一起,即將所有用戶的身份混合在一起,讓人無法區分

區塊鏈的公開、不可篡改的特性,對於隱私保護來說是災難性的。

零知識證明

零知識證明是指一方(證明方)向另一方(驗證方)證明一個陳述是正確的,而無需透露除“該陳述是正確的”之外的任何信息。

同態隱藏

零知識證明的數學基礎是同態隱藏,同態隱藏包含以下性質:

  • 如果\(x\)\(y\)不同,那么它們的加密函數值\(E(x)\)\(E(y)\)也不相同
  • 給定\(E(x)\)的值,很難反推出\(x\)的值
  • 給定\(E(x)\)\(E(y)\),可以很容易地計算出某些關於\(x\)\(y\)的加密函數值
    • 同態加法:通過\(E(x)\)\(E(y)\)計算出\(E(x+y)\)
    • 同態乘法:通過\(E(x)\)\(E(y)\)計算出\(E(xy)\)
    • 擴展到多項式

零知識證明的應用:零幣和零鈔。


聲明:本作品采用署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0)進行許可,使用時請注明出處。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM