小明學習筆記| 看不懂BCH 算力大戰怎麼才結束?點這裡
卢晓明
2018-11-16 08:08
本文约3945字,阅读全文需要约16分钟
這場大戰究竟怎樣才算結束?

編者按:區塊鏈涉及到的技術很多,從互聯網底層到不明覺厲的密碼學,可是往往關注幣價者多而研究技術的人少。牛市的時候,大家為了炒幣也會努力學習,熊市的時候,反正也沒啥事,我覺得可以更加努力學習。作為一個文科生,我當然會有很多理科生看起來覺得很白痴的問題。作為一個記者,我不難找到業內懂的人用人話給我解釋,而且他們往往不會當面嫌棄我。

編者按:區塊鏈涉及到的技術很多,從互聯網底層到不明覺厲的密碼學,可是往往關注幣價者多而研究技術的人少。牛市的時候,大家為了炒幣也會努力學習,熊市的時候,反正也沒啥事,我覺得可以更加努力學習。作為一個文科生,我當然會有很多理科生看起來覺得很白痴的問題。作為一個記者,我不難找到業內懂的人用人話給我解釋,而且他們往往不會當面嫌棄我。編者按:區塊鏈涉及到的技術很多,從互聯網底層到不明覺厲的密碼學,可是往往關注幣價者多而研究技術的人少。牛市的時候,大家為了炒幣也會努力學習,熊市的時候,反正也沒啥事,我覺得可以更加努力學習。作為一個文科生,我當然會有很多理科生看起來覺得很白痴的問題。作為一個記者,我不難找到業內懂的人用人話給我解釋,而且他們往往不會當面嫌棄我。

---------這是華麗麗的正文分割線---------

這兩天幣圈最火的莫過於BCH 算力大戰。可是在各個群裡,依然有一堆不明真相的群眾在大戰討論間隙蹦出這種疑問:“所以他們到底在爭什麼”、“不管勝負,最後各自都會持有大量的ABC 和SV 吧”。在跟身邊的小伙伴和各個群里科普了幾次基本概念之後,我發現不行,口頭科普工作量太大,決定寫一篇文章。本文是基於我在採訪報導BTC 和BCH 分叉中,跟採訪對象請教的,我本身並不是學技術的,如果文本有任何問題歡迎大家指正。

二級標題

二級標題

二級標題

什麼是分叉(Fork)?

分叉這個詞主要適用於以太坊和比特幣等公鍊網絡,也可以理解成基於原來的軟件版本做一些修改。說白了挖礦也得下載客戶端軟件,比特幣礦工們挖礦其實都是用客戶端在挖,用互聯網的方式說有點像這個客戶端在做“軟件升級”。

比如,分叉有點像在谷歌創建了安卓系統之後,允許開發者對安卓系統進行一些修改,但不允許特別巨大的改動,比如小米和魅族都在安卓的基礎上創建了自己版本系統,各自不兼容,用戶只能選擇運行一個系統。

(不要問我為什麼用安卓舉例而不用微信,因為微信根本不是開源的,不是誰都能copy 它代碼的,跟比特幣的情況完全不一樣。安卓已經是我能想到最多人在用的開源軟件了。有朋友表示看不懂安卓的例子,接下來我會用王位的例子——更容易理解但是會更不准確。)

類似的分叉可能出現以下情況:

1、版本正常更替,核心開發團隊自己做軟件升級(王位正常更替):

比特幣、以太坊和BCH,都“官方升級”了很多次。其實以太坊曾經的TheDAO 攻擊事件,最後就是全社區公投,決定分叉,捨棄原來被黑客攻擊的版本,拿回自己的錢。

2、其他開發者拿主鏈代碼做了一些修改發布一條鏈(隔壁有個新王朝誕生):

比如萊特幣、狗狗幣等早期的很多幣種,都是複制比特幣代碼,做了一些修改,自己發了一條鏈。所以這些幣客觀來說叫“分叉幣”或者“競爭幣”,比特神教教徒通常稱他們為“山寨幣”——言下之意就是“山寨”比特幣的幣。本質上BCH 的誕生也屬於這種,但是BCH 當初“玩得比較大”,畢竟是經歷了曾經的擴容共識之後在眾人意外之時誕生的:Bitcoin ABC 團隊單方面分叉出Bitcoin Cash,即BCH ,被社區稱為“政變”。

由於後來吳忌寒以及比特大陸投資的礦池ViaBTC 最先公佈支持BCH,有人認為BCH 的誕生是吳忌寒的陰謀。但這種說法遭到BCH 和吳忌寒的否定,而且後來比特幣耶穌也公開支持BCH,BCH 逐漸成為市值最大的分叉幣。

這種,其實就是第二種。區別在於,這種通常戲比較多,往往會涉及到“爭名分”的奪嫡大戲——太子登基在即,二皇子跑出來說我才是下一代的王——誰贏就取決於誰獲得的支持多。比如當初BTC 分叉之前,本來社區都以為即將展開一場算力投票。這篇文章。聲明一下,這部分跟我們平時說挖礦偶爾會出現分叉有點不一樣,這個分叉是臨時性的,最終會歸一。 )

二級標題

二級標題二級標題

