什么是比特币的找零机制 区块链课堂第21问

  通过了解,我们知道每笔比特币交易都包括输入和输出两个部分,其中未花费的交易输出(UTXO)将可以作为下一笔交易的输入,而这笔输入可以由多个UTXO构成。当你发起一次转账时,比特币钱包通常会在所有可供支付的UTXO中,寻找合适的金额来进行支付。

  这就相当于在你的日常钱包中保存着不同面值的现金一样,你可以选择使用多张小额的零钱付款,也可以使用大于商品价格的大额钞票买单,然后等待商家找零。

  在比特币系统中也存在这样的找零机制。为了节约手续费,比特币客户端通常会优先选择使用大额的UTXO进行支付;这时,比特币钱包就会自动创建一个新的地址,用来接收除去转账金额和手续费之后的找零。比特币在进行交易时,会把发起交易地址的余额清零,转账后的剩余金额会转到找零地址中去。当然找零的接收地址也可以设置为发起交易的原地址。

  通常情况下,比特币客户端在一开始会产生100个用户专属地址的私钥,创建找零地址时会优先使用这100个地址中的某一个,当这些地址全部被使用之后,将会继续创建新的找零地址。因此,有不少比特币资深用户提醒大家,当比特币钱包交易100次以上之后,需要重新备份钱包。否则当你恢复钱包时,很有可能丢失新的找零地址。

  上期回顾:比特币交易的手续费是如何计算的?下期预告:什么是比特币的最长链原则?

  区块链课堂是哈希派(号ID:hashpai)围绕区块链技术推出的每日问答栏目,帮助大家从各方面了解区块链领域的相关知识。如果你对区块链有自己的想法以及相关疑惑,欢迎在评论区留言,我们将会在近期更新中为你解答。