作者DarkerDuck (达克鸭)
看板DigiCurrency
标题Re: [闲聊] Deep Reorg Protection 似乎无法自圆其说
时间Mon Jun 10 01:04:08 2019
首先为什麽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%攻击是不能被忽视掉的风险。
--
simpleledger:qryeahexpqszdt9ffech6jhxu6wsfp0fnyhgd44ahf
Bitcoin: 1GxtyprMfcxE366BDUsg1skQyuAnxktZjc
https://www.blockchain.com/zh/btc/address/1GxtyprMfcxE366BDUsg1skQyuAnxktZjc
Bitcoin Cash: bitcoincash:qp928h4q4xasa5wh2x88xhsxgc4vwj6g95uzq0ak97
https://goo.gl/2qNr43
Ethereum: 0x4A2B1e35eb64141bbad4C58cB7D79692bC5Dbbc2
https://etherscan.io/address/0x4A2B1e35eb64141bbad4C58cB7D79692bC5Dbbc2
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.237.120.157 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1560099850.A.1C6.html
※ 编辑: DarkerDuck (36.237.120.157 台湾), 06/10/2019 01:24:06
1F:推 kugwa: 谢谢说明 所以只是算力不够的暂时解罗? 06/10 01:24
2F:→ kugwa: 理想上算力够了的话就可以拿掉 虽然我不知道有没有必要拿掉 06/10 01:25
3F:→ DarkerDuck: 假如BCH算力跟BTC一样多的时候,拿掉我觉得OK 06/10 01:26
4F:推 kugwa: 另外想知道是否有 只有部分交易所触发protection的先例 06/10 01:28
5F:→ kugwa: 就是攻击链刚好在深度9的时候广播出来造成大家判断不一致 06/10 01:28
6F:→ kugwa: 我原文最底下是想问这个 06/10 01:28
7F:→ kugwa: 这样的话社群要依据什麽来判定这是否是攻击 06/10 01:29
8F:→ kugwa: *我在原文里最底下的推文是想问这个 06/10 01:31
这判别是非常明确的,基本上没有模糊地带。
if (reorg的深度>=10) then 触发deep-reorg protection
所以就算在深度9的时候广播,理论上大部分的矿工仍然会切到算力最长链
除非说它就这麽刚刚好,诚实链区块传播到一半,网路节点的高度不一致
那麽高度9的会跳到攻击链上,高度10的维持在诚实链上
不过在这种状态下,网路仍然是分裂了,基本上就一样是触发了deep-reorg protection
假如交易所不想要遇到这种被陨石砸到的机率,大可以把确认数设成11就解决了。
※ 编辑: DarkerDuck (36.237.120.157 台湾), 06/10/2019 01:38:46
9F:推 kugwa: 假如真的有人可以随意发起51%攻击 他要触发这个「被陨石砸 06/10 01:41
10F:→ kugwa: 到的机率」应该不会很难? 06/10 01:41
就算他真的要这样搞,把确认数调成11就解决了,区块传播在BCH里面也不过数秒的事情。
而且最重要的是,他这样搞,仍然造成有许多节点被触发了deep-reorg protection
避免不掉的
11F:→ kugwa: 他就盯着深度9的时候 然後连线跟大矿池近一点 06/10 01:42
12F:→ kugwa: 等一看到大矿池挖到下个区块 马上广播攻击链 06/10 01:43
13F:→ kugwa: 要有共识的更改确认数应该是要发布软体更新? 06/10 01:44
不用,那是交易所自己觉得多少确认达到finality可入帐而已,交易所自己设定
其实更正确的改法应该是10个确认後延迟一分钟後入帐,等区块都传播完。
不用11个确认。
14F:→ kugwa: 改软体改成11之後 攻击的人就改用10的时候广播 06/10 01:45
不是,deep-reorg protection一样是深度10的reorg触发
※ 编辑: DarkerDuck (36.237.120.157 台湾), 06/10/2019 01:47:43
15F:推 kugwa: 但是无论如何 还是让众交易所分裂了不是吗 06/10 01:51
16F:→ kugwa: 有的交易所走诚实链 有的走攻击链 06/10 01:52
17F:→ kugwa: 这样大家要依据什麽来决定这次算不算攻击 06/10 01:52
依一般的通则来看,先看有没有交易所被双花,试图双花的链一定会被当作攻击链。
而後来出现的链也通常会被当作攻击链。
因为中本聪本来就假设区块产生就要立刻广播到整个网路上,让大家产生共识。
这些看交易所和各矿池的数据都很容易推估。
※ 编辑: DarkerDuck (36.237.120.157 台湾), 06/10/2019 01:57:35
18F:推 Ayukawayen: 这好像很难做到很好,只是产生不同的攻击手法,感觉攻 06/10 13:18
19F:→ Ayukawayen: 击者可以靠DRP蓄意制造网路分裂(不双花,一块一块出, 06/10 13:18
20F:→ Ayukawayen: 交替跟随短链),然後在分裂出的两条链上进行重放攻击 06/10 13:18
要故意制造网路分裂当然也可以,不过这需要拥有大算力。
在算力只跟随最长链的状态下,你就要有51%的算力才能这样玩。
既然有这样的算力为什麽不乾脆双花?
而且一但进到了reorg-protection基本上大部分的交易所就会不再入帐
直到网路重新回到共识
其实就算BCH不做deep-reorg protection
交易所自己也都会做deep-reorg alert
入帐後的加密货币不见了可是很恐怖的事情。
像上次ETC被deep-reorg,也是交易所第一时间发现和警告。
既然这种事件都会需要社群介入,不如就直接锁定冻结,更方便於事後补救。
※ 编辑: DarkerDuck (118.171.106.208 台湾), 06/10/2019 17:46:15
21F:推 Ayukawayen: 谢谢回覆,我再思考看看 XD 06/11 15:12
22F:推 Ayukawayen: 感觉deep-reorg alert有其效用,但有DRA情况下做DRP的 06/11 15:44
23F:→ Ayukawayen: 效用就不太确定... 06/11 15:44
24F:嘘 Feira: 算一下攻击成本没那麽难吧 06/12 20:37
那你何不算算看?国中数学会吧。
※ 编辑: DarkerDuck (36.237.121.186 台湾), 06/12/2019 21:15:02
※ 编辑: DarkerDuck (111.255.218.160 台湾), 08/13/2019 09:13:16
25F:推 slayptter: 不错 04/16 01:00
26F:→ slayptter: 蛮有趣的 04/16 01:00