熱搜: 數字貨幣 中本聰 區塊鏈應用 比特幣 艾達幣

區塊鏈媒體
  • 數字貨幣 333333
  • 中本聰 100000
  • 區塊鏈應用 4560
  • 比特幣 752
  • 艾達幣 453
我要投稿
鏈頭條 /區塊鏈項目

兄弟相見不相識?淺談軟硬分叉

評論量評論量(0)
瀏覽量瀏覽量(2523)
2018-08-3016:54

最近島叔沉迷于吃雞手游無法自拔。前段時間,吃雞手游更新版本,本島叔沒注意到,結果不能和小伙伴們愉快的開黑了。于是本島叔退出,立刻更新了版本。

對于這類傳統的APP,我完全不用擔心找不到小伙伴,因為這類APP,數據系統存儲都是集中的,版本管理也是集中的,如果是重大升級,完全可以設置為若不更新到最新版本就不能進行登錄操作,從而確保用戶使用的總是正確的版本。

吃雞4.jpg

這些都是傳統的中心化的APP,而當我們使用的應用不再是中心化管理,比如區塊鏈要升級,也是一鍵升級,等待版本更新那么簡單嗎?

我們知道,區塊鏈是一種去中心化的使用方式。一旦有了新的軟件版本發布后,是不是每個人都會去升級到新版本,我們無法預知。

除此之外,還會出現新的版本增加了新的數據結構,之前版本不能有效識別的問題。因為部分用戶升級了新版,還有一部分用戶還沒升級,而這些新舊版本的軟件仍然在各自不停的挖礦、驗證、打包區塊,一段時間過后就會變成這樣:

文本圖1.png

行業內把這種情況叫做分叉。分叉又被分為兩種情況,硬分叉和軟分叉。

分叉問題,就如同兩個新生嬰兒,一個留在家中養育,一個流浪在外長大,本是同根生,卻互不相識。

軟分叉

我們先來聊一聊什么是軟分叉。老節點不能發現新協議的變化,從而繼續接受新節點用新協議所挖出的區塊,這種情況下叫軟分叉,此時老節點礦工可能在它們完全不能理解和驗證的新區塊上繼續添加區塊。

區塊圖片.jpg

乍一看,好像很難理解,其實很簡單。

所謂的區塊鏈,就是一個個的區塊數據,通過區塊的哈希值串聯起來的,如此形成一個鏈條般的賬本數據。

區塊鏈.png

在形成區塊3的時候,區塊鏈突然升級了,那么區塊3之后則變成了新版本,區塊1和區塊2就變成了老版本,在這種情況下,區塊1和2依然能夠識別新版本出現的數據結構,新老版本能夠兼容。

其實在這個過程中,新版本不過是使用了障眼法,因為在老版本中一直存在備用的數據字段,這個數據字段一直都是閑置的,在老版本中也沒有使用備用字段,因此對于這個新版本發出的區塊是依然能接受的,相當于欺騙了老版本節點。

DAO.jpg

硬分叉

解釋完軟分叉,我們再聊一聊關于硬分叉的那些事情。

當系統中出現新版本的軟件,并且和之前版本軟件不能兼容,老節點無法接受新節點挖出的全部或者部分區塊,導致同時出現兩條鏈,這種情況下被稱為硬分叉。

當部分人升級了區塊鏈,還有部分人沒有升級區塊鏈的時候,由于新老節點認為對方的交易是不合法的,版本不能兼容,則會出現老節點只認識老節點的交易,新節點只承認新節點的交易,那么區塊鏈則會變成這樣:

文本圖2.png

目前就比特幣出現數個不同的版本,包括Bitcoin Core,還有新推出的Bitcoin Clsaaic、Bitcoin XT以及Bitcoin Unlimited。

而以太坊經歷了著名的THE DAO合約漏洞攻擊事件后直接就進行了硬分叉,分為以太坊經典和以太坊,這其中又糾結了各種價值觀的問題,利益問題。

DAO.jpg

就現在而言,實際運用過程中,在區塊應用程序進行重大升級時,都會事先取得社區的投票同意。保證大部分的運行節點的算力要大于老版本的節點,所以一旦完成升級后,后續的打包區塊基本是新版本節點發出的,也就不太會發生老版本區塊和新版本區塊交錯鏈接的情況。




免責聲明:本文僅代表作者本人觀點,并不代表鏈頭條之觀點,鏈頭條對作者觀點不承擔任何擔保責任。
頂(0)
踩(0)
收藏
舉報

0條評論/0人參與

最新評論
暫無最新評論
提示
X
收藏成功
提示
X
取消成功
舉報原因
X
  • 商務合作 [email protected]
  • 業務垂詢 400-101-6364
  • 版權所有 ? 上海米燦信息科技有限責任公司  
  • 阿里云提供計算與安全服務
  • 滬ICP備17012875號-3 

微信公眾號

官方微博

天津时时彩历史