主页 > 苹果手机如何下载imtoken > 什么是比特币交易? 账户余额是加还是减?

什么是比特币交易? 账户余额是加还是减?

苹果手机如何下载imtoken 2023-09-12 05:07:29

本文由币乎(bihu.com)优质内容计划支持

最初对比特币交易的理解仅限于使用比特币买卖商品,买方账户余额为-1,卖方账户余额为+1,直到了解UTXO。

UTXO(Unspent Transaction Output),翻译成中文就是未花费的输出。

我们先来了解一下传统的支付系统。 场景是这样的:张三要付给李四10块钱。 基本流程如下:

比特币交易流程_比特币流程_比特币挖矿机流程

检查张三账户余额是否有10元,没有则终止交易

如果有10元,就从张三的账上扣10元

给李四的账户加10元

这个场景很容易理解。 这也是目前银行和电子商务交易系统的设计。 它由关系数据库支持。 数据库必须确保事务性、原子性、一致性等。这种基于帐户的设计简单直观。

比特币流程_比特币交易流程_比特币挖矿机流程

而且比特币并不是设计成基于账户的系统,而是UTXO。

为了理解UTXO比特币流程,我们假设这样一个场景:张三挖了12.5个比特币。 几天后,他将其中的2.5付给了李斯。 几天后,他和李四各出资2.5个比特币凑成5个比特币支付给王五。

根据账户设计,张、李、王在数据库中各有一个账户,账户余额变化如下:

比特币流程_比特币挖矿机流程_比特币交易流程

比特币挖矿机流程_比特币流程_比特币交易流程

下图是通过UTXO实现的:

比特币交易流程_比特币挖矿机流程_比特币流程

图片来源见水印,侵删。

第一次看到这两张图的时候,感觉UTXO和基于账户的方案没有什么区别,但是,但是,不要只盯着账户余额看。 看这两张图的区别,直觉是“少了一个事务步骤”。

比特币流程_比特币挖矿机流程_比特币交易流程

这就要说到UTXO设计的巧妙之处了,为什么要这样设计呢?

传统关系型数据库中的一笔交易需要注册两个以上的账户,本质上是记录“交易的结果”而不是“交易本身”。

UTXO,本质上只记录了交易本身,并没有记录交易的结果。 从金融系统设计的角度来看,这种方式有点“交易清算分离”的意思。

UTXO 系统遵循两个规则:

比特币挖矿机流程_比特币交易流程_比特币流程

除CoinBase(挖矿交易)外,所有资金来源必须来自之前一笔或数笔交易的UTXO;

任何交易中的输入总量必须等于输出总量,并且等式两边必须平衡。

UTXO 模型的最大优点是交易被忠实地记录下来。 只要交易记录清晰准确,大家的爆仓结果就不会出错。

对于UTXO来说,它是区块链设计思想的核心之一。 本文建议您逐字逐句阅读。 即使我是一个程序员比特币流程,理解这个概念也需要很多时间。