Taproot

BIP341 中使用的 compact_size 函式是什麼?

  • July 23, 2022

BIP341在兩個實例中使用了一個名為compact_size的函式:在構造 tapleaf 雜湊時,它以支出腳本的大小作為輸入,在構造簽名消息時,如果存在附件,則將附件的大小作為輸入。

但是,與文件中大部分在BIP340中定義的其他函式不同,我在其中任何一個中都找不到該函式的定義,那是什麼?

它指的是比特幣 P2P 協議中經常用於整數(特別是向量長度)的 CompactSize 編碼。在其他一些協議描述中,它也被稱為 VarInt。由於它早於 BIP 流程(是原始 2009 比特幣協議的一部分),因此在任何 BIP 中都沒有對其進行描述。

它將 0 到 252 之間的整數編碼為單個字節,儘管更大的整數為 3、5 或 9 個字節。

它不在 BIP340 中,因為它與數字簽名方案無關。

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