软扩容与硬扩容的之争,到底在争论什么?

2016-11-15 11:00 来源:巴比特资讯 阅读:3938
本文是在阅读《小区块VS大区块的理念之争到底在争论什么?》后写的。原/r/btc的贴网友提出了13点,作者闪电补充了8点,文中说“各位继续补充”。我觉得确实有必要补充一下,并且进行梳理分类。使大家能更清晰地知道“软”与“硬”到底在争论些什么?

前言

本文是在阅读《小区块VS大区块的理念之争到底在争论什么?》后写的。原/r/btc的贴网友提出了13点,作者闪电补充了8点,文中说“各位继续补充”。我觉得确实有必要补充一下,并且进行梳理分类。使大家能更清晰地知道“软”与“硬”到底在争论些什么?

fork

第一篇 :概念之争

首先就是基础的概念,两边并不统一有争议。标题中两方我更改下,软扩容这一方观点仅仅是不要匆忙硬分叉,并不是要一直小区块,未来足够共识时机成熟时是可以扩为较大区块的。另外软扩容方并不反对扩容,而是提倡用安全地软分叉的形式来间接扩容。因此用“软扩容”替代“小区块”,用“硬扩容”替代“大区块”较好。

1.1 共识的概念之争

【/r/btc网友1】比特币交易手续费不需要共识来决定。 VS 所有的经济活动由共识来达成。

【/r/btc网友5】因为软分叉不需要共识,所以软分叉更好。 VS 硬分叉需要共识,所以硬分叉更好。

【/r/btc网友6】不允许有争议性的共识改变。 VS 自由市场导致共识改变。

【评论】软扩容支持者,从来就没有认为软分叉不需要共识,而是给出了高达95%的高共识激活门槛。相反,硬扩容者只是说说需要共识而已,实际却在支持75%就匆匆激活的XT和Classic,和没有设门槛而理论上仅仅50%就可能激活的Unlimited。如此低的激活门槛,何谈支持共识。共识的改变,是要在大量社区的文明争论下,越来越多人在了解币技术本质后做的集体判断,社区的共识通过算力表现在区块投票上。没有人反对也无法反对共识的变化,仅仅反对那些在共识还没有充分变化完成时,就匆匆激活而带来币圈分裂风险的版本。

1.2 软分叉和硬分叉概念之争

【/r/btc网友11】软分叉只需要经过开发者达成共识。 VS 软分叉对经济冲击较大,所以需要共识。

【cndx玛雅1】软分叉能兼容旧节点不会产生分叉的区块链。VS 硬分叉能代码简洁的做任何改动,一些旧节点若不升级就该抛弃。

【评论】仅仅是软分叉的提出只需要开发者共识,但是软分叉的激活却是需要社区和算力共识的,且像SW需要95%区块支持才能激活。另外说其对“经济冲击”,不知如何经济冲击,软分叉前后,因为兼容,产币速度是没有任何变化的。另外近期有提出融合软分叉和硬分叉的BF融合合成分叉方案。合成分叉,即不是软分叉,也不是硬分叉,是两者的融合,分为两阶段。具体见下图。

第二篇 :利益之争

“天下熙熙皆为利来,天下攘攘皆为利往”。在软扩容硬扩容之争的背后,更多是权力和利益的竞争。

2.1 手续费之争

【/r/btc网友1】比特币交易手续费不需要共识来决定。 VS 所有的经济活动由共识来达成。

【/r/btc网友4】只有小气鬼才要求更低的交易手续费。 VS 应该允许尽可能多的人来使用比特币,所以手续费需要更低。

【tan90d闪电4】比特币是类似黄金一样的保值品,黄金交易成本高,所以比特币交易费也可以高。 VS 比特币现在还是小众用户产品,只有更多的用户使用才有机会成为黄金一样的保值品。

【tan90d闪电7】大区块会导致零交易手续费,进而导致未来矿工无收入,算力下降。 VS 自由市场并不会导致手续费为零,市场会寻找一个合理的手续费,用户和矿工能够互利共赢。

