作者为刘昌用先生,授权吴说区块链发布,全文7619字。BCHA正在遭受疑似BCHN支持者的持续算力攻击,主要形式是空块攻击。攻防双方已经进行了多个阶段的策略调整。无论攻击结果如何,这次BCHA攻防战为我们了解PoW,了解去中心化密码货币发展中的问题提供了很好的实例,值得研究思考。1.BCH的三次分叉
2020年11月15日,BCH再次分叉,这是继2017年8月1日BCH诞生分叉,2018年11月15日BSV分叉之后的第三次分叉。BCH之所以会分叉,根源在于去中心化密码经济在演进中会产生不同的探索方向,就像生物的进化一样。但BCH分叉更加频繁则是由于,去中心化密码货币还没有形成有效的治理机制,而BCH的去中心化程度更高,开发团队多元化,意见领袖多元化,更容易因重大分歧导致分叉。其他公链要么本身有较强的生态中心,比如ETH和TRX等多数公链;要么从去中心走向了中心化,比如BTC形成了Core中心和BSV以CSW团队为中心;要么干脆没有了开发社区,也就没了分叉了,比如狗狗币、LTC等。2017年BCH从BTC分叉是由于扩容之争,2018年BSV分叉是CSW团队有组织夺权失败,两次都经历了持久激烈的战争,敌对和攻击甚至延续至今。相比而言,BCH此次分叉的起因有些意外,战争也较为温和,影响也相对较小。但分叉中演练和展示了去中心化密码经济生态的内在逻辑,仍然很有价值。2.BCHA分叉的原因
本次产生了BCHA的分叉,根源是缺乏有效的去中心化治理机制,直接原因是BCH的原核心开发团队ABC不顾社区分歧,利用代码管理权,擅自将IFP代码写入升级节点程序,并且发布公告在11月15日升级。这背后的问题是,没有成熟治理机制的BCH,事实上形成了ABC团队的较大权力,而ABC并不擅长治理和,并且在主导开发3年后,有了自大心理,对其他开发者、相关企业和其他有影响的成员的意见不再重视,甚至多有抱怨。与此同时,经过了3年熊市,ABC的资金压力也比较大,专注于BCH开发维护的机会成本很高。由于一些抱怨和摩擦,ABC与捐助者之间的关系也有所恶化,捐助资金减少。ABC在生态中原本有很高的支持。IFP的反对者也一直在试图通过沟通化解危机,避免分裂。IFP的一些支持者也主张在形成共识的前提下实行IFP。但ABC经验和能力严重不足,幼稚地迈出了强推IFP的错误一步,不仅与IFP反对者决裂,也导致一些IFP支持者坚决反对ABC,转向支持BCHN,包括江卓尔和我本人。可以说,ABC的幼稚行为直接导致BCHA这次分叉。当ABC将不成熟的IFP写入代码,并宣布在11月15日升级之后,分叉已经变得无可挽回。因为,对多数人而言,这个IFP版本不可接受,而公告一经发布也很难撤回。3.和谐分叉建议
报告:GameFi项目将“利润置于安全之上”,对用户构成巨大风险:8月4日消息,区块链网络安全审计机构Hacken警告称,P2E加密游戏中“不令人满意的”网络安全措施对GameFi项目及其玩家都构成巨大风险。
Hacken在报告表示,数据表明,P2E游戏所属类别的GameFi项目通常“将利润置于安全之上”,发布产品时没有采取适当的黑客防范措施。根据加密安全排名服务CER.live收集的数据,GameFi网络安全存在严重缺陷。它发现,在研究的31个GameFi代币中,没有一个获得最高安全评级AAA,而16个获得最差评级D。(Cointelegraph)[2022/8/4 12:01:29]
意识到分叉已经不可避免。8月27日,我向社区发出了《BCH理性和谐分叉的建议》。我认为,既然分叉已经不可避免,应该尽量让分叉和平进行,尽早确定分叉细节,减少不确定性和相互的攻击消耗。去中心化生态的分叉不可避免,借这次分叉建立和谐分叉的机制对未来的有序演进更加重要。这跟和平总统选举代替流血改朝换代的意义一样。我建议,BCHN和ABC搁置最尖锐的命名权争夺问题,先达成和谐分叉的共识,坐下来谈。在谈判中,重点解决命名权问题。命名权问题一旦解决,其他问题迎刃而解,生态稳定和用户权益的保护也能够实现。这个建议得到了生态的一些重要成员的赞同,但关键的战争双方BCHN和ABC都坚决反对,他们都认为对方是坏人,应当赶出社区。双方信念坚定,无力动摇。和谐分叉无法实现,能够减轻不确定性和斗争激烈程度,减少BCH生态损害的关键在于尽早确定命名权。为此,我向杨海坡建议,上线BCHN和BCHA期货交易,明确在分叉前价格更高的命名为“BCH”。9月底,Coinex上线两个期货交易对,并宣布价高者命名BCH的策略。当时BCHA/BCHN比价大致为0.17。随着交易的展开和其他交易所的跟进,形势逐渐明朗,BCHA/BCHN从0.17一路下行至0.05。命名之争基本已无悬念。11月初,ABC团队宣布发布支持BCHN的版本,并愿意交出BCH官网bitcoincash.org的管理权,并把ABC链标识为BCHA,命名之争在分叉之前,已经结束。此时,留下的悬念是,BCHA能否在分叉后活下来。4.BCHA的诞生
11月15日,在661648区块高度,分叉时刻来临,BCHN价格较高,支持算力也较大,在661647区块3分钟后顺利出块。但BCHA价格只有十分之一左右,而分叉时两个链的难度是相同的,因此,挖BCHA意味着要亏损90%。如果没人承担亏损挖最初的几十个区块,难度永远调整不下来,BCHA链无法出块,就会死掉。1小时40分钟之后,BCHA的661648区块终于诞生了。矿工在coinbase留言“很好矿池/ABC/”。貌似外国矿工对中国矿池的致谢。杨海坡的Viabtc矿池已经宣布支持BCHA挖矿,致谢有可能是给他的。BCHA大概花了约6天时间才回到正常出块时间。从661647到661747的100个区块,正常情况只需要17个小时,BCHA则超过了5天。这个创始矿工挖了从661648到661670这22个难度最高,亏损最大的区块,这是一笔不小的支出。从661671区块开始,匿名创始矿工停止挖矿,而coinbase标注了“/ViaBTC/Minedbybucher/”的矿工开始继续出块。5.和平发展建议
美国SEC主席:应将加密交易平台置于监管制度之下,以保护交易者:在最近与CNBC的Squawk Box节目的谈话中,美国SEC主席Gary Gensler表示,比特币等其他币种属于投机性资产类别。他坚持认为比特币和加密货币通常与欺诈、和有关。在这方面,他坚持认为应该将加密交易平台(即加密交易所)置于监管制度之下,以保护交易者,就像他们在纽约证券交易所交易一样。缺乏监管对投资者不利,也不利于加密所基于的技术。(U.Today)[2021/8/4 1:34:46]
从8月初到11月20日,由于分叉带来的不确定性和社区摩擦,BCH价格持续下跌,对BTC价格不断破新低。从8月2日的0.0282最低下跌到11月18日的0.0135,跌去了一半。随着BCHA趋向正常出块,分叉似乎尘埃落定,消除了相互的干扰,双方应尽快投入到各自的建设中。为此,我于11月19日发布《BCH分叉后的建议》,主要有:1)建议双方停止敌对,各自发展。2)BCH在下次升级中完成一些已经形成共识的事项后,将硬分叉时间由原来的半年改为3年,以维持生态稳定。3)BCHA市值较小,可以保持半年硬分叉升级,试验治理机制等改进。4)对于BCHA试验成功的改进,BCH在3年后的硬分叉升级中引入。这个建议没有得到双方回应。事实上,一场攻击正在酝酿中。6.空块攻击与粉尘攻击
正当BCHA出块趋于稳定之际,11月20日,针对BCHA的攻击开始了。22:45分攻击者挖出了661684,这是一个空块,只有新币发行交易,不打包任何其他交易。同时,攻击者发送大量0.002左右的垃圾交易堆满内存池。之所以攻击者没有采用pow常见的51%攻击,重组BCHA链,是因为BCH在BSV防御战中采用了重组保护策略,超过10个区块的重组不会被节点接受。这样只要交易所要求10个以上确认,双花攻击就不能成功。当时直接击退了来自CA和CSW的51%攻击威胁。攻击者采取空块攻击+粉尘攻击,保持连续出空块,使正常交易一直不能被打包,借此破坏BCHA的正常转账功能。粉尘交易试图拥塞节点内存池进一步妨碍正常转账和出块。攻击者在coinbase留言“Nov25th2020/”,后来,改为“Nov25th2020:bchadump|voluntarism.dev”,似乎是基于自愿主义立场,并恐吓市场要在25日大量抛售BCHA。在连续打出15个空块之后,防守开始。21日3:31分,661700区块打包了18228笔交易,大小为8M,矿工费总额0.3BCHA。coinbase留言“/ViaBTC/Minedbygoatpharmer/”。7.停止攻击的建议
数据:机构巨鲸从Coinbase提取11827枚比特币并置于冷存储库中:5月1日消息,CryptoQuant和WhaleAlert提供的数据显示,在过去13个小时内,一家机构鲸鱼在Coinbase购买了11827枚比特币,并将其放入冷存储库中。MoskovskiCapital首席投资官分享了一张CryptoQuant图表,显示机构投资者在不断囤积比特币,并决心长期持有。
从CoinbasePro提取的11827枚比特币相当于670995053美元。该交易已被跟踪大型加密货币转账的WhaleAlert确认。(U.Today)[2021/5/1 21:16:45]
从20日到24日,攻防双方僵持不下。攻击方打出了大部分的区块,防守方也不断保持出块,每个区块8M,打包近2万笔交易。在我看来空块攻击和粉尘攻击是无利可图的非理性行为,也难以成功。11月24日,我在read.cash上发布了《停止攻击BCHA》的建议。主要理由是:1)攻击方的消耗大于防守方,防守方只需要两小时过来出一个块就行了。2)粉尘攻击每个区块为防守方带来20元左右手续费收益。3)现在并没有出现像bsv分叉那样激烈的社区对抗,没必要发起攻击。4)没有社区对抗的情况下,很多人是双持的,攻击平白造成大家的损失,不得人心。5)只要有支持算力两小时出一次块打包交易,bcha就不会被杀死,攻击徒劳无功。6)ABC团队继续开发bcha,对bch有借鉴意义,比逼他们放弃开发或转向封闭的bsv开发更好。7)如果bcha真的被杀死了,实际上是告诉core粉和bsv粉,bch可以用同样的方式被杀死。建议发布后,25日4:36,从662116区块开始,空块攻击停止了,攻击者的4M区块与Viabtc的8M区块一起清理内存池的垃圾交易。其他一些矿池,如ming-dutch也加入了正常挖矿。我一度认为攻击者恢复了理性。但25日21:23,从662135区块开始,空块攻击和粉尘攻击再次启动,coinbase留言“Nov27th2020:runthenumbers|voluntarism.dev”,留下了一个身份“voluntarism.dev”。攻击者将coinbase改为中文“不管黑哈希白哈希,能维护矿工利益的就是好哈希”。这是江卓尔常用的猫论变形。但这种行为不符合江卓尔的理性习惯,江卓尔本人也明确支持和谐分叉。这个coinbase留言似乎有些居心。8.孤块攻击
孤块攻击,是攻击者在收到正常打包交易的区块时,立刻用较大的算力打出连续两个空块,将正常区块孤立掉。这是一个小型的重组攻击或51%攻击,目的不是为了双花,而是阻挠交易正常打包。攻击恢复后,ViaBTC继续正常出块,正常交易在三四个小时内都能够被打包。27日,攻击者voluntarism.dev推特发出攻击威胁:谁敢挖BCHA区块,除非把区块奖励100%给ABC的基金地址,否则就会被孤立。并且给出了代码,教矿工如何把基金比例从8%提高到100%。微博博主BruceLee转发次威胁,并且认为面对这种孤块攻击威胁,不可能有大算力亏损保护BCHA,ABC只能改变算法,甚至改pos了。28日孤块攻击发生了。在viabtc挖出了662397区块之后,voluntarism.dev快速挖出了662397、98和99,将viabtc的97作废了。但是,防守方也有准备,匿名防守矿工紧接着用大算力在viabtc的662397基础上连出了12个区块,将攻击者的3个区块再次孤立,并且超过10个区块不会再被重组。匿名防守矿工在coinbase留言“/voluntarism.dev,akaasicseer.comandu/ugtarmas,isabully/”,称攻击者为“恶霸”。这次攻防战以攻击者voluntarism.dev的失败告终。bch社区有人分析认为,voluntarism.dev的背后是asicseer.com矿池,其CEO是AlexanderLevinJr,在reddit上的id是u/ugtarmas。9.群起而“防”之
JustSwap已被imToken收录并置于DeFi推荐首位:据最新消息显示,JustSwap已被imToken收录并置于DeFi推荐首位。
据悉,JustSwap是TRON上的第一个通证交换协议,用户可以在任意TRC20 Token 间相互兑换。系统定价,交易方便,而且协议不会抽取手续费,所有的手续费都提供给协议的流动性提供者。imToken为全球超过 200 个国家和地区的千万用户提供安全、可信赖的数字资产管理服务。[2020/8/20]
孤块攻击失败后,voluntarism.dev暂时放弃了失败成本太高的孤块攻击,继续采取空块攻击和粉尘攻击。持续攻击,尤其是孤块攻击在矿圈激起了一些人的反感。同时BCHA的价格基本保持了稳定。挖BCHA仍然有利可图。挖BCHA的矿工反而增多了。28日-29日,包括匿名防守矿工、viabtc、ming-dutch在内的至少5个矿池或独立矿工参与了对BCHA的防御。匿名防守矿工只打包正常交易,不打包粉尘攻击交易,区块在100k以内,在coinbase中称voluntarism.dev是“恶霸”,如区块662406。Viabtc矿池打包8M区块,约2万笔交易,分别有不同的矿工产出。比如,662453为矿工mminer55打出。Mining-Dutch矿池打包2M区块,比如区块662454。Bcha.pro矿池打包1M以内的区块。如区块662464。另一个匿名矿池打包32M区块,每块包括75000多笔交易,交易费高达1.5BCHA,是消化粉尘交易的主力。如区块662450。29日中午11点,对BCHA的空块攻击停止,662447高度开始正常出块;下午6点,在662462高度,内存池的粉尘交易清理完毕。攻防战再次告一段落。10.“自由”的代价
11月30日7:57,区块高度662589,空块攻击和粉尘攻击再次开始。这次的coinbase留言改为“evoluntarism.dev:6174x/x|thepriceoffreedom”。这个留言表明,1)攻击者欲将BCHA置于死地;2)攻击者为持续的攻击付出了显著的成本;3)攻击的动力是基于自由主义或无政府主义理念,反对从区块产出中抽取治理基金。PoW生态早就有了从区块产出中抽取基金的做法,Dash和ZEC已经运行多年,没有人因此发起算力攻击。攻击者攻击BCHA,从根本上还是由于ABC强推IFP过程中产生的仇恨。至此,攻击已经展示了明显的非理性特征,成了基于信念和仇恨的行动,更多是仇恨。这种攻击本身是用暴力强行保持一致,杀死分叉链,违背了自由主义精神。攻击方在“自由的代价”信念下,再次调整攻击策略,实施更大算力的“空块攻击+粉尘攻击+孤块攻击”:1)攻击者先用大算力、高成本空块攻击,将难度维持在高位,驱赶正常矿工。比如从662721到662740区块34分钟出块20个,区块平均间隔仅1:47分钟。2)难度拉高之后,停止挖矿,等两三个小时,继续开始大算力挖矿,并把难度调整下来。3)出现正常打包区块,则大算力51%攻击,孤立该区块。12月1日下午,有6个Viabtc的区块被孤立。攻击方不惜血本,防守方该如何应对?11.算力VS共识
动态 | Coinbase托管合作伙伴曾 “反复将客户资产置于风险之中”:据CCN报道,Coinbase本周宣布正式为机构投资者推出托管服务Coinbase Custody。然而,在保护客户资金方面,该公司的合作伙伴电子交易结算(ETC)似乎声誉并不出色。今年3月,在Coinbase托管服务正式推出前不到四个月,美国证券交易委员会(SEC)曾指控ETC“反复将客户资产置于风险之中”。据SEC,ETC曾使用客户800万美元存款支付其借入资金的保证金。此外,该公司还曾使用1700万美元的客户存款作为贷款的抵押品。SEC称,这些事件在2015年发生过“无数次”。虽然没有任何客户资金直接受到ETC涉嫌违法行为的影响,但所有这些行为都违反了客户保护规则。ETC最终同意支付8万美元的罚款,但不承认或否认了SEC的指控。一位知情人指出,轻微违规行为在监管严格的行业中很常见。事实上,摩根大通等顶级公司已经支付了数十亿美元的罚款,而其传统金融产品的需求却没有大幅下降。[2018/7/4]
在攻击方强大的算力攻击下,12月1日晚上从各浏览器上BCHA的区块停留在攻击者的662658区块,不再出新的区块。12月2日,ABC紧急发布了0.22.8版本,设置检查点,将攻击者的662687区块废弃了攻击者的空块,防守算力打包新的662687区块,并在这个区块基础上形成一条防守链。但是,此时blockchair.com、viawallet等BCHA的主要浏览器都停在了攻击者的662658区块。BCHA的交易所也没有转到防守链。Coinex宣布暂停充提。攻击方似乎快要成功了。12月2日,evoluntarism.dev在推特上发出苛刻的停战条件:1)不再使用sha256挖矿算法。2)币的全名里面不能包含“bitcoin”。3)币的代号里面不能包含“bch”。除了第三条说的过去之外,前两条十分过分,实际上市场上采取“bitcoin”冠名的币,采取sha256算法的币都有几十上百个。在ABC分叉前就已经放弃bch之名,并交出官网管理权的情况下,这种要求完全是接受投降的姿态。然而,无论攻击者的链更长,还是更早出现。攻击者毕竟是攻击者。即使ABC在BCH社区失去了自己的多数支持者,但他仍然有自己的支持者。只要ABC和他的支持者不放弃,对浏览器、交易所、矿池而言,这个币的未来在于ABC和支持者,而不是攻击者。12月2日下午,blockchair、viawallet等BCHA主要浏览器完成了节点更新,从662687区块开始更新为防守方的链。截止发稿时,攻击者的空块没有再出现。许多PoW的坚定支持者认为BCHA不遵守最长链规则,开发者中心化,嘲讽为“ProveofDeveloper”。但是,只要有人开发维护、有支持算力、有支持者、有浏览器、交易所等基础设施支持,算力很难杀死一个去中心化的密码货币。算力杀不死共识。12.攻防战的展望
总体看,这次攻防战的必要性不大,因为命名之争在分叉前已经解决,ABC放弃了BCH之名,甚至交出了官网管理权。这与2018年BSV分叉时双方激烈争夺的局面完全不同。这次攻防战的损耗总体也不大,这是由攻击的性质决定的。2018年BSV分叉是由于CSW威胁对BCH进行51%重组攻击。防守方和攻击方都堆积了大量算力,远远超过了产出收益,每天的总消耗在百万元以上。这在2018年寒冬对整个市场造成沉重打击。本次攻防战,双方总体上保持了正常出块的算力,仅在孤块攻击时动用了大量算力。而BCHA的价格也并未大幅下跌。因此,挖矿收益损失不大。这也是攻防战能够持续的原因。此次攻防模式决定了,在经济利益上,攻击方处于明显的劣势。这跟2018年分叉又是巨大的差别。2018年是防守方为了BCH免受51%重组攻击,必须保持大算力挖矿,持续损耗。而攻击方并不需要一直攻击,而是随时可以发动攻击。可以说,防守方在明,攻击方在暗。本次攻防战,重组保护消除了51%重组攻击的威胁,攻击方只能采取空块攻击、粉尘交易攻击和孤块攻击。形势发生逆转,即攻击方必须持续打包空块,维持内存池的粉尘交易,而防守方只需要隔几个小时打包一个大区块,打包大量交易,并额外获得交易费收益。因此,本次攻防战攻击方在明,防守方在暗,攻击方处于被动。为了防止防守方出块,攻击方还需要加大算力,使挖矿处于亏损状态,这是伤人800,自损1000的做法。这种不利于攻击方的非对称攻防战持续消耗攻击方资源。即使攻击方基于仇恨而不顾理性,不惜血本进行攻击,防守方仍可以基于共识废弃攻击者的链,或采用其他临时措施抵御算力攻击。由于BCHA有核心开发团队,有坚定地支持者,有自己的共识社区。并且,在多个重要的交易所交易,有巨大的市场,只要价格足够低,就会有大量买单,矿工就能获得收益,就会有正常矿工挖矿。因此,只要ABC不放弃,支持者不放弃,BCHA是不能靠算力杀死的。这是信息世界与物质世界的巨大区别。物质经济可以通过肉体消灭而彻底杀死敌人,信息世界则不能通过算力杀死对手。真正的胜利要在市场上创造价值获得更大共识。13.分叉战争与密码货币的进化
将去中心化密码货币看做一个不断演进的创新实验,从2017年扩容分叉,到2018年BSV分叉,到此次攻防战,三次分叉都揭示出去中心化密码货币的重要问题。2017年扩容分叉暴露的主要问题是去中心化生态的治理问题,这个问题一直没有得到解决,并不断以新的形式出现。2018年分叉表现为去中心化社区难以抵御有组织的中心化攻击。本次攻防战更是因为探索新的治理模式直接导致分叉。2018年分叉展示出另一个重要问题:去中心化密码货币需要不断进化,还是回归经典保持稳定?支持CSW的很大一部分人,尤其是开发者正式被CSW的回归经典路线所吸引。本次攻防战还展示出一个深层次问题:少数派是否应该活下来?这个问题我在2016和2018年两次战争中都曾提到过。我认为,既然是创新领域,就难以确定一定能成功的路径。重大的、不可调和的分歧应该分叉。分叉后的少数派应该生存下来,多保留一个成功的可能。遗憾的是,三次分叉都充斥着杀死少数派的呐喊和行动。之前是BTC支持者和BSV要杀死BCH,这次则变成了BCH支持者要杀死BCHA。在BSV分叉过程中和分叉之后,BCH社区整体上保持了宽容的态度,一直处于防守,始终没有发动对BSV链的算力进攻。这次,为何对于BCHA如此苛刻?令人费解。14.攻防战的价值和启示
在以往两次分叉的研究中,治理问题和少数派生存权问题已经成为我关注的焦点。长远看,我认为这是去中心化密码货币能否成功的关键。如果不能在保持去中心化的前提下有效治理,成功的道路将非常漫长。为此,我从2017年开始寻找解决方案,并从BCH的演进中得到验证和启发。在2020年1月1日启动的Freecash系统中,继承了BTC、BCH和其他密码货币验证过的成功经验,也做了一些推演和新的设计。治理机制方面,以ABC和捐助者的囚徒困境为鉴,将治理分成两层:第一层,治理基金必须公共产出,而不能依靠捐助。第二层,探索去中心化的治理基金运行模式,防止公共基金造成生态的中心化。试验已经取得初步成功。在共识分歧和少数派生存问题方面,确立了自由分叉原则,继承了BCH的逐块难度调整机制和重组保护,使少数派分叉后能够存活下来。作为采用SHA256算法的新链,可以说,FCH一出生就是一个绝对的少数派。为此,FCH对比特币框架做了更多的改造。有趣的是,这些改造以及相关的推演,在这次BCHA攻防战中得到了演练和验证。比如,缩短出块时间到1分钟。这使得FCH的难度调整速度是BCH的10倍。从而:1)BCHA分叉后5天难度才调整正常,同样情形FCH只需要半天时间。2)遭遇空块攻击或难度炸弹攻击时,正常出块和恢复难度的时间,防守算力需求都缩减到1/10。再比如,延长产出成熟时间。这次攻防战中,攻击方可以将挖出的BCHA在市场上出售。而FCH设计了10天的挖矿产出成熟期和100天的治理基金成熟期。这使得:1)攻击者的风险和损耗大幅提高,2)分叉时,多数派杀死少数派的代价大幅提高。本次攻防战演练了FCH设计时考虑到的空块攻击、粉尘攻击、孤块攻击等情形。攻击还在进行中,很可能出现之前没有想到的攻击方式和防守方式。此外,在信息世界中,一个去中心化生态的成功,归根结底在于有一群有共同理想并愿意付诸行动的人,这种共识不消亡,生态就能延续。建立一个能够创造价值、分享价值、造福社会的共识,才是生存和发展的动力之源。我们的认知应该从世界货币上升到自由共识了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。