比特币硬分叉和软分叉有什么区别?

关注

比特币硬分叉和软分叉有什么区别?

 |  7天前 举报  | 
×
line
点击右上角
分享给朋友和朋友圈
liulanq
分享
亚克西 1082011

亚克西

早期玩比特币的人大都还是略懂点技术的,对软硬分叉的讨论更多的是在技术实现层面。而实际上,比特币除了技术之外,还有政治和经济的属性,很多事情的发展是人与人之间博弈的结果。博弈论告诉我们,在数学上可以证明,在某些具体条件之下,博弈最终产生的结果是有其内在机理的。这些机理是客观的、无情的,不以人的主观意志为转移。

在技术上讲,实现同一个目的,都可以有软分叉(向下兼容)和硬分叉(向下不兼容)两种方法。我们查看比特币的代码,迄今大概有六次较大改动的软分叉升级,而最近一次扩容升级,在2017年年中完成,激活了“隔离验证”功能,也是软分叉升级。虽然我们看版本记录,有过3次硬分叉记录,但要搞清楚,这些改动是因为早年软件遇到必须解决的问题,比如有一次比特币爆bug可以无限量供应,导致硬分叉持续了四个小时,这些bug版本的软件是不可用的。现在所有以BIP提案形式经审核通过的升级,均为软分叉


在技术上讲,把比特币扩容的解决方案是很多的,把它改造成跟支付宝一个样子都是可以的,不外乎是代码编程。软分叉的实现难度普遍高于硬分叉,因为硬分叉等于开发一个新的软件功能,不需要考虑与旧版本兼容的问题,绝大部分的软件升级其实也都是这么干的。扩容升级用硬分叉方法可能就是18行代码解决,而用软分叉方法,需要数千人参与研究论证,经历数年完成。在码农遍地开花,万众编程,大众开发的年代,在很多解决方案之中,为什么比特币独好软分叉升级?


这里面有政治和经济的因素,因为比特币是一种“货币”,不管你认不认可,至少它宣称自己是一种货币。我们应该意识到,货币的价值观跟技术的价值观是不同的。我们更在意我们花的人民币真的是人民币,而不是它所采用的印刷技术如何多样化。只是因为接触比特币早期人士大都是有技术背景,更多的用技术角度去看待它,一旦更广阔的非技术群体接触到它,那么它的货币和政治属性所占比重会越来越大。这个时候,使用它的人更在意它是真的钱,而不是性能、功能等技术参数。


比特币以区块链公共账本的形式存储,在算力竞争下公证发行,这条链条一直延伸,记录每一笔交易。不可篡改、总量固定、所有权私有化是它的底层特性,这是成为数字货币的必要条件。到今天为止,市场的认可度是有的。以货币的视角去看待它,安全度高、存续时间长、发行方式不变等等,也构成了其信用的部分来源。任何一个基于国家信用的货币,都很明白如果因为技术的原因,而损伤其信用值,是不值当的。比如说支付宝可以随意增发人民币,给用户发红包,看起来技术很先进很便利很炫,但这是国家不允许的,一定会监控它的账面有没有虚增人民币。这样的出发点,对比特币也是成立的,对货币而言,信用是第一位。



↑收起
7天前 回复(0)
亚克西 1082011

亚克西

软分叉的实现,使比特币一直向下兼容,自诞生之日起到今天,只有唯一的一条区块链数据。任何一个软件版本的比特币是相同的。假如,用硬分叉,导致现在老版本使用的链条和新版本使用的链条不一样,两种软件版本不兼容,形成了两种币,你说会不会损伤比特币的信用?任何不懂技术,但是用过钱的人,应该会有答案。

有人研发新的币种,瑞波币、以太币等,这些币种的功能跟比特币不一样,这些币种也获得了一些市场认可,但这是货币间的自由竞争,各种货币各自积累各自的信用,是信用值高低的竞争,不是自身信用值的分化,整体来看是增加的,不是零和游戏。

