白话比特币分叉的前因后果

96
扬帆区块链
2017.10.21 22:22* 字数 3225

想必很多人都听说了最近比特币和以太坊都要出现硬分叉,本月16日以太坊“拜占庭硬分叉”升级完成,很多吃瓜群众表示看不懂,既然是硬分叉,为什么没有产生新币呀。要知道天上掉馅饼的事情不是经常有的,只要你稍微了解一下分叉的原理和背景,就不至于天天哭喊着说看不懂了。

看热闹.jpeg

11月19日比特币要迎来有史以来最重要的一次硬分叉,目前还不能完全确定是否一定会分出两条链,而10月25日极有可能会出现一次真正的分叉,也就是所谓的比特币黄金(BitcoinGlod, BTG)。但是这两次分叉的背景和原理有着本质上的不同,所以我们不要将其混为一谈。

比特币分叉可能更受人们关注,所以这篇文章我先来介绍比特币分叉的来龙去脉,下一篇再详细介绍以太坊硬分叉的具体情况,欢迎你持续关注。

比特币目前存在的问题

比特币的几次分叉,包括之前的BCC和即将到来的两次硬分叉,本质上都是要解决比特币目前存在的问题,只有理解了比特币目前现存的问题,才能真正理解分叉背后的逻辑。那么比特币目前到底有哪些问题呢?

比特币最被人诟病的问题大致有以下几个:

  1. 交易速度慢
  2. 工作量证明算法浪费大量资源
  3. 扩展性差

如果要解决后两个问题,那折腾的动静就要很大了,更换一种共识算法或者支持更好的扩展性,需要重构大量的代码,而且还面临如何过渡以及中间可能出现的未知风险,对于一个市值接近1000亿美金的资产,即便开发者想改,矿工也不会轻易答应。而提升交易速度更改起来相对简单得多,甚至可以做到无痛兼容,所以比特币分叉一开始想解决的问题就是提升交易速度,也称扩容。

提高速度.jpeg

不过需要提醒的是,本月25日BTG分叉并不是因为扩容,而是希望引入新的共识算法,解决挖矿目前被少数挖矿公司垄断的局面,想法是好的,但是前景如何呢,目前谁都说不好,关于BTG分叉下文还会详细介绍。

说回到扩容,很多人可能听说过比特币一秒只能处理7笔交易,这要是放在现实的实物交易场景中,估计很多人是要疯了的,要知道支付宝去年双十一每秒的交易数量是12万笔,7比12万,哎,啥也别说了,明眼人一看就知道比特币离真正全面货币化还任重道远呀。

这里稍微多解释一下,这个每秒7笔交易是怎么来的,我们都知道比特币目前一个区块大小的最大限度是1M,而一笔交易的平均大小是250个字节,1M等于1024乘以1024,所以一个区块里大概最多能容纳4000笔交易。而比特币还有一个特性就是,每10分钟出一个新的区块,也就是说10分钟处理4000笔交易,那么每秒中大概就处理7笔交易。

如何解决比特币现存的问题

为了比特币的长远发展,比特币核心开发团队就希望通过扩容来解决目前交易慢的问题。开发团队倾向于采用隔离见证(Segwit)的方案,而矿工则希望直接提高区块大小的限制,也就是从原来的1M提升到2M。双方虽然都有意提升交易速度,但是无奈意见不合,所以扩容一事一拖再拖。

这里再稍微解释一下隔离验证,我们都知道每一笔交易除了必要的交易信息,还有150字节的空间是存放验证数据的,也就是给矿工节点提供验证交易数据是否合法,如果能把这些数据提取出来,单独放到后面,而不占用每笔交易的空间,那么每个区块所能容纳的交易数量就是10000笔,容量相比之前的方案提高了一倍多。

隔离验证方案由于不需要硬分叉,可以无缝兼容以前的版本,而且隔离验证方案也更有利于闪电网络,所以开发团队更倾向于采用隔离验证方案进行扩容。

隔离验证.jpeg

这里我还得稍微解释一下什么是闪电网络,我们之前不是说区块链网络上交易太多,会出现拥堵嘛,那就把那些小额交易移出主链,交易完成后再将交易信息写入区块中,这样主链上自然就不那么拥堵了嘛。闪电网络就是其中的一种解决方案,它的原理也很简单,就是交易双方共同交一笔保证金,如果交易顺利,那么保证金原路退还,如果一方违约,另一方自动获得这笔保证金。

看完隔离验证和闪电网络的方案,也许你就能想明白矿工为什么不支持这种方案了,说到底还是利益嘛,如果大量的交易都不在主链上完成,那么矿工的交易费收入就会大大地降低,割肉的事情没有人愿意干,所以矿工自然不支持隔离验证方案了。

