Transactions

計算交易費用的確切公式是什麼?

  • March 17, 2013

根據維基

如果塊大小超過 250 kB,隨著塊大小接近 500 kB 的限制,交易變得越來越昂貴。當塊大小為 400 kB 時發送交易將花費正常金額的 5 倍;當它為 499 kB 時發送將花費 500 倍等。

確定交易費用的確切公式是什麼?

有關確定最低交易費用的程式碼,請參見main.h 中的GetMinFee() 。

您描述的部分實現如下:

// Raise the price as the block approaches full
if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2)
{
   if (nNewBlockSize >= MAX_BLOCK_SIZE_GEN)
       return MAX_MONEY;
   nMinFee *= MAX_BLOCK_SIZE_GEN / (MAX_BLOCK_SIZE_GEN - nNewBlockSize);
}

在哪裡:

  • nBlockSize取決於我們是誰:

    • 如果我們是進行新交易的使用者,nBlockSize則為 1
    • 如果我們是一個決定是否中繼傳入交易的節點,nBlockSize則為 1000
    • 如果我們是礦工,決定將哪些交易包含在新區塊中,nBlockSize那麼在添加新交易之前我們正在建構的區塊的大小
  • nNewBlockSize是包含新交易的區塊大小

  • MAX_BLOCK_SIZE_GEN是 500kB

  • MAX_MONEY是 2100 萬比特幣(世界上所有的錢)

所以它說:

  • 如果我們要決定是轉發還是探勘交易,並且添加交易會使區塊超過 50% 滿:

    • 絕不允許讓區塊 100% 滿的交易
    • 否則將費用增加一倍500kB / (500kB - nNewBlockSize)

注意:通過重新排列符號,我們得到了 Meni 在他的回答中所寫的內容:

Fee= Normal fee / ((500kB - size) / 500kB) =Normal fee / (1 - size / 500kB)

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