简单来说,比特币交易是将比特币从一个地址转移到另外一个地址,不同的比特币地址代表不同的比特币所有者,所以比特币交易就是比特币的所有者授权将比特币转移给新的所有者。当然新的比特币所有者也可以授权将比特币转移到另外的所有者,以此类推,形成了比特币所有者的链。
比特币交易就像是复式记账账簿中的一行,每笔交易包含一个或多个“输入”,称为交易输入,就像是复式账簿中的借方(debits);交易的另一方包含一个或多个“输出”,称为交易输出,就像是复式账簿中的贷方(credits)。
复式记账法是会计学中的概念,指发生的每一项经济业务要在相互联系的两个或者两个以上的账户以相同的金额进行记账的方法。举例说明:公司花费一万元采购一台空调,复式记账法记账为:公司的现金减少一万元,公司空调增加一万元(数量一台),即公司发生的经济业务(采购空调)分别在公司现金和公司空调两个账户记录,且记录的金额相等。
与复式记账法相对的是单式记账法,单式记账法是指发生的每一项经济业务只在一个账户上进行记账的方法。上例中公司花费一万元采购一台空调,单式记账法记账为:公司现金减少一万元。
复式记账法有不同记账符号,有借贷记账法、增减记账法、收付记账法等。上面比特币交易的说明采用的是借贷记账法,借贷记账法的借方和贷方只是一个符号,联系具体的业务场景才有实际的含义。
比特币交易是对交易输入(借方debits)比特币的减少,对交易输出(贷方credits)比特币的增加。
与会计领域的复式记账不同的是,比特币交易的交易输入(借方)和交易输出(贷方)记录的比特币金额可以不同,实际上,交易输出相加之和略小于交易输入相加之和的,其差值为比特币交易手续费,交易手续费用于支付给比特币网络的矿工,矿工将比特币交易记录到公开的账簿(区块链)。
下图举例说明比特币交易,交易输入为0.55BTC,交易输出为0.50BTC,交易输入和输出的差值为0.05BTC表示交易矿工费。
总的交易输入来源于多个输入(四个输入,每个输入表示比特币所有者的一个地址上锁定的比特币),总的交易输出分散到多个输出(三个输出,每个输出表示比特币所有者锁定到一个地址上的比特币),这些操作都是比特币钱包软件自动完成的。
比特币接收者通过比特币交易接收到比特币,实质是将交易输出的比特币锁定在其比特币地址上,比特币交易中包含有锁定脚本。在未来只有该比特币接收者的才能提供解锁脚本来花费比特币地址上锁定的比特币。
比特币所有者花费比特币时,需提供解锁脚本,解锁脚本也就是比特币所有者的所有权证明,解锁脚本以数字签名的形式给出,比特币网络的任何人都可以验证数字签名,以验证比特币交易的有效性。
花费比特币就是比特币所有者数字签名解锁一笔比特币将其转移给以比特币地址标识的新的所有者,将比特币锁定在新所有者的比特币地址上,在未来新的所有者也可以解锁并花销这笔比特币。