以上是针对扩容提出来的解决方案,还记得前文提到的BTG吗?BTG团队想要解决的问题是打破少数几家矿池公司对挖矿市场的垄断,很多人可能不知道全球比特币60%的算力被少数几家公司垄断,这对于一个宣称去中心化的虚拟货币是一个极大的侮辱。

BTG给出的解决方案是用内存代替CPU作为算力评判工作量,了解IT的朋友可能知道,提高CPU的算力还是比较简单的,成本也不是很高,但是内存的瓶颈还是非常明显的,如果强行增大内存大小,那么成本势必会上去,不过目前这种算法并非完美无缺,所以BTG的前景很多人都有不同的看法。至于BTG是如何做到的基于内存的工作量证明,感兴趣的朋友可以去上网搜索。

BCC的诞生

BCC的诞生其实是出乎很多人意料的,包括比特币核心开发团队和大部分矿工,BCC既不是隔离验证,也是2M扩容,完全是一小部分矿工私自分叉出来的产物。事情的起源还要从香港共识说起,这是比特币开发团队和矿工达成的首次共识,内容其实也很简单,开发者同意同时支持隔离验证和2M扩容两种方案,矿工也很乐意配合,可谓是皆大欢喜。

不过天有不测风雨,香港共识没过多久,一部分开发者就开始赖账了,推脱说参与会议的开发者不能代表全体开发者,他们不承认香港共识,而且只愿意提供隔离验证一种方案的软件,而且还通过特殊手段逼迫矿工升级,虽然矿工最终妥协了,但是开发者的这种行为,让一部分矿工铤而走险搞出了一个完全不兼容的比特币现金,也就是BCC。

BCC.jpeg

其实在今年8月1日的硬分叉前,比特币就已经完成了隔离验证的软分叉升级,只是这种不会分裂出两种货币,所以也就没有多少人关注,反倒是后来的BCC硬分叉给很多人平白无故多出一份糖果,更多的被人津津乐道。

BTG是什么鬼

上文已经提到过,BTG全称是Bitcoin Glod,中文名称为比特币黄金。BTG的背景在前文多少已经已经提及过,比特币网络目前被少数几家矿池公司所垄断,现在谁要是还认为拿一台普通的笔记本电脑就能挖矿,简直是太天真了。现在的挖矿市场早已是专业级别挖矿设备的天下,前段时间英伟达因为矿机市场的火爆,股价一路看涨。

本月25日BTG就会开始正式被激活,这是一次绝对意义上的硬分叉,会产生两条链,当然也就会产生两种币,于是很多人就开始关心自己存在钱包或者交易所的比特币能不能收到糖果。这里可以做一个澄清,只要是存在钱包的比特币,肯定是可以拿到新币的,毕竟私钥掌握在自己手里,如果钱包软件公司能提供更便捷的方式让你操作那就更好了。但是放在交易所的比特币就难说了,理论上是交易所代替你行使权力,能不能分到糖果,就看交易所的心情,所以怎么做想必不用我多说了。

Segwit2X

这里的Segwit就是隔离验证的意思,2X就是2M扩容,合起来就是隔离验证和2M扩容系列的分叉升级,就是上文提到的用于解决比特币交易速度慢的问题。这其实就是纽约共识的结果,矿工们联合起来决定同时支持隔离验证和2M扩容。

第一阶段隔离验证方案在今年的8月1号之前已经实施,第二阶段的2M扩容会在11月19日开始激活,至于这次是不是一定会出现真正意义上的分叉,目前还不能完全下定论,虽然这是一次硬分叉,但是只要是支持新链的算力大于旧链,那就不会出现真正的分叉。所以是否有糖果可分,一切还要等到11月19日才能见分晓。

看到这里也许你已经明白,所谓的分叉其实就是为了解决目前比特币现存的问题,不管是矿工还是开发者都希望比特币生态能有更好的未来和前景,只是他们对于具体方案的选择上会有分歧,于是才有了今年比特币的数次分叉。如果你是一个只关心是否有糖果可分的投资者,不知道看到这里会作何感想。

写在最后

关于比特币数次分叉的前因后果就算是都介绍完了,当然其中还有很多技术细节并没有展开,例如什么是硬分叉和软分叉?这两者和真正的分叉又有什么不同?以及BTG采用的新共识算法的具体原理是什么?这些未来有机会,我一定会单独写一篇文章来介绍,下一篇文章我会详细介绍以太坊硬分叉的前因后果,期待你的继续关注。

欢迎大家关注我的微信公众号:扬帆沧海。

扬帆沧海.jpg

当然也欢迎你加入我的区块链知识星球,我会在哪里每隔一天更新一篇区块链世界的文章,希望可以帮你在新的技术领域找到属于自己的定位。

区块链知识星球.JPG
读书心得
Web note ad 1