快捷搜索:  汽车  科技

刘昌为什么征南(BCH战争中的十大误解)

刘昌为什么征南(BCH战争中的十大误解)这里的第1、2种情况不会分出新币,只有第3种情况才会分出两种币。这次11月15号的分叉,本来是一个计划中的硬分叉升级,由于CSW突然要求社区放弃一直沿用的ABC版本,改用他的BSV版本,遭到一些人的拒绝和另一些人的支持,导致了共识的分裂,才演变成情况3的分裂。3)链、币和社区的分裂。如果两个不兼容的版本不是因为意外而并存,而是因为各有一些人支持不同版本的特征,坚决反对另一个版本的特征。那么,两个版本就一直有人支持同时运行,互相不接受包含了对方版本特征的链,所以记出来的区块链就永久分成了两个链,链上记载的币就分成了两种,社区也分裂成两个社区。“分叉”这个词有三层意思:1)区块链产生孤块。密码货币正常记账因网络延迟等技术原因,同一高度出现了两个不同内容区块,当其中一个后面跟的区块更多时,另一个区块及跟随的短链就会被抛弃变成“孤块”,这也就是所谓“追随最长链原则”。2)硬分叉升级。在软件升级时,

刘昌为什么征南(BCH战争中的十大误解)(1)

链得得专栏作者简介:刘昌用。北京大学经济学博士,知链创新科技创始人,ChainVC合伙人,重庆工商大学副教授,区块链资深科普学者,BCH早期推动者。

最近,BCH内战和分叉在寒冬里掀起一股热浪,整个区块链圈子都在热议。这次的分叉内情十分复杂,是前所未有的一次大战。我在10月初发表的长文《BCH的战争与进化》中分析了主要方面,目前看仍然适用。但战事爆发前后,仍有一些广泛流传的误解,使复杂的局面变得更加迷离。在这里做个梳理和澄清,也算是对文章的补充。

鉴于目前形势已经明朗,ABC版本在各方面已经明显占优,除BSV以外的开发版本都选择了兼容ABC版本。因此,文中的BCH指ABC及其兼容版本运行的那条链,而将BSV版本区块链称为BSV。

一.所有分叉都会分出两个币?错!只有共识分歧导致的分叉才有新币

“分叉”这个词有三层意思:

1)区块链产生孤块。密码货币正常记账因网络延迟等技术原因,同一高度出现了两个不同内容区块,当其中一个后面跟的区块更多时,另一个区块及跟随的短链就会被抛弃变成“孤块”,这也就是所谓“追随最长链原则”。

2)硬分叉升级。在软件升级时,如果新旧版本记的区块能够相互兼容,称为软分叉升级,不能相互兼容就称为硬分叉,就像有一次word升级后不识别word97版本一样。硬分叉升级时要求大家都更换到新版本,如果有人还用老版本,就会产生两个相互不承认的分叉链,这时“最长链原则”无效了。但老版本出的块往往没有交易所支持,区块奖励一文不值,所以用老版本的人发现没人跟随他出块,就会找原因,发现新版本就会立刻更新版本,老版本的链就消失了。

3)链、币和社区的分裂。如果两个不兼容的版本不是因为意外而并存,而是因为各有一些人支持不同版本的特征,坚决反对另一个版本的特征。那么,两个版本就一直有人支持同时运行,互相不接受包含了对方版本特征的链,所以记出来的区块链就永久分成了两个链,链上记载的币就分成了两种,社区也分裂成两个社区。

这里的第1、2种情况不会分出新币,只有第3种情况才会分出两种币。这次11月15号的分叉,本来是一个计划中的硬分叉升级,由于CSW突然要求社区放弃一直沿用的ABC版本,改用他的BSV版本,遭到一些人的拒绝和另一些人的支持,导致了共识的分裂,才演变成情况3的分裂。

简单说,只有共识发生分歧,各自支持互不兼容的版本,导致链的永久分叉,才会分裂出新币。

二.比特大陆和ABC反对扩容?错,扩容是双方共同的发展手段

最普遍的误解是说ABC和比特大陆拒绝扩容,而CSW的BSV版本主张扩容。实际上ABC和比特大陆一直主张根据市场需求不断扩大区块容量,BCH就是因为这个诞生的。ABC和比特大陆反对的是在11月15日的升级中就将区块扩大的128M,原因是:

1)目前BCH每块实际容量在200k以内,现有32M区块上限是实际容量的160倍以上,市场也处于熊市,根本没有扩容的市场需求。

2)BSV的128M扩容并不成熟,缺乏测试数据。在曼谷会议上,技术人员对nChain提问BSV版本是否对128M容量进行了测试,有没有测试数据,回答还没有。

3)近期BCH系统进行了多次压力测试,即制造巨量微小交易测试能否正常出块与传播。测试中打出了21M和32M的区块,但也造成许多节点掉线,生态中的一些小矿工为此放弃了BCH挖矿。

因此,在缺乏市场需求、未经充分测试的情况下,贸然在11月15日的升级中扩容到128M既不必要,也有很大风险。

