如果你熟悉開源軟體開發,你可能聽說過一種叫做 分叉的東西。 然而,這個概念在加密領域具有更專業的含義:
加密中的分叉是區塊鏈共識協議的變化。 這是一個變化,節點開始確認與原始鏈分開的鏈中的塊。
假設開發人員在像GitHub這樣的平臺上列出了一段代碼,該平臺向公眾開放。 這被稱為 開源。
這意味著使用者可以創建原始程式碼的副本供自己使用。 他們可能這樣做的目的是自己編譯軟體。 他們可能會這樣做來添加軟體的原始作者可能沒有添加的功能,或者可能已被原始作者拒絕的功能。
獲取此原始程式碼並獨立構建它稱為 分叉。 它是開源生命力的關鍵。
加密軟體的細微差別在於共識。 它是正常運行的區塊鏈協定的主要屬性。 在網路上運行的每個節點都必須使用與所有其他節點相同的軟體,否則可能會受到處罰和排斥。
假設你想分叉一個現有的加密軟體。 由於這種共識的需要,你需要分叉整個區塊鏈。 也就是說,除非您能夠讓大多數現有節點用您的軟體替換其軟體,否則這並不總是那麼容易!
分叉的發生有很多原因:
加密空間中有兩種類型的分叉,其中共識規則被更改。 兩者都必須遵守不同的結果,包括或排除舊節點的參與。
當共識規則鬆動以適應對網路的某些更改時,就會發生硬分叉。 這些更改增加了塊確認行為的功能。 這些更改對於運行舊軟體的節點不向後相容,並將在原始區塊鏈中開始一個新的分支。
當網路資產的更廣泛功能發生變化時,資產的經濟屬性也會發生變化。 這些變更可能包括:
這個清單還在繼續,但有一件事是肯定的:需要一種新的資產來在新的區塊鏈上進行交易。
例如:假設運行舊軟體的節點在預期 1 MB 塊時接收到 2 MB 塊。 該2 MB塊將無效,因為它大於舊網路允許的規則。 2 MB 塊必須在單獨的網路上發送。
當共識規則收緊以適應對網路的某些更改時,就會發生軟分叉。 此更改會產生塊確認或共識行為的某種功能。 這種類型的分叉對於運行舊軟體的節點是向後相容的,並允許節點放棄更新的參與方法。
使用我們前面的示例:假設一個節點需要一個 1 MB 的塊,但接收到一個 0.8 MB 的塊。 在這種情況下,這個較小的塊將被視為小於完整塊,但仍會被接受。
讓我們看一下實踐中所有這些分叉的一些示例。 我們將看看兩個最受歡迎的加密網路,因為它們經歷了一些成長的痛苦,才能達到今天的位置。
在2010年代中後期,比特幣(BTC / USDT)面臨著可擴展性問題,其前進的道路在比特幣使用者的兩個派系之間展開了競爭。
有人提議在比特幣軟體中實現 隔離見證(SegWit) 功能。 SegWit被提議作為比特幣交易架構的改變。 此更改會將簽名資料存儲為附加到事務的數據樹,而不計入事務ID中。 賽格維特被提議作為一種選擇加入的選擇。 這將是軟分叉的一個例子。
您實際上可以看到比特幣地址的差異:以數位1開頭的位址使用傳統交易結構,而以“bc1”或數位3開頭的位址分別使用本機SegWit和嵌套SegWit。
因此,比特幣交易者在減少交易中所需的數據以允許更多交易適應1 MB的區塊或將區塊大小增加到8 MB之間徘徊。 拒絕SegWit以獲得更大的塊將需要對網路進行硬分叉。 2017年8月, 比特幣被硬分叉,比特幣現金被創造出來。
2016年6月,駭客闖入了“DAO”,這是一個大型資金庫,旨在為乙太坊網路上的專案提供投資。 駭客偷走了大約5500萬美元。
在駭客攻擊之前,DAO的國庫資金約為2.5億美元。 以下是它的工作原理:
每個成員每存入財政部1個ETH,將獲得100個DAO代幣。 這些代幣用於投票決定給定的投資提案是否可能有利可圖。 如果提案通過,財政部將自動將擬議的ETH投資轉移到代表該專案的智慧合約中。
這個想法類似於對沖基金。 如果項目產生的收入多於投資,則利潤將存入DAO寶庫並增加DAO代幣的價值。
然而,智慧合約有一個漏洞,該漏洞被利用來允許攻擊者進行無限次提款,直到國庫被清空。
當然,這個故事有很多細節,但讓我們堅持關鍵事件。 攻擊駭客努力提取盡可能多的錢,而社區的白帽駭客則拚命地試圖利用同樣的漏洞來節省財政部的資金。
到最後,兩派都已經耗盡了他們所能做的一切,但破壞已經造成。 為了完全緩解攻擊,提出了區塊鏈的硬分叉。 區塊鏈將從駭客攻擊之前重新啟動,並繼續進行,就好像什麼都沒發生一樣。 這就是我們所知道的乙太坊(ETH / USDT)的當前佳能區塊鏈。
然而,一些用戶認為這是一個不好的先例,並將保留在發生駭客攻擊的區塊鏈上;現在被稱為乙太坊經典。
分叉通常是為了改進協定。 更改是好是壞取決於進行更改的社區。
由於分叉網路具有不同的技術和經濟屬性,因此它們從根本上是不同的資產。 這些因素將影響資產的價值是否會增加。
沒有最好的加密分叉,任何開源專案都可以分叉。
如果使用者在軟體升級中堅持權益證明模型,則乙太坊2.0不被視為硬分叉。 ETH的工作量證明版本將產生一個新的區塊鏈。
比特幣通常實現硬分叉來解決可擴展性問題。 問題通常是每秒事務數和塊大小。
瓦西裡是卡爾達諾(ADA / USDT)的硬分叉。
硬分叉不向後相容,需要新的區塊鏈,而軟分叉則向後相容舊區塊鏈。 有關更詳細的說明,請參閱上述文章。