翻了一下「Mastering Bitcoin」這本書,總結如下:
- Minimum Transaction Fee由市場決定 (市場如何決定?待下一篇說明之)
- Current Minimum Transaction Fee = 0.0001 bitcoin per kilobyte
- 建立Transaction的人,可以指定Fee,也可以不指定
- 若指定,至少要給Minimum Transaction Fee
- 可以多給Fee,這樣Miner若挖到包含該Transaction的Block,就賺到了
- 有些Miner喜歡挖有Fee的礦,有些不喜歡
- Age和Fee會影響Node要先處理那些Transaction
下圖,Block包含了二大塊:Block Header、Transaction Space。
每個Miner在挖礦之前,會建立一個Candidate Block(如上圖),並且從Transaction Pool裡挑選幾個Transaction塞進來。
首先會挑選High-Priority Transactions到第一區。如何判定Transaction是High-Priority?
先計算Transaction的Priority:
Priority = Sum (Value of Input * Input Age) / Transaction Size
若Priority > 57,600,000為High Priority,書中舉的例子如下:
有一個Transaction,Size為250 bytes,Input總計為1 Bitcoin = 100m satoshis,待了1天,經過144個Block,都沒有被處理到,它的Priority目前為57,600,000。所以只要再經過1個block,就有可能被下一個block處理到了。
High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000
接下來,根據Fee挑選Transactions會被塞到第2區。沒有Fee的Transaction,絕不會到第2區。沒有Fee的Transaction,要等到Age增加,成為High-Priority Transaction,才有機會被塞到之後的Block的第1區。
-Count
沒有留言:
張貼留言