Deep Reorg Protection 似乎無法自圓其說 - 數位貨幣

Agatha avatar
By Agatha
at 2019-06-08T17:44

Table of Contents

其實以前就聽過這個機制,只是因為一直想不通為什麼需要,也找不到比較正式的文件,所以就不敢確定是否有區塊鏈真的採用。

而不久前聽說BCH原來有實作這個機制,就覺得還是要深究一下。



Deep Reorg跟普通Reorg沒什麼兩樣,只是分支點是在一個有點久以前的區塊,

而Deep Reorg Protection就是故意不去理會從久遠區塊長出的新分支,即使這個新分支變成最長的。

以BCH來說,最新區塊往回數10個,比這更老的區塊長出的分支都會被忽略掉。



據我所知,Deep Reorg Protection的目的是防止51%攻擊。論點主張,正常Reorg的深度通常只有1頂多2,

從10個之前的區塊突然長出的分支,那一定是惡意發起企圖篡改區塊鏈用的。

但這個說法應無法自圓其說,理由如下。



假設51%攻擊真的發生,出現了Deep Reorg的情境,而實作Deep Reorg Protection的節點則是故意不去Reorg。

考慮事發之後才上線的節點,他們無從判斷那個分支在發生的當下到底是深還是淺。

如果新上線的節點聽信「長的分支是Deep Reorg來的」,而選擇了短的那條,也就是原本就是主鏈的那條,

那麼任何一個人都可以自己隨意開一個很短的分支,然後宣稱

「我這條才是王道!原本比我長的其實都是Deep Reorg來的!」

來欺騙新上線的節點,沒有方法可以分辨到底誰說的才是對的。

又如果新上線的節點直接選了最長的那條,那麼Deep Reorg Protection就變得毫無意義了,因為新上線的節點並不配合。



如果用「這樣也只能騙騙新上線節點而已,很多礦工都是不停機的」來反駁,

那就把51%攻擊改成從深度9的區塊(臨界被判定為Deep Reorg的深度)來長出新的分支,

並且在這個區塊即將變成深度10的時候把長鏈廣播出去,由於網路延遲的關係,

就會有一半的在線節點判定這是Deep Reorg而予以忽略,另一半則判定是正常Reorg而接受新的最長鏈,導致網路分裂。

可以發現,不可能分辨出一個Reorg到底是惡意還是自然發生的,

因為不管把判定為Deep Reorg的深度定為多少,總是能用這種方式讓一些節點以為是惡意一些節點以為是正常。



總之,Deep Reorg Protection似乎是多此一舉的機制。

真的發生51%攻擊導致網路分裂時,對於要統一回哪個分支的決定也沒有幫助。

我認為在PoW體系裡,想靠最長鏈以外的方式決定主鏈,往往只會得到反效果。

就算51%攻擊真的出現的話那也必須接受,畢竟世界上本來就不存在100%不可篡改的記帳神器,即使是中心化的解法亦然。

到頭來,還是只有最長鏈才是PoW體系裡最強而有力的依憑。



https://www.reddit.com/r/btc/comments/ba9z6v/satoshis_opinion_on_reorg_protection/

這個討論串內有中本聰對51%攻擊的解說。

「即使在線節點目睹了整個篡改的過程,他們還是必須將最長鏈視為唯一信仰。」

他對這段的說明,應能印證我的論述,也能感覺得出他應該不會認同Deep Reorg Protection。

--

All Comments

