江卓爾談算力戰
星球君的朋友们
2018-11-16 07:40
本文约7462字,阅读全文需要约30分钟
生存是最終的辯論方式,是決定對錯的最高依據

江卓爾江卓爾二級標題

江卓爾

江卓爾

二級標題

二級標題

一、為什麼算力能成為比特幣的最高仲裁機制?

答案很簡單:因為算力能殺死一條鏈。

這是一條最底層的規則:生存是最終的辯論方式,是決定對錯的最高依據。這條規則有很多種表述方法,例如“勝王敗寇”, “真理只在大砲的射程之內”,“暴力是決定所有規則的元規則”。
為什麼無神論(科學論)是對的?是因為無神論能辯過有神論嗎?當然不是,無神論和有神論兩邊的邏輯基礎都不一致,辯起來就是雞同鴨講。無神論是對的,不是因為無神論更“有理”,而是因為無神論能造出槍。

我能造出槍消滅你,你都不存在了,你還有什麼資格討論對錯嗎?

所以,生存是最終的辯論方式,是決定對錯的最高依據。為什麼我支持“演化論” 而不是“穩定論” ?因為“演化論” 以適應市場需求,增加用戶數為唯一目的,而“穩定論” 不以此為最高目的。

所以,“演化論” 是邏輯自洽的。極端鎖死和過度修改都錯,“演化論” 更有可能在“穩定” 和“修改” 中找到最佳的位置,並獲取最多的用戶。

二級標題

而“穩定論” 包含了一個假設:穩定是最好的增加用戶的方式。這個假設從商業上來看幾乎不可能成立:商業上沒有躺贏,中本聰並沒有給我們設計一條成為世界貨幣的躺贏之路。

有人可能會認為:“產品才需要吸引更多用戶,而貨幣不能這樣設計”,“BCH應該好好在貨幣上發展,而不應該搞各種新功能和第二層網絡”。這不對,貨幣也是產品的一種,美元一樣要面臨歐元、人民幣、日元的競爭,為什麼美國政府要搞“石油美元” (國際石油貿易以美元結算)?還不是為了增加美元的“應用” 和“用戶數”。

二級標題

二級標題
二、如何通過算力殺死一條鏈?

回到算力戰上,算力戰對大部分人來說,是從未用過的屠龍之技,所以各種文章和推測的錯誤很多。萊比特礦池(BTC.TOP)是全網唯一一個有過大規模算力戰經驗的礦池,任何與本文不符的表述(包括CSW的表述)均為錯誤。

1、攻擊者通過優勢算力,挖掘一條比原鏈更長的攻擊鏈。

通過51%攻擊,可以完成各種目的,例如:

2、攻擊鏈向全網廣播後,節點按規則,將接受更長的鏈,丟棄原鏈。
下圖中的直線鏈(上面的藍色鍊和下面的紅色鏈),表示被中立節點接受的主鏈。
1、在Tx1(交易1)確認後,撤銷掉Tx1,讓另一個衝突的Tx2(交易2)生效。

2、用自己挖的塊(紅色的塊),孤立掉其它礦工挖的塊(藍色的塊),讓其它礦工損失挖礦產出。

二級標題

2、用自己挖的塊(紅色的塊),孤立掉其它礦工挖的塊(藍色的塊),讓其它礦工損失挖礦產出。

二級標題

二級標題

三、如何防禦“51%空塊攻擊” ?

防御者需要不承認攻擊鏈,在原來被覆蓋的原鏈之後,調動更多的算力,挖一條比攻擊者更長的鏈

二級標題

二級標題

1、如果防御者放棄了,那攻擊者也不用再繼續花成本挖塊,只要簡單停止挖礦即可,這條鏈就死了。之後攻擊者如果發現防御者又開始挖塊,那攻擊者也只要繼續比防御者多挖一個塊就可以。

二級標題

由於這條鏈已經死了,所以攻防雙方挖的所有塊就都作廢了,雙方都將損失所有挖礦成本。

2、如果攻擊者放棄了,那情況有些不同,攻擊者還是將損失所有挖出的塊(和成本),但由於鏈還存活,所以防御者可以獲得之前所挖的塊,作為收入。

二級標題

5.1、CSW方的算力:

五、攻防雙方算力分析

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、比特大陸方的算力:

由於比特大陸正處於上市中的關鍵階段,CSW威脅稱,若比特大陸使用BTC算力來進行算力戰,他將通過訴訟方式攻擊比特大陸。但這一做法意義不大,因為比特大陸基本上不需要使用全部20000P算力應戰,若使用部分算力,比特大陸可聲明使用自有算力(或合作夥伴算力),其餘(正常獲得支付BTC)的礦工既沒有動機起訴,也難以確認自己挖的是什麼幣。

二級標題

5.3、雙方的資金:

