币安被盗的7000余个BTC引发了诸多讨论,其中议论最严重的是赵长鹏在直播中提及的回滚交易和重组区块。
继业内诸多大佬点评此举后,重组区块找回丢失的7000比特币成为了讨论的焦点。其中币印矿池创始人潘志彪和莱比特矿池创始人江卓尔都对此事做出了解释。
潘志彪:
1.通过重组来双花丢币交易理论上确实可行,技术上来说重组的影响比软分叉造成的影响要小很多。
2.可行性多少:过半吧。CZ联系某陆纠集算力,嫡系算力加上可直接争取的算力估计约26E,略微过全网一半。考虑参与矿池有额外奖励,吸引中间派矿池矿工加入,最终可稳定拿下全网过半算力。诱惑哄矿工比矿池更容易一些。
3.假设65%算力在被盗交易30个确认时参与重组行动,那么需要花费16小时40分钟达到相同高度。
4.一旦高度胜出,则全网算力汇合至一条链,似乎什么都没发生过。当然,不参与的矿池损失会很大。
4.在接近17个小时的时间里,人们大概率会发现此次行动,因为全网出块速度太慢了,同时很多监控系统会探测到分叉。
5.可能的行动:UASF。在重组行动成功之前,会有人会放出全节点补丁,该补丁可以强行认可被盗交易的块哈希值,使得高度即使胜出的重组链也无法重写现有的数据。
6.比特币节点因为对被盗交易的块哈希存在共识分歧,全网硬分叉。
7.硬分叉后,两条链的价格交给市场决定。CZ可以拿回重组链上的7k币,但拒绝重组的链是无法拿回的。
8.如果重组成功了,那也对比特币没有本质改变,只是确认数少的大额交易不再安全而已。以后收发7K的币,至少等一天的确认数再说。
江卓尔:
1.赵长鹏所称的,可能回滚BTC交易来挽回币安所丢的7000BTC一事引起很大争议。
2、此回滚在技术上可行:只要有超过51%算力,在盗币交易区块前,重新开始挖一个分叉,并且只剔除掉那笔被盗交易,正常打包原链上的其它交易,那在新分叉长度超过原来被盗链后,就会发生区块重组。
重组可以简单理解为:新分叉覆盖了原被盗链,效果是:在不影响其它交易的情况下,单独回滚那一笔盗币交易。此回滚遭到社区成员激烈反对,因为这改变了比特币最重要的特性:不可篡改性。
3、此回滚遭到社区成员激烈反对,因为这改变了比特币最重要的特性:不可篡改性。但也有人开始进一步考虑:
@潘志彪kevin:
1.如果丢币的是某国政府,甚至FBI这样的机构呢?如果该机构要求各家矿池,无论公司或个人,进行算力重组会发生什么?
2.如果盗币的是全球知名恐怖组织呢?假设他们拿着7K的币去买核弹呢?
潘志彪给出的回答是:运行全节点,然后在重组发生前,主动打全节点补丁,该补丁可以强行认可被盗交易,使得高度即使胜出的重组链,也无法重写现有的数据。
4、潘志彪的回答行不通,按他的做法,并不能阻止BTC交易被修改,只是通过主动打补丁,分叉出一条交易没有被修改的分叉链而已。
如果政府合乎法律地要求矿池单独回滚某笔盗币交易,那矿池只能照做。回滚了这一笔交易,短时间也不会产生多大直接影响,可以预计回滚后的分支,还是会占据大部分市值、用户、资源。
按潘志彪的流程,仅仅是少数人保留了一条未被修改的链,最后可能会形成类似ETH&ETC这样的双链。
5、那么,如果认为比特币的“不可篡改性”非常重要,那应该怎么做?很简单,不允许深度重组就可以了。比特币历史上除了BUG,从未发生过6区块以上的重组,用户也普遍认为6确认为安全,因此可以直接在代码里写:不接受10区块以上的重组。
6、是不是很眼熟?没错,这就是BCH在和BSV算力战期间,增加的保护规则。如果盗币发生在BCH上,那就根本不会有这样的争执,因为BCH一旦10确认以上,就绝对不可回滚——注意是绝对,哪怕你多100倍算力挖分叉也没用,代码不接受10区块以上的重组。这不就是像潘志彪这样的BTC支持者,梦寐以求而不得的“不可篡改性”吗?
7、历史上发生过正常的6区块回滚吗?连3区块都几乎没有吧。6区块回滚就是攻击,为什么要允许攻击的发生?
我们去追本溯源的解释一下这是一件什么样的事件。
首先,我们需要知道的是交易所与比特币网络间的关系,一个交易所连接比特币网络后交易所拥有一个比特币网络地址,在这个比特币网络地址下,建立了很多的用户账户,所有的用户间交易转账,与比特币网络无关,交易所拥有的比特币地址中的总额度不变。
而这一次币安被盗的比特币已经从交易所地址中转出,交易被记录在区块中,被盗数量约为3亿人民币。
如果想要重组这个区块,要经历一个什么过程呢?
我们都知道区块链是链式结构,在广播时也是链式传播,在众多节点中走出一条一直无限延长的链,在这一条链上的都是比特币网络中的全节点,即拥有全账本的节点。
全账本节点中,从挖矿成功的节点开始广播这一个区块中的交易信息,同步到所有全节点中。在被盗的7000余BTC转出时,是被记录在了575013这一个区块中,在这个块中一共包含48比交易。
如果重组区块,就如江卓尔所说,要在575012块挖出后,重新以下一个出块的节点开始广播新的575013的交易数据,这个区块中的交易会去掉被黑客转移的交易哈希。但链式广播已从575013这个块后一直在出块,以十分钟一个块计算,累加的块超过了280余个。
重组的数据想要被记录在全账本中,需要从575013的广播节点开始形成一条超过原来的验证节点形成的链,这就是双花攻击的方式,而原来矿工通过挖矿、验证、广播形成的链以及挖出的区块都将作废或是形成另一条分叉链。
如果原来的链和块作废了,那也就是潘志彪所说的,不参与重组的矿工会损失较大。因为重组链和区块的矿工重新挖出了区块和奖励,而如果不分叉的情况下,原来挖出的链和块都已经被重组链覆盖,没有了价值。
这其中还要涉及调动矿工的问题,或者说调用算力的问题,整个比特币全网算力在不分割情况下都会计算随机数,而这些计算的输出方是全节点,可能是独立矿工,也可能是矿池。
如果开始重组,币安需要至少调动51%以上的算力资源,这就一定会与矿池、矿场发生联系。在潘志彪的分析中,则提及以币安的实力和财力找到过半的算力资源是可能实现的。
但其中提到了关键因素是区块的奖励和中间派矿工,在重组区块和链的时候,必然耗费算力,而这些理论上都将由币安承担,矿工挖矿的趋利很有可能形成部分矿工愿意将算力切到重组链去获取收益。而对比特币共识不可篡改信仰更深的矿工极有可能不为所动,反而为了维护比特币共识开始守护已经挖出的块和已形成的链,让重组不成功。
该情况的必然结果是硬分叉,处于对峙的矿工形成一条有被盗信息的旧链和一条没有被盗信息的新链,即江卓尔所说的形成了ETH的DAO事件分叉出ETH和ETC。
分析到这里,对于这次是否重组的感受是,这都决定于币安对于7000个BTC价值的判定,价值约3亿人民币的价值丢失对于币安来说是否足够重要。从而决定了是否要用分叉的方式找回丢失的BTC,但目前币安决定不进行重组。
此事发酵至今,时间在流动着,比特币网络出块在进行着,相应的重组成本越来越高,未来的可能性也在慢慢降低。但这件事对于比特币社区的影响重新提到了共识上,就像BCH和BSV分叉的事件中曾经一度出现短暂的切用算力而讨论沸沸扬扬,比特币共识不容挑战。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。