《详解比特币白皮书》-Combining and Splitting Value (价值组合与分割)

Although it would be possible to handle coins individually, it would be unwieldy to make a separate transaction for every cent in a transfer.

尽管可以理比特,但是每一分移都要形成一个独的交易就太笨拙了。

To allow value to be split and combined, transactions contain multiple inputs and outputs. 

为了允许价值被细分与组合,交易将包含多个输入和输出

Normally there will be either a single input from a larger previous transaction or multiple inputs combining smaller amounts, and at most two outputs: one for the payment, and one returning the change, if any, back to the sender. 

通常,会有来自上一个更大交易的入或者合了小交易的多个入,然后会有最多两个出:一个用于支付,另一个用于找零,如果有剩的,返还给发送者。

It should be noted that fan-out, where a transaction depends on several transactions, and those transactions depend on many more, is not a problem here.

需要注意的是,一个交易依多个交易、多个交易又依更多交易,这样的扇出在里不是问题

There is never the need to extract a complete standalone copy of a transaction's history. 

为绝不会有提取一个交易史完整独立副本的需求。

注:fan-out扇出,是出自数字电路技术的术语,原意是指一个逻辑门输出能够驱动其他门输入的数量。软件结构化设计中,也沿用了扇入、扇出的概念,来表述模块之间调用与继承的关系。

比特币交易是一个多输入少输出(最多两个)的模块,其精髓就是人们常说的UTXOUnspent Transaction Output,未花费交易输出)。这样的结构对于正向操作是有利的,即可以高效的查到每笔交易的结余,然后组合起来用于下一笔支付。但是这样的结构对于反向回溯是不利的,即如果要查找某一笔支付的所有来源,因为扇出小、扇入大,你将面对的是一个海量的树形结构,效率将变得非常低。所以作者补充了一句,无此必要。

UTXO像是一个个的滴水不漏的水管组件,错综复杂的连接成了比特币的交易账本,记录了交易额的来龙去脉。这与中心化的账本最大的区别在于,UTXO不记录余额,只记录行为。如果用户想要知道手里到底有多少比特币,就从UTXO中找到属于自己的地址,计算未花费交易返还的总和。在比特币网络中,一个人可以拥有多个账户(地址)。UTXO还起到了保护隐私的作用,即只能查到哪些地址的比特币还没有花出去,却查不到哪些地址属于同一个人或者这个人是谁。

猜你喜欢

转载自blog.csdn.net/q602968956/article/details/85028673