因为存在利益,有人期望比特币采用硬分叉方式升级,甚至利用分化的算力,使比特币一分为二,二分为四,这种动机和行动是存在的。因为没有一个中央机构控制着比特币,只要有算力,就可以在硬分叉时让两条链条同时存活,形成事实上的两种币。而同时也有人期望维护一条稳定的比特币链条,永不分裂。这两种动机是并存的,跟对立的惯性思维不同,在两方面里的一部分是同一群人。

任何人可以复制比特币的代码,创造一种新币,并将它命名为比特币,用任何一个冠冕堂皇的理由,国外有一个人roger ver已经尝试这么做,他期望能够将BCH命名为比特币,并且是正宗的那种。但这很难成功,因为货币的“时间信用价值”是无法复制的,只要比特币原链一直存在,原链的存续时间是最长的,在这一点上,时间是不可逆转的。随着时间的推移,使用比特币的人会发现比特币是一直存在的,它的信用是递增的,而那种叫做“BCH”同时也叫做“比特币”的那种币,是另外一种后产生的存在,信用会递减。前者是时间的朋友,后者成为时间的朋友。在时间自然流逝的情况下(这必然会发生),唯一的原链比特币会总是被认为是比特币。roger ver如果把时间这个因素考虑进去,应该不会采取这种策略。

因为“时间信用”的存在,原链的存活能力有一种天然优势,所有人在这种情况下进行博弈,会有一部分人永远下注原链。这种博弈选择跟赌场老板一样,永远主持50.1%胜率的赌局,所以不用担心没有人愿意开赌场,因为在数学上证明有利可图的事情,总会有人去干。

小V神曾经考虑在比特币上面开发智能合约,因为比特币的脚本功能具有智能合约的基础雏形。添加智能合约功能是很突破性质的,能够扩充比特币的使用场景,但是有人告诉他,这个想法很好,你去开发吧,创造一种新币,随便你叫什么名字。不管你怎么想的,有一些人,会基于比特币原链进行软分叉开发,任何需要硬分叉才能实现的功能,随便开发,也可以把开发出来新的功能的币,命名为比特币,但是只要原链一直存活,这种命名行为失败的概率随时间推移而增加。这里面没有任何一个人在主观决定这件事情,而是客观上形成了这么一个状况。

理论上,说服所有人支持一种新版本的硬分叉的比特币,可以完成一次全新版本的比特币升级,并且废止掉原链。这在现实上,已经是不可能的任务,跟瞬间抹除掉所有人的记忆,当过去的事情没有发生是一个难度。不要说说服所有人,只是让大部分人支持某一个具体的硬分叉版本,也是极难的,我们知道在赌场里面去赌,庄家的胜率只是比我们多0.5%,但是随着时间推移,我们会输光所有。除非比特币原链废止,否则只要它存在着,随着时间推移,它会不断吸取用户的“时间信任”,多出来的一点点优势,长期积累叠加,就会形成巨大的制压效果。坚持软分叉原链的人,在比特币生态里面,其实就是坐在庄家这个位置。

很多区块链的项目,因为中心化的惯性思维,随便废止旧链,进行硬分叉的升级,在技术实现上非常灵活,基于错位竞争的需求,无法与比特币正面竞争,只能在功能上寻求突破,并没有把货币信用属性放在第一位来考虑。在这个层面看,到目前为止,以去中心化的思维构建,具有同生态位的政治、经济、技术思想,真正意义上的比特币强有力的竞争对手还没出现。

对于比特币而言,基于原链软分叉升级的路线已经得到巩固并确立,不能妄言这种路线是绝对的主体地位,但显然是处在一个优势积累的位置上。说服现在的比特币用户接受一条新的链条,相信这种升级没有风险,已经越来越难。


↑收起
7天前 回复(0)
亚克西 1082011

亚克西

一个硬分叉是指:比特币的协议发生了一些变化,以至于旧节点不接受新节点所创建的区块。随着这些区块被旧节点抛弃,矿工们将在他们(各自)的协议中认为正确的最近一个区块上添加区块


一个软分叉是指:比特币的协议发生了一些变化,但旧节点却不能发现这个协议的变化,从而继续接受新节点用新协议所挖出的区块。旧节点矿工将可能在他们不能完全理解和验证的新区块上继续添加区块


