21

6万枚BCH被盗 BCH滚动检查点机制再惹争议

 4 years ago
source link: https://www.jinse.com/blockchain/597092.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

BVbMrqV.jpg!web

最近的BCH,可谓是风头出尽,然而,出的尽是些惹来巨大争议的风头。

这不,上个月刚刚因为“强捐”而引发了业界热议,这个月,一个大户6万个BCH被盗发帖求助而导致的眼球效应再次让注意力聚焦BCH,这次,人们关注的不再是“强捐”这种政治问题,而是“滚动检查点”这个技术问题。当然,问题一层层递归下去,总会牵扯到最核心的设计哲学问题 —— BCH启用滚动检查点,是天使? 还是魔鬼?

 01  被盗引起的检查点关注

y22MF32.jpg!web

在说检查点之前,先看看这次的事件本身。

一个比特币巨鲸在Reddit上发帖,号称因为遭受黑客SIM卡攻击而丢了6万个BCH(除此之外还有1500个BTC,不过他更关心这6万个BCH),想要重金求矿工们帮他找回。帖子里附带了数字签名,被证实真实有效。

故事就是这么简单,至于这位大佬是谁,背景如何,BTC和BCH又是怎么丢的,跟本文关系不大,有兴趣的朋友可以自行搜索,毕竟关于此事件的报道,业内也是铺天盖地。

大家更加关注的是,这位巨鲸,为什么会想到用“重金求矿工”这个方法,来找回他丢失的BCH呢?矿工要怎么做,才能把这些被盗的BCH“找回”?进入这个行业比较久,对技术有些了解的人都知道,那就是传说中的大杀器, 双花 集合算力,让现在的这条链作废,在被盗之前的区块高度后重新开始生成区块,弄一条新的“最长链”即可。

虽然双花会伤害网络,但在一些特殊时刻,也可以用“善意的双花”来保护网络。BCH历史上其实有过一次先例,去年5月硬分叉过程中,网络因为BUG遭受黑客攻击,几大矿池联合起来打包10个空块,导致黑客的攻击无效。 10个块之后,由于滚动检查点的存在,已然无法回滚到10个区块之前,所以网络得以保护。

而这位巨鲸,很不幸,发帖的时候已然过了10个块的时间,没的双花和回滚可以进行了……

于是乎,各路媒体分成了两派,一派挺BCH,支持滚动检查点,一派反对,认为滚动检查点是个“荒谬”的设计, 本文就来着重给你讲讲这个“滚动检查点”的前世今生,以及梳理下两派的核心观点。

 02 

滚动检查点的前世今生

QBnaMfY.jpg!web

1.什么是检查点

要知道滚动检查点,你得先知道检查点是个啥。

检查点(Checkpoint),用比特币学术一点的话来定义,就是:“指定一个区块高度的区块哈希必须等于某个哈希值”。

说的白话一点,就是承认了 检查点 的区块为合法的区块,便可以避免这个高度以之前的所有的区块被其他力量重组, 特别是可以避免被51%优势算力攻击重组区块。

换句话说,执行 检查点 的节点认定了指定的区块,也就 认定了此区块之前的所有区块, 之前中本聪定义的最长链为有效链的原则,“变异”成了“包含了 检查点 的最长链才是有效链。”

中本聪之所以发明检查点这个东西,是因为在数字货币的起始阶段,网络还非常脆弱,为了安全起见,在一些重大升级或是补丁的时刻,中本聪加入了检查点设计,来保护之前这么多成功的有效区块。 从本质上来说,检查点是为了获得网络稳定和可靠而牺牲了部分去中心化。

莱特币的早期,Charlie Lee为了防止51%攻击,同样使用了检查点,按照他的原话:“检查点是一个中心化的功能,因为它依赖于开发人员决定哪条是正确的链。对于数字货币的起始阶段,这是合理的。”

2.滚动检查点

说完了检查点,一起来看一下BCH的滚动检查点又是怎么回事。

19年11月21日,BCH官方发推特 “Bitcoin AB C 0.18.5版本已上线。该版中新增了滚动区块“检查点”作为深度重组保护, 以确保交易在10次确认后结果不可变; 从而保护用户、企业以及交易平台的安全。

当时正值BCH与BSV算力战期间, BCH的这一举动,让矿圈哗然。之前一众大V在算力战前分析的各种场景,包括正面站,全面战争,游击战等等统统失效。因为,滚动检查点的出现,直接导致区块只要收到十次确认便能确定最终有效。也就是说,即使替代链具有更多的工作量,只要它与检查点间存在冲突,节点也不会切换到工作量更大的链上,致使比特币之前的“最长链”原则,几乎彻底失效。BSV无论是正面还是游击战,都彻底失去了意义。

很有意思的是,在这件事上,BCH社区与BSV社区是两种 完全 不同的解读。

在BCH一方看来,若是不加滚动检查点,则双方的算力战将可能持续数月之久,甚至更长,每天都是在真金白银的烧。长远来看,无论哪方取得最终胜利,都将会是杀敌一千,自损八百的惨胜,甚至极端点,两条链都玩完。这样做,本质上是谋求和平,大家放弃战争,各自发展的最理想状况。

