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

 更新时间 2024-12-22  阅读 9  评论 0

一、比特币为什么要进行分叉

区块链和比特币等数字货币的讨论中,我们经常听到“分叉”这个词,那么到底什么是分叉呢?分叉又会有什么影响呢?

区块链

在说分叉之前,先普及一点区块链的小知识,这样更容易帮助我们理解分叉是什么(如果你对区块链一点概念也没有,欢迎翻阅我以前的文章,都是些通俗的话语帮你了解什么是区块链)。

区块链,顾名思义,就是由区块组成的链条,当然这种链条只是一个形象比喻,说白了就是数据区块有序地连接起来。在比特币中,区块中存放的是比特币的交易记录,区块的大小和交易记录所占用的空间决定了一个区块能存放多少交易记录。这些交易记录被打包到区块中,然后区块一个个相连就构成了区块链。

为什么要分叉

我们知道,比特币软件像其他软件一样,需要定期更新和修改,以便让他更好。所以新的版本就会出现,但是由于不是所有人都即使下载了新版本,所以有个矿工就运行了旧版本,有的则运行了新版本,那么一旦新旧版本不兼容的话,区块链就会分叉。因为因版本的区块和旧版本的区块可能存在差异,所以他们不能被连接到同一个区块链上,所以就会出现两条链,甚至多条链,这就是分叉。

软分叉

软分叉指的是,当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。这种分叉会随着节点的升级而逐渐修复。

硬分叉

硬分叉指的是,区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬叉就会发生。所以,在数字货币领域,硬分叉往往导致新的币种出现。例如以太坊的硬分叉就导致了 ETH的出现。

原文:什么是分叉?什么是比特币分叉?

二、比特币历史上出现过几次有影响力的分叉,对币价有何影响

目前,比特币没有发生过有影响力的分叉。基本上都是对硬分叉的一种担忧。比特币历史上曾出现了多次类似硬分叉的担忧,例如某个大的矿池的算力曾多次接近全网算力的51%;还有是ASIC矿机刚诞生时,人们对矿机厂商的挖矿算力过分巨大的担忧;人们的量子计算机参与挖矿的担忧也是由来已久;目前币价低迷,挖矿逐渐被几个大的矿场所控制,也可能会导致硬分叉的出现;最近,比特币扩容引发的硬分叉危机再次警醒了人们。但实际上这只是一种担忧,发生的概率极小。

每次发生硬分叉的危机,币价都可能会跳水,这主要是处于对比特币的担忧。

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

分叉

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

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

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

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

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

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

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

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

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

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

51%攻击是指的什么

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

个人博客:

四、比特币分叉是什么

比特币分叉是指比特币网络中的一种特殊现象,当比特币网络中的节点在区块链数据上产生分歧,形成不同的区块链版本时,就会发生分叉现象。

接下来详细解释比特币分叉这一概念:

比特币基于区块链技术,所有的交易记录都存储在区块链上。这些交易记录需要网络中的节点达成共识并确认,以确保比特币系统的正常运行。然而,在某些特殊情况下,由于网络中的节点在区块链数据上存在分歧,即无法达成共识,便可能产生不同的区块链版本,这就是所谓的分叉现象。

具体来说,当比特币网络发生技术更新或调整时,如果大部分节点支持更新并遵循新的规则,而部分节点坚持旧规则不愿升级,那么这些不愿升级的节点将会形成一个与主流网络分离的区块链版本。这就好比一条主干道路的分叉,原本所有车辆都行驶在一条道路上,但由于某些原因,部分车辆选择走另一条道路,形成了不同的路径。

分叉在比特币网络中是一种正常现象,但需要注意的是,并非所有的分叉都是有益的。有时候,分叉可能导致比特币网络的不稳定和安全风险。然而,在某些情况下,分叉也可能带来创新和发展机会。例如,通过分叉可以产生新的比特币分支币种,这些分支币种可能带来新的特性和功能。总之,比特币分叉是比特币网络中的一种特殊现象,对比特币的生态系统和发展具有一定影响。

◆分叉◆相关内容推荐

货币汇率换算