Lydia avatar
By Lydia
at 2019-06-12T05:59
我也是這樣想的
Freda avatar
By Freda
at 2019-06-15T17:47
Deep reorg感覺像是為了把其他鏈例如BTC, BSV搞掉
的準備
Harry avatar
By Harry
at 2019-06-19T02:19
交易所的節點哪有可能停機,這也不是為了解決51%攻擊
Barb Cronin avatar
By Barb Cronin
at 2019-06-19T13:36
只要是本質是PoW類型的幣,就不可能"解決"51%攻擊
John avatar
By John
at 2019-06-22T12:40
這只能算是為了交易所,所設計的一個防禦機制
Xanthe avatar
By Xanthe
at 2019-06-26T15:58
你交易所無論如何,只要確認數設定10
就一定是達到了finality
Ophelia avatar
By Ophelia
at 2019-06-29T00:19
因為超過高度10的reorg幾乎可以保證是51%攻擊
既然是51%攻擊,就一定是需要整個社群介入的事件
總不能跟BSV一樣說deep reorg是feature
Robert avatar
By Robert
at 2019-07-03T11:49
應該說deep reorg的確通常是由51%攻擊造成的,但是如果51%
攻擊發生時強制不讓區塊鏈進行deep reorg的話,那只會造成
網路分裂。
Ophelia avatar
By Ophelia
at 2019-07-06T00:43
抱歉我是回一樓
Cara avatar
By Cara
at 2019-07-09T18:34
你們交易所確認給我設定一千就不會有問題了
Ophelia avatar
By Ophelia
at 2019-07-10T21:35
那這樣到底有哪個交易所會認真地把這個幣當成一回事??
而最初比特幣節點還挑了6這個參數當作夠安全的參數
Megan avatar
By Megan
at 2019-07-14T08:43
因為經過計算,超過高度6還reorg
不透過51%攻擊幾乎不可能發生
Jake avatar
By Jake
at 2019-07-15T20:30
假如真的發生超過高度10的reorg,需要整個社群的介入
Eden avatar
By Eden
at 2019-07-18T07:07
寧可先讓網路先分裂,大家決定好哪條才是非攻擊鏈
學BTC發佈帶有checkpoint的新節點軟體出來
Bethany avatar
By Bethany
at 2019-07-22T20:07
重新回復到只有單一鏈的狀態,問題解決
而不是讓交易所白白損失巨大金額
William avatar
By William
at 2019-07-23T08:22
但這樣不就有模糊的空間了嗎
到底要多深的reorg才要人為介入判斷
然後假如大家意見不合又怎麼決定
Enid avatar
By Enid
at 2019-07-26T02:06
以及要聽誰的
Cara avatar
By Cara
at 2019-07-29T05:19
就算本來Bitcoin夠安全的交易也有模糊空間啊
為什麼要設定6,不設定60?甚至還有零確認的交易。
本來就不可能有100%的安全性
就算是BTC,他的所有機制的安全性都是相對安全而已
Necoo avatar
By Necoo
at 2019-07-31T17:22
至於意見不合要聽誰的,可以去查整個BTC的黑歷史吧
在中本聰消失後,有太多太多意見不合的時候了
George avatar
By George
at 2019-08-02T20:56
像是為什麼選擇6當夠安全的確認數
Elvira avatar
By Elvira
at 2019-08-06T06:32
很顯然也是"假設"惡意節點佔10%
Callum avatar
By Callum
at 2019-08-10T22:54
那選擇6當確認數,可以保證只有0.1%的機率會被婊到
可直接看中本聰白皮書後面的計算
https://bitcoin.org/bitcoin.pdf
Selena avatar
By Selena
at 2019-08-15T13:55
這機率比信用卡詐欺還要低,所以被認為"可以接受"
Oliver avatar
By Oliver
at 2019-08-19T05:55
我知道交易不可能完全finalized
只是我以為user是在清楚這一點的情況下使用bitcoin
51%攻擊發生的時候完全必須自認倒楣
沒想到還有讓社群來介入這招
說剛剛這個51%攻擊不算數
感覺好賴皮
Erin avatar
By Erin
at 2019-08-22T17:32
也不用自認倒楣啊
知道有兩條高度超過10的鏈基本上就是跳警告不會交易了
Puput avatar
By Puput
at 2019-08-25T03:02
反而是這個機制讓交易所受到51%攻擊後不用自認倒楣
而其實中本聰時代的比特幣節點有所謂的緊急廣播
Necoo avatar
By Necoo
at 2019-08-26T19:36
只有中本聰和少數早期開發者有廣播私鑰
Ethan avatar
By Ethan
at 2019-08-30T14:41
告知大家發生攻擊行為或是bug,這樣不就超級中心化賴皮
Susan avatar
By Susan
at 2019-09-04T01:15
https://en.bitcoin.it/wiki/Alert_system
反而現在把這個系統移掉了
真的出包了,大家只好自認倒楣
Caitlin avatar
By Caitlin
at 2019-09-06T02:09
可以看1032的alert message就是
Christine avatar
By Christine
at 2019-09-09T06:09
URGENT: chain fork, stop mining on version 0.8
網路分裂啦,還直接跟你講說哪條鏈不要再用再挖了
Iris avatar
By Iris
at 2019-09-09T14:53
看來密碼貨幣終究無法脫離社群的支援獨自運作
Hamiltion avatar
By Hamiltion
at 2019-09-11T14:43
跟我原先以為的定位不同
板大讓我見識了密碼貨幣更真實的一面
Rosalind avatar
By Rosalind
at 2019-09-14T13:39
checkpoint到底是不是deprecated
我看源碼裡還是有檢查checkpoint
Regina avatar
By Regina
at 2019-09-15T02:45
再偷偷講個黑歷史,為什麼Alert System被移除了
因為Gavin被鬥走後仍然擁有緊急廣播私鑰
Jack avatar
By Jack
at 2019-09-16T19:44
但bitcoin wiki說已經不用了
https://en.bitcoin.it/wiki/Checkpoint_Lockin
Suhail Hany avatar
By Suhail Hany
at 2019-09-17T05:36
但是又不想要更動這個從中本聰時代就有的系統
所以乾脆移掉 XDDD,加密貨幣仍然脫離不了人性鬥爭
Quintina avatar
By Quintina
at 2019-09-19T14:05
那Alert System這段內幕是哪裡流出的
Cara avatar
By Cara
at 2019-09-22T17:20
這也不算內幕吧,Gavin被鬥走後就有討論要怎麼解決
緊急廣播問題,後來討論不出來就整個砍掉啊
Valerie avatar
By Valerie
at 2019-09-27T14:30
我查到的是Bitcoin Core節點軟體從2014年4月後的更新
就不再加入新的check point
Liam avatar
By Liam
at 2019-09-29T12:28
通常要有check point是為了硬分叉更新不要選錯鏈
但現在BTC完全沒有這方面的需要了
但是舊的checkpoint就留著
Anonymous avatar
By Anonymous
at 2019-10-04T06:40
原來如此
還有一個想問的
Ida avatar
By Ida
at 2019-10-06T11:25
不是有個功能是invalidateblock & reconsiderblock嗎
Hamiltion avatar
By Hamiltion
at 2019-10-09T23:46
前者是手動將某個區塊打上invalid的flag
Necoo avatar
By Necoo
at 2019-10-13T04:55
當然效果只是作用在本地的block index
Liam avatar
By Liam
at 2019-10-14T13:11
這樣就可以手動讓節點不要走51%攻擊那條鏈
Enid avatar
By Enid
at 2019-10-15T23:12
後者則是把invalid的flag拿掉讓節點根據共識規則重新判斷
Quanna avatar
By Quanna
at 2019-10-16T17:02
有這功能的話也不需要刻意弄一個deep reorg protection吧
Lydia avatar
By Lydia
at 2019-10-19T01:56
那這樣就變成各說各話了啊
Bennie avatar
By Bennie
at 2019-10-24T00:39
現在deep reorg protection就是設下一個共識
超過高度10的reorg基本上就被判定為51%攻擊
Caroline avatar
By Caroline
at 2019-10-25T12:41
這個鏈將是invalid,分裂的網路待後續凝聚社群共識
但你的做法是每個節點自己依照自己的看法判定
Olive avatar
By Olive
at 2019-10-26T00:49
那交易所假如設成高度是2就是51%攻擊呢?
那恐怕就天下大亂了
Belly avatar
By Belly
at 2019-10-29T03:23
更不用說假如每個礦工都自己想設多少就是多少
Olive avatar
By Olive
at 2019-10-30T21:58
那恐怕BCH的區塊鏈天天分叉,完全無法正常運作
Cara avatar
By Cara
at 2019-11-02T13:44
這個功能主要是用在真的有爭議的攻擊上
譬如之前有人想要取走所有segwit地址的BCH
Faithe avatar
By Faithe
at 2019-11-03T05:11
反正這個規則很明確,攻擊行為沒有模糊地帶
但是51%攻擊如你說說是很模糊的
每個節點判定標準都不一致的話,那後果就是沒有共識
Ina avatar
By Ina
at 2019-11-05T19:11
當然也就不會有單一條的區塊鏈
Kama avatar
By Kama
at 2019-11-07T06:17
我是想說 只要reorg沒有深到觸動社群跳出來 那就都當沒事
Anonymous avatar
By Anonymous
at 2019-11-12T05:06
大家就都認最長的
Carolina Franco avatar
By Carolina Franco
at 2019-11-14T13:19
而有人跳出來質疑有51%攻擊的時候 大家暫且按兵不動
覺得不是攻擊的人就什麼都不用做
Damian avatar
By Damian
at 2019-11-14T19:22
覺得是攻擊的 那就先用invalidateblock來忽略攻擊鏈
Blanche avatar
By Blanche
at 2019-11-16T15:48
等大家商量好之後 社群就發個有新checkpoint的更新
James avatar
By James
at 2019-11-19T14:00
這樣做當然是可以,反正風險就自負而已
Catherine avatar
By Catherine
at 2019-11-21T10:54
也就是出現爭議的時候才用到invalidateblock
Rachel avatar
By Rachel
at 2019-11-26T08:48
任何礦工都可以壓在覺得最後會獲得共識的那條鍊上面
Harry avatar
By Harry
at 2019-11-30T12:35
PoS會有問題就是驗證者可以雙壓,PoW礦工只能單壓
Odelette avatar
By Odelette
at 2019-12-02T20:33
因此比較少人承認的那條鏈通常很快就會被拋棄了
只是這個設計不適用於遭到51%攻擊的狀態下
Regina avatar
By Regina
at 2019-12-06T09:08
所以意思就是 deep reorg protection讓大部分的節點堅持在
Caroline avatar
By Caroline
at 2019-12-10T13:12
原來的主鏈 然後理想情況下原來的主鏈馬上可以反超變回最長
Caitlin avatar
By Caitlin
at 2019-12-12T06:14
而不小心沒觸發deep reorg protection的節點 選錯邊站就是
很雖就對了
Ethan avatar
By Ethan
at 2019-12-14T12:31
你一直會錯意,我直接發文好了
Yuri avatar
By Yuri
at 2019-12-17T10:56
有勞 感恩
Iris avatar
By Iris
at 2019-12-20T09:03
deep reorg protection是所有bitcoin abc的節點都會
Connor avatar
By Connor
at 2019-12-22T03:47
觸發,而bitcoin abc的算力佔BCH的大多數
Connor avatar
By Connor
at 2019-12-25T22:21
997字 * 6星 = 5982 PCH
Madame avatar
By Madame
at 2019-12-30T20:46
https://tinyurl.com/y4p8jyww

