既然Alice的这笔交易已经成为区块的一部分被嵌入到了区块链中,它就成为了整个分布式比特币账簿的一部分,并对所有比特币客户端应用可见。每个比特币客户端都能独立地验证这笔交易是有效且可消费的。全节点客户端可以追溯钱款的来源,从第一次有比特币在区块里生成的那一刻开始,按交易与交易间的关系顺藤摸瓜,直到Bob的交易地址。轻量级客户端通过确认一个交易在区块链中,且在它后面有几个新区块来判定一个支付是否有效。这种方式叫做简易支付验证(参 见“简易支付验证(SPV)节点”)。
Bob现在可以将此交易和其它交易的结果信息作为输入,创建新的所有权为其他人的交易。这样就实现了对此交易的消费。举个例子,Bob可以用Alice支付咖啡的比特币转账给承包商或供应商以支付相应费用。大多数情况下,Bob用的比特币客户端会将多个小额支付聚合成一个大的支付,也许会将一整天的比特币收入归集成一个交易。这样会将多个支付合成到咖啡店财务账户的一个单独地址。图2-10为归集交易示例。
当Bob花费从Alice和其他顾客那里赚得的比特币时,他就扩展了比特币的交易链条。而这个链条会被加到整个区块链账簿,使所有人知晓并信任。我们假定Bob向在邦加罗尔的网站设计师Gopesh支付一个新网页的设计费用。那么区块交易链如图2-10所示。
图2-10Alice的交易成为 Joe 和 Gopesh交易的一部分
在本章中,我们看到了交易如何被构建为一个链,并将价值从一个所有者转移到另一个所有者。 我们还追踪了Alice的交易,从她的钱包中创建交易,通过比特币网络被传输,以及最终被矿工记录在区块链。 在本书的其余部分,我们将研究钱包,地址,签名,交易,网络和挖矿等背后的具体技术。