雖然比特大陸方算力基本可以肯定比CSW多,但算力戰的勝負,不僅僅取決於算力。若CSW如之前所聲稱,全力開戰,那每天將燒掉幾千萬,甚至上億的成本,那算力戰的瓶頸,將不是算力,而是雙方願意燒掉的資金。

二級標題

二級標題

六、攻防雙方燒錢比例分析

BCH的正常算力取決於:BTC的總算力& BCH/BTC的匯率。例如11月2日BTC的總算力51370P,BCH/BTC匯率=0.067,則BCH正常算力應為51370*0.067=3441P。若BCH實際算力高於3441P,則每台礦機挖礦BCH產出將低於BTC,礦工將從BCH遷移到BTC,直到兩邊挖礦收益相同,反之亦然。

6.1、如果CSW投入7000P算力(兩倍BCH正常算力)

6.2、如果CSW投入7000~14000P算力

如第四章中所述,攻擊方不管勝負,必然損失攻擊成本,而防禦方有防守優勢,如果獲勝還可以獲得挖礦收入作為補償。因此,若比特大陸也投入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算力的租賃成本:

b、BTC每P算力產出將大幅提高

二級標題

若算力戰短時間無法結束,那BTC經過難度調整後,每P算力產出將提高40%,進一步提高每P算力使用成本,降低防禦方的抵扣優勢。

目前20000P算力日產出3000萬元,算力戰後期成本可能上升到5000萬元/日或更多,若CSW按照之前聲稱,全力進行算力戰,那算力戰將以極快的速度燒錢,並不會持續很長時間。

二級標題

二級標題

七、算力戰的正面戰& 遊擊戰

以之相對應的,是“算力遊擊戰”:攻擊方由於力量或意志不夠,並不進行正面對抗,不是持續地挖攻擊鏈,而是分散、偶爾地攻擊,因此攻擊成本低,但持續時間長。每一次攻擊鏈在短暫地覆蓋掉原鏈後,都必然再被防禦方覆蓋回去,只能對鏈的穩定性造成影響,但不能殺死一條鏈。

二級標題

防禦方面對“算力遊擊戰” 的防禦成本為0,由於攻擊方不會持續挖礦,因此防禦方只要再繼續正常挖幾個塊,就可以把攻擊鏈覆蓋掉,不需要付出額外的防禦成本。唯一的損失只是區塊鏈不穩定:這段時間內,鏈上無法打包交易,被攻擊鏈覆蓋區塊的交易,也會暫時變成未確認交易。

“正面戰” 和“遊擊戰” 的差別總結如下:

二級標題

二級標題

八、算力戰的結果

算力戰的可能演化路徑,如下圖:

情況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確認的交易),恢復時間也很短,不會對交易所和商家造成威脅。

如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,成為真正的比特幣。

二級標題

二級標題

九、算力戰期間用戶建議

1、若你不打算在算力戰期間買賣BCH,那簡單保管好你的私鑰即可。

2、若你準備在算力戰期間買賣BCH,請仔細閱讀本文關於算力戰攻防的原理和流程說明,並忽略任何與本文相抵觸的表述。算力戰期間ABC和BSV的價格變化,請諮詢上帝(我的一貫觀點:幣價長期問用戶數,短期問上帝)。

3、CSW一直在混淆“一個交易在兩條鏈上都能打包” 和“只存在一條鏈,沒有分裂” 這兩件沒有關係的事情(可能是為了CSW的支持者反對BCH分裂成兩個幣?)。算力戰一開始,ABC和BSV鏈只要有最輕微的一點不一致(例如ABC鏈打包了一個帶DSV操作碼的交易),那ABC和BSV鏈在物理上,就分叉成了兩條鏈,不存在什麼“只存在一條鏈”,CSW最多只可能做到殺死ABC鏈,讓兩條鏈只有一條活下來。

我和萊比特礦池(BTC.TOP)的態度

二級標題

十、總結

我支持算力投票(算力戰),認為BCH應該以獲取用戶為最高目的,快速演化,並通過算力投票(算力戰)的方式,消除演化中的分歧,防止不必要的分叉。

二級標題

二級標題

十、總結

1、生存是最終的辯論方式,是決定對錯的最高依據。算力能殺死一條鏈,所以算力能成為比特幣的最高仲裁機制。

2、通過“51%空塊攻擊” 可以阻止一條鏈上打包確認任何交易,並且礦工無法挖到任何塊後,也會逐漸停止挖礦,最後這條鏈就死了。

3、防禦“51%空塊攻擊” 需要堅守原鏈,調動更多的算力,挖一條比攻擊者更長的鏈,反過來把攻擊鏈覆蓋回去。

4、防御者有挖礦產出作為“防禦抵扣優勢”,攻擊者的算力越大,則防御者的抵扣優勢越小,攻擊者需要的資金優勢越小。反過來,攻擊者的資金優勢越大,則需要的算力越小。


星球君的朋友们
作者文库