1. Hi区块链首页
  2. 资讯
  3. 技术指南

今天, 来聊一聊区块链中的分叉!

今天, 来聊一聊区块链中的分叉!

webp

我们推出了针对区块链技术的中文播客”Fork It”,由 Nervos 四位主播 Terry、Jan、Kevin、Daniel 从一线创业者的角度来分享区块链的方方面面,第一期来聊一聊分叉。

在一群人中达成共识是一件很难的事,即使在只有 10 个人的团队中,也常常达不成共识。更何况区块链中有几十万人、几百万人,达成共识的难度之大可想而知,所以分叉也是自然而然会发生的事。

在 Fork It 1 中,Jan 和 Daniel 要和我们聊一聊「FORK」这个话题。

BTC 与 ETH 不同的分叉世界观

比特币和以太坊采用的都是 POW 共识算法。在 POW 共识算法中,当所有矿工都认同一次未来将要发生的分叉时,他们会选择去下载包含这次分叉的最新客户端版本,当达到某一个区块高度之后,整个链上的所有节点都会使用最新的客户端版本,这时,他们会做一次瞬间的协议升级,然后分叉就会完成。

但是,比特币社区和以太坊社区对待分叉有着不同的世界观。比特币社区坚决抵制任何硬分叉,而以太坊社区却硬分叉不断。为什么会有这么大的区别呢?

从推动社区共识的角度来讲,比特币没有一个核心团队去推动这件事,而以太坊社区是一个技术驱动的社区,有以太坊基金会、核心团队,有社区的精神领袖 Vitalik,他们共同推动协议的向前升级。在达成共识这件事情上以太坊会比比特币更广泛和更快速。

「价值存储」的定位,使得比特币需要保持足够的稳定性,这也是比特币抵制硬分叉的原因之一。而以太坊出现在比特币之后,想要快速的发展、进步,就需要不停的迭代、升级。

以太坊的每一次分叉会存在大量的局部争议,但是在分叉之前,以太坊社区会在技术层面解决这些协议的分歧,这是一个很好的模式。如果是开发者,会很熟悉开源社区的操作,比如 Linux、Rust,它们都有一个比较核心的组织,大家不停的提案,讨论形成一个结果,最后由核心团队去推动执行。虽然说开源社区的决策效率相对于中心化组织会慢一些,但是它最终还是先达成技术上的共识,再达成网络协议升级的共识。这是顺理成章的过程,也是一种很好的平衡方法。

POW 分叉与 POS 分叉

采用 POW 共识机制的分叉大部分是根据持有的算力来投票的,而采用 POS 共识机制的分叉,简单的说是基于出块人持有的 Stake 数量来投票,当然在投票机制的设置上也会有更多的挑战和玩法。在 POS 分叉中,可以设置成所有 Stake 持有者都参与投票,甚至也可以不用持有的 Stake 投票,而是叠加其他投票机制设计,比如通过牺牲流动性获得更多投票额度,假设 10 个 Token, 锁定 10 天就有 100 票,锁定 20 天就有 200 票等等。

实际上,共识和治理是两个不同的维度,POW 分叉也可以用 Stake 的方式投票,POS 分叉也可以根据持有的算力进行投票。

扩容之争带来的 BCH 分叉

历史上发生过很多有趣的分叉故事:BTC 的扩容之争、以太坊的 The DAO 事件、拜占庭分叉、军事坦丁堡分叉、BTC 分叉的分叉等等。

BTC 的分叉 BCH 发生在 2017 年 8 月,当时以比特大陆为首的多家公司,提出了一个基于比特币的改进方案,这个方案不是以达成共识作为结果,而是从比特币分叉出一条新的链。在这条链上应用他们提出的一系列扩容的方案,包括将每一个区块的容量从 1M 升级到 8M,自此就有了 BCH(Bitcoin Cash),一条全新的链。

分叉是关于区块链扩容路线的大辩论,其中又掺杂了各种各样的社区意见分歧。扩容这件事之所以是一个问题,就是因为比特币的带宽不够了,每个区块的交易太拥堵了。在中本聪的论文里,比特币出块的存储上限是 1M,平均下来每秒能容纳的交易大概只有 6 到 7 笔,所以在 2015 年开始,比特币的网络拥堵问题就非常严重了。从那时起,社区就有呼声要求扩容,而针对如何扩容就产生了不同的观点。

BTC 认为不能更改 1M 大小的参数,虽然可能有原教旨主义,但是也有它的道理。而 Bitcoin core 首先选择使用隔离见证的方式,将签名部分占用的空间移出,这样区块的实际可用空间就从 1M 变得更大。隔离见证部署之后一段时间再讨论下一步的扩容方案,同时通过 Layer 2 或者闪电网络的方案去弥补比特币性能的不足。

然而在理想的情况下,隔离见证实现了较原来 170% 的容量提升,但这对于解决整个网络的拥堵还是杯水车薪的。而且以现在的比特币技术来说,在比特币之上使用 Layer 2 的方式去扩充性能也是一个漫长的过程。

硬分叉引发的一些思考

当观点不一致时,最终的结果无非两种,一种是皆大欢喜达成共识,选择向左走还是向右走,这种时候就不会有硬分叉。另外一种就是没有达成共识,各自坚持自己的观点。

在传统情况下,一般的制度是少数服从多数或者由一个人拍板,而分叉就提出了另外一种制度,可以各走自己的路。在区块链中所有的数据都是可以复制的,重启一条链,甚至不用用户投票,就能从 1 个 Token 变成 2 个 Token。当时很多人看到这种情况的时候是很惊奇的,比如手上的 1 块钱突然变成了一个 1 块钱和另外一个 1 块钱。

BCH 分叉算是一次成功的分叉了,也被很多公司接受,应用到了很多的场景。之后也出现了非常多的分叉,像 BTG、Bitcoin God、SBTC 等等,但是这些分叉并没有成功。这就说明了一种现象:

在互联网时代 ,互联网巨头的壁垒是用户,创业公司可以复制产品和商业模式,但没有办法获得用户;在区块链时代,看起来好像是复制代码就可以免费获得原来链上的所有用户,但实质上并不是那么容易的。用户并不会因为分叉而一定发生迁移,而是需要看到链上凝聚的价值再做选择。这个价值是什么,才是区块链时代创业者需要去探索的东西。

本文内容来源于 Fork It 1。Fork It,第一个聊区块链技术的中文播客。更多精彩内容,详见链接:http://forkit.fm/1               

声明:登载此文出于传递更多信息之目的,观点仅代表作者本人,绝不代表Hi区块链赞同其观点或证实其描述。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。