Segregated-Witness

什麼是塊重量,它與塊大小有何不同?

  • October 31, 2020

在閱讀 BIP141 時,我遇到了以下選項:

Block creation options:
-blockmaxweight=<n> Set maximum BIP141 block weight (default: 3000000)
-blockmaxsize=<n>   Set maximum block size in bytes (default: 750000)

什麼是塊重?它是大小的整數表示嗎?

塊權重在BIP 141本身中定義:

塊重量定義為基本尺寸 * 3 + 總尺寸。(理由[3])

基本大小是原始交易序列化的塊大小(以字節為單位),沒有任何見證相關數據,如未升級節點所見。

總大小是以字節為單位的塊大小,其中包含 BIP144 中描述的序列化事務,包括基礎數據和見證數據。

給出的理由是:

使用單個複合約束而不是兩個單獨的限制(例如 1MB 基礎數據和 3MB 見證數據)的理由:使用兩個單獨的限制將使探勘和費用估算幾乎不可能。礦工需要解決一個複雜的非線性優化問題,以找到在兩個約束條件下使費用最大化的交易集,而錢包將無法知道要支付什麼,因為這取決於這兩個條件中的哪一個最受時間礦工試圖在他們的交易中產生區塊。這種方法的另一個問題是免費載入。一旦一組交易達到基本數據 1MB 的限制,只需最低限度地增加費用,就可以向見證人添加多達 3MB 的額外數據。在這種情況下,額外見證空間的邊際成本實際上為零。

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