為什么比特幣要分叉
我們知道卧斟,比特幣每10分鐘更新一個區(qū)塊殴边,這個區(qū)塊上記錄了10分鐘內(nèi)發(fā)生的所有交易記錄及見證數(shù)據(jù),但是這個區(qū)塊目前的最大容量只有1M珍语,1M的區(qū)塊每秒最多能容許5-7筆交易锤岸,也就是說這個1M區(qū)塊大小決定了比特幣目前可處理交易上限是5-7筆,而信用卡的交易是每秒2000筆……
隨著比特幣的用戶數(shù)和比特幣區(qū)塊鏈上的交易原來越多板乙,目前的1M區(qū)塊大小成為比特幣發(fā)展的瓶頸是偷,這也是目前比特幣網(wǎng)絡(luò)擁堵問題越來越嚴(yán)重、費(fèi)用越來越高的原因募逞,畢竟在交易量太大的情況下蛋铆,礦工會優(yōu)先給費(fèi)用高的交易先打包完成交易確認(rèn),導(dǎo)致小額交易因支付費(fèi)用低確認(rèn)時(shí)間大大拉長放接。所以為了比特幣的長遠(yuǎn)發(fā)展刺啦,比特幣分叉擴(kuò)容迫在眉睫。
什么是分叉
比特幣的分叉就是對整個比特幣網(wǎng)絡(luò)的升級纠脾,就和蘋果IOS系統(tǒng)需要不斷更新升級一樣玛瘸,原來的比特幣網(wǎng)絡(luò)比較擁擠、滿足不了目前用戶快速增長的需求苟蹈,自然就需要擴(kuò)容升級糊渊。升級修改的主要是比特幣交易的數(shù)據(jù)結(jié)構(gòu)、生成區(qū)塊鏈的格式以及某些新特性等等方面慧脱。這一過程中涉及到兩個概念渺绒,軟分叉與硬分叉。
比特幣中的軟分叉和硬分叉主要指因比特幣協(xié)議的突發(fā)改變而導(dǎo)致的兼容性的問題菱鸥。比特幣協(xié)議發(fā)生改變宗兼,會有兩個不同版本的比特幣協(xié)議在同時(shí)使,他們對其他區(qū)塊的接受規(guī)則不同會導(dǎo)致區(qū)塊鏈長期分叉采缚,這兩個不同的鏈都會被不同的網(wǎng)絡(luò)認(rèn)為是有效的针炉。鏈分叉也導(dǎo)致網(wǎng)絡(luò)分叉挠他。
1.軟分叉是向前兼容的
軟分叉是指舊節(jié)點(diǎn)并不會意識到代碼的變化扳抽,并繼續(xù)接受或者說驗(yàn)證新節(jié)點(diǎn)生成的區(qū)塊。如上圖軟分叉的新的規(guī)則是以前舊規(guī)則的子集,所有被新版本認(rèn)為是合法的區(qū)塊也會被以前舊版本認(rèn)為是合法的贸呢。舊版本會接受新版本創(chuàng)建的區(qū)塊镰烧。新版本和舊版本是兼容的。
如果有至少51%的礦工的算力轉(zhuǎn)向的新版本楞陷,那么網(wǎng)絡(luò)自動完成軟分叉:一開始舊版本創(chuàng)建的區(qū)塊在新協(xié)議下被認(rèn)為是不合法的怔鳖,這時(shí)會出現(xiàn)一個短暫的分叉,但最終新版本的分叉會趕超舊版本的分叉成為最長鏈固蛾。因?yàn)樵谂f版本上的算力是小于新版本的结执。
但是如果小于51%的礦工算力轉(zhuǎn)向新版本,那么軟分叉將不會出現(xiàn)艾凯,因?yàn)榕f版本比新版本有更多的算力支持献幔,同時(shí)舊版本不兼容新版本。
2.硬分叉不向前兼容:
未進(jìn)行升級的舊節(jié)點(diǎn)不會接受新版本創(chuàng)建的合法區(qū)塊趾诗,認(rèn)為新版本的合法區(qū)塊是不合法的蜡感。為此不符合原規(guī)則的區(qū)塊會被忽略,使用舊節(jié)點(diǎn)的礦工按照原規(guī)則繼續(xù)挖礦恃泪,區(qū)塊鏈發(fā)生永久性的分歧郑兴。也就是說,如果新規(guī)則部署后部分節(jié)點(diǎn)未進(jìn)行升級贝乎,區(qū)塊鏈將分裂為兩條鏈情连。就如2016年以太坊為追回The DAO被盜資金而發(fā)生的分裂事件。
總 結(jié)
軟分叉向前兼容览效,舊的版本會接受新版本創(chuàng)建的區(qū)塊蒙具,在軟分叉中只需要礦工升級到新版本即可,用戶可以繼續(xù)使用舊版本的協(xié)議朽肥,他們?nèi)匀粫邮苄掳姹緟f(xié)議創(chuàng)建的區(qū)塊禁筏。
硬分叉不向前兼容,舊版本不會接受新版本創(chuàng)建的區(qū)塊衡招。要實(shí)現(xiàn)硬分叉所有用戶都需要切換到新版本協(xié)議上篱昔。