區塊鏈分叉解析:軟分叉、硬分叉與爭議性分叉 |Quicknode 🤖 最新推出:《Quicknode 人工智慧實戰手冊》 10 個經過實測的 AI 程式設計食譜agents 。
查看食譜
我們的電子報內容豐富,包含免費資源、Quicknode 最新動態、Web3 洞見等。
CLI、Admin API 、MCP、SDK ,以及適用於 75 條以上區塊鏈的 AI 原生工具。由開發者打造,為開發者而生。
涵蓋 Python、Ruby 及 JavaScript 的最新程式碼範例。關於智慧合約、NFT 及去中心化應用程式(dApps)的深入指南。
簡而言之: 當區塊鏈的協議規則產生分歧時,便會發生鏈分叉, 進而為區塊鏈開闢出兩條或更多可能的發展路徑。 軟分叉會引入向後相容的規則變更,用以收緊現有規則,因此未升級的節點仍會接受新區塊,而網路也能保持統一。 硬分叉則會引入不具向後相容性的變更,這意味著已升級與未升級的節點將遵循不同的規則;若非所有節點都進行升級,區塊鏈將永久分裂為兩個獨立的網路。分叉是區塊鏈演進、升級以及解決社群分歧的主要機制,但同時也會帶來資產重複、重播攻擊及生態系統碎片化等風險。
簡單的解釋 不妨將區塊鏈分叉比作道路的分岔口。此前,所有人都行駛在同一條路上,遵循相同的規則。在分岔口處,提出了一套新的規則。如果這項變更具有向後相容性(軟分叉),那麼無論是否採用新規則,所有人都能繼續行駛在同一條路上。 道路會稍微變窄(規則更嚴格),但所有旅人仍可繼續通行。若變更不具向後相容性(即硬分叉),道路便會分岔成兩條獨立的路徑。旅人必須選擇要走哪條路,而身處不同路徑的人將無法再互相互動。
在區塊鏈的語境中,「規則」指的是共識協議:哪些交易是有效的、區塊如何結構化、區塊的最大大小為何、Gas 如何計算,以及獎勵如何分配。 網路上的每個節點在驗證區塊時都會執行這些規則。當規則變更時,已採用新規則的節點與仍運行舊規則的節點,可能會對哪些區塊有效產生分歧。這種分歧如何解決,將決定分叉是「軟分叉」(網路保持統一)還是「硬分叉」(網路分裂)。
軟分叉 軟分叉會收緊現有的規則。符合新規則的區塊在舊規則下同樣有效,但部分在舊規則下有效的區塊,在新規則下則不再有效。這意味著已升級的節點會執行更嚴格的驗證,而未升級的節點仍會接受這些新區塊,因為它們並未違反舊規則。
已通過 SOC 2 Type II 認證 · ISO 27001
Bitcoin2017 年的「隔離見證」(SegWit)升級,正是軟分叉的經典範例。SegWit 改變了交易簽名的儲存方式,不僅減少了交易的實際大小,更為閃電網路的運作奠定了基礎。未升級的節點仍會接受 SegWit 區塊,因為這些區塊在舊有的大小限制規則下仍是有效的。已升級的節點會針對簽名資料的組織方式實施額外規則,但這些規則對舊版節點而言是不可見的。
軟分叉通常被認為比硬分叉更安全,因為它不會造成區塊鏈分裂的風險。只要多數礦工或驗證者採用新規則,區塊鏈便能保持統一。 未升級的節點可能無法理解或驗證新功能,但它們不會拒絕這些區塊,因此網路仍維持為單一鏈。 軟分叉的缺點在於其能達成的目標有限。由於新規則必須向後相容,因此根本性的協定變更(例如改變區塊結構、修改帳戶模型或變更共識機制)通常無法以軟分叉的形式實現。
硬分叉 硬分叉會放寬或根本性地改變規則,導致根據舊規則生成的新區塊失效。未升級的節點會拒絕這些新區塊,網路隨之分裂為兩條鏈:一條遵循新規則,另一條則遵循舊規則。這兩條鏈在分叉點之前擁有相同的區塊鏈歷史,並從該點開始分道揚鑣。
大多數硬分叉都是經過規劃與協調的升級,整個社群會達成共識,同意採用新規則。Ethereum 從工作量證明(Proof of Work)轉向權益證明(Proof of Stake)的過渡(即「合併」,2022年9月)便是一次硬分叉。 每位節點營運者、質押服務提供者、交易所及應用程式開發者皆協調在指定區塊之前升級其軟體。由於社群立場一致,舊有的工作量證明鏈(曾短暫以「EthereumPoW」為名推廣)僅獲得極少支持,並迅速失去存在意義。
Ethereum的例行網路升級(上海、丹村等)同樣屬於硬分叉,會在預先設定的區塊編號或時間戳記時啟動。整個生態系統會預先進行升級,並棄用舊規則。這些協調性的硬分叉屬於例行維護,而非具爭議性的事件。
具爭議性的硬分叉 最劇烈的分叉通常發生在社群無法就協議的發展方向達成共識,且雙方皆擁有足夠的支持來維持一條獨立鏈的情況下。這些具爭議性的硬分叉會導致出現兩條活躍的區塊鏈,每條鏈都有各自的社群、礦工/驗證者、代幣價值及開發進度equipe 。
最著名的爭議性分叉是「Ethereum Classic」。2016 年,有人利用 The DAO 智慧合約中的漏洞,竊取了價值數百萬美元的 ETH。Ethereum 社群曾就應否進行硬分叉以挽回這筆損失展開辯論。多數人支持分叉,並創建了一條新鏈(即今日的Ethereum ),將被竊資金歸還至該鏈上。 少數人基於理念上的考量反對此次硬分叉(主張「程式碼即法律」,且區塊鏈絕不應被追溯性修改),並繼續運行原始鏈,該鏈隨後成為Ethereum Classic(ETC)。兩條鏈至今仍並存,其中Ethereum 的規模與價值均遠遠超過 ETC。
Bitcoin Cash 是另一項備受爭議的分叉事件。2017 年,Bitcoin 社群就如何提升交易吞吐量展開辯論。其中一派主張將區塊大小從 1MB 增加至 8MB;另一派則反對擴大區塊大小,更傾向採用 SegWit 軟分叉以及類似 Lightning Network 的鏈下擴容方案。 由於分歧無法調和,2017年8月,大區塊派從比特幣(Bitcoin )分叉,創立了比特幣現金(Bitcoin Cash,BCH)。隨後在2018年,BCH再次分叉,分裂為比特幣現金(Bitcoin Cash)與比特幣現金(Bitcoin ,SV)。
分叉過程中會發生什麼事 當發生硬分叉時,原始加密貨幣的每位持有者會突然在兩條鏈上各持有相同數量的資產。例如,若您在Ethereum/Ethereum 經典版分叉前持有 10 ETH,那麼您在新鏈上將擁有 10 ETH,而在舊鏈上則擁有 10 ETC。這種資產重複現象可能引發經濟上的複雜性,包括「重放攻擊」——即某筆在某條鏈上有效的交易,被重新發送到另一條鏈上。
對開發者而言,分叉意味著必須決定要支援哪條鏈(或是否同時支援兩條鏈)、更新節點軟體、驗證智慧合約在新規則下是否運作正常,並向使用者通報相關變更。對節點營運者而言,分叉要求必須在分叉區塊產生前升級客戶端軟體,以便跟隨預期的鏈。未能升級的節點將留在舊鏈上,提供過時的資料,並可能導致應用程式無法運作。
軟分叉與硬分叉有什麼區別? 兩者的核心差異在於向後相容性。軟分叉會以舊版軟體仍能接受的方式收緊規則,因此網路仍維持為一條鏈;硬分叉則會以舊版軟體無法接受的方式變更規則,這可能導致網路分裂成兩條鏈。下表對這兩者進行了並列比較。
屬性
軟分叉
硬分叉
規則變更
收緊現行規定
放寬或重新界定規則
向後相容
是的
不
未升級的節點
仍接受新的區塊
拒絕新增區塊
鏈式結果
網路保持統一
網路可能會分裂成兩條鏈
已建立新資產
不
是的,持有者可在兩條鏈上都獲得代幣
範例
Bitcoin SegWit(2017)
《The Merge》、《Ethereum 》經典合輯
這兩種分叉都是區塊鏈 隨時間演進而進行升級的方式。軟分叉的風險較低,但範圍有限;而硬分叉則能實現更深層次的協議變更,代價是要求所有人必須同步升級。
什麼是意外或暫時的分叉? 並非每一次分叉都是刻意進行的協議變更。當兩位驗證者幾乎在同一時間產生相互競爭的區塊時,便會發生意外分叉,導致網路在「哪個區塊應延續區塊鏈」的問題上短暫分裂。網路會在一個或兩個區塊內透過匯聚至最重的有效區塊鏈來解決此問題,而孤立的區塊則會被捨棄。這種短暫的分裂與區塊鏈重組 密切相關。
這些暫時性的分支是正常的,通常對使用者而言是不可見的,但若應用程式將未確認區塊視為已結算,便可能會顯示出日後會消失的交易。在將資金視為最終確定之前,先等待最終確定性 ,是防止因依據遭重組而移除的區塊採取行動的標準防禦措施。
分叉期間的重放攻擊是什麼? 當硬分叉產生兩條共享歷史紀錄的區塊鏈時,針對其中一條鏈簽署的交易在另一條鏈上也可能有效,因為在分叉點處,帳戶、餘額和簽名機制均完全相同。 攻擊者可以在第二條鏈上重新廣播(重播)您的交易,藉此轉移您無意轉移的資金。管理完善的硬分叉會加入重播防護機制(例如唯一的鏈 ID),確保交易僅在預期的網路中有效。錢包和節點營 運者在爭議性分叉發生後進行交易前,應確認重播防護機制已確實到位。
開發者該如何為區塊鏈分叉做好準備? 為預定分叉做準備,主要在於掌握時機與進行測試。以下清單涵蓋了大多數團隊在預定硬分叉前會遵循的步驟。
步驟
該怎麼做
為何這很重要
追蹤行程
請注意分叉區塊或時間戳記
若錯過這個機會,你將仍被束縛在舊的枷鎖之中
升級客戶端
請預先更新節點軟體
舊版客戶端拒絕接受新區塊
測試於testnet
根據新規定驗證合約
及早偵測重大變更
確認重播保護
檢查鏈 ID 是否唯一
防止跨鏈重播攻擊
使用託管式基礎架構
將升級作業轉交給服務供應商處理
消除單點故障
仰賴受管 RPC 的團隊可避免大部分這類工作,因為提供者會在啟用前先升級節點。對於事件驅動型應用程式, Webhooks 以及 Streams 無需手動管理客戶端即可傳遞後分叉資料。
常見問題
透過硬分叉能獲得免費代幣嗎? 如果硬分叉產生了一條新的持久鏈,原始資產的持有者將在分叉點於新鏈上持有等值的餘額。這就是Ethereum Classic 和Bitcoin Cash 的持有者獲得代幣的方式。新資產只有在分叉出的鏈能吸引真正的社群與市場支持時才具有價值,而大多數分叉都無法做到這一點。
軟分叉和硬分叉哪一個比較安全? 軟分叉通常風險較低,因為它能維持網路的統一性,且無需所有參與者同時進行升級。硬分叉雖然功能更強大,但風險也更高,因為未能升級的節點將被困在舊鏈上,而具爭議性的分叉可能會導致社群分裂。
「分叉」和「重組」有什麼區別? 分叉是指協議規則或區塊鏈歷史的分歧,而重組則是網路將近期新增的區塊替換為競爭分支的過程。短暫且意外的分叉可透過重組解決,而硬分叉則是永久性的規則變更,可能產生兩條長久存在的區塊鏈。
區塊鏈分叉可以被逆轉嗎? 一旦兩條鏈都獲得獨立支持,無論是預先規劃或具爭議性的硬分叉,都將成為永久性的,因為每個網路都會依照自身的規則持續產出區塊。相較之下,意外分叉會在一個或兩個區塊內自動解決,因為網路會逐漸趨向於單一的標準鏈。
分支會對我的應用程式產生什麼影響? 在預定的分叉期間,您的節點必須運行已升級的軟體,才能繼續跟隨標準鏈;否則將會提供過時資料。若使用能處理分叉過渡的託管 RPC 提供者,您的端點便能在升級過程中持續返回標準資料,而無需您採取任何行動。
Quicknode 如何處理分支 Quicknode其基礎架構equipe 會監控 80 多個受支援網路中所有預定的硬分叉,並確保節點在分叉啟動前完成升級。這意味著使用Quicknode 的開發者無需自行管理客戶端升級,也不必擔心應用程式最終會落在分叉的錯誤一側。當鏈條進行預定的硬分叉時,Quicknode 會無縫處理過渡,而您的 RPC 端點將持續從標準的、已升級的鏈條提供資料。
對於兩條鏈均持續運作的爭議性分叉,Quicknode 會評估社群支持度、安全性及開發者需求,再決定是否將新鏈納入支援的網路清單。Quicknode 的多鏈基礎架構意味著,新增對新分叉鏈的支援屬於基礎架構層面的決策,而非客戶的開發負擔。
Quicknode Streams 透過以最終性順序傳遞資料,能流暢地處理分叉轉換,確保在分叉啟動期間可能出現的任何暫時性區塊鏈不確定性,都不會導致錯誤的資料傳送至您的資料管線。內建的重組處理機制可涵蓋分叉啟動阻塞期間可能發生的邊緣情況。
延伸閱讀 // Publisher
Quicknode
更新於 2026 年 9 月 16 日
2026年3月20日 — 閱讀時間 11 分鐘