比特币分叉

时间:2024-09-23 编辑: 浏览:(807)

软硬分叉涉及的问题是去中心化节点软件、协议、版本升级的问题,所有在区块链中运行的节点有一样的软件,遵守一样的共识机制、维护同一条链,但是一旦软件、协议、版本升级后,所有节点不可能同一时间都更新到同一版本,这就造成了一部分节点拥有新的共识协议机制,这时候会网络中出现新、老、两种节点。那么在区块生成的时候,新节点产生的区块,老节点就会认为合法或者不合法,老节点产生的区块,新节点也会认为合法或者不合法。在区块链中一直有一个51%算力的临界点,那么我们这里认为新节点的算力是大于50%的。

什么是比特币分叉

其实比特币的分叉就是对整个比特币网络的升级,就和苹果IOS系统需要不断更新升级一样,原来的比特币网络比较拥挤、满足不了目前用户快速增长的需求,自然就需要扩容升级。

分叉又分为软分叉和硬分叉,软分叉仅仅是网络的升级更新,升级前的节点能很好地兼容升级后的节点,并不会产生一个新的虚拟币出来。比如刚刚过去的以太坊大都会扩容,扩容后依然只有一条ETH主链,也就是软分叉。

硬分叉则不然,发生硬分叉后原来的区块链将分成 几条独立的链,也就是会产生新的数字货币出来,比如BCC就是比特币硬分叉产生的币,ETC也是以太坊硬分叉的产物。

软分叉和硬分叉是算力选择的结果,比特币的算力是一定的,如果有足够的算力支持某一种扩容方案的话,那么将发生软分叉。相反,如果没有任何一种方案获得足够多的算力支持,那么比特币网络将会发生硬分叉,新产生的链将相应地产生一种比特币。原来持有比特币的人,在硬分叉后都拥有分叉后的每一种比特币。

在比特币这类加密货币系统中,软分叉是比特币软件升级后对区块的校验准则是收拢了,硬分叉是比特币软件升级后对于区块的校验准则是扩大了。比特币协议规则进行变更时选择安装新软件升级为新的协议版本的矿工节点叫做新节点,选择不升级遵守旧的协议规则的矿工节点为旧节点。

软分叉中新规则是包含在旧规则里的。但凡新规则的由升级后的新节点创造的区块也一定符合旧规则,可以通过未升级的矿工节点的验证。但相反就不行了,升级后的新矿工节点对于未升级的旧矿工节点创建的区块并不能全盘接受,旧规则的圆圈比新规则要大,如果是根据红色部分规则创建的旧区块,那就无法通过升级后新矿工节点的验证。软分叉具有向前兼容性。向前兼容性是指这个软件可以接受由新软件产生的数据以及代码。

硬分叉中旧规则是包含在新规则里的。但凡符合旧规则的由未升级的旧节点创建的区块也一定符合新规则,可以通过升级后新矿工节点的验证。但相反就不行,未升级的旧节点对于升级后的新节点创造的区块并不能全盘接受,新的规则要比旧的规则更大,如果是按照黄色部分规则创造的新区块就无法通过未升级前矿工节点的验证了。硬分叉则是向前不兼容的,新节点创造出来的合法区块会被旧节点认为是非法的,不能够通过检验。

我们来看一个软分叉的例子,比特币刚刚诞生的时候发生过两次非常严重的危机,其中一次就是比特币的溢出漏洞。比特币的总量本来应该是2100万枚,结果因为那一次的溢出漏洞,比特币链上产生了1800多亿枚的比特币。这次漏洞是怎么发生的呢?在2010年的8月15日,比特币由于系统中的一个bug出现了第1次溢出漏洞,在74,638区块上出现了1844亿枚比特币。幸好及时被人发现,在比特币论坛上提交了这个问题,中本聪确认这个问题之后,提供了软件的升级补丁,这个升级补丁会强制将区块链的数据回退到错误区块之前的正确区块,让矿工们重新在这里进行挖矿。也就是通过软分叉的方式进行了解决。

