深入解析比特幣手續費機制,讓你在交易中更明智

人們宣傳比特幣的時候常常會講:“可以向各種張三李四免費轉賬。”其實不一定,有時還是需要手續費的。

2013年,一個比特幣的價格為20美元。2017年,轉一個比特幣要花20美元。

手續費的目的一來為激勵礦工不輟挖礦,二來以維護比特幣網絡安全(維穩費?)。早期礦工的挖礦底薪比較高,每個區塊50枚BTC,但是創世塊之后每出21萬個塊(每四年),底薪減半。所有2100萬枚比特幣都被挖出后,由交易費充當挖礦獎勵。

關于減半算法的代碼,長這樣。

CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)

獎勵金在2012年當時候從50比特幣減半為25比特幣,2016年從25比特幣減半為12.5b比特幣。大概2020年就會再減半為6.25比特幣。

那麼,怎麼確定什麼時候需要掏交易費、掏多少合適?

比特幣網絡規則內置交易費用結構,取決于系統推薦的(標準)客戶端。 我們拿比特幣核心(bitcoin core)打個比方,看看轉帳時,需要過哪幾道:

1. 花哪些幣?

客戶端首先確定用哪些幣來完成支付。

好比, Bob給Alice轉了2枚比特幣;Rose又給Alice轉了3枚比特幣,那麼兩次轉賬金額會單獨地趴在Alice的錢包中,直到被花出去。(注意:兩筆轉賬不會“自動合并”為5BTC)。

那麼,經過一陣子,錢包中會積累不同金額的比特幣,所以才說,得考慮下用哪些做支付。

可用金額叫做交易的“輸入”,最終發送金額(包括退回到錢包的找零)稱為“輸出”。

2. 避免過于零碎的支付

若交易“輸出”(包括找零)小于0.01BTC,則收取0.0001BTC的手續費。 “選幣”時,算法會盡量避開那些找零金額低于0.01BTC的幣。

3. 老幣、大額交易優先

若發送的比特幣金額過小,或幣齡過低,則很有可能被收取費用。 每筆交易都有優先級,由“輸入”的年齡、金額和交易輸入數量決定。

具體而言就是, 客戶端將每一筆輸入的金額與該輸入在區塊中存在的時間相乘,將所有乘法結果相加再除以交易字節大小。

若結果小于0.576,則收取交易費。所以,有一堆零碎且/或很新的“輸入”,又不想掏手續費可以這麼干,交易里加上一個大額且較老的輸入即可。這里邊,比較關鍵的就是這個金額x年齡的平均值。

如果在第3步中某交易本來是收費的,但隨著時間流逝,又有新的區塊不斷產生,那麼原先交易中“輸入”年齡也隨之增長,進一步提升了交易的優先級,因此第3步中產生的費用可能會被免除。

4. “稱重”收費(按每千字節收費)

最后,客戶端檢查交易的字節長度。長度取決于輸入和輸出的數量,大致可用下列公式計算:

148 * 輸入數量 + 34 * 輸出數量 + 10

若長度小于10000字節且在第3步中有足夠高的優先級,那麼這筆交易最終被確認為免費,反之需收費, 費用默認為0.0001BTC/千字節(不足1k的按1k計算)。 可自行在客戶端相關設置中更改交易費數額。 低于0.0001BTC的設置不會生效。新費用設置生效后,將覆蓋步驟2中的費用,兩者不疊加。

接著說幾個例子:

1. 過猶不及

說:Alice錢包中趴著兩筆“輸入”,金額分別為1BTC和2BTC。然后Alice想買杯2.99999BTC的咖啡。這時就不存在選幣這一說了,因為有且只有兩筆輸入,都用上才夠咖啡錢,剩下0.00001BTC找零。注意,步驟2提到: 若交易“輸出”(包括找零)小于0.01BTC,則收取0.0001BTC的手續費。 說明,咖啡交易將被征收0.0001BTC的手續費。結果就是交易會失敗,因為Alice手里的余額不足。

這就有意思了:Alice手上有3BTC,但是沒法買2.99999BTC的咖啡。Alice可以把3BTC全部付給商家以避免手續費(假設第3步的費用為0),但有些商家可能會要求支付準確的金額。

2. 人品爆發

說:Alice人品大爆發,在某賠率64000的賭博游戲中,用0.02BTC撥來1280BTC。網站支付獎金時,自己錢包里并沒有可丁可卯的1280BTC,于是只能用各種零碎輸入(含找零)來各種湊。

最后,這筆湊出來的獎金大小是51203字節。是這樣,交易大小超過10000字節,費用增至0.0005BTC/每千字節(其實早期的交易費用就是0.0005,后來變成0.0001的),那麼, 這里的手續費就是52*0.0005 = 0.026BTC。 比玩家的本兒還高。

當然,還是比PayPal轉便宜。

