比特币双花防范目录
区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法
比特币双花防范
比特币的防双花战略分析
概述一下。
去中心化数字货币比特币具有双重功能,可以在同一个地址发送和接收交易。这样的特性伴随着风险,因此防止比特币的双重收费是非常重要的。
双重花的定义。
所谓双花,就是利用比特币的双向交易功能,将同一笔交易用于不同的目的,实现“一币两用”。例如,用户可以使用比特币购买商品或服务,将剩余的比特币用于其他投资。
双重花的风险。
双花有以下风险。
欺诈风险:如果交易被第三方阻止,可能会被虚假交易或使用比特币进行非法购买等欺诈行为所利用。
分散风险:双花分散了用户的资产,增加了追踪和管理的难度。
市场风险:双重花可能会导致市场混乱,影响比特币的价值和交易量。
比特币的双重收费策略。
为了防止比特币的双重收费,可以考虑以下对策。
限制两朵花的交易:一个地址只能交易一次,这样可以防止两朵花。
提高交易透明度:通过使用公开的可验证的交易地址(P2SH地址等),提高交易透明度,减少欺诈风险。
加强监管:政府可以加强对比特币交易的监管,防止作弊行为。
结论。
防止比特币“双花”是一个长期且持续的课题。只有采取有效的对策,才能防范风险,维持比特币社群的稳定。
区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法
叉子。
前文提到,比特币通过区块链 工作证明的独特设计解决了时间序列问题,但在同一时间,两个节点计算出正确答案的可能性很低。
这导致了区块的分歧。
几乎不可能同时有两个节点计算这个数学问题,但还是有可能的,所以我们认为分歧可能是在同一个块后面有两个不同的块。
打破规则会一直持续到下一个模块被解开为止。
我们很快就会移到最长的区块,而短的区块就会被丢弃。
数学题很难一次性分解各个模块。
反复几次就更加困难了。
最终区块链将会扎根。
也就是说,所有人都同意最后几个模块的顺序。
所谓“分叉”,就是指例如在短分支链上进行交易时,失去进入区块链的位置。
一般情况下,只是回到未确认的交易池。
下一个模块。
比特币网络是如何通过分叉解决双重支付的
但是,交易失去阻滞位置的潜在可能性,会给原本的战术安排提供双重攻击的机会。
假设攻击者A用自己的比特币与节点B的货物交换,并立即支付给自己。
然后,通过建立更长的链条,努力让自己的支付取代节点B的支付,实现了双重支付,节点B得不到钱,反而失去了商品。
这个时候交易会回到未确认池,因为节点A会参考输入交易。
node认为bob的交易无效。
因为已经用完了。
或许有人会推测,节点A会不会提前计算区块链,并看准时机在网络上公布。
每个方块的数学谜题阻止了这种可能性。
如前所述,解模块就是推测随机数。
答案出来后,解出的哈希值就会变成像指纹一样的区块识别。
只要模块的内容稍有变化,下一个模块的参考值就会完全不同。
其结果就是,区块链中的区块无法被替换。
在得到前一个方块之前,下位的方块不能解开。
上一个区块的指纹也是聚集函数的参数之一。
它还解决了集体投票中谁是多数派的问题。
如果决定多数的手段是基于IP地址,那么如果有人拥有给每个IP地址分配一票的权限,这个机制就会被破坏。
另一方面,工作?证明机制的本质是一个CPU投一票。
“大多数”的决定用包含最大工作量的最长的链来表示。
如果大多数CPU由诚实节点控制,诚实链可以以最快的速度被延长,并超过其他竞争链。
为了对已经出现的区块进行打滑的修正,攻击者必须将区块的工作量加上区块后的所有工作量,并最终赶上诚实节点的工作量。
假设较慢的攻击者追上下一个模块,证明成功概率呈指数递减。
另一个问题是,硬件的运算速度越来越快,而节点参与网络的程度却在上下波动。
为了解决这个问题,证明工作的难易度(the proof-of-work difficulty)是用以每小时生成块的速度为预定平均值的移动平均目标来决定的。
如果区块生成速度过快,难度就会变高。
如果有一台超级计算机能战胜阻塞问题呢?
即使是一台超级计算机,或者是几百台、几千台计算机,也很难解开一个区块。因为竞争对手不是一台计算机,而是整个比特币网络。
就像买彩票。
操作千百台电脑,就像买千百张彩票。
51%攻击是什么?
在刚才的例子中,要想以50%的概率领先于他人解决问题并获胜,就必须具备网络整体50%以上的计算能力。
要想比别人先一步解决问题,就必须掌握计算能力。
因此,区块链中的交易受到数学竞赛的保护。
恶意用户必须与整个网络对抗。
区块连接建立的结果是,子链的尽头的交易越安全。
恶意用户需要花费更长的时间战胜全网,实现双重支付,替换之前的区块链。
因此,只有系统的最后部分容易受到双重支付攻击。
为了确认收款成功,建议增加区块数也是这个原因。
个人博客。
工作量证明和双花攻击
2008年中本聪,以dot ?图?提出了基于积分技术的电子货币系统。这样一来,在线支付就可以不通过金融机构,实现一方对另一方的直接结算。
这个问题可以通过数字签名来解决,但是如果为了防止重复支付需要第三方的支持,那么这样的系统就没有存在的价值了。
比特币的工作?验证?机制(PoW)的本质是缓存?点拨系统?图?在要点上动作,防止双重攻击。
工作?验证?机制原理是,每一块网络,当前网络的区块头与前一块的区块头?含有散列。
新的区块被生成,该区块的标头的散列必须满足工作量证明条件(需要进行大量散列计算)。
将满足工作量证明的哈希链连接到整个网络形成区块链。
创建的交易记录是无法更改的,除非攻击者重新创建工作表。
最长的区块链不仅是被观察到的交易序列的证明,还被认为是来自计算力最大的群体的共识。
诚实的节点会生成超过攻击者的最长链,从而抵抗双花攻击,除非整个网络的大多数计算力合作攻击全网。
双花攻击是结果。
攻击者A同时向B和C两个用户支付了相同的比特币,并且B和C两个用户都认可了该交易。
假设A使用了两次比特币,A进行了一次双花攻击。
对验证工作的双重?在花朵攻击中,51%攻击是讨论最多的。
但是,这样的双重?花朵攻击有fanny攻击、竞争攻击、vector 76攻击等各种形式。
这些攻击实际上已经得到了充分的关注和讨论。