这个时候发现了错误,下载了补丁进行升级的矿工会把自己的账本数据回退到74,637这个区块,然后重新往下挖矿。但是由于这个时候发现错误的矿工还很少,他们提供的算力比较少,所以整个区块链的速度是很慢的。原本正常的出块速度是10分钟一个区块,10分钟一个区块的速度是比特币软件通过全网矿工的算力计算出来的大约全网矿工一同进行计算的话,10分钟能出一个区块,而现在大部分的矿工还没有意识到错误,还在原来的错误的链上进行工作,所以在新的链上面,矿工们提供的算力就很少,出块速度很慢。

正确的74,638这个区块一直到将近8个小时后才被挖出,现在新的已经升级版本的节点,他们遵守的就是黄色区域的规则,旧的没有升级的矿工节点遵守的是红色区域的规则,新版本的节点多了一条规则是比特币交易输出额度最大不能超过2100万个比特币,而旧规则的版本当中是没有这个限制的,是它的一个bug。

软分叉中只有矿工需要升级,而用户和商家可以继续运行。原因在于由新矿工节点创造的区块可以通过旧矿工节点的检验,对于用户和商家发起的交易依然是可以通过矿工检验的。对于旧矿工节点而言,如果想要抢到记账权,除了验收收到的规则是否合法之外,还必须要在这个基础上继续向下挖一个区块,而如果他们遵守的是旧规则,那么旧旷工挖出的区块,最终可能会被主链抛弃成为孤块,那矿工花费的算力就白费了。商家和用户不参与记账权的抢夺,他们只需要进行区块的合法校验以及放到自己的账本上进行同步就可以了,所以在软分叉中只有矿工需要升级,用户和商家可以继续运行比较旧的节点。

