# 叶胜超：一分钟读懂UTXO的核心概念！（32）

By [零钱](https://paragraph.com/@lingqian) · 2021-12-19

---

    **1，到底什么是UTXO？**
    
    
    
    所谓UTXO就是“Unspent Transaction Output”的缩写，意思是“未花费的交易输出”，可以看作是比特币交易的一个基本单位。
    
    
    
    **2，UTXO与帐户/余额有什么区别？**
    
    
    
    在当前的区块链项目中，主要有两种记录保存方式，一种是账户/余额模型，一种就是UTXO模型，比特币采用就是UTXO模型，以太坊、EOS等则采用的是账户/余额模型。
    
    
    
    比特币系统没有“账户”一说，只有“地址”的概念，“地址”只对应UTXO，而在以太坊，EOS中则是“账户”对应“余额”。
    
    
    
    看起来相似的东西，实际上可能完全不同，帐户只有简单的加减，更注重效率，而UTXO则有找零机制，更注重安全！
    
    
    
    比如，小黑本来有5个BTC，小明加入小黑的收费群1个BTC，这里的5+1都是小黑的UTXＯ。
    
    
    
    小黑觉得比特币涨价了，有点过意不去，又返还给小明0.5BTC，还有5.5BTC，这个5.5BTC是由原先的5+1UTXＯ中，其中的1个BTC花费出去，然后找零0.5BTC得到的，最后新的5+0.5 UTXO被记录在区块中。
    
    
    
    
    
    **3，UTXO模式有什么好处？**
    
    
    
    
    
    **①：解决双重支付的问题**
    
    
    
    在点对点的系统中，没有中心的权威账本，达成共识需要经过大多数节点确认，如果信息传递有时间差，就不能同时确认所有账户余额，所以必然面临双重支付问题。
    
    
    
    而使用UTXO模式可以解决“双重消费”的问题，用UTXO机制来确保每笔交易只能使用一次，即只有对“尚未使用过”的UTXO，才能是有效签名。
    
    
    
    **②：验证新交易的合法性**
    
    
    
    每一笔输入，同时也需要上一笔输出所对应的私钥进行签名，并且每个比特币的节点都会存储当前整个区块链上的UTXO，整个网络上的节点通过UTXO及签名算法，来验证新交易的合法性。
    
    
    
    **③：数据库系统简单**
    
    
    
    UTXO的方案简单到极致：只确认交易本身，使用UTXO产生的数据库比使用余额系统的数据库小得多，比特币运行10年，全部交易记录不过几百G，一台普通家用电脑就能装下。

---

*Originally published on [零钱](https://paragraph.com/@lingqian/utxo-32)*
