昌用:BCH安全谣言和给比特币各社区的建议

导  读  

最近,BCH出块时间波动较大,有消息宣称BCH出现重大技术漏洞,即将死亡。北京链安也发布消息称qqq9开头的地址连续挖到606229到606234六个区块,建议交易所充提BCH提高到18个确认。这些消息造成一些恐慌。但是,价格并未受此传言影响,不跌反升,这让很多人感到困惑。

昌用:BCH安全谣言和给比特币各社区的建议

实际上POW机制任何时候都面临51%攻击,BCH目前受到的威胁并不比平常更大。交易所不需要改动自己的确认策略。BCH支持者也不需要担心。安全误解很大程度上来自对BCH的特点和历史缺乏了解。借此机会,做些普及。
BCH出块时间的大幅波动自2017年8月1日诞生以来就存在。根源在于比特币的挖矿难度调整是有时间间隔的。在2017年11月1日之前,BCH沿用了比特币的2016个区块(正常是两周)调整一次。但由于BCH与BTC采用相同挖矿算法,当两者价格差异导致挖矿收益差异时,算力就会涌入高收益币种,该币种出块时间加速,导致下次难度调整时,会调的很高;另一币种则出块缓慢,到难度调整时,会调的很低。所以,下次调整后,收益逆转,算力又会反向冲击。这种现象我称之为“算力潮涌”。
同样规模的算力在两个币之间潮涌,这对高价格币(BTC)影响较小,因为其算力总量很大,但对低价格币(BCH)影响就非常大了。2017年8-10月,BCH频繁出现连续两三个小时的1分钟出块和一天只出一两个块的情况。为此,2017年11月1日,BCH硬分叉升级,修改了难度调整算法,改为逐块调整难度,调整时参考前144个块(大约1天)的出块时间,并且当较长时间不出块时,难度会有一个较大的降幅。这就是所谓的动态难度调整算法(DAA)。
有了DAA之后,算力仍然会根据收益变化在BTC和BCH之间切换,但算力潮涌的影响总体上解决了。只是由于BCH价格低于BTC,所以算力切换导致BCH的出块时间波动仍然比BTC更大一些。考虑到挖矿本身的随机性,实际的交易确认的用户体验差别不大。所以,从2017年11月开始,BCH系统才算正式常规运行起来,这是当时价格飙涨的原因之一。
BCH的DAA机制平均每十分钟(每块)调整一次难度,但价格的变化是连续的。因此,算力仍然能找到在相对价格显著变化,而难度尚未调整的空挡切换算力盈利的空间。这在DAA出现不久就被BTC.TOP发现并商用了,即根据相对价格和难度差异,自动快速在BTC和BCH间切换算力,获取收益。这种矿池在BCH社区称为“机枪池”,意思是扫一梭子换一个地方。
机枪池利用难度调整间隙,切换大量算力,给BCH出块时间造成大的波动。切入后出块时间缩短到一两分钟,并可能一家连续挖出多个块。难度升高后,机枪池切出,极端情况会造成出块时间延长至一两小时。由于BTC.TOP是BCH的友好矿池,机枪池仅仅是利用技术优势获得商业利润,没有攻击动机,并未引起广泛关注。
直到2019年6月才有另一个挖矿地址为qq4qnuq862907qcwk64w47lm625p0497xsp372tdxw的矿池成为BCH的第二个机枪池,引起BCH社区关注,有人推测该算力来自币印矿池,但币印朱砝予以否认。直到9月,有人在交易ee56e95b962ac9b9b8fab75e60723499b5e4c10272cdf5b20dc13c54fb550e1f中,发现qq4qn地址与标注为币印的挖矿地址qqm8uru433pjygm7q8przw9qw9pacvmvx5cngmqmue向同一地址发送BCH。证明两个地址的私钥在同一个控制者手中,即币印。

昌用:BCH安全谣言和给比特币各社区的建议

