什么是比特币的找零(Change)机制和找零地址?

 2023-09-11 22:30:49发布

在比特币交易中,有时作为输出的金额超过了用户想要支付的金额. 在这种情况下,比特币客户端会创建一个新的比特币地址,并把差额发送回这个地址,这就是比特币的找零机制,找零地址是用于接收零钱的地址。

找零(Change)机制

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

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

比如你想从商店买一块钱的棒棒糖,你打开你的钱包,发现里面只有一张20元面值的人民币。你能支付的最小金额20元,因为你只需要支付1元钱,收银员会找给你19元(找零)。

在比特币系统中也存在这样的找零机制。比特币交易输入金额必须大于等于输出金额,超出部分作为本次交易的手续费。

手续费没有输出地址,奖励给将本次交易记账成功的矿工。输出金额超过要支付的金额时,比特币客户端会创建一个新的比特币地址,并把差额发送回这个地址,这就是比特币的找零机制。

通常情况下,比特币客户端在一开始会产生100个用户专属地址的私钥,创建找零地址时会优先使用这100个地址中的某一个,当这些地址全部被使用之后,将会继续创建新的找零地址。

因此,有不少比特币资深用户提醒大家,当比特币钱包交易100次以上之后,再继续交易就会因私钥更新而丢失之前的私钥,造成不可挽回的损失。所以需要重新备份钱包。否则当你恢复钱包时,很有可能丢失新的找零地址。

找零地址

找零不可避免地发生的原因是,比特币不同于传统的贵金属货币、纸币、电子货币的货币、和钱包/钱袋、金额和账户体系,比特币的金额和地址是不可分割的,地址是私钥产生的,私钥和地址是比特币的一体两面,因而找零必然会产生新的找零地址。

推荐阅读