摘要:此舉遭到團隊和比特大陸等方面的反對,并對版本提出反對。分叉事件后交易所則宣布,由于的分叉已經完成,原已不存在。故已將原有的兌換為和,兌換比例為今日,先后開放和提取和相關交易對交易。目前,的重放保護升級擬定計劃在年月日。
??2018年8月,Bitcoin ABC提出了一種新的共識變更,以提高BCH節點的速度,并引入外鏈。該變更將在2018年11月15日上線。但Craig Wright拒絕這種變更,稱其為垃圾,宣稱應當堅持中本聰最初的設計(Satoshi"s Vision),否定了ABC開發組,并在當前客戶端版本上發布了自己的版本SV。由于ABC的共識變更會和原有共識不兼容,因此這將是一次硬分叉,而雙方都拒絕增加防重放,這次和以往硬分叉生“仔”不同之處在于,以往更多是新的算力來維持一個新鏈;而本次是現有算力的分裂,與其說是硬分叉生“仔”,不如說成兄弟分家更貼切。
背景故事Bitcoin ABC團隊和NChain團隊都是BCH社區比較重要的技術開發團隊,NChain在2018年8月16日發布了Bitcoin SV (Satoshi’s Vision)客戶端,這就是當前一直提到的BCH的ABC和BSV;其實還有一個大的開發組Bitcoin Unlimited,這位則保持中立。
BCH的技術升級一年兩次,基本以ABC團隊主導,本次計劃定于網絡中最近11個區塊的中值時間大于或等于UNIX時間戳1542300000,即北京時間的2018年11月16日0:40。國外時間為11月15日,對我們而言是16日凌晨的事情。
BCH這次的分歧主要來自于兩套技術方案,Nchain在之前就表達了自己的意見,打算回歸到BCH最早的0.1版本,所以針對這次ABC既定的更新,BSV(Bitcoin SV)走的是回歸路線,并移除了自動重放攻擊保護;這樣,在技術層面上,一旦更新完成就出現了兩條有差異的ABC鏈和BSV鏈。
雖然ABC和BSV有差異,但是在最底層的交易格式上并無差別,而且BSV還主動移除了自動重放攻擊保護,這就造成同樣一筆交易能在兩條鏈里進行有效廣播;通俗一點就是,只要我們花了BCH,對方就可以偽造支取BSV,反之亦然,相當于BCH生的“仔”壓根兒與你無關。
前面四條都是技術上的分歧,技術的背后也是需要礦工支持的,于是兩技術的支持主人公吳忌寒和澳本聰Craig S Wright (CSW)就出場了,吳忌寒代表著比特大陸支持著Bitcoin ABC團隊,CSW背后的Coingeek支持著NChain團隊BSV;如此,一場技術的分裂造成了礦工的分裂,也就是算力的分裂;由于兩大礦場及主人公都太出名了,所以該次事件才受到眾多關注。
當前,ABC方在BCH鏈上約持有30%左右的算力,而SV方約持有50%算力(https://cash.coin.dance/blocks) 但是雙方在BCH上的算力均非主力,大部分的算力其實在BTC鏈上隨時可能來支援,尤其是比特大陸控制著全球最大的比特幣算力,在潛在算力上具有絕對優勢,且據說吳忌寒已經奔赴新疆調整礦場部署。因此,勝負的結果并不是現在能預測的。
分歧點??戰爭爆發于ABC在BCH官網 https://www.bitcoincash.org 發布0.18版升級之后,CSW提出強烈批評,并且發布BSV版本,提出取消ABC的0.18版本升級,全網采納BSV版本。此舉遭到ABC團隊和比特大陸等方面的反對,并對BSV版本提出反對。這次事件的主要矛盾點在于客戶端采用的共識機制不同,兩個版本的主要差別在于:
Bitcoin ABC方案
對區塊內交易使用CTOR(順序交易排序)交易排序規則替代了原有的TTOR(拓撲交易排序)交易排序規則。
設置了最小的交易大小(100bytes)防止對SPV的攻擊。
增加了兩個操作碼OP_CHECKDATASIG和OP_CHECKDATASIGVERIFY,以便引入外鏈。
push-only規則。
Bitcoin SV方則十分簡單:
區塊大小上限從32M擴展到128M
啟用加減乘除的操作碼以便在未來支持鏈上智能合約
恢復中本聰早期版本設計了但被禁用的4個操作碼
CSW對ABC 0.18版本的兩個更新都提出反對,認為:
OP_CHECKDATASIG和OP_CHECKDATASIGVERIFY能夠被用來設計賭博應用,因此會導致BCH主鏈被政府封殺。此邏輯因為兩個原因在爭論中淡出:[1] 沒有這兩個操作碼,BCH也可以設計賭博應用,只不過更復雜一些;[2] 法律上缺乏對公共基礎設施被用于犯罪用途而遭封禁的依據。
CTOR對BCH不是必要的改進,還會增加基礎協議的復雜性。這一點爭議較大,Rawpool研究報告支持上述反對CTOR的意見,而Markblundeberg提交在Reddit上的文章分析認為CTOR本身近期對BCH系統的改進不明顯,長期也不確定,但目前升級能夠為后續的石墨烯升級提供便利,后者有助于實現更大區塊容量。ABC發布的BCH路線圖也說明CTOR是后續石墨烯和大區塊升級的先導升級。Jonald Fyookball則綜合分析了CTOR的作用、優勢和升級的必要性。
而Bitcoin ABC反對BSV的主要是將區塊大小上限擴展到128M,主要理由為:
??目前BCH每塊實際容量在200k左右,現有32M區塊上限是實際容量的160倍,沒有擴容的市場需求。對此,CSW一方強調他們向大的銀行和百貨公司推薦使用BCH時,這些大公司強調BCH容量限制太小,無法滿足它們的需求。因此,先升級128M然后取消區塊容量上限是吸引大公司應用BCH的先決條件。
??此外,BSV的128M擴容并不成熟,缺乏相應的測試數據。對此,CSW沒有提供必要的測試數據。2018年9月初BCH對現有32M上限進行了一輪壓力測試,測試中最大區塊為21M,有一些節點掉線,目前沒看到權威的測試報告。在8月曼谷會議上,ABC、比特大陸和Roger Ver等各方表示,在11月升級完成后,將投入力量測試128M擴容的可行性,如果通過,考慮在2019年5月的升級中部署。
根據以上梳理,實際上最終存在分歧的是ABC0.18版本的CTOR和新增的操作碼(OP_CHECKDATASIG,OP_CHECKDATASIGVERIFY)
關于CTOR和TTOR的區別:
TTOR的交易排序規則僅要求任意一個交易必須排在它所引用的交易后面,而不要求具體順序。CTOR則在TTOR基礎上要求按照交易ID的順序來打包請求,這樣區塊鏈就會形成一張依據ID排序的順序表,從而可以支持分片存儲,讓交易查找可以在一次查找中完成而不必翻找整個鏈。(這導致硬分叉)
關于操作碼的爭論:
OP_CHECKDATASIG/OP_CHECKDATASIGVERIFY讓區塊鏈可以驗證鏈外數據,從而提供了外鏈的接口。Bitcoin ABC認為比特幣二層網絡應該建立在鏈外,Craig Wright則反對這種做法,認為比特幣的二層網絡也應該在比特幣的鏈內(但這才是主要矛盾)。有了這兩個操作碼,其實,不用再修改共識就能接入反洗錢系統了,直接來個公民身份核驗的二層網絡,對交易進行簽名就好了,誰合法誰不合法立顯。
其他的變化則并不是太重要,ABC也并不是死守32M,在BCH鏈中,區塊大小其實是可配置的,只要節點改一個設置就行了,128M僅僅是一種象征意義。加減乘除也只是象征意義。
交易所如何站隊目前站隊的交易所為數不多,三大交易所中 OKEx、幣安傾向于中立態度,火幣的態度尤不明朗。分叉事件后
?OKEx交易所則宣布,由于Bitcoin Cash(BCH)的分叉已經完成,原BCH已不存在。故 OKEx已 將原有的 BCH 兌換為 BCHABC 和 BCHSV,兌換比例為1 BCH=1 BCHABC+1 BCHSV;今日,OKEx 先后開放 BCHABC 和 BCHSV 提取和相關交易對交易。
?幣安也采取了類似操作,但目前僅開放了 BCH 分發和交易。等區塊網絡穩定后再開放充值提現,安全第一;目前沒有計劃時間。
?而火幣則基于最長鏈原則,將 BCH 幣種的所指含義明確為“Bitcoin ABC”,不過這種定義是有問題的,因為隨后Bitcoin SV 的區塊高度也一度超過 Bitcoin ABC。所以火幣又出了一則BCH充值延遲的公告
??整個故事的要點就在上面介紹完了,不難發現,本次BCH事件是技術分裂在礦工社區治理上的一次很好的嘗試,不管分裂前礦工各大派系炒得如何兇殘,人性都是逐利的,這將演變成一場博弈——金錢與面子之爭,而不在漩渦之中的礦工會采用POS的nothing at stake的操作模式,要么兩邊都挖,要么我都不挖;
??當然也可以有鷸蚌相爭,漁人得利的操作模式出現,這就是最近熱門的重放攻擊,它的最大傷害是對交易所而不是我們吃瓜群眾,只要我們不做任何操作便不會有啥影響,因為重放攻擊只能是你操作了其中一個針對你沒有操作的那個兄弟幣進行竊取。所以顯而易見,風險較大的會是交易所,只要有人提取BCH,交易所在重放攻擊下會被竊取等額的BSV,所以所有交易所都會停止BCH的提現操作,直至其中一條鏈增加重放保護。目前,ABC的重放保護升級擬定計劃在2019年5月15日。所以算力戰如果真的一旦開啟,BCH社區將進入內耗,不相關的礦工最后只會支持勝者鏈,而它也將成為真正的BCH,另一條鏈也不會死,但是價值將淪為子嗣鏈。
??如此可以發現,炒得如此火熱的BCH算力之爭,本質上與99%的人沒有太大關系;但是它確是一個很好的礦工社區治理和技術社區治理的實驗,也暗示著在區塊鏈的世界即使像BTC這樣的老大哥,也可以出現技術造成的算力分裂,以往一直宣揚礦工不會以危害利益而去作惡,但是礦工卻可以堅持自己不同的信仰而造成內耗,這樣的信仰分裂一旦造成頭部礦場分裂,后果還是挺嚴重的,還好BTC硬升級的改動一般不大,不會出現諸如BCH如此之大的意見分歧,不過這將會成為一個很好的Lesson learn。
??2018年11月16日凌晨2點16分,BCH硬分叉算力戰落下帷幕,以BCH ABC的算力勝利告終。在SVpool挖出分叉前最后一個區塊后,BCH就此分裂成BCH ABC和BSV兩條鏈,隨后吳忌寒便轉發了一條Twitter稱:“ 祝賀!在這個新的區塊之后,BCH社區中將不會再有搗亂分子了!”澳本聰則放話表示游戲仍在繼續。
??BCH的“分叉戰”雖然結束,但此次分叉帶來的影響并未結束,BCH的“保衛戰”也才剛剛開始。在BCH成功分出兩條鏈的幾個小時后,有圈內人士對BCH ABC的穩定性提出了質疑。他表示:BCH分裂后,BSV出塊穩定,一個小時保證在6個塊;BCH ABC則出現了區塊“抽風”,一個小時有7-17個塊,論鏈的穩定性,BSV勝。
??而在分叉后,PeckShield態勢感知平臺安全人員也發現:ABC和SV兩個鏈上均存在一些容量為幾千筆交易的異常區塊。這樣的情況被稱為粉塵攻擊,而這種攻擊極有可能造成BCH網絡阻塞,進而拉高交易費用。除粉塵攻擊外,ABC還遭受了在相同地址間重復發送交易的垃圾交易攻擊,在一段時間內,這種垃圾交易攻擊可能會填充ABC的全部節點,從而影響ABC鏈的空間可用性。
??徐明星也發布朋友圈表示:“BCH‘算力大戰’的重點是看ABC和BSV能否穩定出塊,以及兩條鏈是否出現區塊大量回撤,標志著兩條鏈是否成功。”而初生的兩條鏈目前都處于不穩定的狀態,因此,兩條鏈最后的結局一切都尚未能隨意下定論。
??在此次硬分叉之前,加密貨幣市場整體的行情在11月15日起出現大幅波動,比特幣等主流幣的暴跌引起了整個加密貨幣市場的恐慌,市值前百幣種有90余個幣種應聲下跌。BCH投資人受到的影響或許更大。
??這次分叉可能不會像當年BCH從BTC的分叉那樣干脆。BCH從BTC分叉之所以干脆,是因為部署了重放保護,兩條鏈直接產生了隔離。而這次則不然,雙方都會以自己的方式在同一條鏈上處理交易,爭奪主鏈的控制權,這必將伴隨著大量慘烈的孤塊與孤鏈,是一場成百上千萬的美元的消耗戰。
??不過事情的發展可能和大家預期的不同。這場戰爭并不是公平對等的,并不是誰能夠控制51%以上的算力誰就能勝利。
??為什么這么說?主要是雙方在共識上的主要不同點。我們可以看到,ABC方實際上是縮減了共識的范圍,除了增加了新的操作碼(一時半會也不會真有人用)。而SV方實際上未對原有共識做實質上的變更。換句話說,正如CTOR是TTOR的子集一樣,ABC共識是SV共識的子集。這導致了一個有趣的情況,即:ABC鏈即是SV鏈,但SV鏈不是ABC鏈。這幾乎讓SV方成為了這場大戰中打不死的小強,因為ABC方算力再強鏈再長,也不能在實質上孤立SV共識,因為ABC的最長鏈就是SV的最長鏈。ABC塊對于SV共識來說只是長得奇怪了點。
但是對于ABC共識來說,劣勢就會很明顯。
??對于ABC共識,在任何情況下,會存在兩個情況。情況一,ABC鏈更長,但SV隨時可能在下一個塊后面重新接上SV鏈。情況二,SV鏈更長,此時ABC鏈被孤立,必須付出更大的算力來扭轉情況使ABC鏈超過SV鏈。
??然而,這也并不代表ABC方一定會輸。只要ABC方持續用算力否定SV塊,SV方就得不到任何的挖礦獎勵,這可能會導致SV方礦工的逐步分化瓦解,最終放棄SV共識而采用ABC共識。
??當然的當然,ABC方要做到這一點必須持續付出比SV方多得多的算力。換成我們喜聞樂見的語言就是:用錢砸死你。
??我們相信比特大陸有足夠的算力也有足夠的錢,不過我們也相信Craig Wright代表的理想主義并不會太廉價(主要是也不用花很多錢)。
1、什么是重放攻擊
??除了技術路線和理念不同之外,需要格外關注的還有重放攻擊的危險。什么是重放攻擊呢?重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊,不僅僅存在于區塊鏈世界中,在傳統網絡中也有這種攻擊方式。在傳統網絡中,重放攻擊是指攻擊者發送一個接收者已接收過的數據包,用于迷惑接收者。?攻擊者可以是最初的發送者,也可以是攔截并重發數據的第三者。在區塊鏈網絡中,尤其是在兩條分叉鏈上,會容易出現這種問題。當時在以太坊和以太經典分叉時就出現了這樣的問題。
??由于以太坊和以太經典在剛剛分叉時,除了ETH回滾了在The DAO事件被盜的Token之外,沒有任何系統差別。因此發布在ETH上的廣播可以被拿到ETC網絡上立即重播一次。在分叉過程中,同一個私鑰對應的地址內既存著ETH,又存著ETC。因此在分叉后,攻擊者就可以發出重放攻擊了。舉個例子,黑客Alice從B交易所提現100個ETH時,交易所B必須先向ETH礦工網絡廣播交易信息,這條交易信息中有交易所的私鑰簽名。這時如果Alice想要作惡,她可以立刻將此廣播在ETC網絡中再廣播一次。由于廣播中包含交易所B的私鑰簽名信息,而且交易所地址中既有100個ETH,又有100個ETC,那么黑客Alice可以不經交易所同意(因為ETC礦工也看到了交易所的私鑰簽名),把交易所B地址中的100個ETC也劃給自己。這時雖然Alice只提現了ETH,但是她同時把交易所B的ETH和ETC都取走了。比如當時著名網站云幣網就被重放攻擊偷走了40000個ETC [20-22]。
??但是后期的分叉中,各分叉鏈和持有者都對重放攻擊有所準備,比如客戶端有重放攻擊保護,交易所暫停重提幣等。比如說在比特幣和比特幣現金分叉時,比特幣現金交易廣播必須使用SIGHASH_FORKID,這樣比特幣和比特幣現金相互之間就沒有重放攻擊的干擾了。
??但是在本次分叉中,和過去分叉不同得是,由于SV版本主動移除了“重放攻擊保護”,這就意味著兩條鏈面臨著巨大的重放攻擊風險。作為持有者,在分叉競爭結束之前,如果擔心風險,最好不要使用任何版本的BCH客戶端發送交易給其他人,除非收發地址都是自己。不發送交易是沒有被盜走的風險的,一旦發送廣播就會面臨著被惡意攻擊者偷走兩種資產中的一種的風險。
2、為什么會引發算力大戰?
??由于重放攻擊的存在,持有者發送任何交易都有風險,交易需求會大大減少,因此兩邊系統都會出現半停滯的狀態。因此和過去不同,兩條鏈會保持強烈競爭的關系,而不是相對獨立的關系,難以“共存”,直到一方先主動硬分叉,加入新的重放攻擊保護機制。但是如果一方先行硬分叉,可能會被部分持有者認為是不成功的表現,而且開發需要一定時間,因此有可能短時間內兩條鏈都不會再次主動進行硬分叉。
??我們都知道比特幣系的區塊鏈系統有難度調整機制,比如說比特幣是每2016個區塊調整一次難度,以確保出塊時間是10分鐘左右。如果算力增長過快,就加大難度。如果算力降低過快,就減小難度。但是如果一個分叉幣誕生后,算力相比比特幣驟減,短時間內(因為難度調整必須等待完成2016個區塊周期才行)會導致出塊時間大大延長,減少礦工收益。礦工收益減少,礦工就會流失;礦工流失,算力就會減少;算力再次減少,則出塊時間再次延長,于是就變成了惡性循環。最終分叉鏈就會因為難以算出下一個區塊都消亡。這也正是比特幣白皮書中所強調了最長鏈原則,算力低的鏈極難追上最長鏈[23]。
??為了解決這一問題,比特幣現金最開始引入了EDA機制,每當出塊時間增長,就會降低挖礦的難度,最多執行6次。但是這種機制也帶來了問題,比如說算力暴擊。由于算力可以在比特幣和比特幣現金中自由切換,因此算力會等待BCH在EDA調整機制下,難度降低到最低點后集中切換到比特幣現金上,來快速出塊(因為難度很低,算力很高),從而獲得超額收益。算力暴擊造成了BCH的出塊不穩定問題。因此在后期的更新中,Bitcoin ABC主導了一次DAA難度調整硬分叉升級,并移除了EDA。在DAA機制下,BCH難度動態調整,每144個區塊調整一次,平均約1天[2]。但是目前雙方版本的算力旗鼓相當,如果沒有更多變化的話,那么雙方出塊速度都會大大降低,這也會加劇了兩條鏈的競爭關系。
??目前社區內也有關于兩條鏈“共存”問題的討論。正常來說,在比特幣現金或者比特幣區塊鏈上,由于通訊不及時或同時挖出新區塊等原因,有時也會產生意外分叉。這時會有算力競爭,然后由最長鏈原則決定哪條鏈是合法的鏈。得到算力認可較少的鏈,會因無法挖出新區塊而真正消亡。換句話說兩條鏈不能共存。在本次分叉之爭中,ABC版本和SV版確實有也有算力競爭,但是考慮到BCH整體算力并不高,并且雙方算力上沒有數量級的差距,而且可以借力于BTC等sha256系的算力,那么短時間內雙方不太會出現由于算力不足無法出塊進而消亡的情況。然而,重放攻擊會嚴重影響交易的收發,用戶在很多場景下無法使用,實際上短期內兩條鏈是不能“共存”的。這意味著必須有一方再主動硬分叉一次,加入新的重放攻擊保護機制,然后BCH才能變成真正的互不干擾的兩條鏈。
除此之外,本次算力大戰還有兩個點需要格外注意:
??礦池的份額不一定代表算力持有者的真正的態度。比如說某礦池雖然支持某個版本的路線圖,但這不代表在該礦池挖礦的所有礦工都支持這一路線圖。但也有旗幟鮮明支持某一個路線圖的礦池,比如SVpool,就是為了SV版本而建立的礦池。
??比特幣算力可能影響最終的結果。由于BCH和BTC都是屬于雙sha-256挖礦算法,那么比特幣龐大的算力也可以隨時切換過來。目前BTC算力約47.3 EH/s,BCH算力約4.65 EH/s,BTC是BCH的10倍之多(數據統計來源BTC.com,統計時間2018-11-12 12:00 UTC+8)。而且有很多網站都提供比特幣算力的租借服務,因此比特幣算力可能是影響這場算力大戰的重要因素。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24494.html
摘要:回顧你聽說過思維導圖嗎本文我們將使用設計測試案例,并導入到管理系統。安裝和使用使用可以快速安裝。第一層子主題會被識別為。的下級分支為和。開頭的所有主題都會被自動忽略,可以用來隱藏或者注釋某些不想導入的內容。 回顧:你聽說過思維導圖嗎? 本文我們將使用xmind設計測試案例,并導入到TestCase管理系統TestLink。 原理 Xmind生成的思維導圖以 .xmind 為擴展名,其...
摘要:用切換賬戶的組,分別練習,,,命令,顯示當前賬戶的信息二權限管理是多用戶的操作系統,允許多個用戶同時在系統上登錄和工作。 前言 只有光頭才能變強 回顧前面: 看完這篇Linux基本的操作就會了 沒想到上一篇能在知乎獲得千贊呀,Linux也快期末考試了,也有半個月沒有寫文章了。這篇主要將Linux下的用戶和權限知識點再整理一下。 那么接下來就開始吧,如果文章有錯誤的地方請大家多多包涵,不...
閱讀 2972·2021-09-22 15:18
閱讀 3395·2019-08-30 15:54
閱讀 3274·2019-08-30 15:53
閱讀 589·2019-08-30 14:12
閱讀 813·2019-08-29 17:01
閱讀 2198·2019-08-29 14:04
閱讀 1379·2019-08-29 13:09
閱讀 862·2019-08-26 17:40