我们日常生活中,用 RMB 买东西的时候都会有一个找零的操作,那比特币这类数字货币交易过程中会不会有类似找零操作呢?其实是有的,下面就和大家介绍下比特币的找零机制。
每笔比特币交易都包括输入和输出两个部分,其中未花费的交易输出( UTXO )将可以作为下一笔交易的输入,而这笔输入可以由多个 UTXO 构成。当你发起一次转账时,比特币钱包通常会在所有可供支付的 UTXO 中,寻找合适的金额来进行支付。
这就相当于在你的日常钱包中保存着不同面值的现金一样,你可以选择使用多张小额的零钱付款,也可以使用大于商品价格的大额钞票买单,然后等待商家找零。
在比特币系统中也存在这样的找零机制。为了节约手续费,比特币客户端通常会优先选择使用大额的 UTXO 进行支付;这时,比特币钱包就会自动创建一个新的地址,用来接收除去转账金额和手续费之后的找零。比特币在进行交易时,会把发起交易地址的余额清零,转账后的剩余金额会转到找零地址中去。当然找零的接收地址也可以设置为发起交易的原地址。
通常情况下,比特币客户端在一开始会产生 100 个用户专属地址的私钥,创建找零地址时会优先使用这 100 个地址中的某一个,当这些地址全部被使用之后,将会继续创建新的找零地址。因此,有不少比特币资深用户提醒大家,当比特币钱包交易 100 次以上之后,需要重新备份钱包。否则当你恢复钱包时,很有可能丢失新的找零地址。