↑收起
7天前 回复(0)
亚克西 1082011

亚克西

是的,它来了。社区开始分离,比特币将要分叉:包括软件,或许还有区块链。分裂的双方分别是比特币核心Bitcoin Core以及基于其同一程序的微变种程序,称之为Bitcoin XT。北京时间8月16日,现在已有了一个完整版本的Bitcoin XT。

这样的分叉此前从未发生过。我想从 Bitcoin XT开发者的角度来解释这个东西:并不能说这没有经过足够的沟通。

比特币分叉,这一话题可能会让很多人感到好奇,所以,这篇文章是写给普通读者的。它不会涉及到以前所争论的知识。

创始版本的比特币,是由中本聪精心布置的,一直都是非常清晰的。争议是关于增长的问题。2008年的时候,他回答了第一个关于比特币的设计问题,他说:

Visa在2008年财年处理了370亿笔交易,即平均每天1亿笔交易。如此多的交易,需要的带宽为100GB = 12部DVD或者2部HD品质电影大小的带宽=当前价格约18美元的带宽。

假设比特币网络达到这种大小的规模,这需要数年的时间,到那时,通过互联网发送2部HD电影,可能不再是什么大额交易。

在那个时候,关于比特币的扩容问题,他(中本聪)比我们任何一个人都要厌烦。他的计划是,让比特币从一开始就变得流行,他知道这种成功,会改变人们如何去使用他的系统。在2010年的时候,他说:“我们将(区块链)文件保持尽可能小的状态,这样做是好的。

最终的解决方案将不在乎它(区块链文件)变得有多大。

但是现在,趁它还小,将它保持在小的状态,那么新用户的成长会更快。当我最终实现纯客户端模式时(client-only mode),那么它就不再是问题了。

2011年,我通过一系列的计算,详细扩充了中本聪的扩容直觉:如果比特币变得如此受欢迎,它会完全取代VISA吗?答案为,他的计划是可信的 —— 除了一台计算机,你不再需要任何其他的东西,即使是有这么大的流量。在他离开之前,我还实施了他所谈到的模式。

是中本聪的计划让我们聚在了一起。它已经改变了全球各地成千上万人的生活。我们中有一些人放弃了自己的工作,其他人给这个项目奉献了自己的业余时间,还有人还成立了公司,甚至在世界各地游走。这是一个普通老百姓,能够通过区块链来完成互相支付的想法,并创建了这个全球性的社区。

这就是我所签署的愿景,这也是加文·安德烈森(Gavin Andresen)签署的愿景,这是千千万万开发者、初创公司创始人、传道者以及世界各地用户签署的愿景。

而这一愿景现在正处于危险之中。近几个月来,关于比特币,很明显有一小群人有着完全不同的计划。这些人从未真正理解过中本聪的意图,因为他们担心成功,如果这项技术从未被改善,如果人们不能在他们的家庭计算机上运行比特币?这岂不是让比特币离去中心化越来越远,越来越像银行业?如果人们开始依赖于比特币,即使它是不完美的?

现在,中本聪选择了消失,而他们想要作出重大改变:大幅上升交易费用,结束对移动P2P钱包的支持,放弃未经证实的交易,以及很多在项目创始文件中,未曾有过的东西。

所谓的,即将被推为中本聪设计的替代品—— “闪电网络”(Lightning network),它并不存在。白皮书描述说它是在今年早些时候公布的,如果它得以实现,这将是一个和我们所知,所爱的比特币,巨大的背离。在众多区别中挑选出一个,比特币地址便是行不通的。它们会被替换成什么,还尚未被制定出来(因为没有人知道)。还有许多其他令人吃惊的陷阱,我在另一篇文章中提到了。它最终会生产出些什么,能够让我们现有的比特币网络更好?现在仍是极不清楚的。


↑收起
7天前 回复(0)
亚克西 1082011

亚克西

自由市场发生了什么?