经过曼谷会议的讨论,ABC、吴忌寒和Roger等人均表示,同意在15日升级之后开始测试128M扩容,如果测试通过可在2019年5月的升级中部署。但CSW坚持在15日上线128M的BSV,并在宣传中攻击ABC和比特大陆拒绝扩容,这很具有误导性,但的确奏效了,以至于这场内战开始时被称为新的扩容之争。

实际上,ABC和比特大陆非常看重扩容,ABC的路线图的主线就是通过扩容实现世界货币目标,此次0.18.2升级中的CTOR交易排序功能就是通过对内存池交易进行排序,提高区块在网络中的同步效率,为未来的超大区块做准备。

简单说,双方都主张扩容,ABC和比特大陆主张充分测试,保障安全的前提下扩容,CSW要求立即扩容。

三.BSV要世界货币而ABC要基础链?错,双方目标都是“世界货币 基础公链”

对于这次BCH内战的原因,普遍流行的观点认为CSW的BSV想要把BCH发展成世界货币,而ABC和比特大陆则想把它做成跑各种Dapp的基础公链。实际上,双方都想把BCH做成世界货币加基础公链。只是实现的方式不同而已。

CSW曾发表文章论证比特币在0.1版所提供的脚本就是“图灵完备”的,只是后来禁用了许多操作码,限制了脚本的功能,所以他要逐渐恢复这些操作码。这次的BSV版本就恢复了4个早期禁用的操作码,并且删除对每个脚本201个操作码的限制。

早年,比特币社区普遍认为比特币脚本不是图灵完备的,并且认为这是必要的。因为图灵完备的脚本意味着像各种计算机语言一样,可以编写各种复杂的程序,能实现更多功能,代价是容易出现诸如死循环之类的漏洞。比特币要想实现货币功能,安全稳定是第一位的。一个非图灵完备的脚本系统限制了脚本的复杂性,从而更安全。每个脚本201个操作码的限制也是这个目的。正是由于这个原因,早期开发者阻止了Vitalik在比特币上开发智能合约,才有了图灵完备的智能合约平台——以太坊。

也就是说,CSW论证比特币原本就是图灵完备的,并在BSV中恢复四个禁用操作码(OP_MUL、OP_LSHIFT、OP_RSHIFT、OP_INVERT),解除每个脚本201个操作码的限制,就是要让BCH的交易可以编写更大更复杂的脚本,从而在BCH的主链上实现智能合约。CSW也宣称他的BSV会超越以太坊。token发行是智能合约最流行的实例,nChain也曾经给出基于BCH的token发行方案,并且资助了其他两个基于BCH的token方案。这些都是在积极实现“世界货币 基础公链”的目标。

相比之下,ABC和比特大陆为BCH发展智能合约功能的方案略保守一些。本次升级的ABC 0.18.2版本增加了两个新的操作码OP_CheckDataSig和OP_CheckDataSigVerify,用于数据签名和验证,这两个操作码的功能用原有脚本中也能实现,只是新操作码实现起来更简洁。

比特大陆为BCH增加智能合约功能的方案是二层协议解决方案,它借助OP_Return操作码能够在每个交易中将少量信息写入主链的功能,搭载智能合约信息,在BCH节点之上搭载虫洞节点来读写运行智能合约。这种二层协议解决方案的好处是,一旦该协议失败,可以很容易停止或抛弃,不影响主链的安全。而CSW的智能合约则是直接在BCH主网上,通过“图灵完备”的交易脚本来实现的。

所以说,双方都想把BCH发展成世界货币,并成为能够运行智能合约的基础公链。相比之下,CSW的方案更加激进,给主链带来的风险更大。

四.虫洞会毁灭BCH:错,虫洞增加BCH价值但被CSW用来智造谣言

虫洞是双方冲突的一个焦点,这有点出乎意料,因为虫洞在8月1日的香港会议上发布时CSW在场,席间各方相处融洽,并未对虫洞提出异议。但8月中旬,在CSW发动对ABC和比特大陆的攻击之后,虫洞成了CSW及其支持者攻击的主要目标,主要逻辑有三个:

烧币会毁灭BCH。虫洞的运行代币WHC通过燃烧BCH按照1:100的比例产生。CSW认为虫洞的发展会将BCH烧光,最后只剩下了WHC,即比特大陆要以虫洞吞噬BCH。

虫洞地址上烧掉的BCH可以被取出。CSW发文声称虫洞团队用来燃烧BCH的地址1111111111111111115KMYP7R278,上面的BCH是可以被转出的。意指虫洞团队会盗取这些币。

虫洞表明比特大陆走的是基础公链路线。这不是CSW本人的论证,而是CSW的支持者的延伸,用来支持和传播上一个误解:BSV的方向是世界货币,ABC的方向是基础公链。

这个观点被CSW的支持者和很多反感比特大陆的人广泛传播,用以攻击比特大陆和ABC。这也是个重大的误解,主要原因如下:

虫洞能增加BCH内在价值。虫洞如果成功,有大量交易量,会因为燃烧生成BCH和代币流通支付BCH手续费而增加BCH的需求,从而提高BCH的内在价值。

