區塊鏈中的軟分叉與硬分叉詳解

區塊鏈兄弟社區,區塊鏈技術專業問答先行者,中國區塊鏈技術愛好者彙集地網絡

做者:吳壽鶴區塊鏈

來源:區塊鏈兄弟加密

原文連接:http://www.blockchainbrother.com/article/29spa

著權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。blog

 

說到分叉,咱們首先了解一下在軟件開發中的分叉是什麼?開發

軟件項目中的分叉get

軟件開發中的分叉指的是:在開源項目中若是有人Fork了一個項目(一個項目分叉爲兩個項目),而後開發者沿着這個Fork向另一個不一樣的方向獨立發展這個項目。例如Litecoin就是bitcoin的一個分叉,litecoin的基礎代碼就是bitcoin的,不過litecoin後來慢慢的發展成了一個另一個獨立的項目。可是依然和bitcoin有着很是緊密的相關性。但litecoin和bitcoin是兩種不一樣的加密貨幣。it

Bitcoin術語中的軟分叉與硬分叉社區

比特幣中的軟分叉和硬分叉主要指因比特幣協議的突發改變而致使的兼容性的問題。比特幣協議發生改變,會有兩個不一樣版本的比特幣協議在同時使,他們對其餘區塊的接受規則不一樣會致使區塊鏈長期分叉,這兩個不一樣的鏈都會被不一樣的網絡認爲是有效的。鏈分叉也致使網絡分叉。比特幣

軟分叉是向前兼容的

 

如上圖軟分叉的新的規則是之前舊規則的子集,全部被新版本認爲是合法的區塊也會被之前舊版本認爲是合法的。舊版本會接受新版本建立的區塊。新版本和舊版本是兼容的。

若是有至少51%的礦工的算力轉向的新版本,那麼網絡自動完成軟分叉:一開始舊版本建立的區塊在新協議下被認爲是不合法的,這時會出現一個短暫的分叉,但最終新版本的分叉會趕超舊版本的分叉成爲最長鏈。由於在舊版本上的算力是小於新版本的。

可是若是小於51%的礦工算力轉向新版本,那麼軟分叉將不會出現,由於舊版本比新版本有更多的算力支持,同時舊版本不兼容新版本。

硬分叉不向前兼容:

 

舊版本不會接受新版本建立的合法區塊,認爲新版本的合法區塊是不合法的。因此很明顯硬分叉是不向前兼容。要實現硬分叉全部的用戶(礦工,交易所,普通用戶)都要切換的新的協議版本上。

總結:

軟分叉向前兼容,舊的版本會接受新版本建立的區塊,在軟分叉中只須要礦工升級到新版本便可,用戶能夠繼續使用舊版本的協議,他們仍然會接受新版本協議建立的區塊。

硬分叉不向前兼容,舊版本不會接受新版本建立的區塊。要實現硬分叉全部用戶都須要切換到新版本協議上。

爲何硬分叉不須要51%以上的算力,由於即使舊鏈的長度大於新鏈也沒用,新版本是不會接受舊鏈上的區塊,若是全部用戶都更新到新的版本那麼客戶的錢包會認爲舊鏈上的資產是非法的,舊鏈上的貨幣沒法使用。

THE DAO 爲何要進行硬分叉而不是軟分叉:若是進行軟分叉,因爲新版本是和舊版本兼容的,因此舊版本上的資產一樣也是能夠在新版本上消費的,那麼就不能達到回滾黑客資產的目的。

文章發佈只爲分享區塊鏈技術內容,版權歸原做者全部,觀點僅表明做者本人,毫不表明區塊鏈兄弟贊同其觀點或證明其描述

相關文章
相關標籤/搜索