bitcoin cash比特幣現金(BCH/BCASH)是怎麼分叉出了Bitcoin clashic?
Bitcoin cash比特幣現金在11月13號進行了一次硬分叉,在次日的新聞稿宣稱該硬分叉已經成功升級,但不久在國外的社區reddit既有人披露,bitcoin cash 分叉原鏈繼續出塊,同時期bitcoin ABC開發組及比特大陸吳忌寒發布英文通知,原鏈已經繼續出塊。目前國內相關的信息還很少。這個事件發生的前後具體情況如何?
相關信息情況如下:1、Bitcoin ABC錢包的通知:https://www.bitcoinabc.org/november-13-upgrade-update
2、比特大陸創始人JiHan Wu的推文信息:https://twitter.com/JihanWu/status/9307736317637550083、匿名者建立了原鏈信息匯總網站,包括建立了BCH原鏈礦池、區塊瀏覽器、註冊P2P交易所:http://bitcoinclashic.org/4、針對原鏈分叉建立Bitcoin Clashic的Twitter帳號,已經有2千多名關注用戶:https://twitter.com/BitcoinClashic5、區塊瀏覽器:https://truevisionofsatoshi.com/6、@SatoshiLabs. 的CEO發布消息稱Trezor硬體錢包支持該分叉幣(BCHC):https://twitter.com/slushcz/status/9312280065966653457、Reddit上關於BCHC的重放攻擊問題討論:https://www.reddit.com/r/Bitcoin/comments/7dd0sa/bch_has_a_problem_clashic_is_alive_replays/ 8、BCH原鏈分叉幣出塊速度分析:
http://8btc.com/forum.php?mod=viewthreadtid=119800page=1#pid980884http://8btc.com/forum.php?mod=redirectgoto=findpostptid=119822pid=980320
眼下虛擬貨幣裡面最複雜的就是比特幣,不是指技術本身,而是圍繞比特幣的生態體系、社區政治、交叉博弈關係最為錯綜複雜,各種觀點眾說紛紜,一直以來我不敢輕易涉足對比特幣的分析,因為很容易顧此失彼,流於片面。但就這個問題而言,是近期我自己動手研究搞清楚的。
我們要搞清楚bitcoin分叉出bitcoin cash,而bitcoin cash分叉出bitcoin clashic的來龍去脈,這個故事需要從比特幣開始講起,比特幣有一個最基本的規則,就是礦工挖礦的算力與難度成正比,也就是算力越大,難度自動調整上升,通過這個機制,控制出塊時間為十分鐘一個塊。這個機制運行了很多年頭,目前為止整網投入挖礦的算力已經達到10E級別(1E=1000P,1P=1000T,1T=1000G),每天的挖礦成本(硬體、電費、維護)數以億元計。據台積電的財報披露,光去年給比特大陸(礦機晶元研發商)生產的挖礦晶元訂單收入就達到4億美元。
礦工之間是相互競爭的,誰的算力大,誰挖到的比特幣就多,因此類似各個國家的軍事競賽,礦工之間陷入了囚徒困境的博弈狀態。因為比特幣的總產出是固定的(每個塊礦工獎勵12.5 BTC),礦工加大算力投入,短期獲得較多收益,但是競爭關係,所有礦工都會增加算力投入,導致算力滾動上升,收益其實並沒有增長,而一旦停止算力增加投入,收益就會被其他礦工蠶食。這就是礦工之間的囚徒困境。
礦工因為相對離散,很難像國際間大國關係那樣,協商一致縮減軍備競賽或裁軍。所以長期以來,在比特幣的挖礦市場裡面,隨著比特幣的價格上漲,算力競爭一直沒有放緩,晶元的製程一路從20納米將逐步進化到10納米以內。這種情況也給礦工造成了一種感覺,當然,這種感覺有可能是錯覺,就是比特幣價格的上漲,可能是由於大量的算力投入推動的,相當於成本上漲推高了價格,但是按照一般市場交易理論,價格由需求決定,成本與價格之間,沒有直接的必然關係,沒有需求,商品低於成本也賣不出,反之,需求旺盛,成本再低也可以賣高價。所以這有可能是一種錯覺。但是,這種感覺本身是客觀存在的。這是現實情況裡面埋下的一個問題,成為了後繼發展的一個具體影響因素。
比特幣礦工一直想突破這種博弈困境,比如將部分算力去挖一些其他的「幣」,需求在一定的成本投入下,獲得更多的收益。但是長期以來,這種可能性並沒有呈現出來,因為比特幣的獨大,很多虛擬貨幣刻意地避開與比特幣採用相同的加密演算法,導致了比特幣礦機無法復用,另外一些早期的小幣種並無法提供穩定的收益比率。也就是說,市場沒有給比特幣礦工這樣的機會,沒有出現一種跟比特幣相同演算法,可以復用礦機的大型競爭幣。
這種被壓抑的需求,積累到了一定的程度,就會爆發出來,事實上,由大的礦工集團推動,便產生了bitcoin cash這個新的幣種。有很多人一般認為bitcoin cash是因為比特幣的區塊擴容升級爭議導致的,其實更底層的原因是來源於礦工突破囚徒困境的需求。
如上所說,礦工在相當長的時間內,沒有創造新幣,是因為礦工清楚,沒有得到市場認可的新幣,創造出來不會有什麼收益,最理想的情況,是市場上出現新幣,有一定的市場價值,能夠復用比特幣的礦機資源,最好是不跟比特幣構成直接競爭關係,這樣就能產生1+1大於2的收益。因為這種理想情況沒有出現,且比特幣已經陷入長達區塊擴容爭議,眼下比特幣的網路擁塞,即網路交易量需求大於比特幣的網路承載速度,比特幣網路處於完全滿負荷的狀態,在這種情勢之下,天平慢慢地向1+1大於2傾斜。即出現一種新幣,承接比特幣無法負擔的需求,那麼這種新幣和比特幣兩者相加的價值會大於比特幣,價值不一定立即會體現在價格上,但長遠一定會體現在價格上,對於大礦工黨而言,顯然,這是值得的。所以,冒著短期收益的下降,甚至比特幣價格下跌的風險(礦工的大部分收益仍依賴於比特幣),大礦工作為最大的推手,產生了bitcoin cash,這是一種新幣,即比特幣現金。這裡面要注意一點,它的加密演算法和比特幣一致,只有這樣才能復用礦機,這一點是最關鍵的。所以,這個幣bitcoin cash在承接比特幣無法滿足的需求方面,並沒有任何優於其他競爭幣的地方,但卻最能滿足礦工的需求(復用礦機)。這其實是網路上很多爭論的焦點所在。bitcoin cash落地後,產生了一個梗,在一次論壇上,一個嘉賓提到bitcoin cash,用了「BCASH」這個縮寫進行表述,這好像沒有什麼毛病,但突然台下傳來比特大陸創始人吳忌寒的怒吼:「It is not bcash ,it is bitcoin cash,ok?」,這後來成為網上用來調侃的一個梗,產生了一系列類似「it is not xxxx, it is zzzz ,ok?」的句式。
這個bitcoin cash開了一個先河,就是以前比特幣的一千種競爭幣(山寨幣),都沒有山寨到這麼「真」的,它其實有一些突破,玩法可圈可點。除了名字之外,bitcoin cash要體現其產生的共識基礎,追求最大的認可度,做了以下幾項工作:
一、復用了比特幣的歷史區塊鏈數據,在軟體上兼容比特幣的老區塊。這個是首創。這麼做的結果就是比特幣的用戶全部等額獲得bitcoin cash的餘額。因為區塊鏈的不可作弊特徵,這個分配是公平的。
二、沿用了當時比特幣網路的區塊難度,沿用不改變bitcoin的老區塊數據,自然難度也就是沿用了比特幣的區塊難度。這一點相當於「模擬硬分叉」,我們知道比特幣軟體在升級的時候,如果不能向上兼容,就會發生硬分叉(老版本不能認識新版本數據),老版本和新版本可以同時挖礦,最後產生兩條各自獨立的鏈條,這就是硬分叉。比特幣有其特殊性,整網算力巨大,在發生硬分叉的時候,如果共識基礎很好,絕大部分礦工都去挖一條鏈,另外一條鏈很難存活下來。這裡有一個簡單的演算法,一個塊10分鐘,如果只有0.1%的算力去挖,那麼在難度調整之前,需要花10000分鐘(約7天)挖出一個塊,那麼挖完2016塊的一個難度調整周期,需要幾十年。所以這個算力低的鏈條是很難存活的。bitcoin cash雖然由大礦工推動,但創造這麼一個新幣,不改變難度,需要吸引大量的算力,鏈條才能存活,不考慮其他因素,其實門檻是很高的。算力是有成本的,耗費極大的算力成本,出塊緩慢導致獎勵極少,且網路交易速度更慢沒有實用價值,所以不會有礦工花大價錢去養活一條鏈,因為礦工是要挖礦賺錢,而不是挖礦虧錢。這裡帶出一個知識點,比特幣網路的算力巨大,有充足共識的硬分叉發生後,大量的算力會聚集到其中一條鏈,另外一條鏈不會存活下來,自然消失。
三、加入了EDA難度調整係數。如上所說,bitcoin cash要在比特幣原鏈條上產生新鏈條,面臨著巨大的難度挑戰,bitcoin cash開發者用了一個很簡單的模式解決方案,即加入難度調整係數,每隔12小時,如果沒有出六個塊,那麼難度自動下降20%。把這個方法寫入軟體,作為bitcoin cash的挖礦規則。基於這個規則,大礦工黨大概調集了2%-3%比特幣網路算力,進行bitcoin cash的挖礦,難度很快地下降,順利出塊,新鏈條得以存活,bitcoin cash降生了,大礦工利用激活早期算力下降,多挖了很多幣出來,所以很快的比特幣現金的總數量就超過了比特幣,有數十萬個。
bitcoin cash大概就是這樣來的,有10%的比特幣算力去挖它,實現了1+1大於2的礦工收益。
後來運行了一段時間,礦工(競爭或非競爭),相繼發現這個EDA難度調整機制很好玩,於是開始「調戲」這個機制,即礦工突然撤出算力,讓這個鏈條12個小時不出塊,然後就可以觸發連續六次難度下降(具體後面詳細介紹),難度下降後再衝進來大量算力,獲得超快速出塊體驗,獎勵成倍數增長,這就是「算力暴擊」,算力暴擊對網路穩定有影響,有時會出塊很慢,交易無法確認,這種情況也影響到了比特幣的網路,因為算力暴擊期間,比特幣的算力會去暴擊bitcoin cash(刷幣),導致比特幣網路出塊速度下降,這對礦工的長久收益也有影響(90%算力還在挖比特幣,損害比特幣網路的穩定,也會影響礦工長遠收益)。
基於這個問題,bitcoin cash在2017年11月決定進行一次硬分叉,改掉EDA機制,於是這次硬分叉,有部分算力繼續挖bitcoin cash原鏈,利用了EDA機制,這就產生了bitcoin clashic。這樣的事情不僅僅在比特幣的歷史上沒有發生過,就是在整個加密貨幣的歷史上也只發生過一次,即以太坊原鏈ETC分叉事件。A幣分叉出B幣,B幣單獨起名,現已經有一千多種「分叉幣」,但是像這種A幣分叉出B幣,然後B幣使用A幣原來名稱,A幣被改名,這種A幣是為「被分叉幣」,到目前為止就兩種存在,一個ETC,一個BCHC(bitcoin clashic、bitcoin cash classical)。
這個事情在不翻牆、不看英文、不用google的情況下,國內的信息很缺乏,這裡算是國內第一次進行此次事件的梳理。
bitcoin cash在11月份計划進行硬分叉的信息大概提取一個多月發布了消息,那會大家並沒有關注它會不會因此分叉成為兩種幣,因為在比特幣的歷史上,這種事情沒有發生過,而克隆自比特幣的bitcoin cash應該也不會出現這樣的情況,幾乎沒有人討論。如上所提到的,比特幣的難度調整機制,導致小算力鏈條很難存活,ETC的分叉為什麼活下來了,是因為以太坊是按塊調整難度。
事後去看國外Reddit版塊,發現早已經有人在討論這個bitcoin cash到分叉後出塊所需算力,EDA機制的原理和計算方式。國內的媒體信息比較單一,硬分叉之後,大家只是看到了「升級成功」的新聞稿,甚至有人對分叉會否產生兩種幣的時候,甚至會引來攻擊,說這是一次不會產生新幣的硬分叉。在信息渠道單一且受眾群體普遍缺乏專業分析能力的情況下,輿論其實很容易被引導。其實在分叉後第二天,比特大陸創始人吳忌寒和bitcoin ABC開發組相繼發布了信息,說監測到原鏈繼續出塊,因為是英文的twitter信息,知道的人不多。
硬分叉的三天後,reddit就有人貼圖說原鏈已連續挖出來了6個塊,這6個塊是非常重要的,因為按照EDA的難度調整機制,觸發難度下降要有六個塊的間隔,研究這個機制花了我很長時間,因為資料很分散,一邊搜集,還要查看瀏覽器驗證,驗證跟設想的不一樣,還得進一步推敲修訂對原理的理解。我原來以為有一個塊相對於前六個塊間隔超過12個小時,就應該下降難度20%,但是我們查看這六個塊,難度上是沒有變化的,而這六個塊出來後,第七個塊遲遲沒有產生。隔了很久我才搞清楚,原來EDA機制是按照所謂中位時間計算間隔(MTP),即當前塊的MTP時間為過去11個塊的中位時間(即1、2、3、4、5、6、7、8、9、10、11,現在是第11個塊,中位時間就是第6個塊的時間戳),依次類推,第12個塊的MTP是塊7時間戳,第13個塊的MTP是塊8時間戳,每個塊的時間戳都是6個塊以後的MTP。然後六個連續塊的MTP間隔超過12小時,EDA機制就會激活。具體激活流程:
1、出塊時,讀取本塊N的MTP時間(即N-6塊的時間戳)
2、讀取(N-6)塊的MTP時間(即N-12塊的時間戳)
3、兩個MTP時間之差超過12個小時,EDA激活,下降20%難度,即(N-1)塊難度*0.8。否則難度不變。
每個塊都會照此流程運行。因此如果6個塊間隔超過12個小時,還會滯後6個塊,然後激活EDA機制。在分叉後到底需要投入多少算力,才能夠在三天內出6個塊?前面講比特幣難度演算法的時候,全部算力10分鐘出一個塊,分叉如果只有0.1%算力投入原鏈挖礦,需要7天才能出1個塊,三天要出6個塊,預估需要1.4%的算力投入連續運行三天,BCH的算力在分叉前算力暴漲,是一個巨大的數值,難度係數是12位數之長,至少有幾個E的算力,所以這個1.4%估計是30P算力左右,這個算力成本每天大概幾十萬(人民幣),這個分叉原鏈的挖礦投入是有預謀的,還是原礦池算力沒有來得及撤出原鏈造成的,現在不得而知。
這六個塊出來之後,後面的塊就很緩慢了,第七個塊隔了兩三天才出現,最長有一個塊用了八天時間,顯然投入的算力變小了。因為從第七個塊開始EDA機制開始激活,難度係數逐步下調,這個下調持續了63個塊,整整耗時35天,也就是說正常半天出完的塊,這個BCHC原鏈,用了35天的時間挖完。當然,我們認為這個時期的算力投入是較少的,大概只有1PH。難度係數連續下降,從12位數直降為7位數(0.8^63次方),即難度為原來的10萬分之一級別,這個難度係數只需要不到100T算力就可以穩定出塊。這個原鏈在經過35天的漫長出塊及難度下降調整之後,後面在一天之內發生了算力暴擊,挖出了兩千個塊,這個原鏈徹底存活下來了。
後面的事情就有點喜感了,這個原鏈的背後團隊露出水面,開設了網站、twitter賬號、礦池、瀏覽器,上線點對點交易所,並且開始維護github的版本庫,因為是匿名狀態。目前來看這個項目的github僅有三個開發提案。
後面我們看到參與挖礦的礦工,還在繼續調戲這個EDA難度調整機制,間歇性地進行算力暴擊,有時半天不出塊,然後一言不合就一天之內刷掉2016個塊。有些塊達到8MB大小,而有些塊只有一筆交易。挖礦成員在twitter上面發出的口號是像中本聰一樣挖礦(指整網算力很低,人人可以參與挖塊)。看著不斷爆塊的錢包,有一種原始的獲得感。
最後說一點題外話,最早玩比特幣的人把它當成一個「挖礦遊戲」,因為區塊鏈的技術,這是世界上唯一一個在數學理論上杜絕作弊的公共遊戲,最早挖礦的人,拼的就是世界上的挖礦排名,因為這是一個公開公正的排名榜,吸引了一批技術圈子裡面的人樂此不疲,有專門的社區交流討論,比拼挖礦,挖出來比特幣有不可被剝奪的實打實的獲得感,挖出來之後,花幾萬個幣去買一盒披薩餅,也是很開心的一件事情。當年有人在我的朋友機房裡面挖礦,說是在拼一個世界挖幣排名,動用了很多高級的顯卡,後來因為欠費,只好把他託管的電腦拆掉,顯卡拔出來一人拿一塊,拿回家送給親戚朋友打遊戲…………
就這麼一個挖礦遊戲,現在竟然被戴上各種帽子,要背負什麼人類未來貨幣的重任,改進現有的金融體系,作為黃金價值存儲的替代物,實現互聯網產權化…………這實在是很無聊、很無聊、很無聊,無聊的事情說三遍還是很無聊。
幾千種虛擬貨幣,都曾經妄想取代比特幣原鏈,獲得比特幣的名號(BTC),包括BCH也不例外,沒想到它沒有實現這個想法,倒是它成功地獲得BCH原鏈的原有名號(即BCH),然後它的原鏈不得不改名為「bitcoin clashic」。想想看這還是有一點哲學意味的。It"s BitcoinCash not BCash, ok???
這個是bch原鏈,就是有動態難度可以趁比特幣不注意瘋狂的在短時間內挖出本應該幾個月(或幾年)里才能挖出的幣,因此我猜這個幣,包括現在的bch的幣的總量肯定要遠遠大於21million的。區塊鏈是公平的,你干過什麼醜事也會永遠的記錄在區塊鏈的歷史上,就像永遠也擦不幹凈的屁股一樣,伴隨bch的一生...
根據他們官網的信息,應該是有人看BCH相當不爽(吹Satoshi"s true vision什麼的),所以就決定把這個有EDA的原鏈維持下來,說白了就是惡搞。比如,「官方」全節點錢包就是老版本的Bitcoin ABC。當然,這個幣沒上交易所炒起來,收益太小,所以算力也很小。
推薦閱讀:
※比特幣會超高之前8k新高嗎?
※虛擬貨幣怎麼玩?靠譜嗎?
※2018年哪些虛擬幣值得投資?
※如何看待我國自主研發數字貨幣試運行?
※比特幣的風險已經到了迫在眉睫的地步了嗎?
TAG:虛擬貨幣 | 比特幣Bitcoin | 區塊鏈Blockchain | BitcoinCash | 比特現金BitcoinCash |