有沒有辦法確定批量交易的最佳大小以節省費用?
我一直在研究有關費用和批處理的其他問題,但似乎沒有人問是否有某種方法可以確定交易的最佳大小以節省費用(為簡單起見,假設所有輸入都來自 segwit 原生 UTXO)。
擴展一下我的想法:我需要向不同的人支付不同的金額(讓我們考慮他們的數量可以在 1 和無限之間),我猜想通過一次“大”交易一次性支付他們我可以節省費用,而不是每人 1 筆交易。但是,我在同一筆交易中加起來的人越多越好,還是如果我的交易越來越大,我會在某個時候節省更少的錢?是否有一些模型可以計算我的批處理事務的“最佳”大小,或者它可能沒有意義?
這是我目前最好的猜測:增加更多的人意味著真正增加輸出,這使得交易線性增長(假設所有輸出都非常標準並且大小大致相同),所以假設費用在每個接收者之間分配,你可以有更多的人在同一筆交易中,對每個人來說都更便宜。
但在某些時候,輸出量的總和會比我最初添加的一個輸入更大,我需要添加另一個輸入。如果我有相對較大的輸出可以使用,這可能是可以的,但如果我只有少量輸出和/或我在輸出中添加相對較大的數量,在某個時候添加一個輸出可能需要添加一個或多個輸入,使交易規模的增長不值得節省費用,所以我寧願停止它並在此時發送批次。
[編輯] 我看到這篇文章似乎證實了我的想法,並且在所有條件相同的情況下,添加新輸出總是會節省費用。
但在某些時候,輸出量的總和會比我最初添加的一個輸入更大,我需要添加另一個輸入。如果我有相對較大的輸出可以使用,這可能是可以的,但如果我只有少量輸出和/或我在輸出中添加相對較大的數量,在某個時候添加一個輸出可能需要添加一個或多個輸入,使交易規模的增長不值得節省費用,所以我寧願停止它並在此時發送批次。
添加另一個輸入並不重要,因為無論如何它也必須包含在下一個事務中。
無論如何,第二階段交易總是比單個批處理交易更昂貴,因為您會複製(非見證!)元字節(版本、輸入的 n°、輸出的 n°、鎖定時間等) .
你現在通過最小化沒有投入、最大化沒有產出而節省下來的東西,將在以後成為產出所有者的開支,其中投入的數量越來越多,每個投入的價值越來越小。
如果輸出所有者是其他人,則繼續最小化輸入,最大化輸出。燙手山芋費。我只是盡量減少我的 $ 支出,這些產出屬於其他人,他們將不得不照顧以後的支出費用。
如果您說“但是在某些時候,輸出量的總和會比我最初添加的一個輸入更大,我需要添加另一個輸入。 ”那麼您實際上應該考慮的是將輸出合併到費用低時投入更大。更大的輸入意味著在交易期間有更多的資金在進行中。
如果輸出所有者是您,那麼您應該考慮不同的策略。