主页 > imtoken官网怎么找到 > 比特币区块链硬分叉的具体案例

比特币区块链硬分叉的具体案例

imtoken官网怎么找到 2024-01-26 05:13:57

0 有用 +1 投票

硬分叉

本条目由“科学中国”科学百科全书条目汇编与应用工作项目审核。

区块链中出现永久性分歧。新共识规则发布后,部分未升级节点无法验证已升级节点出块。通常,会发生硬分叉。代码中发生了硬分叉,这改变了挖掘算法的难度级别。[1]

中文名

硬分叉

外国名字

永久分歧

适用范围

比特币硬分叉事件总结

区块链术语

内容

1▪▪2345

硬分叉定义广播

硬分叉的官方定义

硬分叉和软分叉都在 bitcoin.org 上定义,但定义实际上非常模糊。在原文中,硬分叉是这样定义的:

区块链中的永久分歧通常发生在未升级节点无法验证由遵循更新的共识规则的升级节点创建的块时。

比特币硬分叉事件总结

区块链中出现永久性分歧。新共识规则发布后,部分未升级节点无法验证已升级节点出块。通常,会发生硬分叉。

硬分叉抽象定义

硬分叉是当比特币区块格式或交易格式(这被广泛称为“共识”)发生变化时,非升级节点拒绝验证升级节点产生的块,但升级节点可以验证由升级节点产生的块未升级的节点,然后大家继续自己认为正确的链,所以分成两条链。

在比特币区块链上执行硬分叉的具体案例报告

2013年3月12日,比特币qt0.8.0版本软件发布,0.8版本采用了新的数据库级db。部分矿工节点升级了bitcoin qt 0.8版本,部分矿工继续使用bitcoin qt 0.7版本软件。双方分别出块,但比特币qt0.8采用的新数据库出块被qt0.7版本节点拒绝。具体原因是旧数据库有时不接受大于 800Kb 的块。因此,在区块高度 225430 处,比特币区块链被分成两条链,导致比特币区块链中有两条链,一条是包含大于 800kb 的区块的链,另一条是拒绝承认这些包含更大区块的链。块链,

当时使用比特币qt0.8版本的矿工放弃了自己的挖矿链,回到比特币qt0.7版本继续挖矿。

这次硬分叉是个意外。比特币qt0.8版软件存在bug,导致使用旧软件的节点拒绝验证新软件节点出块。但是,硬分叉是由于使用旧软件版本的节点拒绝验证使用新软件版本的节点产生的块,然后双方分别挖矿造成的。

比特币硬分叉事件总结

2015 年 7 月 4 日,比特币区块链在区块高度 363731 发生硬分叉。当时,Bitcoin Core 开发者在新版本的 Bitcoin Core 0.10.0 中添加了 BIP 66。这最初是对软分叉的修改。当比特币网络上的所有主要矿池都使用0.10版本软件,但一个矿池BTC Nuggets没有升级,导致BTC Nuggets挖了两个矿池。其他矿工拒绝该区块,然后双方挖掘并继续他们认为正确的区块链,导致硬分叉并分裂成两条链。

随后 bitcoin.org 发布公告,呼吁矿工升级到比特币核心 0.10.2 版本以消除分叉。

这也是一个意外。硬分叉是因为新软件版本的节点拒绝验证旧软件版本节点出块,然后双方分别挖矿。

这两次硬分叉是偶然的,但第一次是由于新生成的块格式在不同节点上的分歧,后者是由于不同节点上的交易格式分歧。

硬分叉正在筹划区块扩容硬分叉广播

比特币社区正在计划硬分叉。原因是区块中充满了交易。为了在一个十分钟的区块中容纳更多的交易比特币硬分叉事件总结,需要修改区块的数据结构。该块的数据结构如图1所示。

图1 区块扩容需要修改的字段

比特币硬分叉事件总结

图1 区块扩容需要修改的字段

比特币网络的主要全节点软件是比特币核心0.12,其中规定“块大小”字段的最大值为1M。这导致最后一个字段“交易”可以保存的比特币交易数据有限。一个事务至少250字节,1Mb只能容纳4000多个事务,平均每秒只能处理7个事务。并且由于实际交易往往达到 500 字节的大小,实际上平均每秒只能容纳 3 笔交易。

因此,有人提出增加该字段的最大值。例如,软件 Bitcoin Classic 将该字段的最大值调整为 2M,并且未来计划取 2016 年第一个块大小的中值乘以商定的值。确定下一批区块大小上限的倍数。Bitcoin XT将此值修改为20M,每两年翻一番,直到上限达到8.3G。另一方面,Bitcoin Unlimited 直接修改这个字段,让矿池决定打包多少。

问题是节点使用修改该字段的软件生成的块将与未升级的节点不兼容,未升级的节点将拒绝验证这些新节点生成的块。这将导致硬分叉。

可见,硬分叉中需要修改的所谓“共识”是指修改区块数据结构格式,或者修改交易数据结构格式。

硬分叉软分叉广播

在 bitcoin.org 上,软分叉的定义如下:

比特币硬分叉事件总结

当使用未升级节点的矿工违反他们的节点不知道的新共识规则时,通常会发生区块链中的临时分叉。

当新的共识规则发布时比特币硬分叉事件总结,未升级的节点会因为不知道新的共识规则而产生非法区块,导致临时分叉。

硬分叉对比软分叉和硬分叉广播的优缺点

软分叉可以保证不想升级的人不升级。这种升级需求在现实生活中非常普遍。

硬分叉必须要求所有旧节点升级,否则旧节点将无法识别新节点产生的交易和区块,导致区块链分裂成两条链。

软分叉的升级空间是有限的,因为比特币交易数据结构和区块数据结构的所有字段都已经被详细定义。如果要保证前向兼容,是不可能增加新字段的,否则老节点会拒绝你。因此,软分叉的升级空间受限于对现有字段的重新定义。包括软分叉无法重新定义区块数据结构中的“区块大小”字段,即软分叉永远不会突破1M区块。而这个极其复杂的兼容性如果稍有不妥,就会导致新旧节点不兼容,从而导致硬分叉。这已经发生过一次。

硬分叉的升级空间要大得多,因为硬分叉只需要考虑老节点产生的交易和区块是否可以被接受,而硬分叉不需要考虑老节点是否会接受交易和新节点产生的块。元。硬分叉可以对交易数据结构和区块数据结构进行更大胆的改变。

最后,比特币交易数据结构和区块数据结构都有一个名为“版本号”的字段,意思是“清除本次交易或区块引用的规则”。这意味着中本聪想用硬分叉来修改这些规则,也就是如果要修改规则,那就重新定义版本号。但是软分叉在不改变“版本号”的情况下改变了规则。

百度百科内容由网友共同编辑。如果您发现您的参赛作品内容不准确或不完整,欢迎您使用我的参赛作品编辑服务(免费)参与更正。转到>>

参考