區塊鏈入門系列 | 比特幣的 Nonce 是什麼?
比特幣的隱私性
社會的數字化程序不斷向前,網際網路上暴露的關於你我的資料越來越多,也越來越事關生死。密碼朋克宣言的第一句話就說“隱私對於構建開放社會是非常必要的”,那麼比特幣的隱私性如何呢?下面來討論下。
肉身和賬戶隔離
比特幣的隱私策略就是隔離比特幣地址和持有者的肉身身份。
比特幣的隱私保護策略跟傳統金融系統的策略截然不同的。比特幣白皮書的第十部分是專門介紹隱私的,中本聰提到傳統機構的策略是在機構內部繫結使用者的肉身身份和他們的賬戶,隱私性體現在公眾是不能隨意獲取這些資訊的。而比特幣採用了相反的思路,公眾可以看到所有的轉賬記錄,其中包括髮送和接收方的比特幣地址、轉賬金額等資訊。而比特幣的隱私體現在比特幣的地址跟地址持有者的肉身身份之間是沒有繫結關係的。
但是,真正做到肉身身份和比特幣地址的分離是非常困難的。中本聰建議大家每次交易都去更換一下比特幣地址,但是這樣就真的能夠隔離身份和地址了嗎?
交易是可追蹤的
比特幣是人類歷史上最透明的一個支付系統,所有的交易歷史都會被保留,這種特質給比特幣的隱私安全帶來了極大的挑戰。
一旦暴露再次隱身就變得很難。實際中有很多場合都會涉及到實名制的問題,實名制意味著肉身身份和我們的地址被綁定了,也就是這個地址的隱私被暴露了。而一旦最初的這個地址暴露以後,即使我們更換一個新的地址,把暴露地址中的幣轉入新地址,新地址和老地址之間關聯性就非常明顯,所以新的地址也就沒有隱私性可言了。
另外一個更讓人擔憂的事情是即使我自己遵守了最佳實踐,沒有暴露隱私,如果跟我交易的地址隱私洩露了,從那個地址的持有者的身上找到我的身份資訊也就會比較容易了。
交易在全網的擴散過程也可能會暴露隱私。比特幣交易被建立後,會從構建交易的機器上按照點對點傳播協議逐步擴充套件到網路上的很多計算機上,這時候如果想定位交易最初是從哪臺機器上發出的,其實沒有那麼容易。但是,不容易不代表沒可能,如果監聽者同時去監聽網路上的很多節點,記錄下我的交易到達各個節點的時間,那麼根據時間差,還是很有可能運算出發出交易的節點的位置的。對此,比特幣也提出了一個名為 Dandelion 的改進方案,但是在我寫本文的時候(2019年1月),這個方案還處在草案階段。
綜上,比特幣的隱私性是不足夠好的。
解決方案
為了獲得更強的隱私性,加密貨幣社群一直在不停的努力。
最引人注目的是一些基於零知證明或者其它技巧的隱私幣專案。例如,Zcash 和門羅幣,這樣的專案是獨立的區塊鏈專案發行的自己的加密貨幣。
比特幣社群內部也在思考各種改進方案。例如,由核心開發團隊提出的 Confidential Transaction 以及 Coinjoin 。後來有人結合這兩項技術,提出一套新的加密貨幣協議,名為 Mimblewimble 。Mimblewimble 暫時還沒有被比特幣專案採納。但是實現了 Mimblewimble 的獨立區塊鏈專案有兩個: Grin 和 Beam 。
其它的方案還有不少,這裡就不一一說了。
總結
關於比特幣隱私性的討論主體內容就這些了,總結起來主要有這樣幾個要點:首先,比特幣本身主張通過隔離肉身身份和比特幣地址這種方式來保證使用者隱私。其次,由於交易全部公開可追蹤,所以要真正通過比特幣實現隱私,實際中是很難的。最後,社群提出了各種方案來增進加密貨幣的隱私。
參考:https://bitcointalk.org/index.php?topic=279249.0