【cndx玛雅2】软扩容的闪电网络可以让全节点同时成为闪电节点,可以有闪电手续费收入,靠利益激励更多人运行全节点。VS  所有的手续费必须都是矿工的,全节点不能有收入,只靠无偿奉献运行全节点,有闪电网络下可能都用闪电而不用主链了。

【评论】其实/r/btc的网友不太懂,软扩容的主链交易手续费,才是真正的由经济活动来共识决定,大家一起付手续费,谁付的高谁优先打包确认,当大家都付较高时,手续费自然而然地提升。在交易手续费提升下,减少一些不重要交易对主链的需求从而进行动态平衡。现在的事实实践证明是可以的,并没有出现越来越大的mempool,并且较成功地防御了好几次大量粉尘交易攻击。区块链主链一直满而未堵,只要足够高手续费即可快速确认,见《比特币手续费,如何能做到比特币快速确认到帐?》

相反是硬扩容,才是真正地去忽略经济的供需调节,强行将手续费人为地靠硬扩容来拉低,交易量一多,区块大小就增大。反正交手续费高或低都会及时确认,那么用户就会倾向于交越来越低的手续费。因此2MB若满了,与1MB满时手续费翻倍,显然会是后者获得的手续费收入更多,后者更利于中本聪创世论文中规划的矿工靠手续费为主的未来早日实现。

硬扩容支持者有个严重的误区是:认为高手续费会阻碍更多的新人来使用比特币。其实软扩容支持者并不是只有手续费提升,而是配合手续费提升的同时,会有闪电网络技术,侧链技术,和我提的柔支付技术等等进行辅助。新人若用主链来大额存储币,大额交易,那么因占比小对手续费高一点不会太在乎的,如存储或收发100BTC不会去在乎0.001BTC手续费。而若平常的小额支付零花,用户完全可以用闪电网络,侧链或者柔支付等等。没有必要把所有鸡毛蒜皮的交易全都堆到比特币主链上去,需要通过手续费将用户的交易进行分层,仅重要交易在主链,以避免比特币主链臃肿,维持其去中心化。

另外部分硬扩容支持者担心,闪电网络过于成功,大家都去用闪电,不再用比特币主链了。其实有点过于忧虑了,闪电网络仅仅只是支付渠道,其是不能用来存储财富的,也不会有自己的代币,更重要的是其需要定期在主链上结算关闭闪电通道。若真的主链交易少于1MB了,那么可以缩短闪电网络的结算周期,超过一定时间不结算的,增加结算交易手续费,甚至主链不再给其结算。对闪电网络的控制权是掌握在主链矿工这的。放心若闪电网络繁荣了,大量高手续费的闪电开通和结算交易下,反而会有利于主链手续费的快速提升的。

2.2 矿工权利之争

【/r/btc网友7】少数派开发者和矿工拥有否决权。 VS 多数派决定。

【/r/btc网友10】矿工无权控制共识改变。 VS 矿工是经济利益的代表,他们可以投票决定。

【评论】这网友的这两条看似有点矛盾。其实共识的达成,就是要给少量矿工维持现状,对改变进行否决的权利的。例如在BIP9规则的软分叉下,只要矿工有超5%的算力,不同意新方案,愿意维持现状,那么就应该形成继续维持现状的共识。最大的共识是维持现状,任何想要改变现状的改变,都需要有足够的共识认同。并不是软扩容支持者不让矿工投票决定,而是给矿工较大的否决新改变权,从而限制控制大部分矿工即可进行新改变的权利,这有利于币圈的稳定。要知道整个币圈的利益,并不一定和矿工的利益完全一致的,矿工不能有过大的新改变权利。

有些硬扩容支持者,支持多数派即可决定,其说的多数并不是95%,而是例如他们常说的75%,甚至只要50%,这就意味着要忽略掉1/4甚至一半的人的反对建议,就强行进行硬分叉,这就给了矿工太大的权力了。其认为只要是占多数就已经够了,而多数并不是共识。比特币是应基于共识决策的而非基于多数,共识需要至少90%最好95%以上,否则就有较大分裂风险。

第三篇 :安全之争

软扩容和硬扩容双方都是安全问题上争议很大,都说自己能更安全。具体兼容性见下图。

