什么是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