2018-07-19 IRC 會議摘要

概覽


本週會議討論的主題包括在星期一 Bitcoin Core 0.17 功能凍結前需要審查的拉取請求、是否應將 Bitcoin Core 的輸入(幣)選擇演算法作為 RPC 提供、描述錢包應監視哪些輸出的新方法以及此方法在新 scantxoutset RPC 中的實作、Pieter Wuille 的 bitcoin-seeder 程式是否應成為 Bitcoin Core GitHub 組織的一部分、Bitcoin Core 專案是否應停止在 Bitcoin.org 上發布版本說明和二進位檔案,以及關於下次 CoreDev Tech 會議的資訊。

在討論開始之前,Wladimir van der Laan 提到 Bitcoin Core 0.16.2 候選版本(RC)2 的可執行檔可供測試人員使用

高優先級審查

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

本次會議的特別關注點是如果要將其功能包含在即將發布的 Bitcoin Core 0.17 版本中,需要在未來幾天內合併的 PR,因此也鼓勵審查者檢查 0.17 里程碑中的 PR 列表。

討論(日誌): 討論了以下 PR:

  • #9662 - 新增建立錢包「停用私鑰」選項:純監視錢包的合理模式。由 Jonas Schnelli 請求;Wladimir van der Laan 表示可能很快就可以合併。

  • #9502 - [Qt] 新增暫停/恢復區塊下載的選項。由 Schnelli 請求。

  • #13697 - 在 scantxoutset 中支援輸出描述符。由 Pieter Wuille 請求,Schnelli 支援。在會議後面更詳細地討論。

  • #13666 - 始終使用低 R 值建立簽名。由 Wuille 請求。

  • #13426 - [錯誤修復] 新增 u8path 和 u8string 以修復 Windows 的編碼問題。由 Chun Kuan Lee 請求。

  • #13712 - 錢包:修復 ParseHDKeypath 中的非確定性;避免在路徑計算中使用未初始化的變數。由 Andrew Chow 請求。

  • #8469 - [POC] 向 Core 引入基於屬性的測試。由 Schnelli 請求從 0.17 列表中移除,因為它還沒準備好。

  • #13617 - 要求 MacOS 10.10+。最初請求從列表中移除,但在 Cory Fields 評論後又加回來。

結論: 在本次會議的這個部分結束時,有超過十幾個 PR 被標記為 0.17,審查截止日期為星期一。

在 RPC 上公開幣選擇

背景: 幣選擇是用於描述錢包如何在特定交易中選擇花費使用者的哪些比特幣的名稱。所選的未花費交易輸出(UTXO),通常簡稱為,成為交易中的輸入。開發人員在過去一年中花費了大量時間改進 Bitcoin Core 的幣選擇,以便有時能夠為使用 Bitcoin Core 內建錢包的使用者改善隱私並降低交易大小(從而降低費用),並且還有更多改進正在進行中。

討論(日誌): Andrew Chow 請求該主題並介紹了它:「這是在與一些公司討論幣選擇時提出的。基本上,有些公司對使用 Core 的幣選擇(或其他人的)感興趣,而不是必須實作/自行設計。目前,如果他們想使用 Core 的幣選擇,UTXO 需要在錢包中——也就是說,地址和可能的金鑰需要在錢包中。」

Wladimir van der Laan 和 Gregory Maxwell 建議他們可以使用 fundrawtransaction RPC 來使用 Bitcoin Core 的幣選擇。Jonas Schnelli 補充說,「使用停用私鑰的動態錢包與 fundraw 結合使用似乎非常有效」,部分是指 PR #9662

Chow 說,「這對他們來說並不理想」,Pieter Wuille 接著說,「他們不想使用錢包;他們只想能夠執行幣選擇。」

幾位會議參與者建議可以作為程式庫來做,但 Maxwell 反對在專案中將其作為 RPC 或程式庫來做:「我懷疑這是否值得我們為這樣的事情維護一個穩定的介面。例如,[Kalle Alm] 最近的分組 PR 會完全破壞幣選擇的介面 […] 維護穩定的 [幣選擇] 介面的壓力將對專案有害。[…] 我不想聽到『我們不能實作隱私功能 X,因為它會破壞 [幣選擇] 介面』。」

Wladimir van der Laan 說,「我認為這不是我們專案的關注點。有些其他人想要一個幣選擇演算法用於他們自己的目的。[那]很好,他們可以自己從中製作一個程式庫,程式碼是開放原始碼的。」Maxwell 建議,「也許他們應該貢獻使錢包程式碼變得更好,這樣他們就不必編寫自己的(吐舌頭笑臉)。」

結論: 儘管 RPC 方法的想法普遍遭到反對,Wuille 確實建議了一條前進的道路:「我認為這方面的第一步是我們無論如何都在做的事情:使程式碼本身更加封裝。也許一旦程式碼被充分封裝,其他人就可以將其程式庫化並維護它。」

#13697 更改 scantxoutset 的 API

