谈谈比特币分叉

作者: windspeaker88 | 来源:发表于2017-08-22 13:03 被阅读663次

比特币现金(BCC)暴涨之际,比特币分叉这个术语也开始在越来越多的报道中出现。究竟数字加密货币为何要分叉?硬分叉和软分叉到底有什么区别?这需要从软件开发的特性讲起。

谈谈比特币分叉

先讲一个历史事件,在2010年的时候,有一个黑客利用比特币的一个漏洞,刷出一笔包含了1844亿个比特币的交易。他利用的漏洞是比特币只定义了输出总金额不能大于输入总金额,但是没有限制面值不能为负。这样黑客可以让输出中包含一个很大的负值比特币,那其他剩下输出的比特币总额就能大大超过输入总额。这个事情被开发人员在半天内及时发现并发布了补丁,使得这笔交易的输出变为无效。事后看这是个很低级的漏洞,但是如果没有黑客利用,可能大家也不会注意到这个漏洞。越是常识性的东西越是不容易想到要去加上这条限制。

在中本聪提出比特币这种去中心化的数字加密货币的实现思想之后,由一群程序员开发代码,从软件上实现了比特币。任何大型的软件都或多或少会有漏洞(bug),由于人的疏忽,流程上的缺失或者时间紧迫下的赶工,都可能导致漏洞。即使假设一个软件消灭了所有漏洞,它也有自己的局限性。同一个软件只有10个人用和有100万个人用,体验是很不一样的,其考量因素也会不一样,因而设计思路也是不一样的。任何软件设计都需要找到合适的平衡点,在时间与空间之间取舍,在效率与安全之间取舍,因此并不存在完美的普适性的软件。

比特币在开发之时,那几个程序员根本就想不到比特币能够得到现在这样广泛的关注和参与。当时的代码实现中有很多影响软件吞吐量的限制被写死,比如一个区块的大小为1M,一笔交易大小至少要有250个字节,按平均10分钟挖出一个区块来算,每秒钟只能处理7个交易,而像visa这样的信用卡组织高峰时每秒钟可以处理上万笔交易。在当时所能预见的情形下,这些限制都是合理的。但是比特币的发展超出了任何人的想象,尤其是频繁的交易使得最初设计的比特币软件已经难于应付,出现了区块拥堵的现象。

需要解决这个问题,就需要对软件升级。比特币依靠去中心化的节点达成共识来保证交易安全性,而对比特币升级实质是对达成共识的规则进行修改,由于比特币去中心化的特性,系统在同时存在新旧软件的情况下,新旧节点就可能无法达成共识,这就会导致区块链分叉。

分叉可分为硬分叉和软分叉。所谓硬分叉,是指对软件进行修改之后,跑着旧软件的节点不认可新软件的节点挖出来的区块。也就是说新软件下达成共识的规则超出了旧软件限定的规则,例如增加一种新的加密方式,旧的节点就无法验证,自然会拒绝新区块。而软分叉是指新软件达成共识的规则依旧能遵循旧软件的规则,也就是说新软件只能把规则改得更严格,这样它达成共识的规则就包含在旧规则之中,例如原来的规则有一条是要求交易输出的比特币之和不大于交易输入的比特币之和,现在修改规则之后可以规定,在满足上述条件的情况下,还要求输出结果中的比特币按面值从小到大排列(先不管这个规则的合理性),那么按这个新规则挖出来的区块肯定是满足旧规则的要求,新的区块能被所有旧节点承认,而旧节点挖出来的区块就可能不满足新规则,会被新节点拒绝。

软分叉适合小修小补,利用一些预留字段等方法,来达到不伤筋动骨的效果,比如比特币的交易数据结构里有些字段一开始是没有用到的,后来想要增加一层验证,就可以用这个字段去存储需要验证的数据,但是这样的字段是有限的,你用光了再想要增加新的验证就没办法了。此外由于软件漏洞,历史上几次软分叉最后都引起了硬分叉,及时发布新补丁后才消除了硬分叉。

硬分叉导致的是永久性分叉,因为新节点挖出来的区块不被旧节点承认,新旧节点会沿着两条分叉的主链发展。软分叉导致的是临时性分叉,因为新节点挖出的区块会被旧节点承认,但旧节点挖出的区块可能不被新节点承认。软分叉的风险是旧节点挖矿可能是徒劳无功的,因为它挖出来的矿不被新节点承认。而新区块被新老节点都承认,因此传播速度会更快,最终最长的链连接的会是新节点挖出的区块。

至于比特币解决区块拥堵的问题的具体方案,不同的利益方(主要是矿池和核心开发团队,另外还有交易所和用户)提出了不同的方案,主要分为扩容和隔离,在此不作展开。

所以比特币的分叉本质上是因为软件升级需要对正确区块的共识进行修改,导致新旧节点对达成共识的规则不一致而引起的。因为软件不可能是一蹴而就或者说是完美的,所以将来势必还会需要升级,需要分叉。至于选择硬分叉还是软分叉,不同的利益集团会有自己的想法,最终结果也难以预料。

相关文章

  • 什么是比特币分叉?还有软硬之分?

    什么是比特币分叉?软分叉和硬分叉的区别及影响 很多交易者对比特币分叉有一定的了解,但对具体什么是比特币分叉、比特币...

  • 谈谈比特币分叉

    比特币现金(BCC)暴涨之际,比特币分叉这个术语也开始在越来越多的报道中出现。究竟数字加密货币为何要分叉?硬分叉和...

  • 聊聊比特币的分叉技能

    引言 常混迹币圈,你一定听过,比特币分叉、软分叉、硬分叉,等概念 比特币为什么会分叉?什么是比特币的硬分叉?什么是...

  • 分叉币又是什么呢?

    随着比特币分叉出来的比特币现金使得分叉币进入了我们现在的币圈。那么分叉币又是很么呢? 分叉币更像是一个克隆体,...

  • 什么是比特币分叉?比特币分叉是导致其价格涨跌的关键吗?

    什么是比特币分叉?比特币分叉是导致其价格涨跌的关键吗? 明天(11月15日),BCH(比特币现金)就要展开硬分叉升...

  • 如何正确的预测

    11月9日比特币(BTC)分叉失败,使得之前为了预防比特币分叉失败而硬分叉出来的比特币现金(BCH)暴涨,甚至曾经...

  • 区块链系列之分叉

      自2017年8月1日,比特币现金(BCH)在比特币区块高度为478559,分叉成功之后,比特币(BTC)分叉就...

  • 你不知道的币圈往事,中本聪被迫分叉比特币

    比特现金诞生后的不到半年时间,比特币再度出现了多次分叉,诞生了诸如:比特黄金、比特上帝、比特钻石、超级比特币等分叉...

  • 比特币高度是什么?

    当某个团队宣布要分叉比特币时,都会说明将在比特币高度xxxxx进行分叉,例如比特无限BCX宣布在比特币高度4988...

  • 一文读懂比特币分叉是怎么回事

    比特币即将分叉 自从今年7月14日以来,分叉便成为笼罩在比特币上空的一朵乌云,为了防止由于分叉导致的比特币充值或提...

网友评论

    本文标题:谈谈比特币分叉

    本文链接:https://www.haomeiwen.com/subject/ljfkdxtx.html