此事曝光后,币印并未公开承认,但宣布了在不同币种间切换算力获取更高收益的新服务,并在矿工未声明反对情况下即默认同意接受该服务。而qq4qn地址则停止了机枪池挖矿。现在的qqq地址则开始对BCH的机枪池挖矿,并且仍然没有标注矿池。
基于这些信息,造成此次恐慌的qqq地址机枪池很大可能来自于币印。矿池为商业利润改进挖矿技术是正常的经营活动,但作为大矿池,隐藏算力匿名挖矿,让谣言和恐慌借自己的隐匿行为而泛滥缺乏社会责任的担当。

昌用:BCH安全谣言和给比特币各社区的建议

此外,目前显示unknown的算力也并非全部来自币印。BCH出块标注unknown有5种情况:
1)零星算力没有标注自己或浏览器没识别它;
2)新矿池还没有开始标注或被识别,这两种是常见情况,BTC目前有8%算力标注unknown;
3)大矿池因信仰不愿被人知道自己挖与信仰不符的币,这被戏称为“偷挖”,比如之前信仰BSV的Coingeek矿池偷挖BTC;
4)测试新挖矿机制,不愿让人知道,币印不标注可能部分出于此原因;
5)埋伏算力准备发动攻击。这是大家担心的。
目前,BCH的unknown算力占到了45%左右,unknown连续出块情况较多,但并不全部来自可疑的qqq挖矿地址。比如606283到606288的6个区块来自unknown。但实际上,606283在coinbase标注了GToomim Bros: 相关链接 — P2pool: 相关链接 。这是一个来自哈萨克斯坦坚定支持BCH的去中心化矿池(p2pool),它在coinbase里就直接将12.5个新币的奖励分给了矿工。由于浏览器暂未标注它,也被视为unknown。而606284则被ppwq打头的地址挖出。606285到606288才是qqq9地址连续挖出的4个块。而unknown从606619到606624连续挖的6个,两个属于ppwq开头的地址,四个属于qz3x开头的地址,与qqq9地址无关。不过,qqq9地址的确产出过连续的6个区块,并且其他unknown地址也不能确定是否属于币印。

昌用:BCH安全谣言和给比特币各社区的建议