3.1 节点安全之争

【/r/btc网友2】区块已经太大了,运行一个完整节点的成本太高。 VS 成本不是一成不变的,并且手续费现在已经太高。

【/r/btc网友3】每一个人应该有能力运行一个完整节点。 VS 只有小气鬼才会要求只能使用廉价的硬件来运行完整节点。

【cndx玛雅2】软扩容的闪电网络可以让全节点同时成为闪电节点,可以有闪电手续费收入,靠利益激励更多人运行全节点。VS  所有的手续费必须都是矿工的,全节点不能有收入,只靠无偿奉献运行全节点,有闪电网络下可能都用闪电而不用主链了。

【cndx玛雅3】软分叉兼容不用强制节点升级,而硬分叉会丢失大量节点。VS  只要少量大公司提供的高性能的节点就足够了。

【评论】目前撰写文时,比特币全节点总数量5365个,而隔离验证版本/Satoshi:0.13.1/的节点有1453个占比已经高达27%,因为是软分叉,对剩下的73%节点是兼容,不升级也是可以的。而硬分叉的BU版本节点比仅仅不到6%。而硬分叉会抛弃所有旧节点,就是说若强行激活BU,可能高达90%以上的节点需要强制升级。而未升级继续运行的可能就会进入分叉链从而分裂。

面对超大区块出现的可能,硬扩容派一方面认为硬件的提升速度会快于交易量的增加速度,未来的硬件下处理超大区块没有问题。另外一方面认为没有必要那么多节点,只要有大币公司来运行全节点就足够了,普通个人没有必要运行全节点。

然而比特币用户数,是有可能到一个网络效应的激活点后爆发快速增加的。进而带来的就是交易处理能力需尔的迅猛增加,会远超过硬件提升速度的。靠硬扩容,那么产生超大区块将成为可能。而靠闪电网络,或靠侧链,是可以继续保持主链区块较小,不会增加运行全节点的门槛的。关于普通个人运行全节点的重要性,是在于节点的去中心化。夸张一下,若在提高了全节点的很高运行门槛下,全球只有100家币企业用他们的高性能服务器才能运行100个全节点,其它人只能用轻钱包,裁剪模式钱包,或手机钱包,没有再存储TB级别的全部数据了。那么有可能这100个节点,被黑客组织一一攻破而全部控制。或这些企业暗地弄个秘密行业协会。那么黑客或协会,就能控制所有节点,而成为比特币中心了。这种节点中心化,比算力中心化要可怕很多倍。算力51攻击其实能做的坏事很少,且无法暗地做,但是若控制了所有节点,几乎可以偷偷摸摸做任何坏事,从而严重地威胁比特币的去中心化特性。

3.2 分裂风险之争

【/r/btc网友8】分裂是危险的。 VS 分裂是市场投票的结果。

【/r/btc网友9】有争议的硬分叉将导致分裂。 VS 硬分叉风险是可控的/可设计的。

【tan90d闪电8】硬分叉伤害了区块链不可变的原则。 VS 硬分叉只是协议升级方式,是中性的。软分叉也一样可以改变区块链,在这方面并不比硬分叉强。

【评论】硬分叉是中性的,但是分裂确实属于贬义的,硬扩容者中有些人甚至支持分裂建议先看看《8.5Bite酱-维护币圈团结,拒绝分裂言论入侵》。要明白概念,那些很快就消失的区块链小分叉,和只能变成山寨币的小分叉币,不是币圈分裂,没有什么可怕。我们呼吁大家币圈团结一起抵制的是那种,有较高的币圈内部支持,从而能长期存活,各自称自己是正宗比特币的分裂币。例如像ETC和ETH都称自己是以太形成分裂。

我们不支持硬分叉,仅仅是支持有可能造成币圈分裂的硬分叉。若出现系统bug需要硬分叉修复,几乎100%共识同意,进而不用太担心分裂,当然支持这种硬分叉。但是现在的扩容问题,并不属于bug,并不很紧迫,也不是只有硬分叉一个途径提升处理能力,那为何非要冒着分裂的风险,去匆忙实施硬分叉呢?我们应该尽可能得去避免分裂。非要进行硬分叉,那也要至少90%的共识吧,但是现有的硬分叉版本,激活门槛都太低,分裂风险太大。