燃烧BCH不会毁灭整个BCH系统。燃烧BCH跟丢失私钥的影响是相同的,即这些币永远找不回来了。中本聪回答过这类质疑,这导致总量减少,剩下的BCH价值会增加。不存在烧完的危险,不等烧完WHC就已经昂贵到无法使用了。

虫洞作为开放开源的二层协议对主链无危害。无论虫洞可能产生什么样的危害,作为二层协议,有共识支持就可以丢弃。作为开放开源系统,觉得燃烧有问题,完全可以修改虫洞代码部署一个不烧币的协议。

如果虫洞可以毁灭BCH,中本聪的整个设计就失败了。虫洞源于比特币上的Omni协议,usdt就是用Omni在BTC之上发行的。如果虫洞这样的二层协议可以毁掉BCH,而虫洞和密码货币都是开源开放的,那么部署大量的类虫洞协议就可以杀死比特币和各种其他币了。

虫洞地址无人能支配。虫洞地址按BCH的新地址格式是qqqqqqqqqqqqqqqqqqqqqqqqqqqqqu08dsyxz98whc。没有选择非校验位全部为q,是因为那个地址已经被其他用途占用了,虫洞团队找了一个能够使校验位的后三位为“whc”的黑洞地址。这样的地址耗尽太阳的能量也难以碰撞出私钥。CSW宣称他能证明该地址上的BCH可以被转出,但至今已经燃烧的2700多个BCH仍在那里,这也是CSW著名的嘴炮之一。

比特大陆BCH大量持仓足以回应谣言。目前,比特大陆公开的BCH持仓量在100万以上,足以促使他们维护BCH安全,而不是毁灭BCH。而CSW的BCH持仓量一直不明。WHC并非比特大陆发行的token,而是任何人都可以通过燃烧BCH产生的,用WHC吞噬BCH对比特大陆没有什么好处。

攻击虫洞是CSW攻击比特大陆和ABC的借口。CSW很早就宣扬BCH的token方案,为什么虫洞方案出来以后会大肆攻击呢?翻阅CSW和投资人Calvin在8月之后的微博就知道了:他们把BCH生态中想要攻击的人都借助虫洞描绘成比特大陆的帮凶,比如说ABC的技术升级是为了虫洞设计的,Coinex支持虫洞发行的token是想跟比特大陆一起用WHC取代BCH,等等,并且把虫洞的地位类比2017年扩容时的隔离见证(SW)和闪电网络,从而把BSV类比去年为拒绝SW而诞生的BCH。这都是误导舆论的手段。

简单说,虫洞是BCH上的二层智能合约方案,有利于BCH发展,因为战争,CSW把虫洞当做制造谣言的材料。

五.BCH是比特大陆的公司币?错,BCH的去中心化程度远高于BTC和BSV

这个误解是BCH生态之外,尤其是BTC生态对BCH的核心攻击点。主要原因是2017年扩容之争后期,比特大陆发现比特币核心开发团队core不可能再扩大区块了,就率先寻求支持core之外的团队(比如Bitcoin Unlimited)开发扩容版本。BU失败而ABC团队开发出扩容版本后,比特大陆参与投资的Viabtc交易所和矿池率先支持了BCH交易和挖矿,与吴忌寒关系紧密的江卓尔则在BCH诞生初期用算力稳定BCH出块时间,直到BCH修改难度调整规则(DAA),实现市场化平稳运行。因此,在BCH诞生初期,吴忌寒、杨海坡和江卓尔起到了关键作用。

然而,即使BCH的诞生也离不开算力之外的坚定主张扩容的比特币社区成员的支持和努力。我本人从2016年就支持扩容,并主张分叉,对BCH分叉和修改难度规则(DAA)做了实际的推动。在这之前并不认识吴忌寒、江卓尔和杨海坡,是因为有共同的目标,做共识的事情才逐渐产生联系。

BCH的绝大多数支持者都跟我一样,相互素不相识,因为主张“比特币要成为世界货币,必须满足市场需求扩大容量”这个共识才走到一起。有了这个共识才有了BCH最初的市场需求,才有了后来不断增长的宣传者、开发者、商业企业和用户。没有这种去中心化的社区共识,只有算力和开发者,BCH跟随后产生的各种分叉币就没什么区别了。

不可否认,BCH诞生发展早期,比特大陆和吴忌寒的贡献和影响是最大的。但在随后的一年中,比特大陆和吴忌寒的影响力在迅速下降。Roger、Gavin、CSW等人相继支持BCH,不但扩大了BCH社区,也分散了影响力。比特大陆和吴忌寒本人非常低调,避免宣传,在社区中的影响力不断减弱,这是有意识的去中心化。吴忌寒在社区中所提出的缩短区块时间、抽矿工税激励开发者等建议都被社区否决。这次CSW以如此大的声势制造出分裂,正是BCH去中心化的直接结果。ABC支持者鼓励CSW分叉出去,而不对其进行攻击,也是接受这种去中心化的后果,延续去中心化的进程。

从内在机制上看,BCH主要将区块容量从1M扩大到8M,而没有改变比特币的原有技术构架和利益博弈格局。在技术特征上其去中心化程度跟BTC是一致的。比特币在扩容之争中表现出来的开发去中心化在BCH中依然存在,但比现在的BTC弱得多。有7个开发团队参与开发,ABC的节点数并不占压倒性优势,BU的节点占比也很高。

