Mining-Profitability
為什麼 getblocktemplate 使用優先級進行交易選擇?
我不知道具體是如何
getblocktemplate
工作的,但它似乎包括基於優先級的事務。基於優先級選擇交易並不是建構區塊的最有利可圖的方法(與費用/字節相反),所以
getblocktemplate
只會被尚未弄清楚如何建構自己的區塊的礦工使用?為什麼有人會使用
getblocktemplate
其他方式?
- 比特幣交易優先級計算
- <https://github.com/bitcoin/bitcoin/blob/86b800c6a299455580fe76e5fb43218f0222e179/src/miner.cpp>
Getblocktemplate 根據配置參數建構塊。在最近的版本中,預設使用每字節費用作為整個塊的標準。
歷史
在最高 0.6 的比特幣版本中,基於優先級的選擇用於整個區塊。這是鼓勵年輕的比特幣經濟增長的一種手段。然而,它也有一個最低交易費用,隨著區塊中的空間越來越接近限製而增加。
在0.7 版本中引入了
-blockprioritysize
設置,將塊劃分為優先區域和費用區域。優先區域是為了支持少量的低費用交易繼續進行,預設情況下限制為 27 kB(自0.9 版起為 50 kB )。費用區域按每字節費用排序,並最大化礦工的總費用。最近的版本
在比特幣核心 0.12中,優先級大小的預設設置減少到 0。它還引入了一種更有效的交易選擇算法,該算法對優先級區域的工作並不理想。
在即將發布的Bitcoin Core 0.13版本中,算法選擇算法將再次得到改進,並使用 Child-pays-for-parent (CPFP) 邏輯。此邏輯使用來自未確認後代交易的費用來確定是否包括父母。與以前的算法相比,它增加了可以收取的總費用,並允許錢包通過以更高的費用花費其零錢輸出來增加交易費用。