位元幣的匿名性
位元幣并不是具有嚴格意義上的匿名(anonymity)特性,位元幣的匿名性更像是一種化名、網名,和現金相比,匿名性不如現金,現金是完全匿名,上面沒有任何人的資訊,所以非法交易會用大量現金,和銀行相比,匿名性好于銀行,因為銀行開戶是實名制,而位元幣不需要,但如果銀行開戶允許使用化名,那么銀行的匿名性要更好,因為位元幣的賬本是公開的,而銀行的賬本是受到控制的,銀行作業人員可以查到所有人賬號,但是普通老百姓是查不到別人的賬號的,
破會位元幣的匿名性
一個人可能有很多賬戶,這些賬戶可能會被關聯,比如交易程序中,inputs里面有兩個輸入,一個地址輸入4位元幣,一個地址輸入5位元幣,outputs有兩個輸出,一個地址輸出6位元幣,一個地址輸出3位元幣,因為像買東西這種場景,大概率是會出現零錢的,3位元幣就是零錢,因為交易的兩個輸入受你的控制,說明這是你的賬戶,兩個地址就被關聯了,輸出的第二個地址也會被關聯上,因為如果買東西只需要花3個位元幣,那么輸入只需要一個地址即可,所以分析出來3個位元幣流向的地址也是你的賬戶,
地址賬戶和現實世界中的真實身份可能有關聯位元幣和物體貨幣發生聯系的時候都有可能泄露身份,比如買位元幣的時候,可以去交易所,此時就會留下你的交易記錄,比如用位元幣支付,
提高匿名性
1、零知識證明
零知識證明是指一方(證明者)向另一方(驗證者)證明一個陳述是正確的,而無需透露除該陳述是正確的之外的任何資訊,
同臺隱藏
1、如果x,y不同,那么他們的加密函式值E(x)和E(y)也不相同,(說明不會發生碰撞)
2、給定E(x)的值,很難發推出x的值,(不可逆性)
3、給定E(x)和(y)的值,我們可以很容易的計算出某些關于x,y的加密函式值,
—同態加密:通過E(x)和E(y)計算出E(x+y)的值
—同態乘法:通過E(x)和E(y)計算出E(xy)的值
—擴展到多項式


2、盲簽
盲簽名是相對于一般數字簽名而言的概念,是指簽名人員雖然對某個訊息簽了名,但他并不知道所簽訊息的具體內容,也就是說對簽名人而言,訊息被盲化處理過,為了說明盲簽名的思想和實作程序,設甲為訊息擁有者,乙為簽名人.盲簽名協議要實作的目標是:甲希望乙對他的某個訊息進行簽名,但又不想讓乙知道訊息的具體內容;乙的任務就是對訊息進行簽名,保證在將來某一時刻以公證人的身份來證實簽名的真實性,而并不關心訊息的具體內容,
1、用戶A提供SerialNum,銀行在不知道SerialNum的情況下回傳簽名的Token,減少A的存款
2、用戶把SerialNum和Token交給B完成交易
3、用戶B拿SerialNum和Token給銀行驗證,銀行驗證通過,增加B的存款
4、銀行無法把A和B聯系起來
3、零幣和零鈔
零幣(zerocoin )系統中存在基礎幣和零幣,通過基礎幣和零幣的來回轉換,消除舊地址和新地址的關聯性
零幣中存在基礎幣(比如位元幣)和零幣,用的時候要證明本來是有一個基礎幣,讓基礎幣變得不能花費(unspendable),然后換取一個零幣,零幣在花的時候只需要用零知識證明你花掉的幣是系統中存在的某一個合法的幣就行了,但是不用透露你花的是系統中具體的哪一個幣,
零鈔(zerocash)系統使用zk-SNARKs協議,不依賴一種基礎幣,區塊鏈中只記錄交易的存在性和礦工用來驗證系統正常運行所需要關鍵屬性的證明,區塊鏈上既不顯示交易地址也不顯示交易金額,所有交易通過零知識驗證的方式進行,
這是跟位元幣的一個本質區別,位元幣是每一筆轉賬交易都要說明幣的來源,這樣才能證明花的幣的真實性不是憑空捏造出來的,但零幣和零鈔不是這樣,零幣和零鈔是說證明的時候可以從資料上保證你花的幣是以前區塊鏈上某個合法存在的幣,但不知道具體是哪個,這樣的話就把關聯性破壞掉了,就沒法追溯了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/295483.html
標籤:區塊鏈