在曼谷会议上ABC团队的主要诉求就是,希望矿工们能够委派懂技术的人参与开发讨论,强化开发与矿工的沟通,从而让他们从繁杂的政治纷争中解脱出来,专心开发。对于CSW和nChain的责难,ABC团队努力向各方说明每个细节,并最终获得了除BSV以外的所有主要开发团队的认同和支持。这与去年Core拒绝参加矿工大会是鲜明的对比。很难想象现在BTC的社区的哪个个人或企业能够像CSW和nChain这样,在两个月的时间里,对Core开发团队制造如此严重的威胁。

目前,支持ABC版本的一方并不是一个整体,而是多方力量,不只是比特大陆和Roger,还有生态中77%-98%的企业(来自coin.dance),以及BU、Bitprim、Bitcoin XT、Parity、Bcash、bchd、哥白尼项目等至少6个开发团队。这些开发团队的版本都兼容升级后的ABC版本,但都是独立开发,有可能竞争成为主要开发团队,尤其是BU团队。

在曼谷会议上和这次战争中,这些力量都表现出独立立场。吴忌寒和我是较早意识到不能向CSW妥协的。在前期各方力量大多希望弥合分歧,包括Roger。但随着战争爆发,多数人做出了自己的判断,并且绝大多数支持了ABC,构成现在的BCH社区。这个社区的去中心化程度明显高于现在的多数公链,包括BTC。而BSV社区则紧紧围绕在CSW和Calvin、nChain、CoinGeek这个利益共同体周围,对CSW的个人崇拜尤其严重,因而是高度中心化的。

简单说,BCH从诞生到现在经历了快速的去中心化过程,现在的去中心化程度领先于BTC和高度中心化的BSV。

六.战前70%算力支持CSW?错,支持ABC的算力是CSW的10倍

这个误解也是CSW、CoinGeek和nChain有意制造的。因为绝大多数人不太了解挖矿的细节,以为BCH浏览器上显示的算力占比跟支持BCH的算力占比是一回事,实际上差异非常大。

由于BTC和BCH都是用SHA256哈希算法挖矿,所以两种币的算力是相通的。正常情况下,BTC和BCH的相对价格变化会导致挖BTC和BCH的相对收益变化,矿池可以在BTC和BCH之间切换,以获得最大收益。

基本规则是价格决定算力占比。比如BTC价格4万,BCH价格4千,那么BTC和BCH两网总算力的90%就会挖BTC,10%挖BCH。如果有20%挖BCH,那么BCH难度就会增大,收益就会下降,切换到BTC上挖矿就更有利可图。

由于支持BCH的企业或个人掌控的算力规模相当大,包括比特大陆的antipool和btc.com、Roger的bitcoin.com、江卓尔的btc.top、杨海坡的Viabtc,以及CSW这边的CoinGeek、svpool、bmgpool等等。他们所掌握的算力占到两网总算力的60%以上,而BCH每日产出价值只有BTC的7%左右。如果都挖BCH,大家都会破产。所以,多数情况下,只有7%左右的两网算力挖BCH。

实际上,由于机枪池的存在,多数矿池不需要频繁切换。江卓尔的BTC.TOP就是著名的“机枪池”,能够快速在BTC和BCH之间切换,不仅自己获得利润,也能平抑BTC和BCH的挖矿收益,帮助其他算力能够获得平稳的收益,而不必频繁切换。

正常情况下,矿工矿池以挖矿收益为直接目标,所以不需要计较挖BTC和BCH。即使是BCH的坚定支持者,也可以挖了BTC兑换成BCH。只有到了算力战的时候,发动算力攻击或用算力防守保障安全的时候,才需要不顾眼前利益,而坚持在某个链上挖矿。

但是,由于多数人不懂这些,只看区块链浏览器上的算力占比。CSW就利用了这种信息不对称夸大自己的声势。他的支持矿池只挖BCH,使BCH挖矿收益比BTC持续低5%以上,其他算力大多切换到BTC挖矿,其支持算力的占比不断上涨,最高达到大战前的70%。在这个过程中,CSW不断以BCH大多数算力的名义发布各种消息(参见CoinGeek官网和CSW与Calvin推文),制造其能够用算力决定BCH未来的假象。

实际上CSW的支持算力仅占两网算力的6%以下。直到大战爆发,公众才明白真相。Bitcoin.com、BTC.com、antipool、viabtc和btc.top等矿池仅切换了少部分算力保护BCH主链,就远超BSV的算力,目前的累积算力超出了40%左右(来自coin.dance)。并且,仍有大量算力在BTC中,随时可以用来保护BCH。

令我疑惑的是,我以为CSW不会真正打这场算力大战,因为一开战他的这个舆论战小把戏就戳穿了。但意料不到的是,即使这个把戏被戳穿,以为CSW算力占优的支持者还那么相信他,他们说,走着瞧,CSW有很多钱,很多算力在路上,我们会取得最后胜利。