注: 使用Paypal手續費為 4.4% + 0.3 USD/每筆。

好比,1280刀轉賬,1280*4.4% + 0.3 = 56.62 刀

注意:最后繳納的手續費是0.0286BTC,有可能是因為沒有使用(推薦)標準客戶端來創建交易,然后這個客戶端在計算費用時有點小問題。

這是個真事兒,見:Bitcoin Transaction 0a05beb2b1ad62d54a40e624d763cd97f10369b8e0527a3046dd2562cef4652c

3. 機關算盡,不掏錢

有種交易踏在免費的懸崖邊上,大小為9999字節,堪稱交易費躲閃之王。全部輸入中只有一個是1聰(satoshi,即比特幣最小單位,0.000 000 01 BTC = 1 satoshi, 以致敬比特幣創始人Satoshi Nakamoto);但是有另一個大額輸入拉高了優先級,免除交易費用。

必須支付手續費嗎?

捎帶腳說一句,手續費其實不是強制的。有些礦工并沒有很在意這些收費標準,也會把一些沒有手續費的交易記錄到區塊中。使用標準客戶端的“原始交易”(raw transactions)界面能創建手續費低于標準費用的交易,而且,還是有可能人品爆發的被礦工打包入塊的。

發文者:鏈站長,轉載請註明出處:https://www.jmb-bio.com/4278.html

讚! (0)
Donate 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Previous 2023 年 2 月 28 日 下午 5:26
Next 2023 年 2 月 28 日 下午 5:36

相關文章

  • 探索比特幣常見問題,解答你的疑惑

    概覽 什麼是比特幣? 比特幣是一個共識網絡,促成了一個全新的支付系統和一種完全數字化的貨幣。它是第一個去中心化的對等支付網絡,由其用戶自己掌控而無須中央管理機構或中間人。從用戶的角度來看,比特幣很像互聯網的現金。比特幣也可以看作是目前最杰出的三式簿記系統。 誰創造了比特幣? 比特幣是第一個實現了“隱秘貨幣”概念的貨幣。1998年,Wei Dai在cypher…

    2023 年 2 月 28 日
  • 深入解析比特幣區塊機制,了解區塊鏈技術運作方式

    大部分材料都詳細分析了挖礦過程,介紹了區塊是如何產生的。然而,區塊的產生并不是區塊鏈的最終目的,保存交易信息才是區塊鏈的最終目的。所以,更重要的一點是要理解,交易信息是如何被打包進區塊鏈的。 輸入和輸出 一個交易在系統里被輸入和輸出表示。輸入是指這筆交易所要進行轉移的幣來自之前的哪些輸出。輸出是指這些幣將會被發送給哪些地址。在區塊鏈上記賬,不是告訴你一個賬號…

    比特幣科普 2023 年 2 月 28 日
  • 比特幣的私密金鑰、地址、錢包,這些詞語你都懂嗎?

    私鑰,地址,錢包分別是什麼? 比特幣的所有權是通過數字密鑰、比特幣地址和數字簽名來確立的。數字密鑰實際上并不是存儲在網絡中,而是由用戶生成并存儲在一個文件或者一個簡單的數據庫中,稱為錢包。存儲在用戶錢包中的數字密鑰完全獨立于比特幣協議,可由用戶的錢包軟件生成并管理,而無需區塊鏈或者網絡連接。密鑰實現了比特幣的許多有趣特性,包括去中心化的信任和機制、所有權認證…

    比特幣科普 2023 年 2 月 28 日
  • 一文瞭解比特幣的網路,掌握比特幣交易的運作方式

    比特幣的網絡基礎 比特幣使用了P2P網絡架構,“比特幣網絡”是按照比特幣P2P協議運行的一系列節點的集合。除此之外比特幣網絡中還有其他協議: Stratum協議:一個擴展網絡的橋接協議,可以將其他網絡作為一個節點連入比特幣網絡中。應用于挖礦、以及輕量級或移動端比特幣錢包之中。礦池挖礦協議:這個協議有很多種,主要用來把多個礦機算力聚合起來成為一個礦池,整個礦池…

    比特幣科普 2023 年 2 月 28 日
  • 挖掘比特幣的原理,探究比特幣的發行過程

    什麼是比特幣挖礦 比特幣節點互相連接時,會從對方處獲取自己沒有的交易。但由于比特幣長期積累天量的交易,兩個節點逐條對照你缺了哪些交易/我缺了哪些交易,是非常困難的事情。 為解決這一難題,中本聰發明了區塊鏈(Block chain)這一重要技術。節點借助區塊(block)來同步交易,保證了所有節點數據的統一性,并通過競爭區塊打包權(也就是挖礦)的方式,保證了區…

    比特幣科普 2023 年 2 月 28 日
每日鏈頭條給你最新幣圈相關資訊!