主页 > imtokenapp专业版下载 > 敖说|一文读懂比特币UTXO,TA其实没那么神秘!

敖说|一文读懂比特币UTXO,TA其实没那么神秘!

imtokenapp专业版下载 2024-01-26 05:11:27

比特币的天才设计_比特币分叉影响比特币总量_比特币每十分钟产生多少个比特币

比特币作为一个优秀的、目前最成功的区块链系统,非常值得我们去研究和学习。 通过上一篇文章,相信大家已经知道,比特币是一个大家共同维护的账本。 那么,这个账本究竟是如何运作的呢?

一般情况下,我们需要先有一个账户才能开始记账

比特币使用一种称为 UXTO 的模型代替传统账户。 UTXO是Unspent Transaction Output的缩写,是比特币发明者“中本聪”的天才设计。 UTXO 本质上是一个流水帐。 学过一点会计,看过企业记账的同学都知道,我们现在的会计系统大多采用一种叫“借贷记账”的方法。 账户分为借方和贷方。 企业必须注册两个以上的科目。

比特币的天才设计_比特币每十分钟产生多少个比特币_比特币分叉影响比特币总量

比特币每十分钟产生多少个比特币_比特币的天才设计_比特币分叉影响比特币总量

简单来说,Alice 将 1 美元转给 Bob。 使用借贷记账法,至少会产生两个账户。 Alice 的账户将减少 1 美元,Bob 的账户将增加 1 美元。 这种记账方式在企业经营和企业审计方面的好处数不胜数,这里不再赘述。 但是,这种会计方法也有一个最大的缺点,就是容易出现会计差错和会计差错。 一笔交易需要注册两个以上的账户,本质上是记录“交易的结果”而不是“交易本身”。

如果让程序员根据“借贷记账法”设计一个账本,数据库中记录每个账户的变动和余额。 在数据库系统中,需要一系列的附加规则来保证事务的成功进行。 在Alice转$1给Bob的操作中,系统首先需要检查Alice的账户余额是否大于等于$1,然后检查Bob的账户地址是否合法,最后Alice的账户减1加1鲍勃的账户。

比特币分叉影响比特币总量_比特币每十分钟产生多少个比特币_比特币的天才设计

上面的过程是不是很复杂? 事实上,会计师之所以如此忙碌,是因为他们每天都要将交易分成不同的科目进行记录。 不同的会计师对交易的理解不同,记录的科目可能不同(当然,在简单的转帐系统中,不存在这个问题),因此记账方式存在差异。

“中本聪”并没有使用这种复杂的记账方案,而是采用了一种跟踪比特币日志记录的方法——UTXO。 本质上,只有交易本身被记录,而不是交易的结果。 从金融系统设计的角度来看,这种做法有点“交易清算分离”的意思。 区块链系统只处理所有交易,清算和余额检查等信息由区块链节点自行处理。

讲个故事理解UTXO:淘金者汤姆挖到一块重100克的黄金,于是他先记录了一个挖矿记录,100克黄金进入了汤姆的口袋。 然后汤姆把这块金子给了爱丽丝,系统记录了一笔交易——100克黄金从汤姆的口袋里转到了爱丽丝的口袋里。 后来,Alice 将黄金切成两半卖给了 Bob 和 Charlie,于是系统记录了另一笔交易——100 克黄金从 Alice 的口袋里转了出来,50 克转给了 Bob,50 克转给了 Charlie。 上面的记录如下表所示:

比特币分叉影响比特币总量_比特币每十分钟产生多少个比特币_比特币的天才设计

用程序员最熟悉的树结构来描述可能会更清楚:

比特币的天才设计_比特币每十分钟产生多少个比特币_比特币分叉影响比特币总量

每个根节点都是一个CoinBase(挖矿交易),是每个比特币的原始来源。 然后,随着交易的变化,树不断的增长,每个叶子节点就是一个UTXO——Unspent Transaction Output——未花费的交易输出。 严格来说,比特币系统不是树状结构,而是单向图。 随着交易的复杂化,中间的分支会不断交织在一起,但这并不妨碍我们用树结构来理解它。

比特币的天才设计_比特币每十分钟产生多少个比特币_比特币分叉影响比特币总量

比特币的天才设计_比特币每十分钟产生多少个比特币_比特币分叉影响比特币总量

比特币的 UTXO 系统遵循两个规则:

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

比特币的天才设计_比特币分叉影响比特币总量_比特币每十分钟产生多少个比特币

2. 任何交易的总输入必须等于总输出,且等式两边必须平衡。 (在比特币系统中,输出一般小于输入,差额就是转账手续费比特币的天才设计,属于矿工。)

这样记录交易不是更容易吗? 规则越少,系统就越不容易出现问题。 多年来,比特币在这方面经受住了时间的考验。

UTXO 模型最大的优势在于它忠实地记录了交易。 我们的现实世界随着时间流逝,交易一件件发生。 比特币的区块链系统将这个世界上发生的事情一一忠实地记录下来比特币的天才设计,无法回滚或删除。 只要交易记录准确清晰,大家的爆仓结果就不会出错。

因此,“交易”是比特币区块链系统的核心,“记录交易”是区块链系统的设计原则,也是区块链设计思想的核心之一。