背景: 最近合併的 PR #12196 新增了一個 scantxoutset RPC,允許使用者在目前可花費比特幣(UTXO 集)的集合中搜尋對應於一個或多個指定地址、公鑰、私鑰或 HD 金鑰集的任何輸出。如 6 月 28 日會議中所討論,Pieter Wuille 正在研究一種新方法來指定錢包應尋找哪些輸出(scriptPubKey),稱為輸出腳本描述符,他有 PR #13697 開放,以新增對此的支援到 scantxoutset,而不是目前向錢包描述金鑰和腳本的方式。

討論(日誌): Wuille 請求並介紹了該主題,「首先,這是一個更大努力的一部分,將金鑰和腳本以及 [HD 錢包] 鏈組合成一個概念。有一種迷你語言可以指定(集合)scriptPubKey,所以我非常希望首先聽到對該語言的評論。另一個問題是 scantxoutset [是否] 實驗性的,[是否在] 0.17 中支援描述符?」

Wladimir van der Laan 和 Jonas Schnelli 都表示他們喜歡輸出腳本描述符的想法,他們也都支援將 scantxoutset 標記為 0.17 版本的實驗性功能,這將允許專案在後續版本中自由更改其 API,並輕鬆納入新 RPC 和新輸出腳本描述符語言使用者的回饋。

Luke Dashjr 問,「[輸出腳本描述符] 應該是 BIP 嗎?似乎在 Core 之外可能有用。」Wuille 回答,「可能是的,但不是第一時間。我預計這將發展得相當快。」

結論: 沒有人對將 scantxoutset 標記為 0.17 版本的實驗性功能的想法提出反對,也沒有人反對如果 #13697 通過審查則使用輸出腳本描述符。

Bitcoin-seeder 納入 bitcoin-core GitHub 組織

背景: 儘管 Bitcoin 使用點對點協定,但首次啟動的節點不知道要連接的任何對等節點的 IP 地址(除了一些用於最後手段使用的備用地址),因此它們從稱為 Bitcoin seeder 的程式請求最近活躍節點的 IP 地址列表。然後節點連接到這些對等節點,這些對等節點可以告訴新節點其他對等節點,因此所有未來的連接通常都可以完全去中心化地進行——但如果去中心化對等節點查找對它不起作用,節點可以再次使用 seeder。

有幾個由不同作者編寫的 seeder 程式。其中一個由 Pieter Wuille 維護,簡稱為 bitcoin-seeder

討論(日誌): Lucas Betschart 請求並介紹了該主題:「我認為因為 bitcoin-seeder 有一些開放的 issue 和簡單的 PR,[所以]可能有幾個 Bitcoin 維護者擁有合併權限是有意義的。」

Wuille 回答,「就我而言沒問題,但我不確定這是否是正確的訊息。」Luke Dashjr 呼應了這種情緒。

結論: Sjors Provoost 建議,「另一種方法可能是 [Wuille] 給更多人訪問該儲存庫的權限?」Wuille 回答,「我同意!」Betschart 說,「我也同意。」

脫離 Bitcoin.org

背景: 自 2009 年發布原始 Bitcoin 軟體以來,Bitcoin(後來的 Bitcoin Core)資源一直託管在 Bitcoin.org 上。隨著時間的推移,這增加了關於日益多樣化的 Bitcoin 網路的額外資源。

2015 年 12 月,Bitcoin Core 開始使用自己的網域來託管其資源,後來也用於託管其軟體版本。版本公告和軟體繼續鏡像到 Bitcoin.org。

討論: Andrew Chow 透過建議「脫離 Bitcoin.org」來介紹該主題。他補充說,「我們仍然連結到 bitcoin.org 以獲取下載等資訊。[我們]可能應該更改這些。」完整討論請參見日誌。一些討論也發生在會議之後

結論: 沒有明確的結論。會議後的討論似乎表明目前的流程不會有重大變化。

下次 CoreDev 技術會議

背景: Bitcoin Core 團隊的一些成員定期舉辦一個主要針對 Bitcoin Core 貢獻者的僅限邀請活動,讓每個人都能親自審查和討論各種專案。有關更多資訊,請參見 CoreDev.Tech 網站。

討論(日誌): Steve Lee 請求並介紹了該主題,「我自願組織下次 Core Dev Tech 聚會。目前的想法是在 10 月的 Scaling Bitcoin 之後在東京舉行,10 月 8-10 日,並以類似於上次在紐約的方式組織。」

幾個人感謝 Lee。

結論: Lee 說,「我計劃發送一份調查來收集一些回饋。如果有人有具體的想法或建議,請隨時與我聯繫。」

幽默

          <sipa> what about #13666 ?
<provoostenator> What's in a number?
          <sipa> 13 and 666, can't beat those odds
        <wumpus> niice
      <achow101> it was completely planned, obviously
          <sipa> in some timezones it was also opened on
                 friday the 13th
                 oh, no
 <jonasschnelli> I hope no black cat was sitting on the
                 keyboard during coding

參與者

IRC 暱稱 姓名/匿名
wumpus Wladimir van der Laan
sipa Pieter Wuille
jonasschnelli Jonas Schnelli
achow101 Andrew Chow
luke-jr Luke Dashjr
gmaxwell Gregory Maxwell
moneyball Steve Lee
provoostenator Sjors Provoost
jnewbery John Newbery
cfields Cory Fields
lclc Lucas Betschart
ken2812221 Chun Kuan Lee
kanzure Bryan Bishop

免責聲明

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