Monero 技術介紹 (一) - 隱匿性地址

Monero 是一種安全且無法追蹤的電子加密貨幣。 它來自一個開放原始碼、去中心化且任何人皆可自由參閱的開發專案。

在這篇文章中我們要來談談隱匿性地址。但讓我們先來回顧一下 Monero 的重點概念。

我們知道 Monero 使用了去分散式的點對點共識網路去紀錄區塊鏈中的交易輸出。 如果 Alice 擁有 Monero,這代表著她擁有著某些交易輸出的控制權。 當 Alice 轉帳一些 Monero 給 Bob 時,Alice 其實是在對交易網路宣布她想要把某些她可以控制的交易輸出重新打包成一個新的交易輸出並把控制權完全轉移到 Bob的手上。

換句話說,一個交易即是指,屬於某個錢包的舊交易經過轉形之後,轉移到屬於另一個錢包的新交易輸出的過程。

接著讓我們再更進一步,了解隱匿性地址是如何增加使用者的隱私權。

在每一個交易中,隱匿性的地址,也就是一次性的公鑰,將會被自動產生並紀錄在交易之中來表明是誰在之後的交易中可以使用這些交易輸出。 以旁觀者的角度來看,並無法從區塊鏈上得知資金是否從 Alice 移動到 Bob 或是任何錢包的地址與這此筆交易相關。 因此,當Alice 轉帳 Monero 給 Bob 時,Bob 所收到的交易輸出並不會與 Bob 的錢包地址出現關聯。

但是,如果 Alice 需要證明她真的有轉帳 Monero 給 Bob,她的錢包亦可做出交易有確實傳送的的驗證。 所以 Bob 可以確信沒有其他人能夠得知這筆 Monero 的交易發生在何時或甚至是否存在。 如果 Bob 是一個商人,那這個功能就非常有好處,因為沒有其他人可以從區塊鏈上得知他的客戶組成和數量。

好了,接下來要注意了,因為我們將要深入到技術層面的解釋。

每一個 Monero 地址是95字元的字串,是由 public view key 與 public spend key 組成。 當Alice 轉帳 Monero 給 Bob 時, Alice 的錢包會使用 Bob 的 public view key 與 public spend key 再加上一些隨機資料來產生獨特的一次性公鑰供 Bob 的後續交易使用。 所有人都能夠在區塊鏈上看見一次性公鑰,但只有 Alice 和 Bob 自己知道他們的錢包之間有交易的發生。

當 Bob 的錢包在區塊鏈上獲取到該次的交易輸出後,錢包就能透過其一次性公鑰推算出一次性私鑰,最後就可以用 private spend key 去花費掉這些交易輸出。 這整個交易的過程完全不需要讓 Bob 的錢包地址在區塊鏈上與任何交易顯示出關聯。

由此你可以發現,隱匿性地址可以防止交易輸出被連結至錢包地址。 而發送者的隱私將被環狀簽名(ring signatures)所保護。 環狀簽名可以幫助混淆這些交易輸出的來源。 在下一篇文章,我們將會進一步詳細討論環狀簽名的概念,並了解這個功能是如何讓 Monero 成為無法追蹤的匿蹤特性。

如果你有興趣了解是什麼讓 Monero 成為最重視隱私的加密貨幣 請參閱我們其他的文章或參閱 getmonero.org。  

本篇翻譯來源 https://github.com/alvinjoelsantos/promo-video/blob/master/stealth_addresses.md