代号Eclipse的HIVE硬分叉24(协议升级)可谓是经历了一波多折,早在3月份HIVE分叉之初,HF24就开始计划了,原本以为很快会被实施,但是因为各种原因一再推迟,最终在2020-10-14 19:31:24 (UTC)于47797680上被激活。
(图源 :pixabay)
其实这次硬分叉计划的时间是2020-10-14 14:00:00 (UTC),实际激活时间比计划时间晚了五个半小时,为什么会晚?这期间又发生了什么事情?硬分叉是否算是成功?我来简单回顾并尝试解答一下。
为何推延
首先说时间问题。以往我参与的硬分叉都是在软件中写好时间,然后大家提前更新软件版本,当超过一定数量的见证人(TOP中17人或更多)升级到指定版本,那么时间一到,硬分叉就会自动激活。
这次分叉采取的是不同的方式,代码中原定的分叉时间(10月6日)已经超过了,而在昨天之前硬分叉没有发生,是因为TOP20见证人控制着没有升级新版本。而一旦准备好分叉,TOP20中的17+见证人切换到新版本,HIVE就会升级啦。
原计划北京时间14日晚十点升级,但是这之前发现了前端的一个BUG,为了不影响使用体验,见证人们抓紧解决BUG,准备等BUG处理完成再切换版本激活分叉,所以这个时间就延后了。
发生了什么?
再来说说这期间发生了什么事?原本前端的BUG还在处理中,TOP20见证人中只有14个升级到V1.24.x,其它6个TOP20见证人还在等切换信号,但是大概在 2020-10-14 118:51:00 (UTC)前后,HIVE发生了分叉。
一个v1.24.x节点打出的块不被0.23.0版本的节点识别,然后HIVE分成了两条链在跑,14个TOP20以及大部分备选见证人都跑到v1.24.x上,6个TOP20和少数见证人跑在v0.23.0上。这和我们期待的协议升级是不一样的。
发生这种情况后,TOP见证人们当机立断,剩余6个跑在0.23.0版本的TOP20见证人很快切换到v1.24.2,HIVE硬分叉在2020-10-14 19:31:24 (UTC)于47797680上被激活
硬分叉是否成功?
总体来讲,尽管延迟了一些,但是硬分叉还算成功,一个最主要目的就是切换chainid,chainid已经成功地切换为新的ID:
0xBEEAB0DE + 56 zeros
https://hive.blog 以及https://hiveblocks.com/ 在经历短暂的不可用状态后也很快地恢复了。
我的见证人列表工具也一直都好用:https://www.cutehive.com/witnesses.php,并且在分叉期间给见证人提供了一定的参考。
但是,问题还是有的,中文区的一些朋友关注的第二次空投出了一些BUG,空投的金额貌似少了HP。😳(见证人们已经意识到这个问题,后续应该有处理方案出来)。
还有一些第三方的应用和DAPP可能由于没有及时处理chainid的变化等原因,现在可能还没康复。
当然了,这些问题都会逐步得到解决。大概就如这个版本号Eclipse所寓意的那样,黑暗很快就会过去,光明马上到来。