主页 > 中国区ios下载imtoken > 比特币系统是如何解决“双花”问题的?

比特币系统是如何解决“双花”问题的?

中国区ios下载imtoken 2023-03-25 06:09:28

什么是“双花”

所谓“双花”,是指在区块链加密技术出现之前,加密数字货币和其他数字资产一样,是可以无限复制的。 没有中心化的中介机构,人们就无法确认一笔数字货币是否被消费。 因此,交易中必须有一个可信的第三方来保管交易账本,从而保证每笔数字现金只会被花费一次。

简单来说比特币的支付系统,同一种数字资产被重复支付,即同一笔钱被花费两次或多次。

比特币支付_比特币的支付系统_比特支付怎么转币

由于数字资产是基于互联网的虚拟数字,无非是大白话中的字符。 由于是字符,很容易被多次复制或发送。 在支付或转移数字资产时,还存在双重支出或多重支出的问题。 这个问题在最早使用电子货币支付的过程中一直是一个长期存在的问题。

比特币系统如何解决“双花”问题

如果你想了解如何解决双重支出,你必须先了解比特币系统。 在比特币系统中,中本聪使用 UTXO 技术来防止双重支付。

比特支付怎么转币_比特币的支付系统_比特币支付

先翻译一下UTXO是什么意思:

TX : Transaction 翻译为:交易

O: Output 翻译为:output TXO: TX output 翻译为:交易输出 TXO在比特币系统中包含一个值(value)和一个脚本,它指定了谁有权使用该交易(比如需要私钥签名) ) 。 UTXO:Unspent TXO 翻译过来就是:未花费的交易输出。 比特币系统规定比特币的支付系统,只有“未花费”的交易签名才能成为有效签名。

比特币支付_比特支付怎么转币_比特币的支付系统

我们从上一篇文章中了解到,比特币系统中所有的交易信息都是通过统一固定的机制写入带有固定时间戳的区块上的。

我们把每一笔交易理解为一张汇款单,把比特币系统上的每一个区块理解为一本账本。 然后每笔交易都会在账簿上填满汇款单。 每笔交易的汇款单简单理解就是UTXO。

说白了,UTXO是一种包含交易数据和执行脚本(Pubkeys)的数据结构。 该数据结构包含每笔交易的交易信息和未花费的交易输出。

比特币的支付系统_比特支付怎么转币_比特币支付

以真实钱包为例。 一个钱包里,一个10元,一个5元,一个1元,一共16元。 比特币账户的余额也是根据该账户的 UTXO 计算的。

花12元买东西时,可以取出10元和5元,换3元零钱。 这时候之前的10块钱和5块钱就不再是UTXO了,因为已经花掉了。 新的 3 元零钱成为新的 UTXO,加上之前未动过的 1 元 UTXO,当前余额为 4 元。 这次新的交易被记录在新的区块中,但是历史区块中的数据并没有改变。

比特币使用链接的区块链来记录所有交易记录。 当之前的 UTXO 出现在后续交易的输入中时,会检查本次交易的来源已经不在 UTXO 列表中,这意味着这笔钱已经花掉了。 但是这个UTXO已经被花掉了,不再是UTXO了。 如果用同一个UTXO构造两笔交易,分别支付给A和B。 然后比特币核心客户端(比特币系统节点)的规则是只转发最先听到的。 但哪些交易包含在未来的区块中取决于矿工。

比特币的支付系统_比特币支付_比特支付怎么转币

矿工的挖矿程序一般都是定制开发的,矿工可以自主选择两种交易中的一种。 例如,有的矿工会选择他们最先看到的交易,有的矿工会选择交易手续费较高的交易。

当这两个相互矛盾的交易之一被写入区块链,并且深度达到6(经过6次确认),可以认为交易已经最终确认。 在等待 6 次确认时,比特币几乎不可能被双花。 每笔交易都有若干交易输入,即资金来源,以及若干交易输出,即资金去向。 一般来说,每笔交易都需要花费(spend)一个输入并产生一个输出,而产生的输出就是“未花费的交易输出”,即UTXO。 所有的资金来源都必须来自之前一笔或几笔交易的UTXO,就像水管一样,一根接一根,一进一出,一进一出,生生不息,钱在交易之间流转。

如果仅仅通过文章来了解比特币系统或者区块链,可能会比较困难,或者可能有很多地方是看不懂的。 然后,在学习和理解这些技术理论的同时,可以结合挖矿和钱包使用来体验。 这样更有利于深入了解区块链。 文章仅为了解区块链学习笔记。 如有错误或不全,欢迎指正,共同探讨。返回搜狐查看更多