浅析BTC的找零机制是怎样的?

  浅析BTC的找零机制是怎样的?

  BTC的找零机制一直让人有些迷惑,明明只向一个地址发送了BTC为什么Block Chain上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址?

  为什么BTC资深玩家会提醒大家当BTC钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失?

  这一切都是因为BTC的找零(Change)机制。BTC0.9版里面加入了一个小白们期待已久的新功能:可以自行选择支付后的找零地址,对于这个功能的加入许多人都比较疑惑。下面我就来详细为大家解释一下BTC的找零机制是怎样运作的。

BTC找零机制

  浅析找零(Change)机制

  BTC交易的规则:将用户有权使用的若干BTC汇款地址上的之前交易的输出金额作为一次交易的输入,若干BTC收款地址上增加的交易金额作为本次交易的输出。输入金额要大于等于输出金额,超出部分作为本次交易的手续费。手续费没有输出地址,奖励给将本次交易记账成功的矿工。

  因为有时作为输出的金额超过了用户想要支付的金额。在这种情况下,BTC客户端会创建一个新的BTC地址,并把差额发送回这个地址,这就是BTC的找零机制。

  二、举例说明

  嗯~上面这样解释可能晦涩难懂。

  举个例子:

  比我需要转账给张三5个BTC,但是我的BTC分别在A/B/C三个BTC地址数量分别是1/2/2,每个地址的余额都不足以支付5个BTC。

  这时候我可以发起一笔转账,同时把A/B/C三个地址共5个BTC转给张三。

BTC找零

  综上所述

  这就是BTC的运作机制。与法定货币不同,我们习惯把这种方式称之为交易单元的输入和输出。

  当你“支付”BTC,并创建一次交易时,你得要将你支付地址上可供支付的金额(来自该地址之前交易的输出)作为新交易的输入。这样的地址可能不止一个,你的BTC钱包会暗自寻找你钱包中所有可供支付的输出金额(可能来自于不同地址),并把它们加在一起显示为钱包可用余额。