主页 > token.im钱包下载 > 区块链技术如何解决双花(double consumption)问题?

区块链技术如何解决双花(double consumption)问题?

token.im钱包下载 2023-03-06 07:43:48

我们都知道比特币如何防止双重支付,在日常生活中,一笔钱不能花两次。比如你去便利店买东西,你给店员5元现金买一瓶饮料。买了之后觉得肚子饿了,想买点面包吃。如果我用刚才付给店员的5块钱买一块面包,可以吗?绝对不会,除非店员对你感兴趣。

如果同一笔钱被支付两次或两次以上,则为双花,也称为双重支付。这在现实生活中是行不通的,但是在数字货币系统中,由于数据的可再现性,系统可能会因为操作不当而导致相同的数字资产被重复使用。

看到这里,很多人想到,我们平时在淘宝上买东西都是用支付宝,还有微信扫码支付、红包等支付方式,不需要现金。那是因为支付宝和微信上的钱不存在于数字世界,而是存在于现实世界的银行中。我们在淘宝下单给卖家付款的时候,其实是先把钱付给支付宝,然后支付宝把钱存到他们的银行账户里。当我们确认收货后,支付宝从银行账户中取出款项,并支付给卖家给卖家。.

至于为什么不存在双花问题,如果同时发放两个支出,记录两个支出的钱,因为转账或支付是实时的,银行等中央机构,支付宝、微信都是用来记账的。日常生活中转账或支付时,先从我们的账户中扣款,然后由银行确认交易,不会出现重复交易的情况。我们经常从我们的银行账户充值到微信支付宝找零。这个时候,银行先扣款,确认交易,然后微信支付宝管理我们的数据,实时修改账户余额,包括以后用这些变化进行支付。,全部通过这些第三方中央机构来管理和确认我们的数据,防止双花。

而我们所说的数字世界就是虚拟数字货币,这种抛开中介第三方机构的去中心化数字资产。在区块链系统中,双花问题出现在以下几种情况:

比特币如何防止双重支付

一、由于共识机制,区块确认时间长,使用一种数字货币进行交易,在交易没有被确认之前可以进行第二次交易。

二、控制算力实现双花,在第一笔交易验证并记录在区块后,网络中有更高的算力去验证一条新的更长的链,在这条链上这笔钱花在第二次。因为第二次消费的区块链较长,所以第一个交易区块所在的链是无效链。这样,第一笔交易所在的区块链就被区块阻塞了。链网放弃了,第一次花的钱又回到了自己的账户,导致了双花问题。

也有很多情况,比如通过控制矿工费实现双花,或者有人接受0确认来节省时间,很容易被攻击者利用。

2018 年 5 月,一名恶意矿工获得了比特币黄金(BTG)网络至少 51% 的算力,并暂时控制了比特币黄金(BTG)区块链。发送到你在交易所的钱包,我们把这个分支命名为A分支。同时,他将这些BTG发送到另一个他自己控制的钱包。我们将此分支命名为分支 B。

比特币如何防止双重支付

看来,对于攻击者来说,双花确实很爽,但是项目方应该哭了。事实上,双花问题并非无法解决。比特币的创始人中本聪想了很久。通过UTXO和时间戳,以及每笔交易必须确认六次的要求,比特币不会出现双花现象。问题。

UTXO

UTXO 是比特币交易的基本单位,指的是未花费的交易输出。通俗的理解是:看有多少交易给了我多少钱我不花,我有我有多少钱。当用户收到比特币时,该金额将作为 UTXO 记录在区块链中。每个未使用的交易输出都记录在比特币系统中。比特币交易被创建并广播到区块链网络后,接收到交易信息的节点会验证该交易,需要在UTXO数据库中检查它是否存在于UTXO中。如果交易输出不再存在于 UTXO 中,则验证失败。

比特币如何防止双重支付

时间戳

当一个用户同时向两个人转账 1 个比特币时,两次交易中只有一个会成功,因为矿工会选择记录先收到的那个,或者以更高的费用交付交易。交易被矿工连续记录后,根据时间戳数据,可以成功验证第一个记录的交易。

六次确认

意思是在当前区块之后,再计算5个区块连接到区块链上,每一个相当于确认了前一个区块,区块链上每增加一个区块就增加。前一个区块被篡改的难度,经过6个区块后,认为不可篡改,则认为交易完成。

比特币如何防止双重支付

这里有一个概念——分叉:全网不止一个节点可以计算同一时间段内的随机数,即同时挖出地雷比特币如何防止双重支付,这些节点会将自己挖到的地雷链接到自己的本地区块链上有一个区块链分叉,它们都在网络上广播自己打包的区块,以便其他节点在同步最新数据后可以继续在最新区块链上挖矿。由于距离的原因,不同矿工看到的区块是按顺序排列的,矿工会先复制自己看到的区块,然后继续在这个区块上开始新的挖矿工作。最后,确认其中一条链为较长的一条,然后在另一条分支链上工作的节点将切换阵营,开始在较长的链上工作,这条链将成为主链,而其他分叉的链将被废弃并从网络中消失。这也是避免双花问题的好工具。

免费版的广告视频合并软件!视频字幕,视频配音和视频滤镜,视频转场,视频特效,一键添加^^支持分针视频剪辑,简单易用,剪辑视频...

总结比特币解决双花问题的措施:

比特币如何防止双重支付

1.首先,每笔交易都要先确认对应比特币之前的情况,并检查是否存在于用户的UTXO中。否则,交易将被系统拒绝。

2.如果用户用相同的UTXO给两个人付款,系统中的节点只确认先收到的那个。

3.当两个及时关闭的交易被不同节点确认时,区块链会分叉。其余节点选择在他们认为最长的链上构建新块。

4.当其中一笔交易被6个节点确认后,将成为系统中最长的链,该笔交易可视为最终确认。

虽然比特币目前还没有出现过双花问题,但也不是绝对不可能的,比如51%算力攻击。但为什么没人做呢,首先是因为成本太高,没有人能轻易掌握51%的节点。即使一个人已经掌握了 51% 的节点,他已经是比特币网络中最大的受益者。如果发起 51% 攻击,他可以赚取短期利润,但比特币的价值将遭受毁灭性的​​打击。将是最大的受害者。

之前出现的双花问题,都在一些山寨币和小项目中。由于攻击成本相对较低,因此必须注意安全问题。希望越来越多的项目能够保障用户资产的安全,让区块链和数字货币能够有更多的应用。以上是对双花问题的介绍。能帮助你将是我的荣幸。返回搜狐,查看更多