什么是UTXO

UTXO是“未花费的交易输出”的缩写。自定义UTXO即在发送交易时,可以选择优先使用哪些UTXO,使用更加经济的UTXO组合或者特定的UTXO进行交易。此外,TokenPocket还支持较低的矿工费设置。通过矿工费设置和自定义UTXO的组合,用户可以不用担心“矿工费不足”的问题。用户可以转移剩余的比特币。任何数量比特币都不会在日常交易或最后一笔交易中浪费。

例如:

A 向 B 转账 1BTC

C 向 B 转账 0.5BTC

此时 B 的BTC地址上有2个UTXO,B的余额就是1.5BTC,B的钱包中有2个UTXO可以使用,分别是:

UTXO1:1BTC

UTXO2:0.5BTC

如果采用的是账户/余额模型,比如以太坊在账户中存储的是一个汇总的ETH余额,即1.5ETH。

UTXO类似于我们的钱包中不同面额的纸币,例如5张100元、6张50元......钱包中有多少钱,无非就是把这些不同面额的纸币加起来后的一个总金额。

当明白了UTXO的概念后,使用UTXO转账的过程就容易理解了,当要进行转账时,支付的就是UTXO或UTXO组合。其实,使用UTXO转账的过程,和我们平时拿纸币去购物支付的过程是一样的。

例如,在上例中,B的地址中有两笔UTXO,分别为 1BTC 和 0.5BTC,现在,B 要向 D 转账0.3BTC,那么,理论上来说 B 有两种转账方案(为了便于理解,转账费用暂不考虑):

第一种方案:B 使用1BTC的UTXO给D转账0.3BTC,会收到0.7BTC的找零;

第二种方案:B 使用0.5BTC的UTXO给 D 转账0.3BTC,会收到0.2BTC找零;

如果 B 向 D 转账1.4 BTC,则需要这两笔 UTXO 都花费出去,然后会收到 0.1BTC 的找零。(为了方便解释,以上案例忽略了矿工费)

矿工费的多少与钱包的类型,花费UTXO的数量,以及输出新UTXO的数量有关。

TokenPocket 的 BTC 钱包是支持自定义 UTXO 功能的,即在转账交易时可以自主选择具体使用哪个/哪些UTXO,从而使用更加经济的UTXO组合或者指定花费特定 UTXO 来进行交易,以达到节省矿工费等目的。

Last updated