CSW支持者唯一的希望在于,CSW准备了很多钱来打消耗战。由于算力大战,BTC挖矿收益超出了BCH的2倍左右,挖BCH会有很大亏损,持久战比拼的是谁烧的钱多。然而,目前两链已经分离,BCH的价格是BSV的4倍左右(11月23日),双方算力相同的情况下,BSV的亏损是BCH的四倍。并且,目前BCH维持高算力主要是为了防范CSW的重组攻击,而ABC 0.18.5版本增加了重组保护,能够排除超过10个块的重组,从而在10个确认后确保交易安全。这样,BCH支持者就可以逐渐撤出保护算力,回到正常挖矿利润了。而CSW维护BSV的算力如果不下降到BCH算力的四分之一,CSW一方将会持续大额亏损(每日百万计),这就不是战争,而是自残了。

11月23日,CSW的投资人Calvin宣布可以接受BSV,而不在于ABC支持者争夺BCH,条件是ABC版本加入重放保护。随后,CSW也表示理解和支持Calvin。他们强调BSV的目标是证明自己是真正的比特币(BTC),而不是比特币现金(BCH)。随后,BCH与BSV的算力开始同步下降。烧钱的算力大战即将结束。

简单说,算力战争比的是双方在BTC和BCH掌控的总算力,而不只是BCH的算力,CSW支持者号称70%算力,只是操控舆论的小把戏。

七.不做重放保护就不会分裂?错,共识分歧的两个链包含不兼容内容就分裂了

“重放保护”是针对“重放攻击”做的防护措施。重放攻击曾经使老牌交易所云币网遭受重大损失。

当时,以太币分叉成现在的eth和etc,云币网率先开放etc的充提交易。有用户就从云币提取etc,云币用私钥对一笔etc进行签名解锁,并将签名在etc网络上广播,完成提现。用户收到etc后,又把广播的经过私钥解锁的签名信息在eth网络上再广播一次,这样云币的eth也到了该用户的地址上。这使得云币损失惨重。因此,在2017年8月1日的BCH分叉时,ABC在程序中加入了重放保护,让BCH的交易与BTC的交易有不同特征,各自的交易签名在对方网络中不被接受,从而防止了重放攻击,这对BTC和BCH都是有利的。

在这次的BCH战争中,正如CSW所警告的,BSV没有加入重放保护。CSW及其支持者宣称,BSV只要不加重放保护,BCH就不会分裂,两个版本区块链只是暂时分开,仍是同一条链内的竞争,终会有一个链死亡,回到唯一的链。

在解释“分叉”时,我们说了,两个版本如果各自有对方不兼容的特征,当这个特征在交易或区块中实现,就形成了两个不兼容的区块,不会按照“最长链原则”抛弃短链,而是形成了两个链。只要两个链都有坚定支持者,有人运行坚持挖矿记账,那么两个链就长期存在,两个币也就永远分裂。实际上在BCH的第556767区块就出现了不兼容的交易信息,ABC和BSV挖出了两个不同的块,形成了两个链。

由于有交易所开了ABC和BSV两种币的期货,分叉后各交易所又陆续开通了现货交易,有了bch和bsv的交易转账,两个账本记录的交易和余额已经不同了,这已经没有办法合并。也就是说两个链和两种币已经永久地、不可逆的分离了。

回到一条链的唯一可能是,这种币已经没有价值,并且没有人在挖矿记账了。只要有一定的共识存在,有人挖矿,这个链就能活下去。像早期的很多山寨币,虽然没多少人知道,但也还延续着。

分裂之后,如果一个币影响较大,生态各方面更原因接受这个币,混乱的状况就会结束,影响大的币一般会延续原来的名称,而影响小的币则被看做是新币。由于新币是原有账户一比一分出来的,所以也被称为免费发放的“糖果”。目前,BCH延续之前使用的ABC版本,新的BSV版本的BSV币可以被看做“糖果”。

没有重放保护带来的问题是这两种币容易受到重放攻击。针对这个问题的系统解决方案是至少一方做重放保护,区分两种交易。个人的解决办法是对自己的币做一次污染,即发送一笔具有ABC版本独有特征的交易到自己的旧地址上,再把旧地址上的币发送到自己新地址上。这样新地址的币就出现在BCH链上,而在BSV链上币留在了旧地址上。有钱包或网站陆续提供为用户分离币的应用或软件,交易所也会成为分离币的重要枢纽。

总之,重放攻击的问题可以防范和解决,没有重放保护不能阻止两个链的分裂。

八.ABC支持者想要杀死BSV链?错,ABC支持者希望BSV实践其路线

一般情况下,战争的目的是消灭对方或征服对方。在这次BCH战争中,CSW的支持者坚定地提出要杀死ABC版本的链,要让比特大陆破产。因此,很多人也认为战争的另一方,ABC和比特大陆也是希望杀死BSV链。实际上,ABC链的支持者多数人希望BSV链能够活下去,让支持CSW理念的人坚定地实践这种理念。

我在《BCH的战争与进化》中分析了这种不对称性,它来自双方的理念分歧。ABC支持者主要是演进主义者,赞同在激烈竞争的密码货币环境下,BCH应当根据形势的变化不断调整和演进。当遇到重大分歧的时候,都没有绝对的把握哪条道路是正确的,因此应该分叉去探索。所以,能够容忍并鼓励BSV在不同道路上的探索。

