导航:首页 > 比特币区 > 比特币如何双重支付

比特币如何双重支付

发布时间:2024-10-26 16:09:50

㈠ DoubleSpend双重支付的定义是什么

如果一个恶意用户试图将同一笔比特币同时支付给两个不同的收款人,这就是双重支付。比特币挖矿区块链就是用来在网络上共同工作,来确定哪个交易将会被确认

㈡ 区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法

分叉

前面讲到了比特币通过区块链+工作量证明的独特设计来解决了时间顺序,但是不能保证在同一时刻有两个节点算出了正确的解,虽然这种可能性很低很低。这就带来了区块的分叉。

虽然说几乎同时有两个节点计算出这一数学问题的可能性微乎其微,但是仍然存在这样的可能性,所以分叉就以为着同一个区块的后面可能会跟上两个不同的区块。

规则的打破一直要到下一个区块被人解开。则会立即转向最长的区块,而那些短的区块则会被抛弃。数学问题使得区块很难被同时拆解。要连续发生多次更是困难。最终区块链会稳定下来。也就是说所有人对最后几个区块顺序达成共识。分叉意味着,譬如,若你的交易出现在较短的支链,它就会失去进入区块链的位置。一般而言,只代表他会回到未确认交易池。然后被纳入到下一个区块。

比特币网络如何解决分叉带来的双花支付

可惜,交易失去区块位置的潜在可能,给了本来定序系统防范的重复支付攻击机会。考虑下面的一个攻击者A,其首先用自己的比特币交换B节点的货物,其立即又支付给自己。然后其通过努力的制造更长的链条来让自己的支付替代掉B节点的支付,从而实现了双重支付,B节点既得不到钱,还失去了货物。

这时交易会退回到未确认池中,因为A节点已经利用参照同样的input交易取而代之。节点就会认为Bob的交易无效。因为已使用掉。

你可能会猜测A节点会预先的计算出一支区块链,然后抓住时机发布到网络。但是每个区块的数学谜题阻挡了这个可能性。如前面所诉,解开区块是猜测出一个随机数的过程。一旦得出答案,解出的哈希值就会成为指纹一样的区块识别。只要区块内容有一丁点变化,下一个区块的参考值就会完全不同。此机制的结果就是无法在区块链中置换区块。在得到前一个区块之前,下位区块无法被解开。前一个区块的指纹也是杂凑函数的引数之一。

同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。

如果有一台超级电脑,能够在区块解题中获胜?

即便是一台超级电脑,或者时几百上千台电脑也很难赢得解一个区块的胜利,因为竞争对手不是任一台电脑,而是整个比特币网络。你可以用买彩票来比拟。操作千百台电脑,如同买了千百张彩票一样。

51%攻击是指的什么

根据前面的例子,我们知道,要想有50%的概率领先其他人解题得到胜利,就需要掌握全网50%以上的算力。要连续领先他人解出区块,掌握的运算能力还需要高得多。所以区块链中的交易是受到数学竞赛所保护。恶意用户必须和整个网络较量。区块连接建立的结果,使得在支链越前方的交易越安全。恶意的用户必须在更长的时间赢过全网络,来达成重复支付,替换前面的区块链。所以,系统只有支端末尾易受到重复支付攻击。这也是为什么系统建议多等几个区块,才能确认收款成功。

个人博客:https://dreamerjonson.com/

㈢ 详解比特币的“51%攻击”

刚接触比特币的时候,都听过“51%攻击”这个概念。简单来说,就是如果某个节点拥有超过全网51%的算力,将能够实现双重支付、撤销交易等操作,让比特币网络崩溃。

那么,这个51%攻击是什么实现的?

假设一个场景,A用10比特币向B购买一样商品,步骤如下:

(1)A支付给B 10BTC;

(2)B收到10BTC确认收款后发货(一般认为6次确认后交易就不可逆转);

(3)A随即创建另一笔交易,将同样的10BTC支付给自己。

显然,A想要撤销第一笔交易,不用花钱就得到B的商品。为了达到这个目的,A进行了双重支付,将同样的10BTC支付给B和自己。在正常的比特币网络中,一旦第一笔交易经过6次确认后就几乎不可更改,后续的交易数据将继续打包成新的区块依次链接下去。可是,如果A用户拥有51%的算力,情况将会发生有趣的变化,A可以实现双重支付的目的。

具体过程如下:

假设第一笔交易被打包到100号区块,当后面再增加5个区块后,6次即可确认该交易,区块如下图所示:

这时,A又发起了一次给自己10BTC的交易。如果A向全网广播,这笔交易不会被处理(因为找不到要花费的UTXO,10BTC支付给B的事实已经被全网确认了),所以A选择不广播,而是对主链进行“分叉”,生成另外一个100号区块,并在其中打包第二笔交易,如下图:

由此,产生了两条子链。简单描述起见,第一笔交易所在的叫C1,第二笔交易所在的叫C2。其他矿工继续在C1上打包数据,而A则在C2上挖矿,两条链开始赛跑。由于A具有超51%的算力资源,很快,C2的长度就会超过C1,如下图:

这时,按照比特币的最长链优先原则,其他矿工也会自动转到C2上,使C2变成了主链。C1则会被抛弃,之前打包在C1上的所有交易(包括第一笔A支付给B 10BTC的交易),都会变为无效。结果是A不花一分钱就拥有了属于B的商品,这就是“51%攻击”。