区块链的不可改变,主要是在于正常历史数据的不可改变。若万一出现bug产生了一些非正常的数据,当然可以用软分叉或硬分叉修复。而区块链的不可改变,并不是指区块结构或打包规则,交易模式的不可改变。只要数据内容不变化即可。软分叉能做到兼容,不会去改变数据。而硬分叉,若引起了链分叉,则相当于多了一条并齐的数据链,则会有重放攻击等,而数据变地不再那么可靠。

3.3 代码开发之争

【tan90d闪电1】软分叉代码太复杂,潜在漏洞太多。 VS 硬分叉代码简洁。

【tan90d闪电5】Core开发组很牛逼,我们要信任他们。 VS Core开发组正在伤害比特币,是Core开发组导致社区分裂,我们需要开发去中心化。
【tan90d闪电2】软分叉代码太复杂,后续开发者将更难懂,开发者将中心化。 VS 硬分叉代码简洁,技术文档更清晰,后续开发者更容易上手。

【评论】自比特币诞生至今,核心代码开发,一直都是较中心化的,反而是越来越去中心化的趋势。最开始几乎只是中本聪一个,后来中本聪隐身后,是加文中心领导下的Core,然后时坏特事件后,加文也退休,现在的Core已经是较去中心化的,并没有很核心的人物来领导Core。至于BS公司,其仅仅只是雇佣了一部分Core的开发者而已,还有更多的Core开发者并不在BS公司,BS对Core仅仅是有一定影响力,但是绝对不像硬扩容者说的那样,能控制Core。没有人或公司能控制Core,Core是一个比特币的开发社区。Core开发很牛,是因为真正懂比特币底层,开发很牛的人都是属于这个开放的开发社区。

至于软分叉代码太复杂,要知道要实现软分叉,实现兼容之前节点,本来就不是容易的事,代码较复杂正常。潜在的漏洞多也不怕,发现漏洞后可及时修复即可。且已经在测试网络上运行了很久,进行过了大量测试。另外即使激活隔离验证软分叉后,交易也是可以继续用原来的交易签名模式的,可以渐渐地过渡,因此出现问题下的损失也会有限。在学习时间足够多下,会渐渐有更多人可以懂代码而加入开发维护的。

而硬分叉方案代码简洁,在于其只是修改核心参数,根本就没有做足够的兼容测试,因为激活后就把之前的各版本的节点都会淘汰的。另外区块上限提高的潜在风险漏洞也很大,因这是对中本聪设计的核心参数的直接修改,而程序是关联的整体,只修改这个参数而其它地方不变动,有可能会在其它地方产生问题的。

  第四篇 :发展之争

4.1 交易处理能力

【/r/btc网友12】比特币不需要扩容,可以使用链下解决方案来实现,比如闪电网络。 VS 比特币可以链上扩容,至少应该尽可能利用软硬件技术潜力。
【/r/btc网友13】使用硬分叉增加区块上限意味着2100万比特币这个值也可能被改变。 VS 没有硬分叉,比特币的开发和经济都将停滞。
【tan90d闪电3】比特币的未来是结算网络,不需要很多的链上交易。 VS 比特币的未来是点对点的电子现金系统,货币是共识,只有足够多的人使用链上交易比特币才能成为广泛使用的货币。

【评论】此网友说“软硬件的潜力”,现在可能已经是到硬件的潜力极限了,区块再大下去,就很可能会引起全节点的减少了。而软件的潜力,就是SW隔离验证,在现有的1MB下,不硬扩容,能通过调整优化结构,实现近似1.7MB的软扩容。这么说这个网友是支持SW隔离验证软分叉是吗?

不要抹黑软扩容者,区块上限增加和2100万比特币改变,完全是两回事,只有不懂币的才认为前者意味着后者。只是说硬分叉理论上可以修改2100万上限,而软分叉因为要兼容,无法修改。而硬分叉若在未来被轻易频繁地使用,很难预计其各种后果。

