iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
0
Blockchain

商管學生如何從零開始學習區塊鏈系列 第 20

DAY20 甚麼是軟分叉和硬分叉?

  • 分享至 

  • xImage
  •  

之前在介紹Parent Hash和Ommer Hash時有提到,不同礦工幾乎在同一個時間算出下一個區塊的答案時,區塊鏈會暫時分裂成兩條鏈(兩個子區塊),等到下一個區塊建立時,新區塊的贏家會選擇其中一條區塊鏈接下去,根據比特幣區塊鏈中的最長鏈原則,長的區塊鏈就是有效主鏈,在以太坊區塊鏈中主鏈的分支叫Ommer Blocks,Ommer區塊的礦工能獲得一點點的Gas,但在Ommer區塊後面6個區塊之後,就不再有獎勵了,這樣短時間的分叉經常發生,是自然發生的分叉,最後都會收斂並重新回到一致狀態的單一主鏈,除此之外,還有另一種共識規則改變造成的分歧,是有意修改的分叉,也就是說,礦工對於要採納哪一個分叉已經達成共識,礦工隨後會會放棄其他分叉,這樣的分叉又可以分成軟分叉(soft fork)和硬分叉(hard fork)

軟分叉(soft fork)像是一種軟體的升級,軟分叉後會有新的共識規則,新產生的區塊能向前兼容,也就是說新區塊在舊規則下仍然有效,但舊區塊未必在新規則下有效,即使未依照新規則,仍然可以按照先前的規則對待交易或區塊,但是參與者的功能受到了影響,第一次學到軟分叉時,我腦中想到的是高乘載管制,假如明天設置高乘載管制時(新共識規則),車上要有滿3個人以上才能上國道,不滿3個人就上不了,但是不滿3個人,你可以走替代道路,一樣到的了目的地。

硬分叉(hard fork)是共識規則的重大變化,舊版本與新版本將不兼容,所有參與者必須升級到新軟體才能在新分叉上繼續運行,硬分叉的經典案例是以太坊升級到「大都會(Metropolis)」版本,「大都會」又細分成拜占庭階段和君士坦丁堡階段。另一個例子是DAO在遭遇以太幣竊案後,採取硬分叉回復到駭客攻擊前的狀態。

區塊鏈的分叉會包含以太坊改進方案(EIP),用來描述以太坊的一些新功能或新環境,舉例來說EIP-1234的內容就是我們之前提到的以太坊區塊鏈獎勵從3 ETH減少到2ETH。

總而言之,良好的分叉幫助區塊鏈改進及處理意外事故,並且幫助區塊鏈建立可信度,下一篇我們來講講Dapp,那我們明天見~


上一篇
DAY19 甚麼是雙花攻擊(Double Spend Attack)?
下一篇
DAY21 跟著商管學生從零開始學習Dapp!
系列文
商管學生如何從零開始學習區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言