当前位置:首页 > 火币公告 > 正文内容

比特币双花问题是如何发生的具体解答和比特币双花问题是如何发生的视频细致分析

xytest2022-11-27

比特币双花问题是如何发生的具体解答和比特币双花问题是如何发生的视频细致分析 火币公告

比特币双花问题是如何发生的可能是相关行业人士都值得关注的知识,在此币圈网对比特币双花问题是如何发生的视频进行详细的介绍,并拓展一些相关的知识分享给大家,希望能够为您带来帮助!

双花理论是什么概念

在学习区块链的过程中,大家一定对会听到“双花”这个词,意思就是双重支付,或者更直白点就是一笔资金被花费了两次。这篇文章我们来简单的分析一下为什么会有双花,比特币是如何避免双花的。

在传统的交易中,因为有银行这样的中心化机构,所以是不会存在双花问题的:每一笔支付都将从你的银行账户中扣除相应的资金,所有的明细在银行都有记录。但是在比特币中,因为没有账户的概念,而是引入了UTXO即未花费交易输出。因为没有银行这样的中心化机构的保证,当发生一笔交易时就可能存在着双花的危险:比方说A有一个比特币,然后他同时构造两笔交易T1和T2来花费这1个比特币,其中一个给了B,从B那里买件衣服,一个给了C,从C那里买双鞋。如果不引入某种机制来避免这种情况,那作为数字货币的比特币将没有任何存在的意义。接下来就来分析一下比特币是如何做到防止这种“双花”攻击的。

(1) 正常情况

首先我们来看看正常情况,说白了就是绝大多数时候,区块链的共识机制就能将双花消灭在萌芽状态。我们还是以上面提到的例子来做说明:

假设A构造了两笔交易T1和T2,将自己价值1btc的UTXO分别转给了B和C,妄图同时从B和C那里获得好处。然后A几乎在同一时间将构造好的这两笔交易广播至网络。

假设网络中的矿工节点先收到了交易T1,发现这笔交易的资金来源确实没有被花费过,于是将T1加入到自己的内存交易池中等待打包进区块。

大部分情况下,这个矿工节点会在不久后又收到交易T2,此时因为T2所指向的交易输入与已经加入交易池的T1相同,于是矿工节点会拒绝处理该交易。网络中其他的矿工节点都类似,因此A试图双花的尝试胎死腹中。

(2) 分叉情况

上面说的是正常的情况,但是也有非正常的情况要考虑:假设矿工节点M1和M2几乎在同一时间挖出了区块,并且很不幸M1挖到区块时只收到了交易T1,而M2挖到的区块时只收到了交易T2,这样交易T1和T2被分别打包进两个区块。因为这两个区块是差不多同一时间被挖出,于是造成了区块链的分叉:

网络中某些节点(可能是离M1近的)先收到了M1打包的区块BLK1,于是用该区块延长自己的区块链,而另外一些节点(邻近M2的)则先收到M2打包的区块BLK2,用该区块延长自己的区块链,于是整个区块链网络

“双花”是什么?

POW算法是唯一经过时间检验运行较为稳定的算法,这从比特币诞生到现在的较稳定的运行就可以看出。

上次说到POW的共识算法的部分运作原理。把上次所讲的内容简单总结一下,那就是POW通过哈希加密算法解决了“凭什么帮你记账”的问题。

其实,POW共识算法的目的,是可以保证任意节点被入侵、篡改,其数据信息不会被其它节点所接受,换句话说,POW要通过运行机制保障主链的安全性。

因此,仅仅解决“凭什么帮你记账”的问题对一个成熟稳定的共识算法来讲还是远远不够的,它还需要解决其它一些问题,比如双花问题。

双花问题(Double Spending)即双重支付,是指一笔数字现金在交易中被重复使用的现象。我们都知道,数字现金的走向只能是线性的,也就是同一笔钱一次只能转给一个人,不能同时转给两个或者以上的人。一旦数字现金的走向发生了偏差,离开了线性轨道的约束,成为发散状态,那么双花问题就会出现。

举个例子,小明一早出门只带了10元钱,他来到肯德基吃早餐,点了10元的套餐,把钱付给了肯德基的收银员,这10元钱得到收银员的确认。小明吃完早餐出门,发现自己并没有吃饱(小明饭量有点大),抬头一看有个麦当劳,于是他走进麦当劳,想再点一个10元的汉堡。这时候,如果小明想用之前买肯德基套餐的那10元钱买麦当劳汉堡,可能吗?当然不可能。因为那10元钱是独一无二的(有编号),已经被花出去了。

但如果小明使用的不是现金,而是数字货币呢?这就另当别论。这是因为现金的复制成本太高(法律成本、制作成本等等),而数字货币则不然,它具有十分经济的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复利用的问题。

双花问题在有中介的前提下是不容易发生的,因为每次消费都要经过第三方(中介方)的确认才会完成,比如支付宝。

而比特币作为一个去中心化的点对点现金系统,是没有中介和第三方的,它主要依靠未花费的交易输出(UTXO)和时间戳两大利器来解决双花问题。

未花费的交易输出(UTXO)可以被简单地理解为一个用户拥有的比特币的余额。这个余额是无法伪造的,因为一个用户拥有的比特币实际上会被当作UTXO分散到数百个交易和数百个区块中。

双花问题是这样解决的:

首先每笔交易都要先确认对应的比特币之前的情况,要检查它是否存在于付款人的UTXO中。

其次,同一笔UTXO付出去,系统节点按照时间戳只会确认先接收到的那一笔。

最后,当两笔时间上很近的交易被不同节点确认,区块链将发生分叉。当其中一笔交易被6个节点确认后,它将获得最终的确认,成为最长链。

本文仅供学习参考之用,不构成任何投资建议。

‘双花’攻击

什么是双花?

“双花”,即一笔钱被花了两次或者两次以上,也叫“双重支付”。通俗的理解,“双花攻击”(double spend attack)又叫“双重消费攻击”,即同一笔资金,通过某种方式被花费了两次,取得了超过该笔资金的服务。

在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。

双花是如何发生的?

众所周知,区块链节点始终都将最长的链条视为正确的链条,并持续工作和延长它。如果有两个节点同时广播不同版本的新区块,那么将在率先收到的区块基础上进行工作,但也会保留另外一个链条,以防后者变成最长的链条。等到下一个工作量证明被发现,其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营。

双花简单说就是花两次。双花是如何实现的呢?分为两种情况:

(1)在确认前的双花。零确认的交易本来就可能最后没有写入区块链。除非小额,最好至少等确认即可规避此类双花。

(2)在确认后的双花。这就要控制超50%算力才能实施。即类似于一个小分叉,将给一个商店的交易放入孤立区块中。这种确认后双花,很难实施,只是理论上可行。

双花攻击案例

2018年曾经发生了比特币黄金(BTG)的双花攻击。BTG当时是全球第27大加密货币,流通市值为50亿人民币。2018年5月16日以来,攻击者对BTG网络成功实施了双花攻击,谋取了超过38.8万的BTG的暴利。

攻击者控制BTG网络上51%以上的算力,控制算力期间,把一定数量的BTG发给自己在交易所的钱包,这条分支我们命名为分支A。同时,又把这些BTG发给另一个自己控制的钱包,这条分支我们命名为分支B。分支A上的交易被确认后,攻击者立马卖掉BTG,拿到现金。随后,攻击者在分支B上进行挖矿,由于其控制了51%以上的算力,很快分支B的长度就超过了分支A的长度,分支B就会成为主链,分支A上的交易就会被回滚恢复到上一次的状态。攻击者之前换成现金的那些BTG又回到了自己手里,这些BTG就是交易所的损失。这样,攻击者就凭借50%以上的算力控制,实现了同一笔加密货币的“双花”。

都看完了嘛?相信现在您对比特币双花问题是如何发生的有一个初级的认识了吧!也可以收藏币圈网页面获取更多比特币双花问题是如何发生的视频知识哟!区块链、虚拟币,我们是认真的!

分享给朋友:

相关文章

eth以太坊以太坊eth挖矿

eth以太坊以太坊eth挖矿

接下来我们一起看看币圈网发布的这则正文,如有不理解还请直接咨询我,下面我们来一起详细看看关于这篇内容的详细分析! 我们知道,ETH(以太坊)和比特币是目前最受币圈用户青睐的两种数字货币。但你或许不知...

fil的最新相关信息最近什么情况fil新闻简介

fil的最新相关信息最近什么情况fil新闻简介

很多朋友在找币圈网时都会咨询fil的最新相关信息和fil新闻,这说明有一部分人对这个问题不太了解,您了解吗?那么什么是fil新闻?接下来就由小编带大家详细了解一下吧! fil减产时间2022 2...

DOGE币发行总量是多少目前现状和Doge币行情详细介绍

DOGE币发行总量是多少目前现状和Doge币行情详细介绍

很多朋友在找币圈网时都会咨询DOGE币发行总量是多少和Doge币行情,这说明有一部分人对这个问题不太了解,您了解吗?那么什么是Doge币行情?接下来就由小编带大家详细了解一下吧! 狗狗币是什么...

包含胡安filecoin预测的词条

包含胡安filecoin预测的词条

面对信息化时代,稍不注意就会脱轨,所以及时的补充知识才能让我们与时俱进,今天给大家带来的是关于胡安filecoin预测和的一篇文章,相信会给你带来较大的帮助! 分布式存储网络Filecoin是什么...

HT币价格行情(HT币今年价格一枚多少)

HT币价格行情(HT币今年价格一枚多少)

HT币价格行情 1、在 FTX 垮台后,交易所代币表现不佳。然而,火币的原生资产 HT 被认为改变了这种说法。 2、今天早些时候,关于火币网与孙宇晨的Poloniex加密货币交易所合并的传言开始浮...