但是,CSW的理念是理性主义的,认为中本聪和白皮书给出了确定的方向和实现路径,只需要回到中本聪,去掉区块限制,服务50亿人的目标就能实现。他的追随者大多是因为这个清晰简洁的理念而支持他。这种理念就决不允许他人按照市场的发展做出修正和演进。所以,杀死ABC链是理性主义理念的必然。

回顾分叉之路,从BTC分叉出BCH,再从BCH分叉出BSV,现在有了BTC、BCH和BSV三条道路。其中,BTC走的是限制区块容量,保证主链抗审查能力的道路;BCH走的是扩大区块容量,不断演进的道路;BSV走的是取消区块容量限制,回归中本聪早期版本的道路。现在比特币实际上有了三条前进的方向,成功的可能性远比一条道路要大,还有可能三条道路适应于不同领域,都取得成功。生物的进化不就是这样的过程吗?

目前,CSW一方对BCH的攻击威胁一直没有停止。为此,BCH更新了ABC 0.18.5版本,增加了重组攻击,即节点接到按最长链规则需替换掉自己10个以上区块的更长链时,将放弃这个更长链,沿用自己的链。这就是为了防止51%攻击重组区块链。因为,正常情况下的孤块长度不超过2个,超过10个的必然是51%攻击。这个更新能够让BCH交易10个确认做的近乎绝对安全。从而保证了自身的正常使用。大幅降低了CSW攻击的意义,有助于BSV一方恢复理性。

相反,ABC支持者攻击BSV实际上更容易,因为:1)BSV一方坚称自己为正宗,不愿意改变协议,包括防范攻击的改变;2)BSV的支持算力更小,发动51%攻击更容易成功;3)BSV支持128M大区块,容易受到巨块攻击,比如制作一个含有BSV特有交易,包含大量微额交易的128M大区块,这个块会被BSV网络接受,并造成网络拥塞,这个攻击成本很小。

从几天来的战争情况看,ABC支持者只做了战争防御,尽管算力优势很大,但并没有对BSV发起51%算力的重组攻击,也没有发动成本更小的巨块攻击。反而是CSW一方为了制造扩容的舆论优势,自己打包了一个64M的区块,在30多分钟的时间里,仍有很多BSV节点未能同步。相当于自己对自己制造了一次巨块攻击,对外却宣称取得了扩容到64M的伟大成就。颇有点大跃进、放卫星的意思。

所以,尽管BSV和BTC的多数支持者都希望现在ABC版本的链死掉,但ABC版本的支持者大多希望BSV和BTC活下去,继续探索。

九.最长链或最大积累难度一方胜利?错,胜负看双方的战争目标是否实现

战争爆发后,各界普遍关注究竟谁胜利了。很多人根据所谓“最长链原则”,认为哪个链长,哪一方就胜利了。包括火币也发布公告说将认定最长链为BCH。

两链分裂后ABC版本长度持续超过BSV版本,为此,火币认定ABC版本为最长链,命名为BCH。但19日BSV版本链的长度又超过了ABC版本,但BSV的积累难度仍落后近40%。于是BSV的一些支持者坚称最长链决定胜利方,更多熟悉密码货币的人则强调最大积累难度决定胜利方。

实际上,这两种判断标准都是错误的。最长链原则和最大积累难度规则是一条链上自动裁决的客观代码,而不是评价两条链胜负优劣的主观标准。只适用于一条链,不适用于两条链。

在解释分叉时已经说过,最长链原则是在相同版本的一条链上,因网络延迟等技术原因导致分叉的时候,每个节点一旦发现同一高度出现不同的区块,就会保留更长的链,丢弃短链。这是写入代码的,节点会自动运行,不需要人来评判和干预。

由于比特币约两周调整一次难度,所以一般情况下短暂分叉的两个链都有相同的难度,所以某个链越长,这个链的积累难度也就越大。“最长链原则”和“最大积累难度原则”是等价的。

但是,BCH诞生之后,两周调整难度导致BTC和BCH的挖矿难度不能随着相对收益的变化而及时调整。当BCH更赚钱时,全部算力涌向BCH,难度不变情况下,出块时间大幅缩短。当BTC更赚钱时,全部算力涌向BTC,BCH出块时间大幅拉长。这种情况造成BTC和BCH的出块时间都偏离了10分钟,忽快忽慢。BCH价格低,波动尤其大。

为此,2017年11月1日的BCH硬分叉升级中修改了难度调整规则,改成每个区块都根据之前一天的平均出块时间调整难度(即逐块调整难度,简称DAA)。相对收益造成算力流动引起的出块时间偏离很快就能调整回来。有了这个修改之后,BCH和BTC的出块时间都稳定了,切换挖矿获利的行为导致两个链的算力之比跟价格之比基本一致。

然而,在逐块调整难度的情况下,“最长链”和“最大积累难度链”就不一致了。因为,算力较少的链虽然一开始出块慢一些,链更短,但它的难度能很快降下来,出块时间就加快了。因为这个原因,BCH已经比BTC超出了6500多个块了。但是,由于BCH难度低,因此积累难度远远小于BTC。

