比特幣分叉幣會歸零嗎?解釋比特幣“分叉”的具體含義

買賣虛擬貨幣

比特幣分叉幣會歸零嗎?解釋比特幣“分叉”的具體含義,很多人不清楚比特幣分叉是什麼,比特幣分叉後的幣是山寨幣嗎,還有前景嗎?今天小編就帶大家來了解一下比特幣“分叉”的具體含義,看完接下來的介紹相信你將不會在迷茫!


第1章程式碼層面的“分叉”叫“fork”

“分叉”這個詞最經常出現的場所是github這個程式碼託管平臺,是多個程式設計師共同管理和協同開發專案的一種辦法。為了便於理解,我先舉一個類比。

你在一家公司的一個部門,比如研發部,部門一共5個同事,其中一個部門經理。現在部門要向公司提交下個月的辦公用品採購計劃。部門經理先用wrod文件寫了一份採購申請單,並且在申請單上填上了自己計劃要買的東西。然後經理將檔案上傳到部門的共享文件上。

同事A將文件複製了一份,然後在後面新增了自己想要採購的東西,然後上傳到共享文件申請經理審批。同事B、C、D也分別複製了一份,分別新增了自己想要買的東東,並且申請審批。

部門經理審批了A的採購計劃,認為合理,他就將A的需求合併到自己的那份申請單後面。審批了B的計劃,他認為不合理,他就拒絕了B的需求,直接丟棄了B的計劃單。然後繼續審批C和D的。要麼合併,要麼丟棄。

然後B很生氣,認為這不合理,他就越過部門經理,直接向公司提交了一份採購申請單。

如果把以上這個例子中的“採購申請單”,換成一個“程式開發專案”,上述過程就是一個典型的“立項”、“分支”、“請求”、“合併”、“分叉”的過程。

部門經理立了一個項,要寫一份採購申請單,他寫好自己的部分之後,將文件上傳到共享雲,形成一個主程式碼倉庫。

然後ABCD四位同事分別對這份文件進行“branch”(中文譯成分支),在分支上加上自己想要的特性,然後向主程式碼提交申請,叫“pull request”,中文叫“請求”。申請將自己的修改部分合併到主程式碼庫裡。

然後經理這個主開發者會審批這個“pull request”,如果合格了,他就會將這部分程式碼合併到主程式碼庫,這個過程叫“merge”,中文譯成“合併”。

如果主開發者認為這個“pull request”不合理,他就會拒絕,英文叫“Close”。但如果提這個“pull request”的人覺得他是對的,他可以獨立出去,不和這個經理玩了,自己立個項,取個別的名字,然後自己合併程式碼。這樣就形成了一個“fork”,中文譯成分叉。

以上是所有參與者都是有開發許可權的流程,但如果是一個專案組外的人,看到了這個專案,並且想提交一份特性的程式碼“pull request”,那他就得先對這個主程式碼倉庫進行“fork”,然後再提交“pull request”。這個沒有開發許可權的人叫沒有提交程式碼權,提交程式碼權英文叫commit許可權。

這就是開源軟體管理的過程。開源軟體的程式碼更新,和漏洞修復都是使用這一套流程。

比特幣就是一套開源軟體,一開始有隻有一個程式碼倉庫,是中本聰建立的,叫Bitcoin,後來有很多人"fork"了Bitcoin,並提交了“pull requests”,有些人乾脆自己“fork”並獨立出去,形成新的分叉。現在比特幣這套開源軟體有非常多的分叉,最著名的就是bitcoincore、bitcoin unlimited、bitcoin classic、bitcoinXT、Bcoin……

第2章軟體版本上的“分叉”又叫“開發去中心化”

比特幣有這麼多版本,有這麼多分叉,所有這些不同的版本是可以在比特幣網路實際執行過程中相互相容的,同時執行這些軟體並不會造成比特幣網路的分裂。我們管這些不同的相互相容的版本叫競爭性實現。多個版本的軟體實現相同的功能,各個版本有各自的使用者,這就是軟體版本之間的競爭。

這些多種版本也可以有一些額外的獨特功能,只要不影響和其他版本的相容性就好。

這種多版本執行在同一個網路裡有很多好處。那些最重要的軟體特性的更改和協議,因為需要多個版本的相容性開發,所有的相競爭的開發者都要相互查閱和測試所有的實現程式碼,程式碼質量會更高。而且因為全網多個版本實現存在,單一版本出現漏洞,並不會導致全網崩潰。比特幣網路就是多版本版本實現同時共存,開發者們相互競爭,這就是開發去中心化。

