比特幣核心(Bitcoin Core)開發人員Amiti Uttarwar正在致力於修改比特幣的網絡重播邏輯,以在交易重播過程中引入更多的隱私。
圖片來源:Pixabay
Uttarwar是Bitcoin Core團隊的一個相對較新的成員,於2019年10月首次被聘為加密貨幣初創公司Xapo的Bitcoin Core開發人員。她現在的主要重點是一項擬對比特幣的重播邏輯進行更改的提案,Bitcoin Core開發者Pieter Wuille此前曾強調說該提案是眾多有希望的點對點實施項目之一。
正如Uttarwar在2019年9月的演講中解釋的那樣,當用戶發起比特幣交易時,他們需要廣播交易——這意味著他們必須向其他節點發送INV消息,並確保該交易處於其他人的內存池中。
但是,初始廣播並不總是成功廣播出去。例如,中繼過程可能存在問題,或者當其他交易支付的手續費較高時,該交易可能會從內存池中撤出。如果出現此類問題,用戶將不得不發送另一條INV消息並將其重新廣播給其他節點。
在解釋作出這種重播更改的動機時,Uttarwar說:「當前的重播邏輯對於隱私而言是可怕的。」
該更改怎麼運行的
她說,在當前系統下,只有源錢包會重新廣播交易。結果,如果一個間諜節點看到來自同一節點的同一筆交易的兩條INV消息,則可以推斷出該節點是源錢包,「這時候交易隱私就是一個破綻」。
她說:「這為一種被粉塵攻擊的漏洞留下了空間。」當攻擊者將少量BTC發送到許多不同的地址並觀察各種錢包的重播行為時,就會發生粉塵攻擊,從而破壞網絡的隱私功能。
Uttarwar提出的機制將通過具有更私密的重播行為(不會泄露交易的來源錢包)來遷移此漏洞。如果比特幣網絡實施了她提出的這種替代設計,那麼所有節點將轉播他們認為「應該已經確認」的轉播,而不僅僅是源錢包發送的轉播信號。
她說:
「我將邏輯從錢包中提取到節點中,並使用區塊彙編器,以便我們可以以與節點如何看待它類似的方式識別內存池的頂部。我更新了錢包邏輯,以將未確認的交易重新提交給節點,而不是直接將其發送給其他節點。我在區塊創建邏輯中添加了新近的過濾器,以便我們可以忽略新近的事務。」
發展道路
這個pull request(PR)於2019年8月首次開放,Uttarwar告訴The Block她從那以後對提該案進行了相當大的更改。
她說:
「最大的變化之一是,我已經能夠將大型PR的功能分解為一個獨立的更改。因此,我目前正在努力實現這一轉變。一旦我們將其合併,我將返回到這個更大的轉播項目。」
另一個重大更改涉及一種機制,該機制可以跟蹤一個人可以重新廣播過渡的最大時間。雖然Uttarwar先前計劃將其作為她的重播提案的後續措施,但她最近決定在審核員強調缺少此更改後如何使其成為攻擊媒介之後再進行構建。
Uttarwar還指出過多的帶寬使用是其設計選擇背後的潛在問題之一。
她說:
「我認為帶寬是我們應該仔細考慮的問題,如果做錯了,可能會出現問題。」
為了避免出現全網範圍的極端帶寬高峰,Uttarwar採用了一些預防機制,包括每個節點的重播定時的泊松分布和用於重播候選對象的過濾邏輯。
這個PR已經開展了七個月,但她表示不急於推動該提案通過。
她說:
「我不太關心時間表,而更關心每一步的穩健性。我不希望任何東西過早地合併。」文章來源: https://twgreatdaily.com/zh/tRC62nAB3uTiws8Kl8_m.html