官术网_书友最值得收藏!

1.8 區塊鏈的硬分叉

區塊鏈就和傳統的程序一樣,隨著時間的推移,軟件的設計本身也會發生改變,甚至是在軟件中出現嚴重的漏洞,如果在傳統軟件中就會產生升級的操作。而升級后是否向下兼容就會對整個軟件造成完全不同的影響。區塊鏈也是一樣,區塊的數據格式、生成區塊的算法以及對區塊鏈進行打分的算法都可能會升級。如果這種升級向下不兼容,就會出現兩套算法在同時運行的情況。運行舊軟件的計算機節點會繼續用舊的協議來繼續構建區塊,而運行新軟件的節點就會用新的協議去構建新的區塊。通常升級會從某一個固定的區塊開始,所以從這個固定的區塊開始,就會分叉出兩條完全不同的鏈。兩者再也沒有互相融合的可能。這就是區塊鏈的硬分叉。

和傳統軟件升級不一樣的是,硬分叉的代價很大,因為節點是否升級所牽扯的面很廣,其中除了技術的原因,還有很多利益糾葛,比如有的節點的硬件就是專門為舊的協議設計,無法很好地適配新的協議,那么這些節點升級新協議的可能性就很小,甚至這種升級根本就不可能實現。更進一步,不同的人對區塊鏈的想法不一樣,不同的工作組有可能給出完全不同的升級協議,而這些協議都可能被一定數量的節點所接受,結果就是同一個區塊鏈隨著時間的推移,可能會發生很多次硬分叉。例如,比特幣就被分叉過很多次,在交易市場上,很多和比特幣的名字很類似的幣,其實就是硬分叉導致的。以太坊也在某一次DAO黑客事件后進行回滾,有的節點不接受這次回滾,結果就是分叉出以太坊和經典以太坊兩條鏈。

要解決硬分叉問題,在技術上并沒有什么好的辦法。不過隨著時間的推移,不同的鏈在進行公平的競爭,最終總會有一些更好的被留下來,其他一些則被慢慢淘汰。所以,硬分叉到底是不是一個嚴重的問題,更多的就要看觀察角度了。

主站蜘蛛池模板: 宁安市| 姚安县| 荔波县| 富蕴县| 社会| 新河县| 锦屏县| 内江市| 长寿区| 会昌县| 石景山区| 安宁市| 海阳市| 特克斯县| 永兴县| 阿克苏市| 增城市| 福鼎市| 灵丘县| 西宁市| 凌海市| 江津市| 嘉祥县| 聂荣县| 万全县| 永春县| 博爱县| 青冈县| 县级市| 富裕县| 普安县| 军事| 姜堰市| 奉新县| 罗江县| 马尔康县| 仲巴县| 中方县| 石景山区| 喀喇沁旗| 邯郸县|