Accounts

如何使用密鑰派生和“硬幣選擇”來增加隱私,就像在比特幣中一樣?

  • July 18, 2018

在比特幣中,你可以通過從不重複使用地址來增加隱私。如果您使用密鑰派生方案,則單個私鑰可以生成許多地址。

在乙太坊中,你有賬戶而不是 UTXO。您可以在乙太坊之上使用密鑰派生方案,為多個賬戶生成多個私鑰。我想在乙太坊做同樣的事情——避免賬戶重複使用以增加隱私。

但我似乎找不到一個乙太坊錢包可以讓你跟踪這些多個賬戶,然後在從錢包中發送乙太幣時執行“硬幣選擇”(實際上是“賬戶選擇”)。

是否有任何乙太坊錢包支持“硬幣選擇”算法?

據我所知,乙太坊沒有允許從不同賬戶選擇硬幣的錢包。Parity(至少與硬體錢包一起使用)、Jaxx 和 MyCrypto 等錢包使用密鑰派生方案,可以生成和使用確定性帳戶地址。

由於 UTXO 在比特幣中的工作方式,組合發送到多個賬戶的輸入的成本與組合發送到單個賬戶的輸入的成本相同,在不同賬戶中接收比特幣並在以後組合沒有任何缺點。此外,比特幣可以將多個輸入組合到一個或多個輸出。因此,如果收款人期望支付 1 BTC,他們可以尋找該金額的單筆交易;交易可以由一個或多個 UTXO 組成,總計至少 1 BTC(加上費用)並具有 1 BTC 輸出。

在乙太坊中,由於沒有 UTXO,從一個賬戶到另一個賬戶(以 gas 計價)的基本交易成本是固定的,無論交易規模和賬戶歷史如何(不像比特幣,它的成本很高花“灰塵”)。每筆交易都是由一個賬戶發起的,至少目前,我認為除了通過合約之外,沒有任何方法可以讓其他賬戶參與乙太幣的消費(在這種情況下,合約是與乙醚)。因此,嘗試使用多個帳戶向接收者發送特定數量的乙太幣會隨著使用的帳戶數量而增加,而最便宜的做法就是使用單個帳戶。此外,嘗試向使用n 個帳戶的帳戶發送 1 ETH 會導致n在輸出中加起來最多 1 ETH 的交易。這變得更難監控(事實上,多個人向同一個賬戶發送不同金額的不同實際交易,就變成了 NP-complete)。

但是,如果您對交易隱私感興趣,您可以自己混合硬幣(這可能很昂貴)並最終獲得一個具有正確數量的乙太幣以在最終交易中發送的帳戶,或者您可以將乙太幣兌換成,例如, Zcash,然後回來。或者,您可以等待zkSNARKs在乙太坊網路中得到更廣泛的採用;zkSNARKs已經在主網上得到支持。

引用自:https://ethereum.stackexchange.com/questions/54613