這次算力大戰又有啥不一樣呢?

這場算力算大戰究竟是上面哪種情況。因為上述情況其實都是按版本/軟件發布者的身份來分,所以算第三種。但是CSW 的做法跟當時比特幣分叉出來的BCH 不同,

這次雙方都沒有開“重放保護”,意味著他們現在還是一條鏈,只能活一邊。

你可能想問,什麼是重放保護?

一般來說,當區塊鍊主鍊網絡進行硬分叉之後,區塊鏈發生永久性分歧並產生兩條歷史交易、地址、私鑰以及餘額等完全對應的鏈。這兩條鏈的地址和私鑰生產的算法相同,交易格式也完全相同,理論上在兩條鏈上都可被確認以及識別,所以你在其中一條鏈上發起的交易,就可以到另一條鏈上去重新廣播,可能也會得到確認。比如以太坊之前從ETC 硬分叉到ETH 之後,有黑客不斷在交易所進行充幣(ETH)、提幣(ETH)操作,從而導致交易所莫名其妙流失大量ETC,這就是“重放攻擊”。 (其實是沒有交易所想到還有礦工在ETC 上挖礦。)如果加入重放保護,就能避免這種情況,具體方式就是改一下代碼,添加隨機數、時間戳,或者流水號等方法都可以,在兩條鏈間形成隔離,讓一條鏈上的事務在另一條鏈上無效被識別,以確保兩條數據共享鏈保持獨立運行狀態。

所以如果雙方都不改代碼,就不會分叉,那就只能按照“最長鏈原則”展開算力大戰。 “最長鏈原則”是比特幣定下的規則,因為比特幣本身就出現一些“臨時性的分叉”,節點們要選擇在哪條鏈上接著挖下去就是根據“最長鏈原則”— —這個翻譯其實有點問題,

“最長鏈” 準確地說是“算力最大、累計難度大的鏈”。

江卓爾的他的文章裡就寫道,例如節點會接受2個難度10的塊,而拋棄掉3個難度5的塊,因為10+10=20>15=5+5+5。不過一般算力越大,出塊也會更快,因為難度調整需要一定時間。這就是現在算力大戰的方式:ABC 和BSV 利用已有算力,各自選擇不同的客戶端挖礦,挖一條更長鏈。

理論上中立/理性的節點按規則,將接受更長的鏈,因為這條鏈按規則會存活下來——問題就是現在這兩邊已經不太按規則或者理性在玩了。

目前,即便BSV 算力暫時落後,只要有算力在某條鏈上一直挖,這條鏈就會一直存在。

直到任何一方放棄,不再投入任何算力,這條鏈就不存在,他原來挖出來的幣就相當於全部歸零——這叫投降。當然,他也有另一種選擇,就是開啟重放保護或者修改算法——相當於宣布獨立,最後分裂成兩種幣。

大戰起於ABC 在發布了11 月的硬分叉方案之後,CSW 在8 月的時候說要出一個新版本,而且他的意思是“我不想要原來的版本,但是也分裂,不想獨立,就是想取ABC 而代之”。最後結果究竟會不會有兩種幣,就看雙方怎麼想了。
當然,其實算力大戰還有一種更“粗暴”的方式,就是利用自己的算力優勢,直接用算力堵死對方的鏈,讓無法交易。其實就是51% 算力攻擊,具體能達成的效果江卓爾也說了:

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

不過雙方都沒有用這種方式,也許是因為經濟原因也許是覺得這個事情“不正義”,但真實原因只有雙方知道了。

二級標題

二級標題

二級標題

交易所起到什麼作用?

如果沒有人投降或者單方面獨立,理論上來說交易所會一直停止提幣或者充值。現在是一個中間狀態,不知道哪條鏈會贏,還沒有新的幣產生。交易所沒法上現貨的交易對,最多能上期貨。

可是,一旦真的分裂成兩個幣,分裂出來這個幣的命運如何,交易所的選擇就非常重要了。假設BSV 這個幣誕生出來一個幣種,但是沒有交易所上這種幣,沒法交易也沒有場內價格,沒有人會願意挖這種幣,因為挖也沒有意義。說白了,礦工願意挖BCH 本質上是因為賺錢,所以價格往往跟算力是成比例的。

這就是為什麼幣圈老人吳鋼說,算力只是共識的一部分,不是全部。

之前第一期學習的是虛擬機(



我是Odaily編輯盧曉明,探索真實區塊鏈,爆料、交流請加lohiuming,煩請備註姓名、單位、職務和事由。

之前第一期學習的是虛擬機(《小明學習筆記| 一文看懂區塊鏈跨鏈機制》),第二期是跨鏈(),第二期是跨鏈(),第三期),第三期,第四期是《小明學習筆記| 一文看懂可驗證隨機函數VRF

相關閱讀:

相關閱讀:

相關閱讀:

相關閱讀:

比特幣擴容在即,面臨分叉風險,幣價一周暴跌四成

比特幣擴容之爭,革命將走向未來,還是走向分裂?

什麼是硬分叉,什麼是軟分叉,什麼是共識?

深入比特幣原理(十三)——硬分叉與軟分叉


卢晓明
作者文库