Bitcoin-Core

估計martfee 輸出非常不同的結果

  • February 27, 2019

在 564815 塊(2019-02-26 23:40 UTC)附近,記憶體池是空的。我注意到我的兩個節點對要使用的交易費用給出了非常不同的估計:

節點 1

  • 版本:17.1.0
  • 同行人數:21
  • 同步時間:約三週
  • 修剪:3GB
// 查看記憶體池中有多少事務
>比特幣-cli getrawmempool | wc-l
4027

>bitcoin-cli 估計martfee 5 {
“feerate”:0.00021195,
“塊”:5 }

>bitcoin-cli 估計martfee 5 經濟 {
“feerate”:0.00009715,
“塊”:5 }

節點 2

  • 版本:比特幣核心 17.0.0
  • 同行人數:8
  • 同步時間:約 5 小時
  • 修剪:3GB
# 查看記憶體池中有多少筆交易
>比特幣-cli getrawmempool | wc-l
3999

>bitcoin-cli 估計martfee 5
{
“feerate”:0.00008823,
“塊”:5
}

>bitcoin-cli 估計martfee 5 經濟
{
“費率”:0.00001000,
“塊”:5
}

僅同步 5 小時且連接較差的節點似乎比已同步三週的節點更能估算費用。為什麼“最好”的節點是收費最差的節點?為什麼費用估算如此不同,可以做些什麼來使它們更準確?

僅同步 5 小時且連接較差的節點似乎比已同步三週的節點更能估算費用。為什麼“最好”的節點是收費最差的節點?

僅僅因為費用較低並不意味著它更好

費用估算器嘗試估算要包含在塊中的成本和時間之間的平衡的費用。它通過查看它在其記憶體池中收到的交易費率並查看以給定費率進行的交易需要多長時間才能包含到一個塊中來做到這一點。當它看到更多的交易和更多的塊時,它變得更加準確,因為它有更多的數據要分析。

因此,由於正常執行時間,您的兩個節點給出了截然不同的數字。節點 1 的線上時間要長得多。它已經看到更多未經確認的交易被確認,因此其估計器有更多數據需要觀察。

然而,節點 2 並沒有那麼多線上,所以它沒有那麼多數據。它還沒有看到多少塊,也沒有多少交易被確認。由於它缺乏數據,它求助於備份值。這些值是最低中繼費率,實際上不太可能是真實費率。最低中繼費率不是包含在一個塊中的最低值,它是一個節點甚至將您的交易中繼到另一個節點的最低值。

可以做些什麼來使它們更準確?

等一下。讓節點線上。估算器需要數據,唯一的方法就是等待。隨著時間的推移,它們變得更加準確。

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