Re: [閒聊] Deep Reorg Protection 似乎無法自圓其說

作者: DarkerDuck (達克鴨)   2019-06-10 01:04:08
首先為什麼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%攻擊是不能被忽視掉的風險。
作者: kugwa (kugwa)   2019-06-10 01:24:00
謝謝說明 所以只是算力不夠的暫時解囉?理想上算力夠了的話就可以拿掉 雖然我不知道有沒有必要拿掉
作者: DarkerDuck (達克鴨)   2019-06-10 01:26:00
假如BCH算力跟BTC一樣多的時候,拿掉我覺得OK
作者: kugwa (kugwa)   2019-06-10 01:28:00
另外想知道是否有 只有部分交易所觸發protection的先例就是攻擊鏈剛好在深度9的時候廣播出來造成大家判斷不一致我原文最底下是想問這個這樣的話社群要依據什麼來判定這是否是攻擊*我在原文裡最底下的推文是想問這個假如真的有人可以隨意發起51%攻擊 他要觸發這個「被隕石砸到的機率」應該不會很難?他就盯著深度9的時候 然後連線跟大礦池近一點等一看到大礦池挖到下個區塊 馬上廣播攻擊鏈要有共識的更改確認數應該是要發布軟體更新?改軟體改成11之後 攻擊的人就改用10的時候廣播但是無論如何 還是讓眾交易所分裂了不是嗎有的交易所走誠實鏈 有的走攻擊鏈這樣大家要依據什麼來決定這次算不算攻擊
作者: Ayukawayen (亞布里艾爾發芽>//<)   2019-06-10 13:18:00
這好像很難做到很好,只是產生不同的攻擊手法,感覺攻擊者可以靠DRP蓄意製造網路分裂(不雙花,一塊一塊出,交替跟隨短鏈),然後在分裂出的兩條鏈上進行重放攻擊
作者: Feira (費拉)   2019-06-12 20:37:00
算一下攻擊成本沒那麼難吧

Links booklink

Contact Us: admin [ a t ] ucptt.com