日前,澳本聰(CSW)在接受媒體採訪時,表示:
“位元大陸是個笑話,我們準備把 ABC 碾壓成渣,也準備把位元大陸碾壓成渣;
我是億萬富翁,我有足夠的錢來燒”。
圖片來自“星球日報”公眾號
從言辭中可以看出CSW已經瘋狂了,11月15日開戰在所難免。
既然是算力之戰,那麼最近算力有什麼變化呢?查詢coin.dance上的資料,結果如下:
(資料來源:coin.dance)
BSV陣營三大主力的總算力由37%升至45%,僅僅從資料上來看ABC方是不佔優勢的。
距離BCH網路升級不到3天的時間,算力大戰一觸即發,吳忌寒和澳本聰的這次博弈,到底誰會勝利呢?
萊特幣礦池的江卓爾認為,這次大戰的勝負主要取決於兩個點:
第一、算力;
第二、財力。
江卓爾在微博上,對此次戰役勝負結果進行了詳細分析,原文如下:
01
算力是最高總裁機構?
這是一條最底層的規則:生存是最終的辯論方式,是決定對錯的最高依據。這條規則有很多種表述方法,例如“勝王敗寇”, “真理只在大炮的射程之內”,“暴力是決定所有規則的元規則”。
為什麼無神論(科學論)是對的?是因為無神論能辯過有神論嗎?當然不是,無神論和有神論兩邊的邏輯基礎都不一致,辯起來就是雞同鴨講。無神論是對的,不是因為無神論更 “有理”,而是因為無神論能造出槍。
我能造出槍消滅你,你都不存在了,你還有什麼資格討論對錯嗎?
所以,生存是最終的辯論方式,是決定對錯的最高依據。為什麼我支援 “演化論” 而不是 “穩定論” ?因為 “演化論” 以適應市場需求,增加使用者數為唯一目的,而 “穩定論” 不以此為最高目的。
當然,“穩定論” 會認為,我的鏈協議穩定,所以使用者會選擇我,但如果不是呢?如果兩者矛盾呢?
如果根據市場需要,增加像DSV這樣的功能,就是能比穩定時,吸引更多使用者,首先達到50億的最終目標呢?那麼誰是對的,誰是錯的?
所以,“演化論” 是邏輯自洽的。極端鎖死和過度修改都錯,“演化論” 更有可能在 “穩定” 和 “修改” 中找到最佳的位置,並獲取最多的使用者。
而 “穩定論” 包含了一個假設:穩定是最好的增加使用者的方式。這個假設從商業上來看幾乎不可能成立:商業上沒有躺贏,中本聰並沒有給我們設計一條成為世界貨幣的躺贏之路。
有人可能會認為:“產品才需要吸引更多使用者,而貨幣不能這樣設計”,“BCH應該好好在貨幣上發展,而不應該搞各種新功能和第二層網路”。這不對,貨幣也是產品的一種,美元一樣要面臨歐元、人民幣、日元的競爭,為什麼美國政府要搞 “石油美元” (國際石油貿易以美元結算)?還不是為了增加美元的 “應用” 和 “使用者數”。
而在加密數字貨幣領域,這種產品競爭就更劇烈了:任何一種幣,都必須面臨大量幣(產品)的競爭。
02
如何透過算力殺死一條鏈
回到算力戰上,算力戰對大部分人來說,是從未用過的屠龍之技,所以各種文章和推測的錯誤很多。 萊位元礦池(BTC.TOP)是全網唯一一個有過大規模算力戰經驗的礦池,任何與本文不符的表述(包括CSW的表述)均為錯誤。
大家都知道 “51%算力攻擊”:
1、攻擊者透過優勢算力,挖掘一條比原鏈更長的攻擊鏈。
2、攻擊鏈向全網廣播後,節點按規則,將接受更長的鏈,丟棄原鏈。
下圖中的直線鏈(上面的藍色鏈和下面的紅色鏈),表示被中立節點接受的主鏈。
PS:這裡的 “更長的鏈” 準確地說是 “累計難度更大的鏈”,例如節點會接受2個難度10的塊,而拋棄掉3個難度5的塊,因為10+10=20>15=5+5+5。為了敘述方便,後文均假設每個塊的難度相同 。
透過51%攻擊,可以完成各種目的,例如:
1、在Tx1(交易1)確認後,撤銷掉Tx1,讓另一個衝突的Tx2(交易2)生效。
例如Alice用Tx1發了1個BTC給Bob,向Bob交換100個LTC,在收到Bob的100個LTC後,再用一個發這1BTC給自己的Tx2,替換掉Tx1,把付給Bob的1BTC拿回來。
2、用自己挖的塊(紅色的塊),孤立掉其它礦工挖的塊(藍色的塊),讓其它礦工損失挖礦產出。
在51%算力攻擊的基礎上,可以進行 “51%空塊攻擊”:攻擊者只挖空塊(不包括任何交易的塊),並不接受(孤立掉)任何其它礦工挖的,正常打包交易的塊,讓這條鏈癱瘓掉,任何人都無法正常交易。
並且,由於礦工在這條鏈上挖到的塊都被孤立掉,沒有挖礦收入,因此也會逐漸停止挖礦,最後這條鏈就死了。
03
如何防禦51%空塊攻擊?
防禦者需要不承認攻擊鏈,在原來被覆蓋的原鏈之後,調動更多的算力,挖一條比攻擊者更長的鏈
在實際的攻防中,雙方將會不斷延長自己的鏈,並有可能來回重組覆蓋。也就是說,一個只按預設規則,接受最長鏈的中立節點,可能在攻擊鏈較長時,接受攻擊鏈,然後在防禦鏈較長時,放棄攻擊鏈,接受防禦鏈。
04
攻擊雙方成本分析
勝利的一方,只要比失敗的一方多挖一個塊就可以。
1、如果防禦者放棄了,那攻擊者也不用再繼續花成本挖塊,只要簡單停止挖礦即可,這條鏈就死了。之後攻擊者如果發現防禦者又開始挖塊,那攻擊者也只要繼續比防禦者多挖一個塊就可以。
由於這條鏈已經死了,所以攻防雙方挖的所有塊就都作廢了,雙方都將損失所有挖礦成本。
2、如果攻擊者放棄了,那情況有些不同,攻擊者還是將損失所有挖出的塊(和成本),但由於鏈還存活,所以防禦者可以獲得之前所挖的塊,作為收入。
也就是說,攻擊方不管勝負,必然損失攻擊成本,而防禦方有防守優勢,如果獲勝還可以獲得挖礦收入作為補償。
05
攻擊雙方算力分析
11月15日,BCH的ABC客戶端,將硬分叉升級至0.18.2版,位元大陸支援ABC的此次升級。
而CSW所支援的BSV客戶端,將同時分叉出鏈BSV鏈,並聲稱將對ABC 0.18.2鏈(升級鏈)進行算力戰攻擊,殺死ABC升級鏈。
5.1、CSW方的算力:
支援CSW的礦池(Coingeek,svpool,BMG等)目前展示出來的算力為2000-3000P左右,CSW聲稱還有隱藏算力,因此可認為CSW至少有3000P自有算力。
CSW還可以透過租賃方式,控制更多算力,例如和礦池、大礦場談算力租賃,或者從nicehash等算力平臺上租賃算力,只要願意給出溢價(例如+20%挖礦收益),CSW自有+租賃算力到1萬P,難度不大。
5.2、位元大陸方的算力:
位元大陸旗下的礦池(BTC.com和Antpool)合計擁有約15000P的算力,再加上位元大陸參股的ViaBTC礦池,共計擁有約20000P的算力。
由於BTC和BCH均使用sha256演算法挖礦,所以礦池在技術上,可以在BTC和BCH上來回秒切算力。
只要正常給礦工按算力付挖礦產出的BTC,礦工實際上並不關心實際挖的是什麼幣。礦工甚至不知道自己挖的是什麼幣,只是解答礦池下發的計算任務。
因此位元大陸如果願意,可以使用所有20000萬P的BTC算力,來BCH上做防禦,之前出現各種傳聞,例如位元大陸在新疆部署9萬臺礦機用於算力戰等,均為無意義的謠言。
位元大陸使用BTC算力進行算力戰,符合 “生存是最終的辯論方式” 的算力戰原則。
由於位元大陸正處於上市中的關鍵階段,CSW威脅稱,若位元大陸使用BTC算力來進行算力戰,他將透過訴訟方式攻擊位元大陸。
但這一做法意義不大,因為位元大陸基本上不需要使用全部20000P算力應戰,若使用部分算力,位元大陸可宣告使用自有算力(或合作伙伴算力),其餘(正常獲得支付BTC)的礦工既沒有動機起訴,也難以確認自己挖的是什麼幣。
5.3、雙方的資金:
雖然位元大陸方算力基本可以肯定比CSW多,但算力戰的勝負,不僅僅取決於算力。
若CSW如之前所聲稱,全力開戰,那每天將燒掉幾千萬,甚至上億的成本,那算力戰的瓶頸,將不是算力,而是雙方願意燒掉的資金。
在資金方面,CSW聲稱自己是億萬富翁,有豪宅名車,並得到Calvin Ayre(博彩業大佬)的鼎力支援。
位元大陸則是估值150億美元,正在上市中的龐然大物,並且持有100多萬個BCH,在BCH上有足夠的利益。雙方都是重量級選手,至於雙方願意燒掉多少資金,取決於雙方的意志,我們無法猜測。
06
攻擊雙方燒錢比例分析
BCH的正常算力取決於:BTC的總算力 & BCH/BTC的匯率。例如11月2日BTC的總算力51370P,BCH/BTC匯率=0.067,則BCH正常算力應為51370*0.067=3441P。
若BCH實際算力高於3441P,則每臺礦機挖礦BCH產出將低於BTC,礦工將從BCH遷移到BTC,直到兩邊挖礦收益相同,反之亦然。
CSW投入的算力多少,將決定雙方的燒錢比例。
6.1、如果CSW投入7000P算力(兩倍BCH正常算力)
如第四章中所述,攻擊方不管勝負,必然損失攻擊成本,而防禦方有防守優勢,如果獲勝還可以獲得挖礦收入作為補償。因此,若位元大陸也投入7000P算力進行防禦,並最終獲勝,那可以得到BCH期間挖出的BCH作為補償(相當於3500P算力的成本)。
也就是說,在算力戰燒錢時,位元大陸投入7000P算力防禦,但其中只有3500P需要燒錢,剩下3500P將獲得正常挖礦產出(雖然暫時無法兌現),而CSW的7000P算力全部都需要燒錢。
因此,CSW投入的算力越少,位元大陸的 “防禦抵扣優勢” 越大,例如各自投入5000P時,位元大陸1500P燒錢 vs CSW 5000P燒錢,因此位元大陸堅持到底的決心也必然越大。
6.2、如果CSW投入7000~14000P算力
此時,決定勝負的將主要不是雙方的算力,而是雙方的燒錢意志。例如CSW投入10000P vs 位元大陸10000P,則位元大陸 “防禦抵扣優勢” 將不明顯,抵扣後將變成 CSW 10000P燒錢 vs位元大陸 6500P燒錢。
並且在雙方抽調BTC大量算力(假設共20000P)到BCH上打算力戰後,將大幅提高每P算力的租賃成本:
a、BTC交易打包手續費將大幅提高
由於BTC的區塊大小被Core鎖死為1M,因此:算力減少40% → 出塊速度減少40% → 每10分鐘1個1M區塊變成每10分鐘0.6個區塊=0.6M區塊 → BTC和2017年底一樣,發生超級大擁堵 → BTC交易打包手續費將提高到20-30% → 每P算力使用成本提高20-30%
b、BTC每P算力產出將大幅提高
若算力戰短時間無法結束,那BTC經過難度調整後,每P算力產出將提高40%,進一步提高每P算力使用成本,降低防禦方的抵扣優勢。
目前20000P算力日產出3000萬元,算力戰後期成本可能上升到5000萬元/日 或更多,若CSW按照之前聲稱,全力進行算力戰,那算力戰將以極快的速度燒錢,並不會持續很長時間。
6.3、總結:算力戰的勝負,取決於算力和資金的綜合影響。CSW的算力越少,需要的資金優勢越大;算力越大,需要的資金優勢越小。如果CSW的資金優勢極大,則哪怕4000P的算力,也可以打贏算力戰,迫使位元大陸放棄防禦。
07
算力的正面戰和游擊戰
從第2到6章,闡述了 “以殺死一條鏈為目的的算力戰” :從分叉點開始,攻防雙方持續地在自己鏈上挖塊,直到一方放棄自己的整條鏈為止。
這種 “算力正面戰” 類似國家之間進行的,以滅國為目的的正面戰爭,正面戰爭耗資巨大,持續時間短,對非軍事目標破壞小。
以之相對應的,是 “算力游擊戰”:攻擊方由於力量或意志不夠,並不進行正面對抗,不是持續地挖攻擊鏈,而是分散、偶爾地攻擊,因此攻擊成本低,但持續時間長。每一次攻擊鏈在短暫地覆蓋掉原鏈後,都必然再被防禦方覆蓋回去,只能對鏈的穩定性造成影響,但不能殺死一條鏈。
防禦方面對 “算力游擊戰” 的防禦成本為0,由於攻擊方不會持續挖礦,因此防禦方只要再繼續正常挖幾個塊,就可以把攻擊鏈覆蓋掉,不需要付出額外的防禦成本。唯一的損失只是區塊鏈不穩定:這段時間內,鏈上無法打包交易,被攻擊鏈覆蓋區塊的交易,也會暫時變成未確認交易。
“正面戰” 和 “游擊戰” 的差別總結如下:
如本文的 “上” 和 “中” 所述,算力投票(算力戰)的目的是作為最終仲裁方式,在雙方目標一致,只是手段不一致的情況下,避免不必要的分叉。只有 “正面戰” 才有 “消滅一條鏈避免分叉” 的作用,而 “游擊戰” 沒有這種作用,因此 “游擊戰” 除了延長算力戰時間,給生態造成破壞外,沒有任何意義。
08
算力戰的結果
算力戰的可能演化路徑,如下圖:
情況A:位元大陸防禦成功,CSW攻擊失敗
CSW在宣傳中一直聲稱要 “打算力戰”,“沒有分裂”。在CSW算力戰失敗後,若CSW履行承諾,放棄BSV鏈,則算力戰結束,ABC鏈成為BCH,BSV鏈死亡【流程圖,結果2】
但後來CSW又聲稱 “要打兩年”,“要讓BCH沒有任何交易”(見Roger Ver宣佈旗下Bitcoin.com支援ABC後,CSW給Roger Ver的信)
如果CSW在正面戰失敗後(甚至不願燒錢打正面戰),繼續打不能殺死一條鏈,不能防止分裂的 “游擊戰”,同時BSV鏈繼續挖塊,形成事實上長時間並存的,ABC和BSV兩條分裂鏈【流程圖,結果1】,那CSW將違背自己 “不分裂” 的承諾,被社羣大部分人所拋棄。
CSW長期進行遊擊戰,將導致BCH鏈長時間處於不穩定狀態,交易所可能長時間不恢復BCH的充提,商家可能長時間不願接受BCH,也就是CSW信中所稱的 “2 years of no trade(兩年沒有任何交易)”, “welcome to bankruptcy(歡迎面對破產)”。這不符合BCH社羣所有人的利益。
如果BCH社羣無法阻止CSW一意孤行,長期進行遊擊戰,那麼:
a、BCH上的礦池需要建立互相合作的自動防禦系統,在CSW的算力正常挖礦時,接受其挖出的塊;在檢查到孤立原鏈區塊的攻擊鏈時,不接受攻擊鏈,而是在原鏈區塊之後,自動調集算力挖礦,直到覆蓋掉CSW的攻擊鏈為止。
b、但在防禦算力覆蓋掉攻擊鏈的這段時間內(可能幾分鐘到幾個小時,視攻擊鏈的長度,攻擊鏈越長,需要的恢復時間越久),BCH鏈將暫時不能確認交易,使用者也將看到最近確認的交易,重新變成未確認,還是給鏈造成了不穩定。
因此,最好的方法是ABC開發組釋出臨時戰時補丁,最多隻接受高度=1的重組鏈(常見的孤立塊),不接受任何高度>=2的重組鏈,這樣攻擊方最多隻能孤立最近1個區塊(回滾1確認的交易),恢復時間也很短,不會對交易所和商家造成威脅。
但此補丁造成的後果是,在使用補丁的時間內礦池必須提高警惕,避免因為某些網路原因,產生高度>=2的連續孤立塊,因為這樣會導致不同礦池的永久性分叉。若意外發生了這樣的分叉,礦池必須立即互相協調,放棄較短的分叉鏈,統一到最長的鏈上。
情況B:CSW攻擊成功,位元大陸放棄防禦
如6.2中分析,若CSW燒錢超過位元大陸的承受能力,則位元大陸將被迫放棄防禦。ABC開發組若放棄ABC連結受BSV鏈,或者不接受BSV鏈但退出BCH開發,則算力戰結束,ABC鏈死亡(無人繼續挖礦),BSV鏈成為BCH【流程圖,結果3】。
ABC開發組也可能不放棄,聲稱被攻擊,原挖礦演算法不安全,將挖礦演算法從POW修改為POW+POS。雖然修改挖礦演算法將導致巨大的爭議,但從交易所的實際表態來看,由於BitcoinCash.org域名和ABC開發組均支援ABC鏈,故交易所將大概率給ABC鏈保留BCH的交易對,給BSV鏈新增BSV的交易對(和之前諸多BTC分叉幣一樣的流程)【流程圖,結果4】。
這是最差的一種情況,BCH社羣將發生巨大的分裂,BCH將受到巨大削弱,BSV將繼承BCH放棄的目標——挑戰BTC,成為真正的比特幣。
不管最後的結果如何,本次算力戰,都將展示算力的作用和威力,顯著提高算力在整個生態中的地位,併為算力作為比特幣分歧的最終裁決手段,做好鋪墊。BTC,BCH,BSV等諸多同演算法分裂幣種,最後可能都將被統一。
08
算力戰期間使用者建議
1、若你不打算在算力戰期間買賣BCH,那簡單保管好你的私鑰即可。
2、若你準備在算力戰期間買賣BCH,請仔細閱讀本文關於算力戰攻防的原理和流程說明,並忽略任何與本文相牴觸的表述。算力戰期間ABC和BSV的價格變化,請諮詢上帝(我的一貫觀點:幣價長期問使用者數,短期問上帝)。
3、CSW一直在混淆 “一個交易在兩條鏈上都能打包” 和 “只存在一條鏈,沒有分裂” 這兩件沒有關係的事情(可能是為了CSW的支持者反對BCH分裂成兩個幣?)。算力戰一開始,ABC和BSV鏈只要有最輕微的一點不一致(例如ABC鏈打包了一個帶DSV操作碼的交易),那ABC和BSV鏈在物理上,就分叉成了兩條鏈,不存在什麼 “只存在一條鏈”,CSW最多隻可能做到殺死ABC鏈,讓兩條鏈只有一條活下來。
在ABC和BSV鏈分裂後,由於CSW不在BSV鏈上加重放保護,故將發生之前ETH和ETC分叉時類似的情況(傳送ETH時,一起把同地址的ETC發了出去)。你在傳送ABC幣時,由於你發ABC的這個交易在BSV鏈上也能打包,所以很可能將BSV幣也一起發了出去。若你不懂得做分離,需將幣發到BCH和BSV充值地址一樣的交易所,以免丟幣。
4、在算力戰前將幣充到(承諾給兩種幣的)交易所,好處是算力戰期間還可以交易,並且如果分叉,交易所會幫你做好兩種幣分離。壞處是什麼時候可以充提,得完全聽交易所。如果算力戰持續很長時間(尤其如果CSW長時間打游擊戰),交易所可能會很久都不開放充提。另外,任何交易所都有倒閉的風險。
5、把幣留在鏈上自己控制私鑰,壞處是算力戰期間不能交易,好處是控制自己的幣,可以在算力戰後,選最先恢復充提的交易所交易。兩種做法各有利弊,根據自己的情況和需要,自行選擇。
09
總結
1、生存是最終的辯論方式,是決定對錯的最高依據。算力能殺死一條鏈,所以算力能成為比特幣的最高仲裁機制。
2、透過 “51%空塊攻擊” 可以阻止一條鏈上打包確認任何交易,並且礦工無法挖到任何塊後,也會逐漸停止挖礦,最後這條鏈就死了。
3、防禦 “51%空塊攻擊” 需要堅守原鏈,調動更多的算力,挖一條比攻擊者更長的鏈,反過來把攻擊鏈覆蓋回去。
4、防禦者有挖礦產出作為 “防禦抵扣優勢”,攻擊者的算力越大,則防禦者的抵扣優勢越小,攻擊者需要的資金優勢越小。反過來,攻擊者的資金優勢越大,則需要的算力越小。
5、位元大陸可呼叫BTC的算力用於BCH算力戰,因此算力多於CSW。CSW必須有資金優勢和更堅強的燒錢意志,才能勝利。
6、“算力游擊戰” 不能達到算力戰的最終目的:殺死一條鏈。“算力游擊戰” 除了延長算力戰時間,給生態造成破壞外,沒有任何意義。
7、算力戰後,若失敗的一方認輸,則算力戰結束,存活鏈成為BCH。若失敗的一方不認輸(CSW繼續打游擊戰,或者ABC改POW+POS演算法),則BCH分裂為BCH和BSV兩個幣。
8、如果CSW堅持進行 “算力游擊戰”,則需要ABC開發組打補丁、礦池、交易所配合,消除影響。
黑鑽君認為,這場戰役,是狂霸和財團之間利益的爭奪,不管最終誰勝誰負,總有一部分使用者會受傷。