分叉大不同:硬分叉 V.S. 軟分叉
內容目錄
什麼是分叉(Fork)?
分叉(Fork)是指在開發軟體或程式碼的過程中,原本的資料庫分成兩個或以上不同的資料庫,進而成為獨立的專案。而分叉通常是因為對原專案的不同看法、不滿或出現利益衝突等等,導致開發者從原本的專案中複製出一份資料,進行獨立的開發。
舉一個簡單的例子來說:假設你和朋友達成共識要搭捷運去台北玩,你們約好一起從板南線的南港站出發,但你想去台北車站逛地下街、抽一番賞,而你朋友想要去大直美麗華搭摩天輪。這時你們的意見出現分歧,在兩個人都無法各退一步的情況下,就必須在忠孝復興站分道揚鑣(也就是分叉),你繼續搭板南線前往台北車站,而他必須轉乘文湖線才能到大直美麗華。
什麼是軟分叉(Soft Fork)?
軟分叉(Soft Fork)指的是對區塊鏈協議的更新,使得新的規則被加入到協議中,但仍然兼容舊的機制。簡單來說,就是區塊鏈技術的更新版本仍然能夠兼容舊版本,舊版本的節點仍然可以運行新版本的交易機制。
聽起來很難懂對吧!用一個簡單的例子讓你更了解~
假設台北捷運突然宣布對部分的列車進行升級,以支援更快的列車速度和更多的座位。但因為舊的列車還在使用中,因此無法更換鐵軌,所以新的列車需要能夠與舊的列車兼容。而當新列車上線時,舊的列車仍然能夠在同一條鐵軌上運行,並且舊有的車站也能夠停靠新列車。這樣的升級就是一個軟分叉在生活當中的例子,因為新的列車與舊的列車仍然能夠在同一條路線上運行,但新的列車能夠提供更好的乘車體驗。
回到區塊鏈的世界,和大家介紹一個區塊鏈史相當著名的軟分叉事件:
比特幣的 BIP 148 升級。BIP 148 是一個在 2017 年提出的升級建議,旨在提高比特幣的交易容量和保障網路安全。
BIP 148 升級稱為 User Activated Soft Fork(UASF)。這個協議建立於比特幣的現有機制上,並增加了一個新的啟動機制。因此 BIP 148 升級是一個軟分叉,因為它基於比特幣的現有版本,並且仍然與舊版本兼容。即使有些節點沒有升級到新版本,整個比特幣網絡仍然可以正常運作,但是只有支持 UASF 的節點才能繼續處理新的交易和區塊。
什麼是硬分叉(Hard Fork)?
硬分叉(Hard Fork)也是對區塊鏈協議的更新,但更新的新版本在舊版本上是無法兼容的(因為產生了一條新鏈),也就是說舊鏈上的礦工與新鏈上礦工井水不犯河水,彼此維護著各自的鏈。
還是覺得很難對吧!再用一個例子讓你更了解~
假設你擁有一部五年前的 IPhone 8 ,運行著舊版的 IOS 系統。當你想要升級到新的版本時,你需要將手機連接網路,下載新的 IOS 更新檔,並且在安裝過程中,所有舊的應用程式和數據都需要升級和更新。如果你不升級,你的手機仍然可以繼續使用,但就無法使用一些新的應用程式和功能。如果你升級了,你的手機就能運行新版本的系統,才能使用新的應用程式和功能。這種升級過程就可以看作是一種硬分叉,因為舊的系統無法和新的系統兼容。如果你的朋友還在使用舊版的系統,那麼你們可能就沒辦法互相分享照片、影片或是傳訊息了。
說到硬分叉,最有名的莫過於 2022 年發生的以太坊 The Merge 了。
The Merge 是指將以太坊的當時的共識機制 Proof of Work(PoW)更改為 Proof of Stake(PoS)的共識機制。這個硬分叉的目的是為了解決 PoW 機制(挖礦)的高耗能問題,以提高以太坊網路的效率和可擴容性。在 The Merge 完成之後,以太坊的交易速度和吞吐量將大幅提高,因此對於以太坊以及使用以太鏈的用戶而言,The Merge 絕對是以太坊歷史上,最重要的一次硬分叉。
比較軟、硬分叉之優缺點與總結
軟分叉是向後兼容的,因此在軟分叉之後,新版本的節點能夠繼續與使用舊版本的節點一起運作,且軟分叉不需要所有節點都更新,因為舊版本的節點仍然可以運行;而軟分叉的主要優點是,它對區塊鏈社區的影響比較小且成本比較低(不需使用新設備),因此也比較容易獲得社群的支持。然而,軟分叉的缺點是它對區塊鏈的變化比較有限,因為它只能在現有區塊鏈上添加新功能或進行小幅度的更改。
硬分叉是沒辦法兼容的。也就是說在硬分叉之後,新版本的節點沒辦法繼續與使用舊版本的節點一起運作(硬分叉需要所有節點都更新),如果有任何一個節點不更新的話,區塊鏈將被分裂成兩個不同的鏈;而硬分叉的主要優點是,它可以對區塊鏈的運作機制進行大幅度的更改,甚至可以創造全新的區塊鏈。但硬分叉的缺點也顯而易見:會對區塊鏈社區產生相當大的影響(因為硬分叉會將區塊鏈劃分成兩部分),而且會需要投入更多的成本和資源。最重要的一點是,硬分叉將產生新的加密貨幣(因為有新鏈誕生),這將導致新舊加密貨幣的價格產生劇烈波動,市場會處於相對混亂的狀態。
總而言之,軟分叉比硬分叉更穩定,但需要更長的時間進行投票討論來協調升級;而硬分叉可以更快地解決問題,但可能會對整個區塊鏈生態系統造成巨大的影響。沒有哪一個分叉有絕對的好與壞,只要是能幫助區塊鏈產業更加茁壯的,相信大家都將樂見其成!