UTXO 区块链是去中心化的账本,比特币采用的是基于交易的账本模式(transaction-based ledger)。每个区块里记录的是交易信息,有转账交易,铸币交易,但是系统当中并没有哪个地方显式的记录账户中有多少钱,这得需要通过交易记录推算。比特币系统的全节点要维护一个UTXO:Unspent Transaction Output 数据结构。区块链上有很多交易,有些交易的输出已经被花掉了,有些没有被花掉,所有交易中输出还没有花掉的组成一个集合就是UTXO。注意,一个交易可能有多个输出,所以会出现一个交易中有的输出在UTXO里面,有的不在。UTXO集合当中每个元素要给出产出这个输出的交易的