Polkadot 第二次代幣私募表現不佳,估值

Yedda avatar
By Yedda
at 2019-06-08T16:27
以太坊共同創始人的 Polkadot 第二次代幣私募表現不佳,估值恐未達 10 億美元 Polkadot 是尚未推出、但備受矚目的區塊鏈項目,由以太坊聯合創始創辦人 Gavin Wood 創建,旨在建立一個能夠與其他區塊鏈能夠相互協作的區塊鏈。 而根據 Polkadot 官網的 Lightpape ...

地方的設計師完成了報告

Genevieve avatar
By Genevieve
at 2019-06-07T16:24
大家好,我是上次來徵求受測者 Formosa Financial的 Jerry 關於UX的報告已經寫好了,公開的連結放在Medium https://link.medium.com/8C464iSUjX 因為工作語言的關係,以英文撰寫,圖表跟實驗方法可能對非從業人員沒這麼友善,所以 這邊摘要部分實驗的背景、 ...

水電工很會!租公寓竊電「挖礦」鄰居抓狂

Vanessa avatar
By Vanessa
at 2019-06-07T16:03
水電工很會!租公寓竊電「挖礦」鄰居抓狂 恐賠550萬 刑事局日前破獲一水電工租用公寓竊電挖比特幣的奇特案例;警方指出,近來比特幣價格 水漲船高,每一枚價格高達9000美金折合台幣約30萬元、一名水電工程租公寓偷接台電公 用電路,藉此偷電挖礦在舊公寓內裝設124台挖礦機,但因耗能實在太大,鄰居發現這位 「 ...

對於去中心化交易所的使用經驗

Mia avatar
By Mia
at 2019-06-07T02:05
大家好, 我們是 Dinngo 交易所,一個致力於提供更好使用者體驗的去中心化交易所 今年主要的發展目標在: - 法幣出入金流程 - 錢包與交易所的互動 希望可以透過這兩個體驗強化讓數位貨幣更加普及,加速資產交換的過程 為了驗證我們的設計是貼近使用者的,想要在此徵求幾位鄉民來參與我們的使用者測試 ...

0-confirmation, Avalanche, Coordicide

Mason avatar
By Mason
at 2019-06-07T01:23
這三個技術有個共通點,就是都很and#34;快and#34; 只是目的不太一樣,但因為剛好歷史上有部分技術互相傳承,就一起講吧。 Zero-confirmation是要讓使用者快速安全地完成一筆小額交易。 Avalanche則是要盡快形成不可逆的預共識,避免零確認交易可被雙花。 Coordicide則 ...