不知都投资者们在进行比特币的转账时会不会遇到这样的问题,我们有时候明明只想一个地址发送了比特币,但是为什么区块链上有时候是一个地址对多个地址,或者是多个地址对1个地址,有的时候又是多个地址对多个地址。其实这都是因为比特币的找零机制,这也是我们为什么要提醒大家,当比特币钱包交易100次以上时再次交易后要重新备份钱包,不然大家就会遭受损失。那么究竟什么是比特币找零机制?这个比特币找零机制又有什么作用?下面就让小编说一说。
什么是比特币找零机制?
下面小编详细为大家解释一下比特币的找零机制是怎样运作的。
比特币交易的规则:将用户有权使用的若干比特币汇款地址上的之前交易的输出金额作为一次交易的输入,若干比特币收款地址上增加的交易金额作为本次交易的输出。输入金额必须大于等于输出金额,超出部分作为本次交易的手续费。手续费没有输出地址,奖励给将本次交易记账成功的矿工。
因为有时作为输出的金额超过了用户想要支付的金额。在这种情况下,比特币客户端会创建一个新的比特币地址,并把差额发送回这个地址,这就是比特币的找零机制。
比如你想从商店买一块钱的棒棒糖,你打开你的钱包,发现里面只有一张20元面值的人民币。你能支付的最小金额是多少呢?当然不是1块钱,你不能把这张20元钱的纸币撕下20分之1再交给营业员。你必须把这张20元面值的人民币全部交给收银员,然后因为你只需要支付1元钱,收银员会找给你19元。
因为我们每天都这么进行一手交钱一手交货的交易,所以上面这个流程好像已经成为一种天经地义的事情。让我们打破这种思维惯性,看看会发生什么事。
现在让我们想象一下这样的场景:存在这样的一个系统,它允许收银员(或者其他什么人都可以)切实地销毁任意数量的真实货币(人民币),并且允许收银员打印出任意金额的真实货币作为替代。不一定是10元面额或者20元面额,如果需要的话,比如打印出 18.94537208 元面值的人民币。
同时为了防止双重支付和伪造,必须确保在任何时候,新创建的货币金额与被销毁的货币金额是完全一样的。
比特币找零机制有什么作用?
当你“支付”比特币,并创建一次交易时,你必须将你支付地址上可供支付的金额(来自该地址之前交易的输出)作为新交易的输入。这样的地址可能不止一个,你的比特币钱包会暗自寻找你钱包中所有可供支付的输出金额(可能来自于不同地址),并把它们加在一起显示为钱包可用余额。
所以,当你的比特币钱包说你有130个BTC时,它只是意味着你的所有地址上可供支付的交易输出加在一起共有130个BTC。这和你的普通钱包中放着1张100元和3张10元人民币差不多一个意思。
比特币钱包文件中包含了所有找零地址的私钥,它们可以正常的接收或者发送比特币。但是,比特币官方客户端的界面上并不会把这些找零地址显示在地址簿中,也许是为了匿名性的必要,也许是为了减少客户的困惑,虽然这也造成很多人新的疑惑。
因为比特币客户端一开始只产生100个客户专属地址的私钥(称为私钥池),在创建找零地址时会优先使用这100个地址中的某一个,但当这些地址都被使用之后,100个以外新的找零地址就会被创建。如果你只备份了一开始的100个地址的钱包,那么在上面这种情况下恢复钱包将丢失新的找零地址。
以上就是小编对于什么是比特币找零机制以及比特币找零机制有什么作用这两个问题的详细解答。其实比特币的找零机制本身就是比特币协议的一部分,因为每个交易的ID只能被下一个交易的引用一次,所以在输入币数多于输出币数时,就需要这样一个找零机制,我们在找零到新地址时,一定要避免pubkey暴露,这也是为了防止如量子计算机等类似的破解方式。找零机制可以增加整个比特币网络的隐私性,因为找零到新地址会让你的比特币分布到多个地址。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。