所以,在难度逐块调整(DAA)的情况下,如果仍然在同一条链上,最大积累难度原则才是代码执行的分叉选择原则。当发现跟一条不同的链的时候,不是判断哪个链更长,而是比较哪个链积累的难度最大,就接受哪个链,放弃另外一条,这是程序自动完成的。

最大积累难度原则也只适用于一条链。ABC版本和BSV版本在第556767区块中因为存在不兼容的交易信息,已经分裂成两条链。即使都没有做重放保护,两个版本接收到对方版本发来的区块会自动判别为不合法,从而拒绝对方的链。也就是说无论长短,无论积累难度高低,两个版本都不会理会对方的链。所以,最长链原则和最大积累难度原则就没了实际意义。BCH比BTC更长也不能说明BCH赢了。

跟区块链领域的很多误解一样,最长链和最大积累难度原则被广泛视为两链胜负的标准,不是因为它自身有这种功能,而是因为人们普遍接受这种误解。

实际上,最长链、最大积累难度、价格、社区人数、市值规模、日交易量、开发人员规模、活跃地址数,等等,都只能从一个侧面反映一个链的数据状态、健康程度、市场接受程度或可能发展前景。并不能判断出不同链的胜负。一个链的发展要多学习其他链的优势,修正自己的劣势。唯我独尊,天天贬低他人,不是一个新生事物迈向成功的道路。

对一场战争而言,胜负的评判标准在于,双方战前想通过战争实现的目标是否实现?

CSW发动战争的目标很明确,就是:1)阻止ABC版本升级到0.18.2;2)ABC团队不再主导BCH开发;3)BSV版本成为BCH的主导版本;4)BCH不分裂为两条链,如果分裂,ABC版本中止挖矿。

ABC和比特大陆一方的目标是:1)BCH升级到ABC 0.18.2版本;2)如果BSV不兼容新版本,欢迎分叉发展;3)BCH继续指代ABC及其兼容版本运行的区块链和币。

现在看来,CSW的4个目标全部落空了。BCH分裂了,除了BSV以外的版本都兼容ABC版本,而不兼容BSV版本,生态中多数商业沿用并升级到ABC的0.18.2兼容版本或更高版本,交易所和钱包部分已经接受ABC版本为BCH,部分中立,但没有将BSV接受为BCH的,ABC团队仍然是主要开发力量。

ABC和比特大陆一方的目标基本都实现了。“基本”的意思是,理论上仍有可能CSW的支持者说服其他开发团队、交易所、钱包将BSV版本作为BCH,并且斥巨资不断攻击破坏ABC版本的链,从而消灭ABC版本。但这种可能性已经极小了。

CSW的一些支持者也回避发动战争时的胜负标准,提出最长链、最大积累算力、放弃挖矿、主动添加重放保护、改挖矿算法等等新的胜负标准,试图延续这场战争,夺取BCH之名。实际上,BSV一开始没能成功夺得BCH之名,整个生态大部分接受ABC及兼容版本作为BCH主链之后,名称就拿不回来了。因为重新命名给商业企业和个人造成巨大混淆,人们不愿意这么做,去中心化的社区也做不到这一点。

所以说,从这场战争的目标来看,CSW一方已经失败了,理性的做法是专心做好BSV,让用户超过BCH和BTC,这比夺取BCH或BTC之名更有意义,也更有可能实现。

十.BCH内战让BTC坐收渔利?错!CSW攻击的是整个去中心化的密码生态

原本以为BCH战争只是一场内战,没想到会引起整个区块链社区,甚至央视CCTV2的关注。最早的社区外关注来自BTC社区。一些Core支持者对BCH爆发内战非常欢迎,有些不惜放下对“假中本聪”CSW的成见,为他呐喊助威。他们的逻辑是“分叉就是攻击”、“分叉者将被分叉”、敌人的敌人就是朋友,所以他们支持CSW发动战争。从利益上看,BCH与BTC的相对价格一直是双方关注的焦点,BCH战争导致BCH相对价格下跌,BTC似乎坐收了渔翁之利。

令人始料不及的是,BCH战争爆发带来以BTC为首的整个密码资产的新一轮暴跌。这场暴跌的根源是去年牛市积累的巨大泡沫仍在破灭,BCH战争虽不是根源,却是压死骆驼的一根稻草。BCH战争导致密码资产市场下挫的一个原因是,在资金稀缺的情况下,BCH战争各方都需要烧钱,使资金更加稀缺,价格下跌,比如CSW推特说他售出了BTC以支付挖矿电费。

BCH战争导致密码资产整体下跌的另一个重要原因是,CSW的这次攻击挑战了中本聪建立的去中心化密码货币经济模型和整个去中心化密码生态。正是由于这个原因,在开战后BTC带领的暴跌中,偏中心化的瑞波币(XRP)和恒星币(XLM)不仅坚挺,甚至一度上涨,XRP市值一举超过ETH,稳居市值第二位。