硬分叉与否,与“比特币的开发和经济是否停滞”无关,就算没有硬分叉,还会有普通完全兼容的升级,还有部分兼容的软分叉升级,并非无硬分叉,就不能进行比特币开发了。另外粉忠和应用的增加,也与是否硬分叉没有太大关系,反而硬分叉若引起了分裂,会有害于比特币的经济生态。

比特币是一种点对点的电子现金系统,是一种系统,这个系统是分为比特币主链+侧链+闪电。用户的日常零散的交易,放在侧链上或者通过闪电网络来交易即可,只有存储财富、大额交易,以及侧链结算,闪电结算的交易,才会在比特币主链上进行。只有这种系统的分层构架,才能实现前面关键的“点对点”的限定。否则全部交易全部堆放在主链,会造成主链臃肿,运行门槛高,而节点中心化,从而无法实现“点对点”了。

4.2 技术进步开发之争

【tan90d闪电2】软分叉代码太复杂,后续开发者将更难懂,开发者将中心化。 VS 硬分叉代码简洁,技术文档更清晰,后续开发者更容易上手。

【tan90d闪电6】比特币未来应该走匿名化。 VS 比特币未来应该保持主链是一个公开的账本。

【cndx玛雅4】比特币的未来某些侧链,可以是匿名的侧链,可以是能智能合约的侧链,可以吸纳狗狗币为用于慈善打赏的侧链。各侧链有各自的应用场景。主链做好侧链接口即可。VS 一切新功能都要在主链上进行增加,为增加改进甚至可以冒分裂风险多次硬分叉。

【评论】没有绝对长久的技术领先,必须要有后续未来技术的开发引入。其实仅仅只靠清晰文档是不够的,必须是足够多的利益激发开发者为核心代码做贡献的动力。其实IT界的程序大牛一直都不缺。但其研究开发维护比特币代码能直接获得收益吗?在现有的框架下很难,本来是可以让矿工多多打赏捐赠开发者的,但是捐的太少无法靠捐赠来养活自己,只好一些开发者联合创业成立了个币公司去获得风投。然而风投不是慈善,币公司需要有盈利模式,需要有回报的。于是制定了“主链+闪电+侧链”的双赢构架。闪电,若能成为一个较大的闪电节点,那会有一些闪电手续费收入。而侧链才是未来重点,且其已经开始布局了专利,就是说其将来可以构思开发一些侧链应用于一些具体的领域。这个路线是有利于币圈的。闪电网络能加速秒速确认比特币交易,而侧链能扩展比特币的具体应用领域,方便地引入新技术。若他们的路线图是去开发一些竞争币非侧链币,或者去做一些纯区块链应用,那才是我们币圈的损失。

至于闪电说:“比特币未来应该走匿名化。”那仅仅是一部分人的币未来发展建议,并非整个软扩容者都支持的。整个开发的未来是百花齐放,各种各样的侧链币,就像互联网上的各种各样的网站和APP,而比特币主链作为底层的互联网。一般的开发者并不需要去完全了解全部的比特币知识,只需要会用比特币侧链接口来开发侧链币即可。另外现有的各种较优秀的竞争币,也可以通过侧链接口,成为比特币的侧链币,若不主动加入比特币,反正开源,强行fork一个即可。那么可以通过侧链技术几乎可统一整个加密电子币币圈。

而硬扩容的未来技术发展路线,只能看着竞争币越来越多,越来越多的细分领域被占去,好不容易有可以吸纳的新的技术,每次都要冒很大分裂风险去硬分叉升级。很难长期保证不分裂的同时能技术保持先进。而侧链技术就可以,可将任何新技术都以侧链的形式快速且几乎无风险地成为比特币技术的一部分。

第五篇 :总结

看问题应该看全面,要避免盲人摸象。硬扩容问题不是单纯的矿工打包时上限是否提高的表面问题,涉及的深层问题很多包括但不限于:是否引起币圈分裂问题,是否提高节点门槛而中心化问题,是否便于未来代码再发展技术扩展问题,是否合理的手续费的利益分配问题。请大家可继续补充。若有问题请留言或者关注我的微信公众号“Bite酱”请多多交流,谢谢。

声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文