而在BSV看来,这是明显的避战行为,属于“怂”的表现。按照中本聪的设计理念,当出现理念完全无法调和状况时,应该用算力投票,进行算力战争,争夺最长链,堂堂正正的决一胜负。滚动检查点的设计彻底违背了中本聪最长链的设计原则,严重破坏了PoW的经济激励模型,完全是“乱来”。

 03  滚动检查点的好处 - 正方观点

抛开算力战避战与否,滚动检查点必然对BCH带来很多影响,拿这次大户丢币事件为例。

思考加密货币的本质,是什么? 是自由,一种密码朋克般的自由。 以比特币为例,你的比特币想在什么时间什么地点以什么样的方式转账给什么样的国家的什么样的人,这都是你的自由,没有人可以阻止你的自由。

这也是为什么之前老猫在布道的时候说过,比特币第一次从技术的角度保证了”私人财产神圣不可侵犯”。

现在BCH要做的事情,就是进一步拓展这个概念 - BCH第一次从技术的角度保证了“交易10确认神圣不可侵犯” 。

为什么这么说呢,因为本质上来讲,BTC是可以通过矿工双花找回币,这也是为什么上次币安被盗币之后,CZ考虑过这种方法。而超过51%的算力都在中国,所以理论上来讲,北京市公安局派几名警察,去前3家头部矿池公司(都在北京)就可以实现。矿池(用于调度算力)的软件系统、技术人员、阿里云服务器,全在警察的可控手段之下。矿池在面对警察时,是否会服从法律,对BTC发起51%双花攻击呢?

而在BCH这边,超过10确认就绝对不行,除非你能同时搞定头部矿池,开发团队,让全球数百个交易所和广大BCH用户,开发一个新的版本且所有人切换过来,从这个角度来看,这才是真正的去中心化。

而回到刚才所说的“自由”,但凡比特币或是BCH因为某些特例而去以回滚的方式去取消某一笔交易,只要发生一次,也许这座“自由之塔”就会轰然倒塌。历史上以太坊因为DAO事件的“回滚”,对当时整个信奉“Code is Law”的加密社区造成了一记暴击,而若是此事发生在区块链鼻祖,或者说图腾的比特币身上,造成的伤害,必然远胜当年DAO事件。 BCH的滚动检查点,可以说彻底避免了这种可能性的发生。

 04  滚动检查点的坏处 - 反方观点

抛开算力战,虽说BCH的滚动检查点看似保护了用户财产安全,但是究其本质,这已经不再是PoW了。

比特币最为颠覆性和出彩的设计是什么?或者说,与之前那些失败的Egold等电子现金比较而言,比特币的伟大之处在哪里呢?

其实很简单, 就在于比特币解决了在不需要信任第三方的情况下,双方可以直接安全有效的交易, 其中最重要的一环,便是解决了没有信任第三方的情况下的“双花”与拜占庭将军问题。

怎么解决的?

一、时间戳- 时间戳功能是比特币的核心,以至于中本聪称比特币系统是一个”分布式的安全的时间戳服务器”。

“时间戳服务器为一个区块的数据的哈希计算结果加上时间戳,并大范围发布这一哈希计算结果,好比在报纸或新闻网上发表。 显然,时间戳证实这些数据一定在这一特定时间存在,只有这样才能得到哈希计算结果”

二、PoW- 在这个分布式系统中,谁来盖时间戳,则是通过工作量证明(PoW),谁能抢先算出落在某个区间内的哈希数值,谁就能盖时间戳。接下来,这个时间戳如何获得共识呢?靠最长链原则, 即大多数算力的决定。工作量证明加上最长链原则也被称为中本聪共识,共识是所有区块链系统最核心的部分, 它的本质是为了实现分布式的时间戳服务。

最早期曾经有人在论坛问中本聪关于最长链的问题:“如果「坏人」比「好人」有更多的算力怎么办?”

中本聪的回答是:

“这首先要求单个「坏人」的算力比所有「好人」的算力之和更大; 其次,即使单个「坏人」的算力更大,他能做的只是双花自己的钱,他需要通过买东西花费这笔钱(如今可以是在交易所交易),然后在收到「货物」之后,通过攻击网络重新花费这笔钱。 这种攻击对于攻击者来说或许并不划算,如果有这种算力还不如好好的挖 矿。

那么回过头来看BCH,现在,BCH设计了每 10个块出一个检查点,也就是说,只要诚实的矿工在10个块内跑不过作恶者,那作恶者的记录就永远留在了链上。 这已经完全不是比特币本来的意图。 甚至已经不是 PoW了。比特币原本的设计是,只要作恶者算力跑不过诚实矿工的算力,那作恶者的记录就不会留在链上。

更深一层,加密货币,或者说区块链的本质,是否是所谓“密码朋克般的自由”?以BSV为代表的反方显然不会这么看,在他们看来,Code is Code, Law is Law,加 密货币真正的本质,不是这种“无政府主义的自由”,而是信任。 一个在技术驱动,经济激励下的全球可信账本。 滚动检查点,在强化了Code Is Law这一烙印的同时,却又同时强化了中心化 (参考前文BCH升级期间,矿池联合起来打了10空块发动51%攻击保卫BCH段落)。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK