介紹

當您被要求更新智能手機上的銀行應用程序時,您可能不會考慮很久就這樣做。您的手機甚至可能會在您不知情的情況下自動進行更新。畢竟,這是一個正常的過程:如果您不安裝最新版本的軟件,您可能無法使用其服務。

在加密貨幣的開源世界中,情況有所不同。雖然您不需要閱讀比特幣的每一行代碼來使用它,但能夠這樣做仍然很重要。在這個新世界中,不存在可以簡單地強制更新和隨心所欲地改變事物的等級制度。這就是爲什麼在區塊鏈網絡上實施新功能可能是一個真正的挑戰。

在本文中,我們將瞭解如何在缺乏中央權威的情況下維護加密貨幣網絡。這些網絡使用兩種不同的機制:硬分叉和軟分叉。 


誰在區塊鏈網絡上做出決策?

要了解分叉如何工作,首先必須充分了解參與網絡決策過程(治理)的參與者。

對於比特幣,人們通常可以區分三個參與者子集:開發人員、礦工和運行完整節點的用戶。這些部分對網絡做出了貢獻。輕節點(例如:手機錢包、電腦)被廣泛使用,但並不是網絡中真正的“參與者”。


開發商

開發人員負責創建代碼,也負責更新代碼。每個人都可以爲加密貨幣的發展做出貢獻。該代碼是公開可用的,允許任何人提交更改以供其他開發人員審覈。 


未成年人

礦工負責保護網絡。他們執行加密貨幣的代碼並分配資源以向區塊鏈添加新塊。對於比特幣網絡,我們稱之爲工作量證明。作爲對他們努力的獎勵,他們獲得了區塊獎勵。


全節點用戶

全節點是加密貨幣網絡的支柱。他們驗證、發送和接收區塊和交易,並維護區塊鏈的副本。


您經常會發現這些類別有重疊。例如,一個人可以是全節點的開發人員和用戶,或者是全節點的礦工和用戶。你可以同時是這三個人,也可以都不是。事實上,我們認爲的許多加密貨幣用戶並不承擔任何這些角色。相反,他們使用集中式服務或輕量級節點。

看看上面的描述,您可以爲開發人員和礦工提出可靠的建議,以便爲網絡做出決策。開發人員創建代碼:沒有他們,就沒有軟件可以運行,也沒有人可以修復錯誤或添加新功能。礦工保護網絡:如果沒有良性的挖礦競爭,鏈條可能會被劫持或關閉。

如果這兩個類別試圖強迫網絡的其他部分遵循他們的意願,結果將非常糟糕。對於許多人來說,真正的力量在於完整的節點。這主要是因爲網絡是選擇性加入的,這意味着用戶可以選擇他們使用的軟件。 

開發者不會拿着槍來到你家強迫你下載 Bitcoin Core。如果礦工採取“喜歡或不喜歡”的態度來強迫用戶做出不需要的改變,用戶將選擇他們自己的方法。 

這些參與者並不是全能的領主:他們是服務提供者。如果個人決定不使用該網絡,貨幣就會貶值。價值損失將直接影響礦工(當以美元計價時,他們的獎勵價值會降低)。對於開發者來說,這些完全可以被用戶忽略。

如您所見,這不是專有軟件。你可以做任何你想要的改變,其他人可以運行這個新版本的軟件,最後每個人都會同意。通過進行這些更改,您剛剛分叉了軟件並創建了一個新網絡。


什麼是叉子?

當複製和修改軟件時,就會出現分叉軟件。原來的項目仍然存在,但現在與新項目不同,新項目採取了不同的方向。假設您最喜歡的加密貨幣網站的內容團隊成員對於如何繼續存在重大分歧。團隊的一部分可能會使用不同的域名複製該網站。然後他們會發布不同的內容。

這些項目基於共同的基礎並擁有相同的歷史。然而,就像一條路一分爲二一樣,兩個地點之間現在存在分歧。

請注意,這種事情經常發生在開源項目中,並且早在比特幣或以太坊網絡出現之前就已經發生了。然而,硬分叉和軟分叉之間的區別幾乎是區塊鏈領域獨有的。我們一起來看看吧。


➟ 你想開始使用加密貨幣嗎?在幣安上購買比特幣!


硬分叉和軟分叉的比較

儘管名稱相似且用途相同,但硬分叉和軟分叉有顯着不同。讓我們看看這些差異。


什麼是硬分叉?