目前并不确定币印的真实意图,引起恐慌的原因在于,由于反对比特币分叉和与支持BCH的比特大陆的法律纠纷,币印的确是BCH的坚定反对者。币印动用大量算力在BCH连续出块超过6个,这对于习惯于“比特币6个确认才安全”的人而言,意味着币印有能力进行51%,实现双花。并推测,币印匿名挖矿正有此意。北京链安也是基于此发出安全警告,建议将确认数提高到18个。
然而,即使币印能够连续出块超过6个,BCH仍然是安全的,恐慌源于对BCH缺乏了解。
BCH自诞生以来就面临反对分叉的BTC支持者的各种形式的持续攻击,2018年11月算力大战后又增加了来自BSV支持者的各种不择手段的攻击。可以说BCH是遭遇攻击最多的密码货币。
杀不死你的,将使你更强大。在长期的自卫防御中,BCH做了重要的改进,化解了各种攻击,并变得更加安全。
实际上,比特币6个确认只是一个早期的粗略估计,在不同条件下安全的实际要求差别很大。
由于BCH在2018年11月的算力大战中面临来自BSV一方持续的51%攻击威胁,最终通过加入10个区块的重组保护取得了算力战争的胜利。因此,BCH的转账交易在10个确认后就不可被双花了。
交易所方面,Coinex很早就实行BCH1个确认充值到账,Huobi则是2个确认,其他交易所也很少用6个确认了。交易所的安全关键是提现而不是充值,小额提现不会成为51%的目标,大额提现有KYC身份验证为基础,并经过人工确认。由于重组保护,从充值到提现的确认数最多也只需要10个,交易所原有交易策略应当不小于此。所以,专业交易所完全不需要因为币印连出6个区块,就去改变自己的充提策略。
小额支付方面,BCH已经广泛采用了0确认策略。比如i使用bitcoin.com、bitpay等钱包支付或收款,都接受0确认,一般3秒内完成支付。并且允许接收后立刻用于支付。而BTC的零确认支付是不安全的。这是因为BTC加入了Replace by Fee的功能,即你发出一笔BTC后,可以用更高的手续费再将它发给另一个地址,相当于撤回了前一笔交易,这彻底瓦解了0确认的安全性。
BCH的交易一旦发出则无法撤回或替代,因此,对于小额支付,BCH的0确认足够安全,而大额交易建议等待10个确认,重组保护可以保证10个确认的安全性。不过,这只适用于BCH,不适用于BTC和BSV。BTC和BSV需要根据交易金额和相对价格(与算力成比例)判断安全的确认数,按当前币价,BTC的6个确认的安全性大约与BSV的40个确认相当。
由于BCH受到更多攻击,也高度重视作为去中心化电子货币的安全性,所以提高交易安全性也是开发的重点。一些提高交易安全性的技术正在开发,不久将会上线。
比如,Bitcoin Unlimited团队开发的“双花证明”功能,可以在全网检测双花交易。交易者在交易尚未确认之前,判断是否存在对该交易的双花交易,防止被双花。
BCHD团队开发的“预共识”功能(也称雪崩,Avalanche)更加重要。该功能在挖矿节点之间建立出块前的预共识,能够有效地识别和化解双花攻击以及其他类型的攻击,提高安全性。它还能够提高BCH网络的连接和同步速度,解决扩大区块容量面临的瓶颈问题,为未来的扩容奠定基础。
为了能够更快地适应市场需求,并且减少技术负担,BCH形成了每年5月15日和11月15日两次硬分叉升级的惯例。这是BCH能够快速演进的重要保障。但也成为BCH反对者的重要攻击节点。此次事件也是在11月15日升级前发生的。
不过从目前情况看,此次事件很大程度上是误解而不是攻击。已经成为第一大矿池的币印的任何作恶行为,都很难不被发现,将会严重损害自身信誉,而信誉是矿池之本,得不偿失。不过,币印的匿名机枪池的确被人利用,成了攻击BCH,制造恐慌的手段。建议币印对自己的算力做出标注。
这次事件的根源在于BCH与BTC、BSV之间的分歧和斗争。这已经耗费了各方太多的资源。分歧和斗争的根源在于发展理念,BTC和BSV社区坚持认为只有自己的比特币分支才是唯一正确、正宗的比特币,并且必将一统江湖。其他密码货币全是垃圾(“Shitcoin”),并且认为一种挖矿算法只能存活一种币。为此,坚持要杀死比特币的其他分支。
相比之下,BCH经历了扩容之争、分叉、算力潮涌、算力大战和各种攻击,一路起起伏伏,不断做出调整。更加深刻地认识到,中本聪开创的是一条科学技术革新推动的社会经济试验,不是上帝创造,先知预言的神迹。我们只能在以往经验的基础上不断向前摸索。在此过程中,出现难以化解的分歧往往意味着多种潜在的成功机会,应该容忍分叉,鼓励各自探索。这样才会有更大的成功机会。
过去两年中,支持BCH的算力长期保持在BTC总算力的51%以上,但从没对BTC或BSV发起过算力攻击,也没制造过攻击的威胁或恐慌。很大程度上是因为认同去中心化社区中鼓励各自探索的自由主义精神。即使面对BSV51%攻击疯狂威胁,也只是防御,而没有背离自由主义精神对BSV发起51%攻击。
目前,BTC的发展定位已经从支付手段转向了价值储存或数字黄金,而BSV则宣称要做容纳整个互联网的公链。BCH的重点一直集中于去中心化的支付手段。可以说,三种币已经形成了方向和功能的差异化。抛开“绝不分叉”和“一个算法一条链”的教条,减少攻击和摩擦,三个社区可以更加专心实现自己的定位。
再进一步,从目前区块链和密码货币的发展形势看,我们正在构建的实际上是非对称密码技术和分布式共识机制改造的密码经济。这里不仅有货币,还有证券、网络、存储、游戏等等很多产业和产品。一条链囊括全部既缺乏技术可行性,也不利于经济和社会的自由发展。
面对密码经济的蓝海,各种区块链应用或密码货币更应该结合自身优势,专注市场需求,使自己更成熟、更强大。大家分工协作,开放包容,这才是去中心化密码经济应有的格局。