Privacy

我們是否可以設計協議,使一個地址在交易中只能用作一次輸出?

  • November 15, 2016

大多數使用者重複使用他們的地址進行存款(即,他們在給定地址上不止一次收到錢)。

協議是否可以設計成一個地址在交易中只能作為輸出使用一次?

我想如果地址已經“用完”,則需要一種快速查找的方法。

此外,還需要一種方法來獲取“下一個地址”。例如,如果一個地址用於分紅並且只能使用一次,那麼分紅支付者應該能夠自動獲得一個新地址,而無需所有者(收款人)的重複輸入。(一次設置就可以了)

這樣做的目的是增強隱私。

這些只是想法,歡迎評論。

愛麗絲的電腦被馬洛里黑了,她的錢包也被偷了。幸運的是,愛麗絲用強密碼對其進行了加密。愛麗絲想起訴馬洛里闖入她的電腦,所以她請了律師鮑勃。

  • Alice 的地址,10BTC –> Bob 的地址

對 Alice 來說不幸的是,Mallory 控制著比特幣網路上的一個節點,離 Alice 不遠,該節點很快發現交易來自 Alice(她擁有她所有的地址),而是一次將交易中繼到數百個節點:

  • Mallory 的地址,1000 satoshis –> Bob 的地址

這與愛麗絲的誠實交易不相容。

現在,發生了三件事:

  1. Alice 嘗試將比特幣發送到 Bob 給出的不同地址

  2. Alice 的節點將她的交易視為雙花,並拒絕將任何使用該幣的交易轉發到不同的地址

  3. Mallory 的交易最終被探勘。回到嘗試將硬幣花給鮑勃。

Mallory 可以利用她的職位做其他惡作劇,例如允許 Alice 將她的比特幣用於教堂籌款活動而不是墮胎診所(假設她知道兩者的地址)。

今天人們在比特幣中失去隱私的主要方式是通過對區塊鏈的啟發式分析,而不是地址重用。引入一個新的網路規則來保護使用者免受自己的愚蠢不會顯著改善隱私(大多數錢包預設情況下不會重用地址),並且會使使用者面臨一些有趣的攻擊。

我想如果地址已經“用完”,則需要一種快速查找的方法。

有,在比特幣中。只需將地址粘貼到<https://blockchain.info>上的搜尋框(不是標題中的那個) 。

關於您創建新地址:這不僅在目前的處理方式上是不可能的,而且與您增強隱私的目標相矛盾。

首先,讓我們談談目前的情況。地址是公鑰的散列(簡化)。這些公鑰與私鑰加密相關,只有它們的所有者知道,因為知道它們可以讓人們花掉已經發送到與它們相關聯的地址的錢。雜湊是單向的,這意味著您可以確定某物的雜湊,但不能確定僅給定雜湊的某物。為了向屬於收款人的不同地址付款,您要麼必須執行一個已知函式,例如在私鑰上加 1——這是不可能的,不僅因為在給定雜湊值的情況下您找不到公鑰,而且還因為給定公鑰,您無法找到私鑰 - 或者以某種方式訪問收件人的地址列表,這會破壞增加隱私的目標。

現在到所有虛構的情況,因此本段中刪除了比特幣的所有細節。如果我是第一個向史密斯先生的地址付款的1e9Kp22人,而您想在 5 分鐘後向同一個地址付款,您必須獲得一個新地址。後面可以有一個或多個地址,1e9Kp22但肯定只有一小部分地址,因此史密斯先生可以找到正確的地址。讓Φ(α)是所有地址的集合,這些地址是地址 α 之後可能的下一個地址。在這種一般的、虛構的情況下,我們不能排除在不損害貨幣所有者的專有權的情況下創建屬於史密斯先生的新地址的可能性。既然你能找到一個φ ∈ Φ(α)付錢給我,而且我什麼都不知道∀α∈Addreses : |Φ(α)| small,我可以找到你的φ只需找到所有元素Φ(α)並檢查已支付給哪些人的錢。因為我們現在都知道該地址1e9Kp22屬於史密斯先生,而我剛剛得知該地址也φ屬於史密斯先生,所以我們都知道對方使用的地址屬於史密斯先生。

在實踐中,這個問題的簡單解決方案是為每次預期付款提供不同的地址,例如在網上商店中的每次購買。為什麼店主一開始會給我們兩個相同的地址?地址完全免費。

引用自:https://bitcoin.stackexchange.com/questions/49657