当然,要真正实现51%攻击是非常困难的,在比特币网络中几乎是不可能的,因为这需要消耗巨大的成本,跟攻击成功后获取到的收益相比,完全是得不偿失。

51%攻击能带来的收益是非常有限的,只能做到:

1、修改自己的交易记录,如双重支付;

2、阻止确认部分或全部交易。

而下面这些即使是51%攻击也没法做到的:

1、凭空生成比特币;

2、修改每个区块产生的比特币数量。

因此,51%攻击成本巨大,收益却很小,仅能实现“双重支付”而已,所以51%攻击很多时候又被称为“双花攻击”。“双花”是数字货币要解决的第一个核心问题,比特币通过共享账本和工作量证明共识机制比较完美地解决了这个问题。

㈣ 如何破解比特币双重支付难题

双重支付主要有两种情况:一种是让矿工来帮实现,另一种就是成为一个矿工。2013年11月在 GHash.io 矿池就发现BetCoin存在双重支付,网站使用的每一次交易都不需要等待确认就可以进行。
解决方案:
分析交易风险
支付渠道
由受信任的第三方签名
远程认证
ID验证
等待确认
处罚双重支付的区块

㈤ DoubleSpend双重支付是什么

如果一个恶意用户试图将同一笔比特币同时支付给两个不同的收款人,这就是双重支付。比特币挖矿和区块链就是用来在网络上共同工作,来确定哪个交易将会被确认

㈥ 谁知道比特币是什么它是怎么运作的

比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生。

比特币及其众多衍生品被称为加密货币。 该系统使用了加密技术来生成新币,以及进行转帐验证。 加密序列有以下几个目的:使交易几乎不可能被伪造;使货币银行或货币钱包可作为数据轻松转移;验证比特币从一个用户转移到另一个用户。

在比特币被使用之前,必须先由系统生成或挖矿得到新币。 这些区块的编码和解码过程需要大量的算力,那些成功生成新区块的用户将获得一些比特币或一部分交易费用作为奖励。

这样一来,将比特币从一位用户转移到另一位用户的同样过程中,在同等基础上也为贡献给比特币网路的更多算力创造了需求,从而生成出可供使用的新币。

(6)比特币如何双重支付扩展阅读:

比特币的作用

比特币就像现实中的金币一样:它们具有价值,也可以像金币一样用于交易。 可以透过比特币进行投资——买入加密货币并从其价格波动中获利。 每天都有新的地方将比特币列入支付方式。

比特币没有一个正式价格。 比特币的价格是根据人们愿意支付的价格来确定的。比特币的价格通常以一枚比特币的花费来表示。 但是,交易所一般会允许以任何金额购买,即可以购买少于一枚比特币。 Libertex 的价格指数就是即时查看比特币价格的优质资源。

参考资料来源:网络-比特币

㈦ ‘双花’攻击

什么是双花?

“双花”,即一笔钱被花了两次或者两次以上,也叫“双重支付”。通俗的理解,“双花攻击”(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%以上的算力控制,实现了同一笔加密货币的“双花”。

㈧ 比特币是如何去中心化的

比特币白皮书《比特币:一个点对点电子现金系统》中,中本聪详细地解释了他是如何设计这个系统的。在其中,他确立了此后所有区块链系统的主要设计原则。

一个真正的点对点电子现金应该允许从发起方直接在线支付给对方,而不需要通过第三方的金融机构。

现有的数字签名技术虽然提供了部分解决方案,但如果还需要经过一个可信的第三方机构来防止(电子现金的)“双重支付”,那就丧失了(电子现金带来的)主要好处。

针对电子现金会出现的“双重支付”问题,我们用点对点的网络技术提供了一个解决方案。

该网络给交易记录打上时间戳(timestamp),对交易记录进行哈希散列处理后,将之并入一个不断增长的链条中,这个链条由哈希散列过的工作量证明(hash-based proof-of-work)组成,如果不重做工作量证明,以此形成的记录无法被改变。

最长的链条不仅仅是作为被观察到的事件序列的证明,并且证明它是由最大的CPU处理能力池产生的。只要掌控多数CPU处理能力的计算机节点不(与攻击者)联合起来攻击网络本身,它们将生成最长的链条,把攻击者甩在后面。

这个网络本身仅需要最简单的结构。信息尽最大努力在全网广播即可。节点可以随时离开和重新加入网络,只需(在重新加入时)将最长的工作量证明链条作为在该节点离线期间发生的交易的证明即可。

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

阅读全文

与比特币如何双重支付相关的资料

热点内容
三大隐私数字货币 浏览:85
比特币如何双重支付 浏览:822
同源数字货币平台 浏览:582
数字人民币是我国法定货币吗 浏览:104
以太坊价格6月15日行情 浏览:565
国家再出狠手严查虚拟货币 浏览:488
区块链电销团队 浏览:39
比特币矿机的组装 浏览:906
纸币电子货币虚拟货币简述 浏览:210
虚拟货币项目如何拉人 浏览:73
三点钟区块链大会澳门 浏览:257
red矿池 浏览:833
比特币有多少存量 浏览:781
开发虚拟货币交易软件 浏览:833
比特币09年怎么在中国买 浏览:195
免费获取btc的软件 浏览:487
男朋友要我买以太坊 浏览:422
为什么虚拟货币能挣钱 浏览:446
虚拟货币是全球通用的吗 浏览:836
深圳招商银行数字货币 浏览:687