Multi-Signature

一個範圍描述符可以生成多少個地址?

  • July 27, 2022

我正試圖將我的頭腦圍繞在遠端描述符上。bitcoin/bitcoin-repo 中的文件說,範圍描述符可以在“可配置範圍(預設為 0-1000) ”中生成密鑰/地址。

https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md

這個 0-1000 範圍在文件中多次被提及為預設值,但不清楚是否可以生成超過 1000 的鍵/地址,描述符本身似乎也沒有任何資訊可以讓我們看1000以上。

我的問題,說得更清楚:

  1. 可以從範圍描述符生成的鍵/地址的數量是否有上限(硬)限制?
  2. 1000 限制是否只是錢包強制執行的任意數字,以對描述符的前瞻性設置合理的上限?

範圍由上下文或呼叫者確定。就描述符而言,沒有限制(除了 BIP32 固有的 2 31個鍵的限制);它定義了一個(實際上)無限的 scriptPubKeys 列表。

比特幣核心錢包,如果在描述符模式下使用,將隨著密鑰的使用而動態擴大範圍。前瞻(也稱為間隙限制)由-keypool命令行選項(或keypool=配置文件參數)控制,預設為 1000。但如果使用 scriptPubKey 編號 337,從那時起,錢包會將範圍擴展到 1337 , 並考慮以超過 1000 的方式生成的 scriptPubKeys 的付款是它自己的。

然而,這不是描述符的唯一案例。例如,Bitcoin Core 有一個scantxoutsetRPC,它可以用來篩選 UTXO 集,尋找任何支付與某個描述符匹配的輸出的東西。在這種情況下,沒有間隙限制的概念,因為它只是一次呼叫,使用者可以自己提供實際範圍。

可以生成與 BIP32 擴展公鑰的子項一樣多的描述符。也就是說,2^31相同類型(硬化或未硬化)。

1000 只是比特幣核心錢包的預設缺口限制。

引用自:https://bitcoin.stackexchange.com/questions/114641