首先为什么BCH会有deep-reorg protection,因为BCH被51%攻击的风险是真实存在的。
要51%攻击BTC大概只有国家力量可以办到,但BCH算力根本不到BTC一成。
只要一两个大矿池愿意帮助Blockstream Core搞掉BCH就可以轻松达成51%攻击BCH。
在本来的Bitcoin下是把51%攻击当作万万不能发生的事情,所以只考虑算力最长链。
反正就算恶意节点占10%,那么只要六个确认就可以确保被双花攻击到的机率在0.1%以下。
而交易所普遍最多也接受6个确认就当作存款入帐,因为几乎不可能再被变更了。
也就是交易所把6个确认当作交易已达成finality
但是再重复一次,BCH被51%攻击的风险是真实存在的
而且我从BCH刚出来的时候就说BCH算力太少会是问题。
后来的确也发生BSV算力高过BCH,对BCH造成非常大的威胁。
为了避免可能发生的BSV对BCH进行51%攻击。
假如大家有印象的话,那个时候有些交易所甚至把BCH的确认数拉到
==========100个确认以上================
请问有人想要等上一天才能存款确认吗???有人会想要用这种东西来交易吗????
而且就算拉到100个确认以上,也不代表交易就达成finality
而是只要BSV烧多一点钱,1000个确认也照样给你deep-reorg回来达成双花攻击
这种垃圾东西被交易所下架是迟早的事情。总不能说交易所你自认倒楣吧?
结果BSV先被下架了 XDDDDDDD
所以Bitcoin abc的dev加上了高度10个block的deep-reorg protection
这代表交易所最多只要接受10个确认,就可以100%保证达到finality。
而BCH真的被51%攻击也很好知道哪条是攻击链,
因为交易所被双花的那一条一定就是攻击链。
我敢保证大家一定会非常有共识地的抛弃攻击链,这实在太好辨别了。
假如交易所普遍都接受10个确认入帐,
那当然要攻击交易所双花只能选择10个区块后才放出攻击链,
不然交易所当然马上切到算力最长链,所以我实在不晓得到底谁要自认倒楣。
10个区块高度内试图双花 -> 交易所还没入帐,发现双花 -> 攻击失败
10个区块高度后试图双花 -> deep-reorg protection触发 -> 攻击还是失败
那在高度10之内的reorg就依照中本聪原有的想法继续进行。
当有分叉链产生,依照中本聪原有的想法,在没有51%攻击的状态下,会迅速产生共识。
因为押错链,你产生的区块都会不算数,Bitcoin没有Uncle block的设计。
区块链本来就是Permissionless的系统,矿工要押哪条分叉链就压哪条。
只是中本聪的假设就是矿工是贪婪的,当然是押胜率最高的算力最长链啊。
(当然在有segwit或是avalanche的机制下就要考量其他因素了)
这个设计我认为只是对于本来BTC上很难发生的51%攻击的一个补足。
尤其BCH自己的问题就是算力太少,51%攻击是不能被忽视掉的风险。