2018-06-28 IRC 會議摘要

概覽


本週會議討論的主題包括專案成員希望審查者在未來一週重點關注的拉取請求、類似 BIP39 的新種子格式的草案規範、記錄 Bitcoin Core 如何使用 BIP32 HD 錢包標準、實作 BIP151 加密點對點連接的進度更新,以及圍繞向錢包軟體描述它們應將哪些輸出腳本視為使用者錢包一部分的新方法的討論。

高優先級審查

背景: 每次會議,Bitcoin Core 開發人員都會討論會議參與者認為在未來一週最需要審查的拉取請求(PR)。其中一些 PR 與貢獻者特別希望在下一個版本中看到的程式碼相關;其他 PR 則是阻礙進一步工作或需要大量維護(重新基底)以保持待處理狀態的 PR。鼓勵任何有能力的審查者訪問專案的當前高優先級 PR 列表。

討論(日誌): 唯一專門討論的 PR 是 #12196,它新增了一個 scantxoutset RPC,允許應用程式在所有目前的未花費交易輸出(UTXO)中搜尋與特定地址、公鑰、私鑰或 HD 錢包擴展公鑰(xpub)相符的輸出。

Pieter Wuille 建議 PR 的作者 Jonas Schnelli 暫時從 scantxoutset 中移除 xpub 支援,Wuille 稍後會 PR 一個更新到 scantxoutset,新增對本會議記錄後面描述的輸出腳本描述符的支援。如果 Wuille 延遲這樣做,Schnelli 可以在 Bitcoin Core 0.17 功能凍結前重新新增之前編寫的 xpub 支援。Schnelli 同意。

注意:會議這部分期間對輸出腳本描述符的擴展討論已移至單獨的部分

Cipherseed

背景:(討論的一部分。)

討論(日誌): Jonas Schnelli 請求並介紹了該主題,「我有一個規範草案用於一種新的種子格式,類似於 BIP39,具有一些巧妙的屬性,並且——在將[它]發送到郵件列表之前——將感激回饋。」

結論: Schnelli 說這「更像是一個公告而不是一個主題」,因此討論被推遲,直到人們有機會閱讀草案。

Core 的 BIP32 衍生「標準」

背景: HD 錢包規範 BIP32 定義了一組私鑰和公鑰(因此也包括地址)如何從 128 位元到 512 位元的隨機種子衍生。

討論(日誌): Jonas Schnelli 請求並介紹了該主題,「今天在討論中提出 [Core 的] BIP32 衍生方案未在 BIP 中指定。有些人認為它是純粹/原生的 BIP32,但它不是,而其他[錢包]則使用原生 BIP32。」

Wladimir van der Laan 同意「如果差異記錄在某處會很好。」Luke Dashjr 反對它成為 BIP,Pieter Wuille 同意,Andrew Chow 建議「只需在文件儲存庫中記錄衍生就足夠了。」

注意:會議這部分期間對輸出腳本描述符的擴展討論已移至單獨的部分

P2P 連結臨時加密

背景: BIP151 指定了一種方法,允許 Bitcoin 節點和客戶端通過加密連接發送其資料,以防止竊聽者直接監視正在傳輸哪些特定交易和區塊。這可以增強隱私的某些方面,例如使某人更難確定哪個 IP 地址首次傳輸特定交易(可能表明該 IP 地址的某人建立了該交易)。在 BIP151 規範中,連接的雙方僅為該連接和該會話生成金鑰——在連接關閉後銷毀金鑰;這些金鑰被描述為「臨時的」。由於臨時金鑰不被重複使用,因此無法使用它們來識別在不同網路(例如 Tor)上執行或在節點更改 IP 地址後執行的相同節點。

討論(日誌): Gregory Maxwell 請求該主題並以一個問題開始討論,「最近在實作 P2P 連結臨時加密方面是否有任何進展?我知道我們有點在等待一些其他網路重構。」

Jonas Schnelli 說,「Armory 已經實作了它,並計劃將其 PR 到 Core(不確定多快以及什麼質量)。」

