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

看板DigiCurrency (數位貨幣)作者 (達克鴨)時間5年前 (2019/06/10 01:04), 5年前編輯推噓6(7116)
留言24則, 4人參與, 5年前最新討論串2/2 (看更多)
首先為什麼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://www.ptt.cc/bbs/DigiCurrency/M.1560099850.A.1C6.html ※ 編輯: DarkerDuck (36.237.120.157 臺灣), 06/10/2019 01:24:06

06/10 01:24, 5年前 , 1F
謝謝說明 所以只是算力不夠的暫時解囉?
06/10 01:24, 1F

06/10 01:25, 5年前 , 2F
理想上算力夠了的話就可以拿掉 雖然我不知道有沒有必要拿掉
06/10 01:25, 2F

06/10 01:26, 5年前 , 3F
假如BCH算力跟BTC一樣多的時候,拿掉我覺得OK
06/10 01:26, 3F

06/10 01:28, 5年前 , 4F
另外想知道是否有 只有部分交易所觸發protection的先例
06/10 01:28, 4F

06/10 01:28, 5年前 , 5F
就是攻擊鏈剛好在深度9的時候廣播出來造成大家判斷不一致
06/10 01:28, 5F

06/10 01:28, 5年前 , 6F
我原文最底下是想問這個
06/10 01:28, 6F

06/10 01:29, 5年前 , 7F
這樣的話社群要依據什麼來判定這是否是攻擊
06/10 01:29, 7F

06/10 01:31, 5年前 , 8F
*我在原文裡最底下的推文是想問這個
06/10 01:31, 8F
這判別是非常明確的,基本上沒有模糊地帶。 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

06/10 01:41, 5年前 , 9F
假如真的有人可以隨意發起51%攻擊 他要觸發這個「被隕石砸
06/10 01:41, 9F

06/10 01:41, 5年前 , 10F
到的機率」應該不會很難?
06/10 01:41, 10F
就算他真的要這樣搞,把確認數調成11就解決了,區塊傳播在BCH裡面也不過數秒的事情。 而且最重要的是,他這樣搞,仍然造成有許多節點被觸發了deep-reorg protection 避免不掉的

06/10 01:42, 5年前 , 11F
他就盯著深度9的時候 然後連線跟大礦池近一點
06/10 01:42, 11F

06/10 01:43, 5年前 , 12F
等一看到大礦池挖到下個區塊 馬上廣播攻擊鏈
06/10 01:43, 12F

06/10 01:44, 5年前 , 13F
要有共識的更改確認數應該是要發布軟體更新?
06/10 01:44, 13F
不用,那是交易所自己覺得多少確認達到finality可入帳而已,交易所自己設定 其實更正確的改法應該是10個確認後延遲一分鐘後入帳,等區塊都傳播完。 不用11個確認。

06/10 01:45, 5年前 , 14F
改軟體改成11之後 攻擊的人就改用10的時候廣播
06/10 01:45, 14F
不是,deep-reorg protection一樣是深度10的reorg觸發 ※ 編輯: DarkerDuck (36.237.120.157 臺灣), 06/10/2019 01:47:43

06/10 01:51, 5年前 , 15F
但是無論如何 還是讓眾交易所分裂了不是嗎
06/10 01:51, 15F

06/10 01:52, 5年前 , 16F
有的交易所走誠實鏈 有的走攻擊鏈
06/10 01:52, 16F

06/10 01:52, 5年前 , 17F
這樣大家要依據什麼來決定這次算不算攻擊
06/10 01:52, 17F
依一般的通則來看,先看有沒有交易所被雙花,試圖雙花的鏈一定會被當作攻擊鏈。 而後來出現的鏈也通常會被當作攻擊鏈。 因為中本聰本來就假設區塊產生就要立刻廣播到整個網路上,讓大家產生共識。 這些看交易所和各礦池的數據都很容易推估。 ※ 編輯: DarkerDuck (36.237.120.157 臺灣), 06/10/2019 01:57:35

06/10 13:18, 5年前 , 18F
這好像很難做到很好,只是產生不同的攻擊手法,感覺攻
06/10 13:18, 18F

06/10 13:18, 5年前 , 19F
擊者可以靠DRP蓄意製造網路分裂(不雙花,一塊一塊出,
06/10 13:18, 19F

06/10 13:18, 5年前 , 20F
交替跟隨短鏈),然後在分裂出的兩條鏈上進行重放攻擊
06/10 13:18, 20F
要故意製造網路分裂當然也可以,不過這需要擁有大算力。 在算力只跟隨最長鏈的狀態下,你就要有51%的算力才能這樣玩。 既然有這樣的算力為什麼不乾脆雙花? 而且一但進到了reorg-protection基本上大部分的交易所就會不再入帳 直到網路重新回到共識 其實就算BCH不做deep-reorg protection 交易所自己也都會做deep-reorg alert 入帳後的加密貨幣不見了可是很恐怖的事情。 像上次ETC被deep-reorg,也是交易所第一時間發現和警告。 既然這種事件都會需要社群介入,不如就直接鎖定凍結,更方便於事後補救。 ※ 編輯: DarkerDuck (118.171.106.208 臺灣), 06/10/2019 17:46:15

06/11 15:12, 5年前 , 21F
謝謝回覆,我再思考看看 XD
06/11 15:12, 21F

06/11 15:44, 5年前 , 22F
感覺deep-reorg alert有其效用,但有DRA情況下做DRP的
06/11 15:44, 22F

06/11 15:44, 5年前 , 23F
效用就不太確定...
06/11 15:44, 23F

06/12 20:37, 5年前 , 24F
算一下攻擊成本沒那麼難吧
06/12 20:37, 24F
那你何不算算看?國中數學會吧。 ※ 編輯: DarkerDuck (36.237.121.186 臺灣), 06/12/2019 21:15:02 ※ 編輯: DarkerDuck (111.255.218.160 臺灣), 08/13/2019 09:13:16
文章代碼(AID): #1S_JmA76 (DigiCurrency)
文章代碼(AID): #1S_JmA76 (DigiCurrency)