第3章比特幣區塊鏈“協議升級”並不一定會“分叉(分裂)”

比特幣網路要部署一個新的特性,這就叫“協議升級”。我們將手機和電腦上的軟體進行版本更新,這是很簡單的過程,直接下載一個新版本軟體,然後覆蓋安裝就好了。

因為比特幣網路要實現的目標是全網眾多節點達成共識,所以比特幣網路要實現新的重大版本升級,並且在全網將新的重大特性啟用,那就需要一些特別的措施。

所有那些會影響達成共識的新特性都必須採取特別的措施,以防止升級過程中共識失敗。其中比特幣區塊鏈最重要的共識就是礦工廣播區塊和交易格式必須是達成共識,即所有礦工節點都能對區塊的格式和交易的格式相互認可和相互接受。

最重要的措施就是保證全網絕大多數節點都準備好,然後同時啟用新功能。這就要求各個節點所使用的軟體具有向全網傳送和接收某種特定訊號的能力。

但這個過程並不是非常簡單的,絕大多數重大升級都存在共識失敗的風險。甚至因為各方的利益不一樣,有人會惡意在升級過程促成共識失敗。如果共識失敗,比特幣區塊鏈就可能產生兩條甚至多條鏈。這就是“分裂”,也被人稱為“分叉”。

比特幣重大協議升級有兩種思路,一種叫“HardFork(硬分叉)”,一種叫“Soft Fork(軟分叉)”。

硬分叉和軟分叉都是比特幣協議升級的辦法,並不一定會造成比特幣分裂成兩條鏈,分裂只是升級失敗的結果。大家經常說的“比特幣分叉”,在絕大多數意義都不是指代“比特幣分裂”,而是指代“比特幣協議升級”。

第4章比特幣區塊鏈“協議升級”失敗才有可能導致“分叉(分裂)”

再次強調,硬分叉和軟分叉都是比特幣協議升級的辦法,並不一定會造成比特幣分裂成兩條鏈,分裂只是升級失敗的結果。

硬分叉和軟分叉都有可能會失敗,也都有可能導致分裂。但只要管理的好,大家統一升級,就不會出問題。

而萬一升級失敗,導致兩條鏈,在絕大多數情況下,社羣的努力下,還是可以修復的。小算力往往會挖不出塊,會傾向於回到大算力鏈上挖礦,分裂後再統一。

如果萬一兩條鏈一直延續下去呢?那對使用者來說就有了兩種幣,對礦工來說就要思考挖哪條鏈合適了。

也有特意將比特幣進行“分裂”的“分叉”,發起人的出發點就是製造一個別的幣。因為比特幣程式碼是開源的,所以發起人只要複製程式碼,然後加入自己想要的特性,然後去挖礦,就可以獨立出來了。這種“分叉”才是等同於“分裂”。

第5章任何人都可以對比特幣區塊鏈發起“分叉(分裂)”

實際上比特幣程式碼是開源的,所以任何人都可以複製程式碼,並修改一些特性,然後釋出自己的版本,只要有礦工去挖,沒別的礦工,那自己上啊,那就能分出一條鏈來。

事實上,任何一種山寨幣,都可以視為比特幣的“分叉(分裂)”,比如LTC,就是從比特幣零區塊高度上分裂出來的一種山寨幣。

在去年4月26日,也有人在比特幣區塊高度463604對比特幣發起了“分叉(分裂)”,只要是在這個高度及之前有幣的人,都可以1:1派分到一種叫btx的幣。這種幣大部分規則和比特幣BTC是一樣的,只是區塊大小是20M,帶有隔離見證。

比特幣目前為止最著名的“分叉(分裂)”就是BCC了,在8月一日,區塊高度478558,比特幣分裂出一種幣,叫位元現金BCC。區塊是8M,不帶隔離見證特性。在此高度之後持有幣的使用者,都會1:1派發BCC。

在去年8月24日,區塊高度481824,比特幣再一次發起“分叉”,啟用了隔離見證,但這一次沒有帶來分裂。而且此次“分叉”是Segwit2x的前半部分,後半部分,2x的升級將計劃在11月,計劃在區塊高度494784進行,大約會發生在2017年11月18日。到時候“分叉”是否會等同於“分裂”,我們拭目以待。

第6章結束語

分叉,分裂,真是傻傻分不清晰啊。

分叉是否等於分裂這真的需要時間來證明,比特幣之所以一直在承受著壓力,這是加密貨幣社羣變得成熟,並吸引更廣泛的使用者及投資者的又一步,至於比特幣分叉後幣價是漲是跌,更多還是由市場來決定!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;