从理论上讲,这一切都不应该是一个问题。闪电网络建立在区块链之上,但它要实现最好的功能,需要一个相当琐碎的升级过程。当然,人们愿意去探索这个方向,这完全是可以的。如果他们建立的工作,要比现有普通的比特币网络要好,那么市场会选择他们的方式,如果是这样的话…对于他们也是公平的竞争!比特币当前的设计,对于支付来说不太可能是最后的版本。这是一种合理的想象,有一天它会在竞争中被淘汰,或者被别的一些东西所增强。

但是我们的这个系统,今天它在工作着,它有一个生态系统,它有开发者、交易所、钱包、ATM机,书籍、应用程序、会议,并且已经有很多人已经学会了它是如何工作的。

如果有一个自由选择的话,人们会决定迁移到一个完全不同的系统中去么?

我们不知道,而正在推动这些东西的那些人,不想让市场来作出决定,这就是发生了什么问题。

在很久很久以前,中本聪设立了一个临时的“杂牌组装电脑”:他限制了每个区块的大小上限为1 MB。他之所以这样做,是为了在初期时候将区块链保持在小的状态,直到我们现在称之为SPV钱包的创立(也就是中本聪所说的‘client only mode’)。正如上面谈到的,当时机到来,就可以对它进行调整,从未说过它就是永久性的。在最后,它就变得无关紧要了。我在2011年时,和我尊敬的同事Andreas Schildbach一起,写了第一个SPV工具,我们一起建立了第一个,也是目前最流行的Android钱包。从那时起,SPV钱包开始用于各大平台。因此,中本聪对于这一临时限制的原因,在很久以前就已经解决了。

随着比特币不断的壮大,它的区块也在不断变大。合理的流量预测显示,区块将在明年某个时候达到当前系统的限制,最迟将在2017年。而另一个泡沫或压力周期,会迫使我们在此之前就超过这一极限,那么其结果可能就不漂亮了。

所以,现在是时候提高上限了,或者说完全将其删除。这就是我们的计划,而问题开始的地方:那些不愿见到比特币扩容的人,已经决定推迟这一过程。他们看到了一个美好的,一次性的机会,强行将比特币预定的路径,转移到完全不同的技术轨迹当中。他们不知道这种替代性的设计会是什么,当然也还没有建立它。但是,这并不重要。他们认为,通过对区块链成长的阻断,可以“激励”(即强迫)比特币社区切换到不同的东西中去,一些更符合他们个人技术口味的东西。


↑收起
7天前 回复(0)
亚克西 1082011

亚克西

为什么要限制区块链?

到目前为止,我还没有太多地阐述对这些人的观点,或者他们是谁。我觉得在这篇文章中指名道姓,是件十分费时费力的事情,而最终似乎也是徒然的。想必那些关心这件事情的人,也已经知道了,而那些不知道的,也认不出参与这件事的人。

我只想说,他们是极少数拥有比特币核心代码库访问权的人,或者是那些被他们的论据所说服的人。

因此,我们在这里不再讨论这些争辩,这已经有了太多。每一个人所提出的问题,加文和我都写了文章对它们进行分析,来反驳他们。有时答案是些常识,有些则会更深入,需要更多的工作,比如说网络仿真试验。

要了解这些争议最佳的地方是在加文的博客。我希望能够找到一个类似反驳加文观点的意见集合链接,但是一个都没有。

总结下漫长而辛苦的辩论当中,几个不同的反对群体:

如果比特币临近这一极限了,我们会被刺激去创造出更好的东西。

限制应该提高,但是还没准备好(实际时间未指定)。

如果比特币扩容了,比特币会变得更加中心化,那么它就不再是比特币了。

另外一些人:如果你支持的异议没有在上面列出,请查看加文的博客然后找到它的答案。

第一点可能有一天会成为现实,但是与纸上谈兵的理论体系,并没有什么可比性。但是没有人看到过任何桌上的替代解决方案后,会认为它们能够在12个月之内实现,(例如,看到最后一段的另一个例子)……即使假设它们是更好的。这也是一个涅盘谬误的例子:

涅盘谬误是指,相比较实际的东西,一些不现实、理想化的替代品的非正式谬误的名称。它也可以指倾向去认为,针对一个特定的问题,有一个完美的解决方案,因此也被称为完美主义谬误。

