比特币交易的手续费是如何计算的?

2009年1月3日 , 中本聪在芬兰赫尔辛基的一个小型服务器上 , 挖出了比特币的第一个区块——创世区块(Genesis BloCK) , 并获得了50个比特币的奖励 。 当时 , 中本聪使用的挖矿工具就是cpu 。 我们知道 , 普通计算机都有配置CPU , 因此当时的挖矿门槛较低 , 使用家用电脑就可以挖矿 , 所有人都可以做矿工 。

比特币交易的手续费是如何计算的?

文章插图

当你从一个比特币地址向另一个比特币地址转账时 , 通常需要附加一笔额外的手续费给矿工 。 在比特币的底层协议中 , 并没有规定这笔手续费具体的数额是多少 , 只是要求地址中总输入不小于总输出 , 即你钱包中比特币的总量必须大于你要转账的数额加上手续费数额 。

手续费的高低是由交易数据的大小和交易次数等因素决定的 。 在之前的区块链课堂中介绍过 , 比特币遵循的是UTXO模型 , 每笔交易都包含了若干笔交易输入和交易输出 。 而实际上 , 每笔未花费交易输出的组成方式都取决于你的交易输入 , 当你需要向其他地址转1个BTC的时候 , 它可能是由你交易输入中的5个0.2BTC组成 , 也可能是10个0.1BTC组成 。
通常 , 一笔普通比特币交易是由一个输入两个输出(交易输出和找零输出)构成 , 大小在200字节左右 , 按每1000字节默认收费0.0001BTC计算 , 普通的比特币转账费用大概在0.001-0.002BTC之间;但是当单笔输入不足以支付输出时 , 就会出现上述的多个交易输入构成未花费输出的问题 , 此时其数据量就会变大 。 而未花费交易输出的构成越复杂 , 需要处理的字节就越多 , 手续费也就相应越高 。
由于区块容纳交易记录的容量有限 , 矿工一般会优先打包手续费高的交易 。 当然 , 目前在使用比特币钱包进行转账时 , 大部分钱包可以根据网络数据 , 自动将手续费调整为最佳状态;但如果你的交易需要紧急确认 , 那么也可以选择自定义费用 。
【比特币交易的手续费是如何计算的?】

    推荐阅读