Cory Fields 說,「我不得不暫時將網路[重構]工作放在一邊,所以肯定不要等待它。我很樂意幫助[BIP151 的]實作。我以為我們在等待認證的東西。」

Schnelli、Maxwell 和 Pieter Wuille 都同意 BIP151 實作不應等待認證提案。

進一步的討論集中在加密的設定協定(初始握手)是否應該更難檢測,因此也更難阻止。然而,Maxwell 說,「我認為我們認為[所考慮方法的]好處太可疑了,特別是因為流量模式將非常清楚地識別 Bitcoin 點對點連結。[…] 所以我認為我們可以實作,唯一可能提出的變更將是作為實作和基準測試的副作用而產生的變更。」

結論: Schnelli 說,「如果沒有其他人想要研究實作,那麼我將繼續[我的] BIP151 實作。」

輸出腳本描述符

注意:這不是標記的主題,但在會議的其他兩個主題期間進行了討論。為了更容易閱讀,這些單獨的討論已從發生的位置提取出來並統一到這裡的一個主題中。

背景: Pieter Wuille 一直在研究 Bitcoin Core 錢包如何識別哪些交易屬於特定使用者錢包的重新設計

討論(日誌第 1 部分日誌第 2 部分): 作為他錢包重新設計的一部分,Pieter Wuille 說他一直在研究相關的 scriptPubKey 集合的人類可讀描述的設計,它提供了「一種通用語言,將有關如何花費整組金鑰以及相關地址/腳本/私鑰/…的所有資訊編碼到一個字串中,包括對多重簽名等的支援…」

這透過允許「匯入/匯出[在]這些描述符的層級操作,而不是單個金鑰/腳本/公鑰/HD [錢包金鑰]鏈」來支援提議的錢包重新設計。[importmulti RPC] 在很大程度上已經與該設計相容。整個想法肯定不適用於[下一個主要 Bitcoin Core 版本,] 0.17,但這並不意味著它不能已經在相對小範圍的事情中使用[像] scantxoutset。」

這導致 Wuille 建議 PR #12196 暫時移除其擴展公鑰支援,以便 Wuille 可以允許新的 scantxoutset RPC 使用輸出腳本描述符。

Jonas Schnelli 問,「[輸出腳本描述符]將如何與金鑰池、靈活金鑰路徑和擴展公鑰互動?」金鑰池是屬於使用者錢包的一組金鑰;Bitcoin Core 尋找影響這些金鑰的交易並將它們新增到使用者的錢包中。靈活金鑰路徑指的是 HD 錢包的 BIP32 金鑰衍生路徑。

Wuille 說「金鑰池消失了 […] 實際上,[描述符]包含擴展的公鑰。[對於]靈活金鑰路徑,描述符只包含路徑;您可以將其更改為您喜歡的任何內容(但預設錢包當然會選擇一些標準方案)。」

結論: Wuille 將繼續研究輸出腳本描述符,包括計劃開啟一個 PR 將它們新增到 scantxoutset RPC。

參與者

IRC 暱稱 姓名/匿名
jonasschnelli Jonas Schnelli
sipa Pieter Wuille
wumpus Wladimir van der Laan
gmaxwell Gregory Maxwell
cfields Cory Fields
promag Joao Barbosa
luke-jr Luke Dashjr
achow101 Andrew Chow
meshcollider Samuel Dobson
instagibbs Gregory Sanders
kanzure Bryan Bishop
jnewbery John Newbery

免責聲明

本摘要在編寫時未徵求討論參與者的意見,因此任何錯誤都是摘要作者的過失,而非討論參與者的過失。特別是,從討論中摘錄的引文在大小寫、標點符號和拼寫方面進行了修改,以產生一致的句子。括號中的詞語和片段以及背景敘述和說明由本摘要的作者新增,可能無意中改變了某些句子的含義。如果您認為任何引文被斷章取義,請開啟 issue,我們將更正錯誤。