通过创建一个摹造的二分法,以针对眼下的一种选择,这显然是有利的。但同时也是完全难以置信的。使用涅盘谬误的人可以攻击任何的反对想法,因为它是不完美的。根据这一谬误,选择就并非是在真实世界的解决方案之间。一种是现实主义可完成的方案,而另一种是不切实际解决方案,这是两者之间“谁更好”的选择。

针对第二个反对意见的回答,是过于模糊了。有理由相信,每一个比特币节点的全面升级,可能需要一年的时间,而实际比特币网络容量过载会引起严重的破坏。我们真的应该在此之前就做好准备。比特币开发邮件列表中,有两人有专业的容量计划经验,而他们都认为这一进程必须立即开始。而将其推迟到一些不确定的未来,并不是一个健全的工程。


↑收起
7天前 回复(0)
亚克西 1082011

亚克西

最后一点是最麻烦的,也是至今最有争议的一点。它基于两个假设:

如果比特币能够成长,它会成长,而且成长的速度会快于降低成本的技术进步。

比特币网络如果是微小的,但从抽象的意义上来说,它会比一个成功的,全球性的比特币网络更“去中心化”。

如果比特币的网络是非常引人注目的,那么大家对它的需求将是无限的:我可以停止改善我的软件,然后去等待比特币价格的上涨,然后变得富有。而回到当前存在的比特币,它还处在激烈的竞争市场当中。成长并不是上帝赋予的权力。每一个用户都需要去付出努力,说服每一个人也都要花费时间。比特币目前正在不断成长,但仅仅是以轻柔的脚步前进。我希望我可以自信地说,未来运行一个完整节点的成本会上升:这将意味着,我们的成功是超越了整个硬件行业的共同成果。那么这个行业将是惊人的:2007年iPhone面世,它的成本为500美元,仅七年之后,新出现的P9智能手机,其售价仅为30美元,而它匹备了iPhone的每一个功能,并且还显著地超越了。

而第二个假设,也就击中了争议的核心部分:比特币是否该成长,即使其结果是修改了网络的结构?

当前的系统中,每一个用户都是一个网络节点,但这并非意味着它们就是系统大规模后所需的节点,这就好比是每一个新闻组用户去运行他们自己的NNTP服务器一样,这种设计使得用户就仅仅是用户。

- 中本聪,2010年7月

对于这个问题,比特币这个项目的创始人给出了一个明确的回答 —— YES

至今,我们一直在做这个计划。试着将这个问题的答案改为NO,不仅违反了比特币的社会契约,也违背了社区很多人的意愿。

那些真的相信一个über利基市场货币会更好的人,应该去创建一个限制区块链大小的竞争币。

优柔寡断

为什么这次纠纷不能以更文明的方式解决,而是要彻底分裂?

简单地说,关于比特币核心决策过程的决议,已经破裂。

从理论上来讲,和所有开源的项目一样,核心都会有“维护者”。维护人员的工作是引导这个项目,什么该发生,什么不该发生。维护者就是boss。一个好的维护者需要收集反馈意见,权衡争论,然后作出决定。但是,在比特币核心区块大小的争论问题上,已经被拖延了几年之久。

问题是,任何改变,无论有多么明显,如果它成为了“争议”,那它就可以完全被否决 。由于有五个维护者,而其他许多非维护者也可以进行“争议”,这已经形成了一个僵局。事实上,块大小从来不是永久性的,这已经不再是重要的事实:而删除块大小限制本身,才是要争论的东西。这就像一个没有*的委员会,会议永远都不会结束。引述一位维护者的话就是,“比特币需要一个领导者,就好像鱼需要自行车。”

那么其他人呢?

对于这个问题,更广泛的社区绝对是不感兴趣的。

提高区块大小的提议,得到了以下这些人,以及其他人的支持:

最流行的iOS以及Android比特币钱包的开发者,以及最流行的web钱包之一的开发者。这些钱包有着数百万的用户。


↑收起
7天前 回复(0)
亚克西 1082011

亚克西

几个最大的比特币交易所。

两家最大的第三方支付处理商,占据了第三方支付市场的绝大部分。

几个主要的矿池,包括所有的中国矿池。