硬分叉中所有节点都是需要升级的,因为硬分叉的新规则比旧规则更宽泛,使得原本旧规则下非法的区块在新规则下变得合法,所以用户和商家这些普通的全节点也必须升级软件。比如说一个新的矿工节点,产生了一个区块,如果用户商家没有升级,那么矿工产生的这个区块在这些用户商家眼里就是非法的,因为用户和商家他们遵守的旧规则要更窄一些。硬分叉最典型的例子就是比特现金(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年将体积提升到2M,2018年提升到4M,2020年提升到8M。

这还只是有代表性的方案,其它乱七八糟的方案更多,但是这些方案归根结底,基本可以分为两类:长期派和短期派。长期派比较理想化,希望把上限一次性到位,后面就不用变了,省得总分叉,总折腾吃瓜群众们,比如BIP101和BIP103。而短期派则认为,未来不可预测,固定的规则太暴力,甚至没有意义,不如边走边看,先把眼前问题解决了,典型如BIP100方案。但是由于BIP100细则太复杂,投票过程繁琐,后简化为BIP102和BIP109。至于BIP248,算是一种折中方案吧。

比特币硬分叉

如果区块链软件的共识规则被改变,并且这种规则改变无法向前兼容,旧节点无法认可新节点产生的区块,即为硬分叉。

这时候旧节点会拒绝新规则的区块,于是新节点和旧节点会开始在不同的区块链上运行(挖矿、交易、验证等),由于新旧节点可能长期存在,这种分叉也可能会长期持续下去。

上图中Block 4a与Block 4b是自然分叉的结果,最终在Block 5整个区块链达成了最终一致性(详细可见《深入比特币原理(十二)》)

假设当区块链扩展到Block 6时发布了改变共识规则的新客户端版本,于是运行不同客户端的节点出现分歧:

运行新版本的矿工将接受新规则下产生的区块Block 7b;

运行旧版本的矿工由于不能认可新规则,将拒绝Block 7b,并挖出基于旧规则的Block 7a;

此时区块链即发生了硬分叉,新旧矿工将在各自的区块链上进行挖矿,他们的去留将决定两条链的生死和价值。

硬分叉的过程

1.开发者发布新的客户端,新的客户端改变了区块链的共识规则且不被旧客户端兼容,于是客户端软件出现了分叉(software fork)。

2.区块链网络中部分节点开始运行新的客户端,在新规则下产生的交易与区块将被旧节点拒绝,旧节点开始短暂的断开与这些发送被自己拒绝的交易与区块新节点的连接,于是整个区块链网络出现了分叉(network fork)。

3.运行新客户端的矿工开始基于新规则挖矿,并会接受新规则下的交易与区块,于是运行不同客户端版本的矿工算力出现了分叉(mining fork)。

4.运行新客户端的矿工开始挖出基于新规则的区块,而旧客户端的矿工仍然会挖掘基于旧规则的区块,于是整个区块链出现了分叉(chain fork)。

硬分叉的两面性

在没有得到几乎所有生态中的参与者同意的情况下,硬分叉很可能会分裂整个比特币生态,所以这是一种极具争议和危险的区块链升级技术。整个比特币社区对于硬分叉非常谨慎,到目前为止,比特币一共发生过两次软件升级造成的硬分叉,但都是意外情况(软件BUG)引起,最终矿工们通过回退或全体升级达成了一致使事态影响没有扩大。

但我认为硬分叉在未来关键的时刻将发挥巨大的作用,是比特币可以长期发展的根基。

可以预见当比特币即将遭遇重大风险,甚至灭顶之灾时,这时候整个比特币生态由于利益相关很容易就会达成共识,对比特币客户端进行升级以避免危机。

举个形象的例子,如果有一天人类可以移民火星生活,一定会有人站会出来说人类不应该移民火星,因为那样分裂了人类社会。但如果有一天地球资源枯竭,无法满足人类生存的时候,相信几乎所有人都会达成要移民的共识。

现在经常会听到各种比特币死亡论,比如量子计算机的发展,比特币密码算法被破解等等,很多专家信誓旦旦的宣称“如果发生XXX情况,比特币就死亡了,所以比特币没有未来”。

现在你了解了硬分叉的存在,相信你可以理解要解决这些问题在技术上并不困难,在一个去中心化的系统中困难的是达成共识。要达成共识大部分时候可能很困难,但有时候也可能很简单。

IFO(Initial Fork Offerings)

IFO是继ICO后被创造出的新概念,一些社区或集团为了改进比特币的机制而分叉出一条新的区块链,这实际是一种硬分叉的场景。

如2017年8月1号,Bitcoin Cash(BCH)区块链成功在区块高度478559与主链分离。这一新的加密货币默认区块大小为8MB,并且可以实现区块容量的动态调整。

由于旧节点只认可小于1MB的区块,所以运行BCH客户端节点产生的区块无法向前兼容,将被旧节点拒绝,最后运行不同客户端的矿工将会长期运行在两条不同的区块链上(BTC和BCH)。

IFO本来可以是一种很不错的对比特币改造的实验方法,但在BCH后短时间内连续出现了BTG(比特币黄金)、BCD(比特币钻石)、SBTC(超级比特币)等十几条分叉链,却成为了许多利益集团敛财的工具。这些分叉币不但丝毫没有影响比特币的价值与地位,反而他们自己看起来大部分即将归零。

比特币软分叉

如果区块链的共识规则改变后,这种改变是向前兼容的,旧节点可以兼容新节点产生的区块,即为软分叉。

实际上,软分叉通常刚开始并不会产生两条区块链,因为新规则下产生的块会被旧节点接受,旧节点只是无法识别新规则的真实意义。所以新旧节点仍然处于同一条区块链上,对整个系统的影响也就较小。

软分叉在比特币历史上发生过多次,这里以BIP-34举例:

在Coinbase交易的输入中有一个字段coinbase data内容可以任意定制。BIP-34就是要求在coinbase data中必须包含块高度(Block Height)信息且将块版本(Block version)从“1”修改为“2”。

显然在旧规则下,节点并不关心coinbase data是什么内容,完全可以兼容包含块高度信息的区块,所以不会就此产生分叉。

BIP-34的升级过程如下:

1.刚开始矿工将块版本号变为“2”以表示准备好进行升级,此时并不要求coinbase data必须包含块高度信息。

2.当最近1000个区块中超过75%的版本号为“2”时,整个系统开始强制要求版本号为“2”的区块coinbase data中必须包含块高度信息。但版本号为“1”的区块仍然被所有节点接受。

3.当最近1000个区块中超过95%的版本号为“2”时,版本号为“1”的区块开始被认为无效,节点会拒绝版本号为“1”的区块,于是会逼迫最后一小部分节点进行升级。(否则完成挖矿获得的奖励将失去价值)。

软分叉提供了一种逐步升级比特币的方式,除了BIP-34,还有BIP-65、BIP-66、BIP-9等特性进行了软分叉升级,它们的升级方式也有一定的区别,有兴趣的朋友可以去文首提供的BIP链接中查看具体的升级内容和方法。

软分叉的争议

软分叉相比硬分叉虽然“温和”了不少,但由于软分叉必须向前兼容,也就是说不能增加新字段,只能在已有结构下做修改,所以升级空间有限。且软分叉同样也存在着一些争议,比如:

技术债务

软分叉相比硬分叉技术实现要复杂很多,会使区块链的代码变得更复杂,这不利于未来的代码维护,也更容易出现BUG。

验证放松

未升级的客户端视新规则下的区块为有效,但是对新规则并不进行验证,对于旧节点而言它不再能做完整的验证,似乎有悖去中心化的理念。

不可逆转

硬分叉通常是扩展共识规则,而软分叉是收紧共识规则,所以一旦进行了软分叉,想要回退就非常困难了,很可能造成硬分叉而导致资金损失。

分叉的博弈

最后我们聊一下在比特币的升级(分叉)中存在的不同“角色”,大家可以自己思考下他们各自的博弈关系。

社区开发者:这是比特币最核心的团体,没有他们孜孜不倦的贡献高质量的代码,比特币可能早就不存在了,任何的比特币核心客户端升级都需要由他们发起。可以说比特币的未来主要靠这些开发者决定。

矿工:比特币主要的既得利益者,矿工的算力支持对于比特币升级(分叉)至关重要,如果没有矿工的支持,任何升级都不可能成功。矿工越多,算力越大,去中心化程度就越高,安全性越强,往往矿工的数量与规模和数字货币的价值是呈正相关的。

交易所:早期并没有交易所的存在,但是现在交易所对于数字货币的发展越来越重要,对于一项区块链分叉,如果没有交易所的支持,矿工获得的数字货币将难以兑现,价值会大大缩水,所以交易所的支持对于分叉币或山寨币是非常关键的。

商家:也是早期不存在的“角色”,但是商家的支持对于比特币的商用化进程非常重要,如果没有任何商家愿意支持比特币,比特币要成为货币的理想将无法实现,所以商家的支持度也是未来数字货币生死的关键因素。

最终用户:一种数字货币的推广,离不开广大最终用户的支持,如果一种数字货币没有人愿意使用,那它最终也会消亡。

目前比特币分叉的博弈中前三者的影响力较大,比如社区开发者和矿工长期存在扩容的争议,BCH就是矿工单方面的分叉行为,我理解矿工是希望扩大区块的,这样他们可以收取更多的交易费,而且区块的增大会淘汰一些小矿工(需要更大的存储和更好的带宽条件);而社区开发者却希望通过二层协议(闪电网络我们将在后面单独讲解)的方式去解决扩容问题,将一些交易从链上放到链下,让比特币主网络作为一种“清算网络”,显然这对于矿工来说没有什么好处。

后两者目前的影响力有限,但是一旦数字货币技术等各方面条件成熟,商家与最终用户的选择会变得极其重要,互联网的“网络效应”会开始发挥作用,不同领域的数字货币可能出现赢者通吃的局面。

最新 更多 >
  • 1 Qyrus推出“QAPi”-面向公众的新API测试平台

    与QAPi聊天,体验快速、深入和可靠的API测试的力量。 芝加哥,2024年5月23日/PRNewswire/-Qyrus推出了QAPi,这是世界上第一个面向公众的GenAI驱动API测试平台。这是一个全面、无代码、高度智能的测试自动化平台,具有聊天机器人辅助和未来直观的用户界面。QAPi是测试行业的游戏规则改变者,因为它突破了限制,为用户提供了真正的创新体验。 在Qyrus,我们的目标是开发

  • 2 D¥N von Dynasty Global wird Zahlungs Token der BrickMark Group

    加密谷:Zwei Pioniere erschliessen den globalen Immobilienmarkt D¥N-发行王朝的代币Beteiligung和一个代币发行商BrickMark Abwicklung投资了1000万瑞士法郎的王朝Zahlungs代币Tokenisierung von Immobilien im Wert von 150万瑞士法郎 圣保罗和苏黎世,23岁。20

  • 3 Stoneridge任命Natalia Noblet为电子部门总裁

    密歇根州诺维,2024年5月22日/PRNewswire/-领先的电气和电子汽车系统设计师和制造商股份有限公司Stoneridge(NYSE:SRI)宣布任命Natalia Noblet为其电子部门总裁,自2024年9月1日起生效。Noblet接替PeterÖsterberg,后者根据双方协议将离开公司寻求其他机会。 Noblet将负责Stoneridge电子部门的领先财务业绩、产品开发、业务

  • 4 Bybit llega有3000万注册用户

    -到目前为止,已经有3000万注册用户,这是Web3行业的爆炸性增长和滑坡 阿拉伯联合酋长国迪拜,2024年5月23日/PRNewswire/-Bybit,世界范围内的主要运营商,庆祝这一重大事件:超过3000万人在世界范围内注册。值得注意的是,在区块链行业中,Bybit合并了一个区块链。 这是一个公平的市场,也是一个普通的弗洛雷斯市场 Bybit在商业上的参与率在2023年达到2%,在202

  • 5 Peloton liefert die Plattform v2由Sicherheit、Mobilität和Geschwindigeit以及Geschäftslösungen共同负责世界能源国际

    卡尔加里,AB,23岁。2024年5月/PRNewswire/-Peloton Computer Enterprises有限公司-全球能源管理标准,由Veröffentlichung von Platform v2负责。Peloton平台在传统的Abläufe和enthält Lösungen、Bohrlochdaten的Lebenszyklus、Produktionsdaten和Landdate

  • 6 YFi315双泵协议横空出世 链上金融世界的领航者

    在当前加密货币熊市背景下,Decentralized Finance (DeFi) 继续不断壮大。尽管我们正目睹着许多项目在艰难地承受着市场压力,但也有在寻找新的发展机会。在这片市场风雨来临的天空中,有一个项目始终坚定地向前:YFi315。作为BSC链中最具潜力的DeFi生态之一,YFi315凭借全网创新双泵协议,已然成为了备受圈内关注的项目。YFi315双泵协议是支持314合约转账交易也支持Sw

  • 7 有序网络扩展到Polygon PoS,为Quickswap带来先进的永久交易

    美国纽约,2024年5月23日,Chainware Orderly Network与所有Polygon链上领先的DEX Quickswap合作,推出了下一代去中心化永久交易所QuickPerps:Falkor。这一集成为Polygon PoS上的DeFi交易员开启了一个新的功能水平,其关键优势由Orderly创新的全链金库提供:增强的流动性:Orderly强大的流动性层与Quickswap相结合,

  • 8 以太坊ETF如果通过 , 对币价有什么影响?利好哪些币种?

    Eth虽然涨幅了20%以上,但还未见顶,距离近几个月以来的新高还差两三百刀了,仍在持续放量中,按照技术面来看的话,那么接下来是要继续看涨的。但是目前只能关注消息面,目前已经有五家申请了Eth的Etf,估计是今晚出结果,一旦通过那么Eth很大概率是要触及4000美金的。不通过的概率很小,要么直接通过,要么就是继续推迟,所以无论哪个结果,当前价格很高,开多开空都不太合适,建议观望,或者等回调找机会开多

  • 9 人工智能驱动的光网络技术转型:2024中国国际光纤大会在中国光谷举行

    中国武汉,2024年5月23日/PRNewswire/-由亚太地区光纤网络理事会(FNCA)和长江光纤电缆股份有限公司(YOFC)共同主办的中国国际光纤技术论坛2024于5月17日在中国光谷举行。会议聚焦“AI+时代的新光网络技术与应用”,来自领先电信和移动网络运营商、网络服务提供商、研究机构和通信服务企业用户的高级管理人员和高级工程师齐聚一堂。 FNCA总裁兼YOFC首席电缆科学家熊壮在致辞

  • 10 Sushi与GoPlus Security合作,保护用户免受蜜罐和诈骗代币的侵害

    新加坡,新加坡,2024年5月23日,Chainware Sushi很高兴地宣布,通过集成GoPlus security的代币安全API,在用户安全方面取得了重大进展。这种合作为用户提供了一个可靠而强大的解决方案,以保护他们的交易活动免受蜜罐和欺诈代币的影响,增强平台的整体安全性。 GoPlus Security以其对各种网络中ERC20代币的全面安全分析和见解而闻名。他们的代币安全API提供全