硬分叉是不向後兼容的軟件更新。當節點添加與舊節點的規則衝突的新規則時,通常會發生這種情況。新節點只能與使用此版本的其他個體進行通信。這導致區塊鏈的分裂,從而創建兩個不同的網絡:一個使用舊規則,另一個使用新規則。

Les nœuds deviennent bleus une fois à jour. Les anciennes noeuds, ici en jaune, refusent la mise à jour pendant que les bleus se connectent entre eux.

更新後節點會變成藍色。舊節點(此處爲黃色)拒絕更新,而藍色節點則相互連接。


現在有兩個網絡並行運行。他們都將繼續廣播區塊和交易,但不再在同一個區塊鏈上工作。在分叉之前,所有節點都具有相同的區塊鏈(並且保留此歷史記錄),但之後它們將具有不同的塊和交易。

blockchain forkant au bloc 600 000.


由於這段共同的歷史,如果您通過分叉擁有代幣,那麼您最終將在兩個網絡上都擁有代幣。假設您在第 600,000 塊分叉時擁有 5 BTC,您現在可以在舊區塊鏈的 600,001 塊上花費這 5 BTC,但這些不會花在新區塊鏈的 600,001 塊上。假設密碼學沒有改變,你的私鑰仍然允許你在新網絡上持有五個硬幣。 

著名的硬分叉是2017年的比特幣硬分叉。此後,比特幣分裂成兩條鏈:原鏈比特幣(BTC)和比特幣現金(BCH)。這次分叉是在關於如何提高可擴展性的大量爭論之後發生的。比特幣現金的支持者希望增加區塊大小,而比特幣的支持者則反對這一改變。

區塊大小的增加需要改變規則。這發生在 SegWit 軟分叉之前(將很快提供有關此主題的更多信息),因此節點不接受小於 1 MB 的塊,如果您創建有效的 2 MB 塊,其他節點仍會拒絕它。

只有修改了軟件以允許大於 1 MB 的塊的節點才能接受這些塊。當然,這使得它們與之前的版本不兼容,因此只有具有相同協議更改的節點才能進行通信。


什麼是軟分叉

軟分叉是向後兼容的更新,更新的節點仍然可以與未更新的節點通信。軟分叉中通常會添加一條與舊規則不衝突的新規則。

例如,減少區塊大小可以通過軟分叉來實現。我們再次以比特幣爲例來說明這一點:如果區塊的最大大小有限制,那麼相反,其最小大小則沒有限制。如果您只想接受小於特定大小的塊,您只需拒絕較大的塊即可。

但是,這不會自動斷開您與網絡的連接。您仍將與不應用這些規則的節點進行通信,但您將過濾它們傳輸給您的一些信息。

軟分叉的一個具體例子是前面提到的隔離見證(SegWit)分叉,它發生在比特幣/比特幣現金分裂後不久。 SegWit 是一次巧妙的更新,改變了區塊和交易的格式。舊節點仍然可以驗證塊和交易(格式沒有違反舊規則),但它們只是無法理解它們。有些字段也只有在節點升級到最新軟件時纔可讀,從而允許它們分析附加數據。

Même deux ans après l'activation de SegWit, tous les nœuds n'ont pas été mis à niveau. Il y a des avantages à le faire, mais il n'y a pas vraiment d'urgence, puisqu'il ne s'agit pas d'un changement ayant un impact sur le réseau.


即使在啓用 SegWit 兩年後,也並非所有節點都已升級。這樣做有好處,但沒有真正的緊迫性,因爲它不是影響變化的網絡。


硬分叉和軟分叉對比,哪個更好?

基本上,這些類型的叉子有不同的用途。有爭議的硬分叉可能會分裂社區。相反,有計劃的硬分叉讓每個人都可以在所有成員同意的情況下自由修改軟件。

軟分叉是一種更溫和的選擇。一般來說,你能做的事情比較有限,因爲你的新改變不能與舊規則相沖突。也就是說,如果您的更新可以設計爲保持兼容,您就不必擔心網絡碎片。


總結一下

硬分叉和軟分叉對於區塊鏈網絡的長期成功至關重要。儘管沒有中央機構,它們使我們能夠對去中心化系統進行更改和升級。

分叉允許區塊鏈和加密貨幣在開發時集成新功能。如果沒有這些機制,我們將需要一個具有自上而下控制的中心化系統。否則,我們將在協議的整個生命週期中遵循相同的規則。