五大比特币核心维护者中的两位(Gavin以及Jeff)。

在线论坛的用户投票显示,大约75%-80%的人支持扩容。

这份名单还远远没有完成。许多生态系统中的关键人物,还没有公开发表过评论,但是已在私下对Gavin和我表示了支持。

所以,加文和我做的并没有什么奇怪的。如果我们不进行这次变化,其他人也是会的。

那些推动1MB区块的人,是如何回应所有人的?

他们没有,因为他们从来都没有被要求回答过他们的观点。引述比特币核心社区一位有影响力成员的话:

“顺便说一句,使用公司作为一个传声筒是有风险的,你可能得到的是共识性的误导意见。”

公司可以说代表了比特币世界中最热情,最投入以及最有技术的那群人。它们提供了重要的基础设施,然而,创建它们的人的意见,可以被认为是“误导协商一致的”。

钱包开发者呢?他们对于用户每一天的需求,接触是最多的。

不要去问,他们会在什么时候发声了,这没有什么意义,他们的意见是无关紧要的。

这并不奇怪: 越来越清晰的是,比特币核心社区经常提到的“共识”,其真正的含义只是少数几个人的意见,不管社区外的别人怎么想,他们又做了哪些工作,或者他们的产品有多少用户。

换句话说,“开发者共识”是市场营销,羊毛遮住了比特币用户的眼睛,让他们的眼睛变得盲目:只需两三个人行动一致,就可以用他们认为合适的方式,来改变比特币。

他们有意识到,大量关键人物的反对意见么?没有,再次引用其中一位维护者的话语:

关于这点,加文在比特币核心技术社区,几乎是独自一人。我公司有很多人都在关心,影响比特币作为去中心化系统生存力的是,关于这个产品的这些担心,绝大多数是在技术社区进行解决的。

如果说,你把那些建立比特币生态系统广大工程师们归类为“非技术人员”,那么它才是为真的。

如何解决争吵?

显然,问题已经非常严重了。沟通已经破裂了,双方都觉得自己是在保护比特币的去中心化,都认为自己是比特币真正的愿景。社区已经分开了。

这里留下了最后一个解决争端的机制。我们可以做一个修正版的软件,通过常规的链分叉逻辑,来让矿工进行投票表决,是否进行升级。如果大多数升级到最新的版本,并产生一个大于1MB的块,少数人会拒绝它,把它放到并行链上。而要返回同步网络的其余部分,他们将不得不接受分叉,支持这种系统。如果多数人选择不升级,那么分叉就永远都不会发生,1MB限制将继续保留。

似乎所有的参与者都应该支持这种做法:显然,共识已经无法通过正常机制达成,因此进行一次类似表决的行为,应该是取得进展的好办法。

下面是最后的分歧,也是最致命的根源。

5个比特币核心维护者,Gavin和Jeff 支持分叉,但是其他三位认为,任何有争议的硬分叉是不可想象,疯狂,鲁莽的,永远都不应该发生,这会严重损害比特币,甚至可能是致命的。如果他们中有任何一个是赞成通过分叉解决问题的,我也就不会看到他们这样的表达。

我们坚决不同意这样的评价。我们不认为链如果出现分叉,天就会掉下来。我们认为小区块链的人会选择升级,然后继续在大区块链上活动。他们会有足够的时间去了解关于这次变化,并做好准备。当然,这对于喜欢或者不喜欢硬分叉的比特币核心开发者们来说,并没有什么区别。他们总是坚决地反对着。

总之,他们认为,限制他们的唯一机制永远都不应该被使用(指算力投票)。

我不认为这是一种偶然现象,但它确实是这样的。他们的观点是,对于他们的决定,不应该有任何的替代观点。任何反对他们的,不管是什么原因,应该被永远封杀…那么比特币就成了他们的玩具。

这种状况不能再继续下去了。比特币核心项目已经表明,它不能进行改造,所以它(旧链)必须要被放弃。

这就是为什么比特币要分叉。


↑收起
7天前 回复(0)
已无更多回答~
欢迎登录知投 立即注册
下次自动登录 忘记密码
登录
使用社交账号登录
知投送你