比特币软分叉

什么是比特币叉

实际上,比特币的分支是对整个比特币网络的升级,就像Apple的IOS系统需要不断更新和升级一样。原始的比特币网络相对拥挤,无法满足用户当前快速下降的需求。当然,您需要扩展和升级。

叉分为软叉和硬叉。软叉只是网络的升级和更新。升级前的节点与升级后的节点兼容,并且不会形成新的虚拟货币。坠落。例如,以太坊大都会在过去扩展。扩展后,仍然只有一条ETH侧链,这是一个软叉。

情况并非如此。经过硬分叉后,原始的区块链将被分为几个独立的链,即将形成一种新的数字货币。例如,BCC是比特币硬叉形成的货币。 ETC也是以太坊的硬叉产品。

软叉和硬叉是计算能力选择的结果。 比特币的计算能力是确定的。如果有足够的计算能力来支持某个扩展计划,则会发生软分叉。相反,如果没有解决方案来获得足够的计算能力支持,则比特币网络将经历一次硬分叉,而新形成的链将相应地形成一种比特币。 比特币的原始持有者在硬叉子之后,在叉子之后具有比特币的每种类型。

在诸如比特币的加密货币系统中,软叉是比特币中软件升级后块的校准标准,硬叉是比特币软件升级后块的校准标准。 比特币更改协议规则后,选择安装新软件并升级到新合同版本的矿工节点称为新节点,而选择不升级并遵循旧合同规则的矿工节点为旧节点。节点。

软叉中的新规则包含在旧规则中。但是,由新规则下的已升级新节点创建的块也必须符合旧规则,并且可以由未升级的矿工节点进行验证。但是反之亦然。升级的新矿工节点不能完全接受未升级的旧矿工节点创建的块。旧规则的圆大于新规则的圆。如果是根据白色规则创建的旧块,则升级后很难通过新矿工节点的验证。软叉具有前向兼容性。前向兼容性意味着该软件可以接受新软件形成的数据和代码。

硬叉中的旧规则包含在新规则中。由未升级的旧节点创建的,符合旧规则的任何块也必须符合新规则,并且升级后可以由新的矿工节点进行验证。但是相反是不可能的。尚未升级的旧节点不能完全接受升级后新节点创建的块。新规则大于旧规则。如果根据规则红色部分创建的新块难以通过升级之前对矿工节点的验证。硬叉与前一个不兼容。新节点创建的合法块将被旧节点视为非法,并且不会通过检查。

让我们看一个软叉的例子。当比特币刚出生时,有两个特别严重的危机,其中之一是比特币的溢出漏洞。 比特币的总数应为2100万。结果,由于溢出漏洞,在比特币链上形成了超过1800亿比特币。此漏洞是如何发生的? 2010年8月15日,由于系统中的错误,比特币出现了第一个溢出漏洞,在块74,638上出现了18,440亿比特币。幸运的是,它是及时发现的。该问题是在比特币论坛上提交的。中本聪确认问题后,他提供了软件升级补丁。此升级补丁将迫使区块链数据回滚到错误的块。正确的区块,让矿工们在这里重新开采。也就是说,它是通过软分叉方法解决的。

这时,发现了一个错误,下载了升级补丁的矿工将其账簿数据返回到块74637,然后再次进行了挖掘。但是,由于此时很少发现错误的矿工,并且其计算能力相对较小,因此整个区块链的速度太慢。最初,正常块生成率是10分钟内的块,而10分钟内的块率是由软件根据整个网络的矿工的计算能力估算的比特币。如果整个网络的矿工一起进行估算,则可以在10分钟内生成一个区块。 Blocks和大多数矿工尚未意识到该错误,并且仍在处理原始错误链。因此,在新的链条中,矿工提供的计算能力很小,而区块生成速度太慢。

正确的74,638块直到近8小时后仍未开采。现在,该节点的新升级版本遵循红色区域的规则,而尚未升级的旧矿工节点遵循黑色规则。对于区域规则,该节点的新版本还有一个附加规则,即比特币事务输出可以不超过2100万比特币,而该规则的旧版本没有此限制,这是一个错误。

在软分叉中,仅矿工需要升级,并且用户和商店可以继续运行。原因是由新矿工节点创建的块可以通过对旧矿工节点的检查,并且由用户和商店发起的交易仍可以通过矿工的检查。对于旧矿工节点,如果他们想获得保留帐户的权利,除了要对收到的规则是否合法进行初步验证之外,还必须在此基础上继续挖掘一个区块,如果它们违反了旧规则,然后,由旧的旷工挖出的区块最终可能会被苯环抛弃,成为孤立的区块,从而浪费了矿工的计算能力。商家和用户不参与抢劫会计权利。他们只需要对区块进行合法校准,并在自己的账簿上进行同步即可。因此,在软分支中,只有矿工需要升级,并且用户和商店可以继续运行较旧的节点。