为什么BCH战争会危及去中心化密码资产呢?原因是CSW虽然宣称忠于中本聪初衷,但其理念、行为和战争的方式与后果都是高度中心化的。

1)CSW发动战争的理念是中心化的

CSW发动战争的主要理由是,认为ABC和比特大陆适应市场变化的演进路线是错误的,中本聪在白皮书中已经确定了能够顺利实现50亿人使用的世界货币的框架,只需要恢复0.1版本,扩大容量就能实现,并且攻击所有与他意见相左的人。按此理性主义理念,社区成员只需听从CSW对中本聪和白皮书的解释,甚至坚信CSW是中本聪,跟随其指引就能够实现世界货币目标了。这是高度中心化的理念,很受不善反思和独立思考的普通人,尤其是急于求成的激进者的喜爱,能够快速获得信众。但它对去中心化社区的危害极大,其效果类似于文革。历史上看,几乎所有的革新性的理念都不是毁于竞争,而是毁于内部将理念的僵化甚至神化,CSW正在对中本聪的理念这么做。

2)CSW发动战争的行为是中心化的

CSW一方组织和发动此次战争的过程高度中心化,其决策核心是CSW及其投资人Calvin,主要力量是Calvin投资的nChain、CoinGeek、BMG和SVPOOL等几家企业和矿池。这次攻击至少从5月份就秘密筹划,在ABC八月初发布11月15日硬分叉升级进度之后,突然发起对ABC、比特大陆等的攻击。攻击策略高度一致,紧密配合,先提高bch算力,然后宣传算力占比,召开BCH矿工大会,高频参与中国社群讨论,向有影响的社群成员私下展示“证据”,不断制造对比特大陆的假新闻,展开专利威胁和法律诉讼威胁等等。前述误解(第2-7,9个误解)主要是有CSW一方制造或强化宣传的。这场攻击在力量组织、舆论宣传、政治策略上都是高度中心化的。

3)CSW的烧钱挖矿挑战中本聪POW经济模型

此次攻击最令人意外的是,CSW一方不仅在战前以低于BTC收益5%的亏损挖矿,开战后仍坚持以超过ABC一方2-3倍的亏损坚持烧钱挖矿。目前,ABC一方已经加入重组保护,大幅降低被攻击风险后,BSV一方仍然坚持巨亏挖矿。这种行为不符合POW机制对矿工驱利的基本假设,如果攻击者可以以相对较少成本发起算力攻击,并从其他途径获得更多利益,那么对POW经济模型是一个挑战。

4)CSW发动战争的后果是中心化的

CSW发动战争攻击的是正在快速去中心化的BCH社区,战争大幅削弱了社区规模和共识。跟任何战争一样,战争也导致双方更中心化。ABC支持者方面比特大陆、ABC和Roger影响力有所加强,但总体去中心化格局和方向没有改变。而CSW一方则形成了高度中心化的社区,挖矿算力主要来自Calvin的投资,理念主要来自CSW,其他支持者显示出对CSW的高度认同甚至崇拜,中本聪本人隐退前都没有达到这样的崇拜,因为比特币的精神核心就是去中心化。

去中心化和中心化是人类社会组织的不同模式,没有先验的优劣之分。但中本聪通过比特币开创的,借助密码技术和分布式共识实现的密码共识机制的核心功能,就是去中心化地组织大规模经济活动。抛开了去中心化,这一系列技术组合就失去了存在的价值。

由CSW发动的这次战争,表面看是宣扬中本聪和白皮书的理念,实际上是以高度组织的中心化方式对一个去中心化的密码社区进行的攻击,挑战了白皮书POW的去中心化激励模型,建立了一个高度中心化的密码货币社区,并号称这才是真正的比特币。由此带来的混乱在熊市中时对去中心化密码生态的沉重打击。

我从2016年就主张,分叉是去中心化社区自然演进的必由之路,在《扩容之争与比特币的政治经济前景》一文中强调扩容争论双方应该各自探索自己的道路。但我在《BCH的战争与进化》分析过,这次分叉不是一次必要的演进分叉。现在看来,这实际上是中心化力量对去中心化社区攻击的一次攻击。

BCH的诞生是一次典型的演进分叉。BCH社区虽然自认比BTC更加符合中本聪点对点现金,或世界货币的目标。但总体上尊重了BTC社区的选择,采取措施避免相互伤害:1)分叉时加入了重放保护,防止用户损失;2)修改了地址格式,避免了用户与BTC地址混淆;3)调整难度规则,减少算力潮涌对BCH和BTC双方的损害;4)BCH支持者拥有50%以上两网算力,但从未进行过算力攻击。这些措施即是正义的,又是符合双方共同利益的。相比之下,此次战争中的CSW一方明确拒绝重放保护,威胁对ABC发动算力攻击则是对去中心化理念的疯狂挑衅。

所幸,BCH战争已经结束,CSW一方组建了紧密的BSV生态,放弃了BCH。但保卫去中心化生态的战争并未结束,他们现在的目标是BTC。希望更多人能消除误解,理解真相,共同保卫去中心化生态的十年发展成果,这才是真正的信仰。

(作者:刘昌用;本文仅代表作者观点,不代表链得得官方立场)

猜您喜欢: