比特币双花是什么意思?比特币双花原理是什么

OKX欧意app

欧意交易app是全球排名第一的虚拟货币交易所。

APP下载   官网地址

比特币双花是什么意思? 因为比特币属于数字货币的一种,其数据是可以被复制的,这就使得一笔数字资产可以被重复使用,也就是本文中提到的双花。简单来说双花就是一笔钱花两次,甚至是数次。要注意“双花”这个概念,重要是在于“花”这个动作,而这个动作是不是能够成功并不是定义“双花”的关键,只要同一笔数字资产被“花”出去了两次或多次,那就是“双花”。

比特币双花的两种情况

1.在确认前的双花:这个因为原理,确认的交易本来就可能最后没有写入区块链。除非小额,否则最好等一下确认即可规避此类双花。另外用链下钱包也可以,可秒速。

2.确认后的双花:这个就要控制超50%的算力才能实施了。即类似于一个小分叉,将给一个商店的交易给放入孤立区块中。不过,这种确认后双花,很难实施,目前好像还没有任何此类双花的案例,只是存在在理论上可行。

注意:对于大额交易进行确认,确认越多越难双花。这种是对于实体店的即时交易。而像网店,和交易平台的提币提现,往往都需要一定时间发货和提现审核时间。这些时间可能都要6确认多了,他们可以先给你展示成功,但发现你双花,停止发货和不通过提现提币审核即可。即针对交易平台和网店的双花难度更大。

为什么比特币会出现双花问题

比特币不同于现金。当你使用比特币进行交易时,你将向网络上的所有节点广播该笔交易。节点是支持运行所涉及加密货币的软件计算机。这些节点需要接收并确认交易。这一切都需要时间。

比特币双花原理

比特币双花是什么意思?比特币双花原理是什么插图

某作恶人在第101号区块的时候,将10个比特币充值到某交易所。一般交易所在第6个确认的时间就会认为已充值成功。这时作恶的人会赶紧卖出提现。

但随后,作恶节点人还偷偷的构造了另一笔交易(只需要修改101号区块里面的交易信息)将充值的那10个比特币,收款人地址修改成给他的小号。他把这个恶意的块发给了其它的矿工(举例为红色那条链)

这个时候,只要作恶节点在红色链上投入大量的算力,且算力大于51%,那他挖矿的速度肯定比小于49%的诚实节点要快,最终红色的那条链一定会超过黑色的链,其它诚实结节根据最长链优先原则又纷纷到红色链上继续挖矿,而黑色链之前发生的所有交易(其实只有其中那一笔交易是伪造的)就回滚了。

这样,作恶节点人是不是把这10个比特币花费了二次呢?他即在交易所充值成功,又把比特币拿回去了,比特币交易所就白白损失了10个BTC。

如何解决比特币双花问题

想搞懂如何解决双花就得先搞懂比特币系统。在比特币系统中本聪使用UTXO技术防止双重支付。

先翻译UTXO是什么意思:

TX : Transaction翻译为:交易

O:Output翻译为:输出

TXO : TX output翻译为:交易输出比特币系统中TXO包含一个value(价值)值和一段脚本,该脚本规定了谁有权使用这笔交易(比如需要私钥签名)。

UTXO:Unspent TXO翻译为:未花费的交易输出比特币系统规定:只有对“尚未使用过”的交易签名才能是有效签名。

比特币系统中所有的每一笔交易信息都以统一固定的机制以固定的时间戳被写在区块上。我们把每一笔交易理解为一张汇款单,把比特币系统上每个区块比如成一本账簿。那么账簿上就会贴满所有每一笔交易的汇款单。每一笔交易的汇款单简单理解就是UTXO。说白了,UTXO就是一个数据结构,包含交易数据和执行脚本(Pubkey scripts)。这个数据结构包含每一笔的交易信息和未花费的交易输出。

以现实的钱包举例,一个钱包中有一个10元、1个5元,1个1元,一共16元。比特币一个账户的余额,也是根据这个账户UTXO计算的。当花12元买东西时,可以把10元和5元拿出去,然后得到找零的3元,那这个时候之前的10元和5元因为已经花出去了就不再是UTXO了,新找零的3元成为新的UTXO,再加上之前未动的1元UTXO,目前的余额是4元。这次新的交易记录在了新的区块上,但没有改变历史区块的数据。

比特币使用前后链接的区块链记录所有交易记录,当之前的UTXO出现在后续交易的输入时,就会被检查这笔交易的来源已经不在UTXO列表中,也就是说这笔钱已经被花过,这个UTXO已花费掉,不再是UTXO了。

如果你用同一笔UTXO构造了两笔分别付给A和B的交易。那么bitcoin-core客户端(比特币系统节点)的规则是只转发先侦听到的那个。但至于哪笔交易会被包含进未来的区块,则取决于矿工。矿工的挖矿程序一般是定制开发的,矿工可以自主任意选择这两笔交易里的一笔。

比如有的矿工会选择先看到的交易,有的矿工会选择交易手续费更高的那个。当这两笔相矛盾的交易中的一笔被写入区块链,并且深度达到6后(6个确认后),可以认为这笔交易获得了最终的确认。等待6个确认的情况下,比特币是几乎绝对不可能被双花的。

每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是UTXO。所有的资金来源都必须来自前面某一个或者几个交易的UTXO,就像接水管一样,一个接一个,此出彼入,此入彼出,生生不息,钱就在交易之间流动起来了。

以上就是与比特币双花问题相关的解释,如今比特币双花问题的解决也帮助互联网向开放信息网络迈出了重要的一步。移除了可信的第三方,专业人士也大胆预测了比特币将来会成为经济自由的终极武器。

正文完
 

OKX欧意app

欧意交易app是全球排名第一的虚拟货币交易所。

APP下载   官网地址