硬分叉中的所有节点都需要升级,因为硬分叉的新规则比旧规则更通用,使得旧规则下的非法块在新规则下显得合法,因此用户和存储都是像这样,普通的完整节点也必须升级软件。例如,一个新的矿工节点生成一个块。如果未升级用户商店,则在用户商店看来,矿工形成的区块是非法的,因为用户和商店违反的旧规则更窄。硬分叉的最典型例子是比特币现金(BCH)的诞生。

叉子一定不好吗?实际上,这不一定。区块链是一个非常复杂的分散系统。社群的意见将不可避免地形成分歧,因此有必要以折衷的解决方案进行折衷。最好分叉并独立,这样您就可以拥有不同的解决方案。因此,分叉不一定形成新的加密数字货币。它们本质上是一种升级方法。硬分叉是一种升级方法,软分叉也是一种升级方法。在升级时,如果不堪重负或扩大了规则,只要该链上的参与者可以发表一致意见,那么该链就不会分为两个链。比特币现金将形成一个新的区块链和一种新的加密数字货币的原因主要是由于这项硬分叉计划,并且每个人都没有共识,因此可以形成一个新的链。

产生比特币分叉的原因

创建比特币时,区块链中最大块大小为1M。随着比特币事务变得更加活跃,此限制已很久就成为困境。数量增加后,将不可避免地导致交易流量阻塞,因为您的交易可能由于该区块中的数据已满而无法进入该区块比特币分叉测试时间表,因此将无法确认。由于持续的交通拥堵,如果您的交易费用很小,可能永远不会被确认。那么为什么不提高这个限制呢?这不合逻辑吗?为什么有叉子?

尽管比特币扩展问题由来已久,但早在2015年6月,整个比特币社区就陆续提出了各种扩展计划,其中最具代表性的是:

BIP100:矿工投票决定在Coinbase交易中写入新的区块建议上限。新值在当前基础上有20%的波动空间。整个网络的80%的计算能力可以激活新的大小。

BIP101:从2016年开始,该限制将立即增加到8M,然后每两年增加一倍,并一直持续到2036年,此时块体积的上限为8.2G。

BIP102:音量限制一次从1M增加到2M。

BIP103:每个特定周期下降4.4%,这相当于17.7%的年增长率,直到2063年7月,那时交易量的上限约为1.4G。

BIP109:一次将音量限制从1M增加到2M,但是必须激活整个网络的75%。

BIP248:将销量增加到2016年的200万,2018年的400万和2020年的800万。

这只是一个代表性计划。计划比较混乱,但归根结底,这种计划可以分为两类:长期计划和短期计划。长期派系比较理想,希望一次将上限设置在适当的位置,以后无需更改它,从而节省了总费用并折腾了人群,例如BIP101和BIP103。另一方面,短期学校认为未来是不可预测的,固定的规则是暴力的,甚至毫无意义。最好先走路,观看并解决眼前的问题,例如BIP100解决方案。但是,由于BIP100法规的复杂性和冗长的投票过程,后来将其简化为BIP102和BIP109。对于BIP248,这是一个折衷方案。

比特币硬叉

如果更改了区块链软件的共识规则,并且这些规则的更改不兼容,则旧节点将无法识别由新节点形成的块,这是硬分叉。

这时,旧节点将拒绝新规则的块,因此新节点和旧节点将开始在不同的区块链上运行(挖掘,交易,验证等),因为旧的和新的节点可能全年存在。叉子也可能会持续一年四季。

上图中的块4a和块4b是自然分叉的结果,最终在块5的整个块链中达到了最终一致性(有关详细信息,请参见“深入比特币原理(十二)”))

假设当区块链扩展到第6块时,将发布更改共识规则的新客户端版本,因此运行不同客户端的节点会有差异:

运行新版本的矿工将接受根据新规则形成的区块7b;

运行旧版本的矿工将拒绝Block 7b,因为他们无法识别新规则并根据旧规则挖掘Block 7a;

这时,区块链经历了一次艰难的分叉。新老矿工将在各自的区块链上进行采矿,他们的逗留将决定两条链的生死与价值。

硬叉的过程硬叉的两侧

未经生态系统中几乎所有参与者的同意,硬分叉很可能会分裂整个比特币生态系统,因此这是一个极具争议性和危险性的区块链升级技术。整个比特币社区对于硬分叉非常谨慎。到目前为止,比特币有两次由软件升级引起的硬分叉,但它们都是由意外情况(软件错误)引起的。最后,矿工们退缩了,或者升级达成共识,因此局势的影响没有扩大。

但是我认为,硬叉将在未来的关键时刻扮演重要角色,这是比特币全年发展的基础。

