介紹
區塊鏈的去中心化特性允許不同的參與者《節點》安全透明地驗證和驗證網絡上的交易。
但是,此設置可能會導致參與者之間就應遵循哪些規則以就網絡狀態達成共識產生分歧。
一些參與者可以選擇創建一個新版本的區塊鏈,使用他們同意的規則。
這就是所謂的分叉。
在本文中,您將了解什麼是分叉、不同類型及其對網絡狀態的重要性。
什麼是節點?
節點是連接到區塊鏈網絡的計算機或設備,負責驗證、確認交易並將其廣播給其他節點。
節點具有特殊軟件,其中包含用於驗證區塊鏈網絡上交易的規則。
最常見的節點類型是全節點。
此類型包含區塊鏈分類帳的完整副本,用於跟蹤交易是如何從 2009 年的第一筆交易開始立即發生的。
塊是如何創建的
網絡上的所有節點總是在競相尋找下一個要添加到鏈中的有效塊。
當一個節點找到一個有效的塊時,它會將其廣播到整個網絡以供其他節點驗證。
當競爭中的其他節點收到這個有效塊時,他們確認它確實有效,停止他們一直在做的事情,並立即開始使用收到的塊作為鏈上的參考來尋找下一個有效塊。
所以整個過程是這樣的:節點收到最新的區塊,並根據規則進行測試。
如果該塊有效,則節點在引用最新塊的同時開始創建新塊的過程。
網絡中的所有節點都具有相同的規則集,用於就哪個塊有效或無效達成共識。
當需要改進網絡上已知的當前規則集以解決某些錯誤或甚至在網絡上引入新功能時,就會出現這種情況。
節點現在必須更新他們用來達成共識的規則集。
這個過程不是自動的。
每個同意新規則的節點都必須手動下載並安裝此更新。
不同意新規則的節點不會下載和更新其軟件。
一些節點更新他們的軟件而其他節點選擇不更新他們的軟件的整個情況導致在使用哪組規則來達成共識方面存在分歧。
運行舊軟件的節點隻能創建一個有效塊,但它會被運行更新軟件的節點拒絕
一些運行舊軟件的節點可以確認一個有效的塊,如果新軟件包含使它無效的規則,則隻能由運行更新軟件的節點使其無效。
這會導致網絡分叉。
分叉的類型
軟分叉:這是一種旨在添加新功能或提高網絡安全性的分叉,並且它是向後兼容的。
節點可以選擇是否升級到新規則。
未升級到新規則的節點仍然可以與已升級的節點通信,反之亦然。
然而,隨著時間的推移,所有節點都必須升級到新規則,因為使用舊規則創建的塊將被拒絕。
硬分叉:這種類型的分叉旨在向網絡引入新規則並且不向後兼容。
升級到新規則的節點無法與具有舊規則的節點進行通信。
因此創建了兩個區塊鏈,一個網絡由同意遵守舊規則的節點組成,另一個網絡具有已升級到新規則的節點。
硬分叉的一個典型例子是 2017 年比特幣 SegWit 硬分叉,它導致創建了一個名為比特幣現金的新區塊鏈。
在這裡[1]閱讀更多相關信息。
使用哪種類型的分叉?
根據情況,一種分叉優於另一種分叉。
2015 年,比特幣實施了 BIP66,該提案將引入更嚴格的交易驗證規則,軟分叉優於硬分叉,因為比特幣核心程序沒有重大變化。
此外,以太坊網絡在 2016 年實施了硬分叉,以幫助扭轉對去中心化自治組織 (DAO) 的攻擊,攻擊者在該組織中損失了數百萬美元。
有了這次分叉,數百萬美元免於被盜。
結論
分叉是區塊鏈和網絡技術的重要組成部分,它允許對協議進行創新、改進和網絡協議的演進,以滿足用戶不斷變化的需求。
如果執行得當,它可以顯著提高網絡性能。
但是,另一方面,如果沒有達成共識,也會導致社區的分裂和碎片化。