我對分叉和客戶端之間的區別感到困惑,有人可以解釋一下嗎?
我的理解是,客戶端是不同的軟體環境,它們執行在區塊鏈架構的去中心化計算基礎設施之上。其中最受歡迎的是比特幣核心。這對我來說很有意義,但我最近讀到不同的客戶處理不同類型的交易。例如,比特幣 XT 將處理與比特幣協議不同的交易。這不會使它成為原始區塊鏈的一個分支,而不是一種不同類型的軟體。當比特幣現金處理不同類型的交易但擁有自己的區塊鏈時,它們是如何進入這一領域的?他們不應該被列為客戶嗎?
由於一切都是開源的,任何人都可以接受一些東西,做出一些改變,它會有所不同。
一些很好的例子:
- 短跑
- 狗狗幣
- 萊特幣
- 比特幣現金
舉幾個例子,有人拿比特幣的核心程式碼,調整它,然後發布它。鑑於他們中的一些人以不同的方式做到了。例如,Doge 從第 0 塊開始。它被認為是“新硬幣”。雖然比特幣現金在其更改生效之前使用了比特幣的歷史直到一個特定的區塊。這是一個硬分叉。
配置為執行(或在某些情況下只是配置文件中的標誌)Dash 的節點將不會接收/處理/儲存 Litecoin 塊。與比特幣節點不會接收/處理/儲存比特幣現金塊的方式相同(一旦發生硬分叉的塊被擊中)。(我知道這有細微差別,但簡潔是優先考慮的)
最後談談你的第一點,一個特定的代幣可能有很多客戶。它是開源的。比特幣沒有“官方”客戶端,因為它是從頭開始去中心化的。一些鏈使用更集中的開發流程,例如乙太坊基金會。雖然他們提供了更多的輸入(以及一些社區對特定鏈有更大的影響力),但最終取決於執行節點的個人是否會升級和支持這些變化。這在 2016 年 10 月 25 日的乙太坊硬分叉中得到了最好的強調。那些沒有分叉的人留下了原始程式碼和原始代幣,現在被稱為“乙太坊經典”。那些確實升級的,然後使用目前的“乙太坊”。
最後,無論使用什麼客戶端,它都必須遵循與它試圖與之互動的網路相同的基本協議。只要有,就可以使用。
比特幣和比特幣現金有獨立的區塊鏈。比特幣現金交易對比特幣節點無效,反之亦然。另一方面,比特幣節點可以連接到比特幣現金節點並與之通信(反之亦然),這導致所有節點共享同一個餅圖。2017 年底,比特幣現金節點改變了網路魔法值。如果節點 A 嘗試連接到節點 B,並且它們具有不同的魔法值,則它們會斷開連接,因為它們知道它們是不同網路的節點。從那時起,BTC 和 BCH 網路是分開的,並且有不同的餅圖。
比特幣 XT 的情況不同。儘管許多節點都切換到它,但由於香港協議,沒有發生鏈分裂(稱為硬分叉)。