比特幣硬分叉什么意思(硬分叉和軟分叉是什么意思?)
介紹
當系統提示您更新智能手機上的數字銀行應用程序時,您可能不會三思而后行。也許您的手機會在您不注意的情況下自動更新。畢竟,這是一個必要的過程——如果您不安裝最新版本的軟件,您將面臨被拒絕訪問其服務的風險。
在開源加密貨幣中,情況大不相同。你不需要閱讀支持比特幣的每一行代碼來使用它,但選擇這樣做很重要。你看,這里沒有等級制度,也沒有銀行可以隨心所欲地推送更新和更改內容。因此,在區塊鏈網絡中實現新功能可能是一個挑戰。
在本文中,我們將探討如何在缺乏中央權威的情況下升級加密貨幣網絡。為此,他們使用兩種不同的機制:硬分叉和軟分叉。
誰在區塊鏈網絡中做出決策?
要了解分叉是如何工作的,首先要了解參與網絡決策過程(或治理)的參與者,這一點很重要。
在比特幣中,你可以大致區分三個參與者子集——開發者、礦工和全節點用戶。這些是實際為網絡做出貢獻的各方。輕節點(即手機、筆記本電腦等上的錢包)被廣泛使用,但就網絡而言,它們并不是真正的“參與者”。
開發商
開發人員負責創建和更新代碼。對于您的典型代幣,任何人都可以為這個過程做出貢獻。該代碼是公開的,因此他們可以提交更改供其他開發人員審查。
礦工
礦工是保護網絡的人。他們運行加密貨幣的代碼并將資源專門用于向區塊鏈添加新塊。例如,在比特幣網絡中,他們通過工作量證明來實現。他們的努力以塊獎勵的形式得到獎勵。
全節點用戶
全節點是加密貨幣網絡的骨干。他們驗證、發送和接收區塊和交易,并維護區塊鏈的副本。
您經常會發現這些類別之間存在重疊。例如,您可以是開發人員和全節點用戶,也可以是礦工和全節點用戶。你可能是三個人,也可能一個都不是。事實上,許多我們認為是加密貨幣用戶的人并不承擔任何這些角色。相反,他們選擇使用輕節點或集中式服務。
查看上面的描述,您可以為開發人員和礦工為網絡做出決策提供強有力的案例。開發人員創建代碼——沒有他們,您將無法運行軟件,也沒有人來修復錯誤或添加新功能。礦工保護網絡——如果沒有健康的采礦競爭,鏈條可能會被劫持,或者可能會陷入停頓。
然而,如果這兩個類別試圖用強力武裝網絡的其余部分來遵循他們的意愿,那么結果就不會太好。對許多人來說,真正的權力集中在全節點上。這主要是網絡選擇加入的功能,這意味著用戶可以選擇他們正在運行的軟件。
開發人員不會闖入您的家并在槍口下強迫您下載比特幣核心二進制文件。如果礦工采取“我的方式或高速公路”的態度來迫使用戶做出不想要的改變,那么,用戶只會走高速公路。
這些不是全能的霸主——他們是服務提供商。如果人們決定不使用網絡,那么硬幣就會失去價值。價值損失直接影響礦工(他們的獎勵以美元計價時價值較低)。對于開發者來說,他們只能被用戶忽略。
你看,這不像軟件是專有的。您可以進行任何您想進行的編輯,而且,如果其他人運行您修改后的軟件,你們都可以進行交流。在這種情況下,您分叉該軟件并在此過程中創建一個新網絡。
什么是叉子?
軟件分叉發生在軟件被復制和修改的地方。原來的項目繼續存在,但現在與新項目分開,后者采取了不同的方向。假設您最喜歡的加密貨幣內容網站的團隊對如何進行存在重大分歧。團隊的一部分可能會在不同的域上復制站點。但展望未來,他們會發布與原始內容不同類型的內容。
這些項目建立在一個共同的基礎上,并分享一段歷史。就像一條道路后來分成兩條一樣,現在他們的道路出現了永久的分歧。
請注意,這種事情在開源項目中經常發生,并且在比特幣或以太坊出現之前已經發生了很長時間。然而,硬分叉和軟分叉之間的區別幾乎是區塊鏈領域獨有的。讓我們再討論一下。
硬分叉與軟分叉
盡管名稱相似并最終服務于相同的目的,但硬分叉和軟分叉仍有很大不同。讓我們來看看每一個。
什么是硬分叉?
硬分叉是向后不兼容的軟件更新。通常,當節點以與舊節點的規則沖突的方式添加新規則時,就會發生這些情況。新節點只能與運行新版本的其他節點通信。結果,區塊鏈分裂了,創建了兩個獨立的網絡:一個使用舊規則,另一個使用新規則。
節點在更新時變為藍色。較舊的黃色節點拒絕它們,而藍色節點相互連接。
所以現在有兩個網絡并行運行。他們都將繼續傳播區塊和交易,但他們不再在同一個區塊鏈上工作。在分叉之前,所有節點都有一個相同的區塊鏈(并且歷史仍然存在),但之后它們將擁有不同的區塊和交易。
因為有那個共享的歷史,如果你在分叉之前持有它們,你最終會在兩個網絡上都有硬幣。假設在區塊 600,000 發生分叉時您有 5 BTC。你可以將這 5 個比特幣花在 600,001 塊的舊鏈上,但它們并沒有花在新區塊鏈的 600,001 塊上。假設密碼學沒有改變,你的私鑰仍然在分叉網絡上持有五個硬幣。
硬分叉的一個例子是 2017 年的分叉,該分叉將比特幣分成兩個獨立的鏈——原始鏈比特幣 (BTC) 和新鏈比特幣現金 (BCH)。在多次爭論最佳擴展方法之后發生了分叉。比特幣現金的支持者希望增加區塊大小,而比特幣的支持者反對這一變化。
塊大小的增加需要修改規則。這是在SegWit軟分叉之前(稍后會詳細介紹),因此節點只接受小于 1MB 的塊。如果你創建了一個 2MB 的塊,否則它是有效的,其他節點仍然會拒絕它。
只有更改了軟件以允許大小超過 1MB 的塊的節點才能接受這些塊。當然,這會使它們與以前的版本不兼容,因此只有具有相同協議修改的節點才能進行通信。
什么是軟分叉
軟分叉是向后兼容的升級,這意味著升級后的節點仍然可以與未升級的節點通信。您通常在軟分叉中看到的是添加了與舊規則不沖突的新規則。
例如,可以通過軟分叉來減少塊大小。讓我們再次用比特幣來說明這一點:雖然一個區塊的大小有限制,但它的大小沒有限制。如果你只想接受低于特定大小的塊,你只需要拒絕更大的塊。
但是,這樣做不會自動斷開您與網絡的連接。您仍然與未實施這些規則的節點進行通信,但您過濾掉了它們傳遞給您的一些信息。
軟分叉的一個很好的現實例子是前面提到的隔離見證(SegWit)分叉,它發生在比特幣/比特幣現金分裂后不久。SegWit 是一個改變區塊和交易格式的更新,但它被巧妙地設計。舊節點仍然可以驗證塊和交易(格式沒有違反規則),但它們只是不理解它們。有些字段只有在節點切換到較新的軟件時才可讀,這允許它們解析額外的數據。
即使在 SegWit 激活兩年后,也并非所有節點都升級了。這樣做有好處,但沒有真正的緊迫性,因為沒有破壞網絡的變化。
硬分叉與軟分叉——哪個更好?
從根本上說,上述兩種類型的分叉都有不同的用途。有爭議的硬分叉可以分裂一個社區,但計劃好的硬分叉允許在每個人都同意的情況下自由修改軟件。
軟叉是一個更溫和的選擇。一般來說,你能做的事情更有限,因為你的新變化不能與舊規則沖突。也就是說,如果您的更新可以以保持兼容的方式制作,您就無需擔心網絡碎片化。
結束語
硬分叉和軟分叉對于區塊鏈網絡的長期成功至關重要。盡管缺乏中央權威,但它們使我們能夠在去中心化系統中進行更改和升級。
分叉使區塊鏈和加密貨幣在開發過程中集成新功能成為可能。如果沒有這些機制,我們就需要一個具有自上而下控制的集中式系統。否則,我們將在協議的生命周期中堅持完全相同的規則。
這里是兔子社區,歡迎大家關注,我們會持續分享優質幣圈內容!科普區塊鏈知識!