據區塊鏈媒體 TheBlock 報道,在 5 月 15 日的 BCH 硬分叉升級後,BCH 區塊鏈上出現了一些問題,並最終導致其上發生了一次兩區塊大小的重組。報道中指出,事情起自一宗針對 BCH 區塊鏈的攻擊行爲,攻擊者利用很可能是分叉前就已經存在的漏洞,導致礦工節點無法打包,鏈聞先前轉載區塊鏈安全公司慢霧科技的文章《BCH 硬分叉背後:一場預謀已久的真實攻擊》詳細記錄了攻擊的過程及原理。

BitMex Research 的研究表明,在攻擊的同時,BCH 鏈上發生了一起兩區塊的重組,導致了 25 次雙花攻擊並轉移了 3392BCH (價值約爲 130 萬美金),BitMex Research 表示並不清楚這是故意的行爲還是意外情況,但是這對 BTC 來說並不是一個好消息,因爲同樣的事情也可能的 BTC 上重演。

可 BCH 中國社區卻不這麼認爲,社區中的研究者 BruceLee 表示,重組並不是所謂雙花攻擊,而是大礦工們的正當防衛,3392BCH 是某礦池在分叉後從隔離見證地址中偷走的,大礦工們這麼做只是爲了保護投資者的應有利益,本文轉載了他的相應觀點。

原文標題:《BCH 保護小白利益反惹一身騷,這麼做是對是錯?》
文章來源:微信公衆號「BCH 愛好者 BruceLee」
作者:BCH 愛好者 BruceLee

0 引言

在剛過去的 5 月 15 日 BCH 升級過程中,BCH 的大礦工爲了保護小白的利益,主動進行了區塊重組。但是最近幾天,有人專門挖出此事來故意進行各種曲解誤導大衆。

1 事件回顧

衆所周知,BCH 這次升級主要就是兩個內容 : 新增 schnorr 簽名 & 隔離見證恢復。幣圈媒體的報道主要集中在 schnorr 簽名這一點上,而「隔離見證恢復」這個報道的比較的少。

在升級之前,經常有人操作失誤把 BCH 發送到 3 開頭的隔離見證(Segwit,以下簡稱 SW)地址。雖然在加密幣的世界裏面,轉賬行爲都是不可逆的。如果你把幣錯發到別人的錢包,只要聯繫對方進行協商,還是一定機率讓對方主動把幣退還給你的。但是 BCH 是不支持 SW 地址的,任何發送到 SW 地址的幣都變成了「無主之幣」,也就沒法讓別人主動退回來。

而這次升級的「隔離見證恢復」就是讓礦工可以把這些幣物歸原主。但是本質上這些發錯的幣任何礦工都可以進行花費:如果礦工是善意的,他可以把幣物歸原主;如果礦工是惡意的,他就可以把這些幣轉移到自己的錢包,佔爲己有。

在 BCH 升級後,這個隔離見證恢復的功能就生效了,沒想到被一家叫「fake unknown」的礦池捷足先登,該礦池把所有錯發到 SW 地址的 BCH 全部轉移到了自己的錢包。

在發現這個情況後,BCH 的大礦工緊急從 BTC 那調撥大量算力過來挖 BCH,主動發起了兩個區塊的鏈重組,作廢了「fake unknown」礦池的交易,把那些發錯的 BCH 全部物歸原主。

因此這次重組事件是保護持幣人利益的防禦性行爲。但是到了某些 BCH 黑的嘴裏,就變成了「BCH 大礦工主動發起 51 攻擊」。

2 扒一扒 fake unknown 這個礦池

bch.btc.com 這個區塊瀏覽器在給礦池標記名字的時候,是根據區塊的 coinbase 信息來解析的。如果如果礦池沒有在 coinbase 表明自己的身份,這個瀏覽器就會標註爲「unknown」,表示是未知算力。而這家偷幣的礦池,在 coinbase 裏面竟然直接寫的 unknown,因此爲了區分開來,區塊瀏覽器主動給這家礦池命名爲「fakeunknown」。

而這個藏頭露尾的礦池在 BCH 升級前夕開始切換大量算力過來挖礦,目的就是爲了升級後在第一時間進行「偷幣」。而 BCH 升級之後不久,這家礦池很快就把算力全部撤走了。

3 是否應該保護小白的利益

BCH 如果未來想要成爲億萬人口日常使用的貨幣,那麼必須爲小白着想。因爲未來絕大多數用戶都是小白,他們肯定會犯下各種低級錯誤。

4 這次防禦性重組沒有違反遊戲規則

鏈重組本身就是 BCH 共識規則的一部分。大礦工使用優勢算力進行防禦性重組,靠的是自己的實力,而不是某種「特權」。如果你擁有大量算力,你也可以發起重組。

需要明白一點,任何 POW 幣的運轉本身就是建立在大多數算力都是誠實的這個基礎之上的,BCH 也不例外。

這次重組,除了那個 fake unknown 礦池偷幣未遂,其他人沒有遭受任何損失。

5 如果不防禦,任由壞人偷幣

如果 BCH 的大礦工任由惡意算力偷幣,那麼可以預見 BCH 會遭到比現在強的多的輿論攻擊,因爲有很多用戶的幣真的被偷走了。到時候媒體的標題就會變成「BCH 極度危險,礦工可以隨意偷走用戶的幣」。

所以無論是否進行防禦,都會有人抹黑。兩害相權取其輕,進行防禦重組是唯一正確的選擇。

6 結束語

這次 BCH 升級風波不斷,先是有人利用一箇舊的 BUG 讓礦工只能打空塊,然後又是有人想偷幣,不知道他們是否是一夥的。不過在 BCH 升級前夕,有人在 bitfinex 掛了 18 萬個 BCH 的空單,我估計這個空單和 BCH 升級期間的攻擊行爲有關。但是 BCH 快速修復 BUG,並且成功應對偷幣,使得價格不跌反漲,最後導致這個超級大空單爆倉,真是太快人心。