主页 > 怎么下载imtoken苹果版 > 浅析区块链(十):你需要的双花问题

浅析区块链(十):你需要的双花问题

怎么下载imtoken苹果版 2023-10-14 05:13:58

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

如果同一笔钱被支付两次或更多次,就是双花,也叫双花。 这在现实生活中是不可行的,但是在数字货币系统中,由于数据的可复制性,同一个数字资产可能会因为系统操作不当而被重复使用。

看到这里,很多人疑惑了,我们平时在淘宝买东西都是用支付宝,还有微信扫码支付、红包等支付方式,而且不使用现金。 为什么双花从来没有发生在我们身上。 那是因为支付宝和微信上的钱不存在于数字世界,而是存在于现实世界的银行里。 我们在淘宝下单给卖家付款的时候,其实是先把钱打给支付宝,支付宝把钱打到他们的银行账户里。 我们确认收货后,支付宝从银行账户中提取款项并支付给卖家。 .

比特币双花问题是什么_比特币的世界中双花是指什么_比特币分叉会影响比特币价格吗

至于为什么没有双花问题,就是这个道理。 如果同时发出两笔付款,则记录两笔付款的钱,因为转账或付款是实时的,由银行、支付宝、微信等中心机构保存。 在日常生活中转账或者支付的时候,钱都是先从我们的账户中扣款,然后银行确认交易,所以不会出现一笔钱重复交易的情况。 我们经常从银行账户充值到微信支付宝找零。 这时候银行先扣款确认交易,然后微信支付宝管理我们的数据,实时修改账户余额比特币双花问题是什么,包括以后用零钱支付。 ,由这些第三方中央组织管理和确认,以防止双重支出。

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

1. 由于共识机制导致的区块确认时间较长,可以用一种数字货币进行一笔交易,在交易确认完成之前进行第二次交易。

2.控制算力实现双花。 在第一笔交易被验证并记录在区块中后比特币双花问题是什么,网络中将有一个新的更长的更高算力验证的链。 在这条链中,这笔钱是第二次花费,因为第二次花费的区块链较长,第一次交易区块的链是无效链,以至于第一次交易的区块链被区块链网络,第一次花的钱会退回到自己的账户,这就导致了双花的问题。

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

比特币分叉会影响比特币价格吗_比特币的世界中双花是指什么_比特币双花问题是什么

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

在分支 A 的交易被确认后,攻击者立即出售 BTG 以获取现金。 此时分支A成为主链。 然后,攻击者在B分支上挖矿,由于控制了51%以上的算力,攻击者获得记账权的概率很高,所以很快B分支的长度就超过了主链(A分支),那么分支B将成为主链,分支A上的交易将被回滚(回滚是指程序或数据处理错误的行为,将程序或数据恢复到上次正确的状态)。 分支A回到攻击者发起第一笔交易前的状态,攻击者之前兑换成现金的BTG回到自己手中(这些BTG是兑换的损失),实现了双花攻击。 攻击者可能从交易所窃取了价值高达 1860 万美元的 388,200 多个 BTG。

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

比特币的世界中双花是指什么_比特币分叉会影响比特币价格吗_比特币双花问题是什么

未交易输出

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

时间戳

当一个用户同时向两个人转账 1 个比特币时,两笔交易中只有一笔交易会成功,因为矿工会选择记录先到账或手续费较高的交易。 当矿工依次记录交易时,根据时间戳(在上一篇《区块链剖析7》中有详细介绍)数据,可以成功验证第一笔记录的交易。

六个确认

意思是在当前区块之后,再计算出5个区块并连接到区块链上,每一个区块都相当于对前一个区块的确认,区块链上每增加一个区块,就增加了篡改前一个区块的难度,6个之后,认为基本不可能被篡改,所以认为交易完成。

这里有一个概念——分叉:全网不止一个节点可以同时计算随机数,也就是同时挖矿,这些节点会把自己挖的矿链接到自己的本地区块上。 链上有区块链分叉,它们会在网络上广播各自打包好的区块,让其他节点在同步最新数据后,可以在最新的区块链上继续挖矿。 由于距离的原因,不同矿工看到的区块是有顺序的,矿工会先复制自己看到的区块,然后继续在这个区块上开始新的挖矿工作。 最终,其中一条链被确认为较长的那条链,则工作在其他支链上的节点将转换阵营,开始在较长的链上工作,这条链将成为主链,其他分叉链将被被网络抛弃而消失。 这也是避免双重支出问题的好工具。

比特币的世界中双花是指什么_比特币分叉会影响比特币价格吗_比特币双花问题是什么

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

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

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

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

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

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

之前发生的双花问题都发生在一些假币和小项目上。 因为攻击的成本比较低,所以必须重视安全问题。 希望越来越多的项目能够保障用户的资产安全,让区块链和数字货币能够有更多的应用。 以上就是对双花问题的介绍。 如果对您有所帮助,将不胜荣幸。