摘要:更何况区块链中有几十万人几百万人,达成共识的难度之大可想而知,所以分叉也是自然而然会发生的事。,第一个聊区块链技术的中文播客。
周末来临,轻松一刻~
我们推出了针对区块链技术的中文播客"Fork It",由 Nervos 四位主播 Terry、Jan、Kevin、Daniel 从一线创业者的角度来分享区块链的方方面面,第一期来聊一聊分叉。
分叉就是区块链面临着两条路,选择向左走还是向右走?如果向左走,就什么都不用做;向右走,就是选择了升级。——Jan 眼中的分叉
我所经历过的区块链中重大的分叉故事,都不是那么轻松的。让所有节点选择升级到最新的客户端,本身就是件很难的事,而共识又是分层次的,需要在不同群体间达到共识。达成共识的分叉叫作无争议的分叉,没达成共识的分叉叫作有争议的分叉。——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 等等,但是这些分叉并没有成功。这就说明了一种现象:
在互联网时代 ,互联网巨头的壁垒是用户,创业公司可以复制产品和商业模式,但没有办法获得用户;在区块链时代,看起来好像是复制代码就可以免费获得原来链上的所有用户,但实质上并不是那么容易的。用户并不会因为分叉而一定发生迁移,而是需要看到链上凝聚的价值再做选择。这个价值是什么,才是区块链时代创业者需要去探索的东西。
Pick Time每一期 Fork It 节目最后,主播们都会送上他们的好物分享:
这一期,Jan 给大家推荐了一本书《债》,作者是大卫·格雷伯,主要讲述了市场、货币、债务的发展历史,这本书里有很多有趣的观点,非常值得阅读。
Daniel 推荐了布拉格的德式烤猪肘子。11 月,Nervos 团队在布拉格参加了 Devcon4,在布拉格期间,他们几个人分享一只完整的烤猪肘子,再配上一扎黑啤,堪称绝美!
本文内容来源于 Fork It 1。Fork It,第一个聊区块链技术的中文播客。更多精彩内容,详见链接:http://forkit.fm/1
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24530.html
摘要:编辑器编辑器背景编辑器前段时间遇到一个线上问题,后来排查好久发现是因为主从同步延迟导致的,所以今天写一篇文章总结一下这个问题希望对你有用。编辑器几句唠叨编辑器大家好,我是小饭,一枚后端工程师。背景前段时间遇到一个线上问题,后来排查好久发现是因为主从同步延迟导致的,所以今天写一篇文章总结一下这个问题希望对你有用。如果觉得还不错,记得加个关注点个赞哦思维导图思维导图常见的主从架构随着日益增长的访...
摘要:最近在用写自己的博客,发现总是掉到的坑,于是就好好八一八这个小甜饼,没想到居然还说很有意思的,每一个知识点都能拉出一条大鱼,想想自己之前对,简直就是它认识我,我只能叫出他的名字。 最近在用thinkjs写自己的博客,发现总是掉到cookie的坑,于是就好好八一八这个小甜饼,没想到居然还说很有意思的,每一个知识点都能拉出一条大鱼,想想自己之前对cookie,简直就是它认识我,我只能叫出他...
摘要:序述说到删除数组特定元素你可能不止一种方法可以实现下面且来看看我总结的这几种方法可能会对你有所帮助源数组伪删除什么是伪删除呢就是说将数组元素值设置为删除后的数组是这个样子的不过要注意这意味着数组也就是变量的长度保持不变完全删除是什么是完全删 序述 说到删除数组特定元素你可能不止一种方法可以实现, 下面且来看看我总结的这几种方法,可能会对你有所帮助! 源数组 var arr = [Geo...
摘要:很多的问题在开始之后就变得简单了,难的是开始。这些海报就从北美的开始,直到台北结束两天之后,我们收到了台北伙伴的消息,他成功破解了这道谜题,同时收到了我们的机械猿及周边奖励。月日,北美市场运营将参加活动。 showImg(https://segmentfault.com/img/bVbqxr3?w=1080&h=460); 本期小编 | Sherry 不知不觉, Nervos 双周报已...
阅读 2389·2021-11-16 11:44
阅读 1845·2021-10-12 10:12
阅读 2121·2021-09-22 15:22
阅读 2987·2021-08-11 11:17
阅读 1484·2019-08-29 16:53
阅读 2641·2019-08-29 14:09
阅读 3460·2019-08-29 14:03
阅读 3284·2019-08-29 11:09