可以预见的是,当比特币即将遭受重大风险甚至灭绝时,由于风险很大,整个比特币生态将很容易达成共识,并升级比特币客户以防止危机。

举一个生动的例子,如果人类可以在三天之内移居火星,那么肯定有人会站起来说人类不应该移居火星,因为这会分裂人类社会。但是,如果在三天之内,月球资源枯竭而人类无法生存,我相信几乎每个人都会在移民问题上达成共识。

如今,我们经常看到各种比特币死亡理论,例如量子计算机的发展,比特币密码算法被破解等。许多专家发誓要宣称“如果发生XXX,比特币将会死亡。所以比特币没有未来”。

现在您了解硬分叉的存在,相信您可以理解解决该问题在技术上并不困难。去中心化系统中的困难之处在于达成共识。在大多数情况下,达成共识可能太困难了,但有时可能很简单。

IFO(初始叉产品)

IFO是在ICO之后创建的新概念。一些社区或团体已经分叉了新的区块链,以改善比特币的机制。这实际上是一个艰难的场景。

例如,在2017年8月1日,比特币现金(BCH)区块链成功从区块高度478559的苯环分离。此新加密货币的默认区块大小为8MB,并且可以动态调整区块容量。

由于旧节点只能识别大于1MB的块,因此运行BCH客户端节点形成的块很难向前兼容,并且将被旧节点拒绝。最后,运行不同客户端的矿工将在两个不同的区块链(BTC和BCH)上运行。

IFO可能是转换比特币的非常好的实验方法,但是在BCH,BTG(比特币金),BCD(比特币钻石),SBTC(超级比特币)之后,打了大约十个叉子连锁店已成为许多利益集团的获利工具。这些分叉的硬币不仅根本不影响比特币的值和状态,而且它们似乎已经正式恢复为零。

比特币软叉

如果更改了区块链的共识规则,则该更改是前向兼容的,并且旧节点可以与新节点形成的块(软叉)兼容。

实际上,软叉通常在一开始就不会形成两个区块链,因为在新规则下形成的块将被旧节点接受,并且旧节点很难识别新节点的真实含义。规则。因此,新旧节点始终位于同一区块链上,对整个系统的影响很小。

在比特币的历史中软叉发生过很多次,这里以BIP-34为例:

在Coinbase交易的输入中,有一系列可以自定义的coinbase数据内容。 BIP-34要求必须在币库数据中包含块高度(块高度)信息,并且将块版本(块版本)从“ 1”更改为“ 2”。

显然,在旧规则下,节点不关心币库数据的内容,并且与包含块高度信息的块完全兼容,因此不会有分叉。

BIP-34的升级过程如下:

软叉提供了一种逐渐升级的形式比特币。除了BIP-34,还有BIP-65、BIP-66、BIP-9和其他功能已通过软叉进行了升级。他们在升级方法上也有一定差异。有兴趣的学生可以转到第一篇文章提供的BIP链接,以查看特定的升级内容和方法。

软叉争议

与硬分叉相比,软分叉似乎更“温和”,但是由于软分叉必须是前向兼容的,也就是说,不能减少新的数组,并且只能在现有的情况下进行更改结构,因此升级空间有限。软叉也有一些争议,例如:

技术声明

软分叉的实现比硬分叉的实现复杂得多,这将使区块链的代码变得更加复杂,这不利于将来的代码维护,并且更容易出现错误。

确认放松

尚未升级的客户端将新规则下的块视为有效,但不验证新规则。对于旧节点,它无法再进行完整的验证,这似乎违反了分散化的概念。

难以置信

硬叉通常会扩展共识规则,而软叉会收紧共识规则。因此,一旦执行了软分叉,就很难回滚,并且很可能导致硬分叉造成财务损失。

叉子游戏

最后,让我们谈谈比特币升级(叉)中存在的不同“角色”。您可以考虑他们各自的游戏关系。

当前比特币个前叉在前两个游戏中的影响更大。例如,社区开发商和矿工在产能扩张方面存在长期的争议。生物安全信息交换所是矿工的单方面分叉行为。我了解到,矿工们希望扩大范围。区块,这样他们就可以支付更多的交易费用,而区块的减少将消除一些小型矿工(需要更大的存储空间和更好的带宽条件);社区开发人员希望通过第二层合同(闪电网络,我们将在上一部分中单独说明)来解决扩展问题,将链中的某些交易放在链上,并让比特币主网络作为一种“清算网络”。显然,这不适用于矿工。有什么用。

后两者目前影响有限,但是一旦数字货币技术和其他方面的条件成熟,商人和最终用户之间的选择将变得非常重要,互联网的“网络效应”将开始发挥作用。一名角色。不同领域的数字货币可能存在赢家通吃的情况。