IRC meeting summary for 2017-04-27

概覽


註記 / 短議題

  • BlueMatt 有一個PR準備好了,這是邁向 libconsensus 的另一步。它將 CChainState 類別加入到 validation.cpp,它將持有像 mapBlockIndex chainActive 等東西

主要議題

  • HD 錢包自動恢復
  • NODE_NETWORK_LIMITED
  • bitcoind 過期

HD 錢包自動恢復

背景

Bitcoin Core 自 0.13 版以來擁有階層式確定性錢包(HD wallet/BIP32)。HD 錢包是一個系統,它從一個稱為「種子」的單一起點派生所有金鑰。這允許使用者只需備份一次錢包,所有未來生成的金鑰都可以從種子重新生成。

為了加快審查和部署,Bitcoin Core 中 HD 錢包的第一個版本被做得很簡單,沒有太多花俏的功能。現在正在向錢包加入新功能,例如這個 HD 錢包自動恢復,它確保在與節點同步時始終檢查金鑰池,並且它搜尋的未使用金鑰數量足夠大。

會議意見

PR 的作者 Jonasschnelli 有幾個問題需要討論。他想知道我們應該嘗試始終恢復資金,還是檢查錢包的最佳已見區塊並與節點的最新區塊進行比較,然後才恢復。他認為我們應該只在最佳已見區塊落後時恢復,因為加密錢包可能需要解鎖以生成新金鑰,並且出於效能原因。Achow101 認為如果需要生成更多金鑰,可以在 GUI 彈出時提示使用者。然而,它也應該在命令列介面中工作,這樣解決起來更難。BlueMatt 建議在金鑰池足夠小時停止更新最佳已見區塊,並在錢包解鎖且金鑰池擴展時從該高度重新掃描。Sipa 注意到修剪節點也需要停止修剪。

另一個問題是金鑰池中的間隙限制應該是多少。目前這是 100,但這似乎太低了。目前的瓶頸是派生時間,這是 Berkeley DB 刷新的問題。修復 Berkeley DB 問題將導致巨大的改進,並允許將金鑰池提高到 1000 或 10000 之類的東西。

會議結論

  • 始終掃描金鑰池並檢查金鑰池是否足夠大
  • 將金鑰池和間隙限制擴展到 500+
  • 對於加密錢包:暫停錢包的同步,直到它解鎖
  • 對於加密的修剪節點:也暫停完整節點

NODE_NETWORK_LIMITED

背景

目前修剪節點不會宣告自己擁有任何區塊,因此它們不向其他對等節點提供任何區塊。隨著區塊鏈大小的持續增長,修剪節點的數量在未來可能會增加。

非修剪的完整節點通過 NODE_NETWORK 宣告自己,Jonasschnelli 建議製作一個訊息來宣告轉發並能夠提供最後 144 個區塊(1 天的區塊)的修剪節點,即 NODE_NETWORK_LIMITED

會議意見

先前關於此主題的討論得出結論,使用兩個服務位元,用於 144 個區塊和約 1000 個區塊。

唯一需要討論的是我們需要將截止設置得多高,因為由於重組/邊界,它應該至少高幾個區塊。Gmaxwell 建議使用現有的修剪最小值 288 個區塊。

Jonasschnelli 認為我們應該允許目前設定 prune=550(550MB,這是最小值)的修剪對等節點發出轉發信號和圍繞最新區塊的有限數量的區塊(10),因為這將通過不必提供歷史區塊來降低頻寬要求。Gmaxwell 注意到還有其他限制頻寬的方法,我們沒有信號空間來發送每種區塊轉發的變體。還有過超過 10 個區塊深度的重組(如 BIP50),所以如果你所有的對等節點只提供 10 個區塊,這會造成許多問題。

會議結論

  • Jonasschnelli 將開始為兩個位元 NODE_NETWORK_LIMITED 編寫草案規範

bitcoind 過期

背景

Luke-jr 建議讓 bitcoind 和 bitcoin-qt 在 7-8 年沒有更新後過期。假設在 7 年內軟體將變得過時,因為軟分叉和可能的硬分叉將使其不安全,以及在此期間的漏洞利用。

它還會提供某種確定性,舊節點將在截止日期前結束,使任何硬分叉變成軟分叉,前提是它在 8 年前計劃。

會議意見

Luke-jr 澄清它允許明確覆蓋,所以如果人們願意,他們可以在過期日期之後使用軟體。

Petertodd 認為任何足夠短以真正有用的時間範圍可能都足夠短以引發政治風險。

BlueMatt 和 Wumpus 認為讓節點拒絕啟動並顯示錯誤訊息提及覆蓋旗標會更合理,儘管在那個時間尺度上沒有太大區別。然而,它會更簡單地實作,也不太容易出錯。

會議結論

  • 會議後討論繼續,但沒有達成共識

高優先級審查

  • BlueMatt 建議為無法參加會議的 Morcos 加入 #10199(更好的手續費估算)。
  • Sipa 喜歡將需要更多測試的 #10148(使用區塊重放的非原子刷新)與 #10195(將鏈狀態資料庫和快取切換到每 txout 模型)交換
  • CFields 希望看到不緊急但是朝向 Libevent 的長線中的第一個的 #10285(重構)進入。

幽默時刻

wumpus           #topic libconsensus (BlueMatt)
BlueMatt         yes, so obviously this is all based on #771
jonasschnelli    (19 Jan 2012)
wumpus           archeology?

gmaxwell         I think in the future we'll change it to a limited set of options.
gmaxwell         Maybe all of them named after words for big in different languages, like starbucks. :P
sipa             gmaxwell: "For me a venti depruned node, please"
BlueMatt         sipa: I'm sorry, I dont speak starbucks
sipa             BlueMatt: venti is italian for 20. easy. that's obviously more than "grande" or "tall"
BlueMatt         sipa: ehh, I'll stick with my *good* coffee, thanks

wumpus           heck my nodes do nothing imporant and even I have a one-liner script that sends me a mail on crash or unexpected exit
sipa             my node does something important, and i have a 0-line script that sends me an mail on crash (= people mail me that my website stopped updating)
sipa hides
BlueMatt has a feeling sipa's approach is more common

參與者

IRC nick Name/Nym
wumpus Wladimir van der Laan
jonasschnelli Jonas Schnelli
sipa Pieter Wuille
cfields Cory Fields
luke-jr Luke Dashjr
kanzure Bryan Bishop
gmaxwell Gregory Maxwell
BlueMatt Matt Corallo
instagibbs Gregory Sanders
jtimon Jorge Timón
petertodd Peter Todd
achow101 Andrew Chow

免責聲明

本摘要是在沒有任何討論參與者輸入的情況下編寫的,因此任何錯誤都是摘要作者的責任,而非討論參與者。