前言
大家是否有軟體更新的經驗呢?通常軟體更新主要是修復程式Bug,或者添加新功能,進而帶來更好的使用者體驗,而區塊鏈的「更新」或「升級」,我們就稱之為「分叉」。
在詳談分叉之前,我們先來了解一般軟體更新和區塊鏈分叉的差異吧~
一般軟體更新
在中心化的世界,軟體服務提供商通常會有一個中心化的伺服器來部署軟體服務,每當工程師提交軟體更新,伺服器就會推送更新包給用戶,讓用戶做更新。
通常用戶若不更新軟體,一段時間後軟體便不能使用,除非更新至最新版本。
只要中心化伺服器完成更新該軟體就完成更新
區塊鏈分叉
區塊鏈是一個分散式的網路,由許多節點共同維護,每個節點都運行著相同的區塊鏈程式,以達到共識。
當區塊鏈程式要更新時,必須所有節點都更新才行,故更新困難度較高。
根據更新前後版本之間相容狀況的差異,可區分為硬分叉與軟分叉。
硬分叉(Hard Fork)
硬分叉往往是針對共識規則的更新,若節點未更新,共識規則會產生衝突,使得未更新節點產生的區塊無法被已更新節點識別。
在區塊鏈世界中,無法強迫節點更新,當一群節點不認同此版本更新,而決定持續維護原版本,這時原區塊鏈會分支成兩條區塊鏈,而加密貨幣也會變兩種,分別由這兩條區塊鏈維護。
軟分叉(Soft Fork)
軟分叉往往是不影響原共識規則的更新,節點即使未更新,仍可識別已更新節點產生的區塊。
軟分叉是向後相容的,未更新節點產生的區塊無法被已更新節點識別,為了使產生的區塊能被已更新節點接受,通常會自願更新,以免拿不到挖礦獎勵。
硬分叉 vs.軟分叉
如果這篇文章對你有幫助,歡迎追蹤~