工做量證實的最長鏈原則到底說的是什麼?

777.png

 

前幾天的一篇關於比特幣的標準的文章引發了不少人的關注。在這篇文章中介紹了比特幣的標準是什麼以及Bitcoin Core(BCE)和Bitcoin Cash(BCH)符合哪些標準不符合哪些標準。最終通過對比,BCH只在白皮書中的工做量證實的最長鏈原則這一標準中輸給了BCE,這也是在衆多比特幣標準中BCH惟一不符合的標準。node

有些朋友看到以後對此產生了疑惑:目前BCH的區塊高度不是比BCE要高嗎?不已是最長的鏈了嗎?爲何還說它不符合最長鏈的原則?今天小編就對這個問題作一個簡單的科普,但願可以幫助你們更好的理解。算法

什麼是工做量證實的最長鏈原則網絡

這一說法最初來自於中本聰的論文《比特幣:一種點對點的電子現金系統》。文中提到:「信息盡最大努力在全網傳播便可,節點(nodes)能夠隨時離開和從新加入網絡,並將最長的工做量證實鏈條做爲在該節點離線期間發生的交易的證實。」以及「工做量證實機制的本質則是一CPU一票。大多數的決定表達爲最長的鏈,由於最長的鏈包含了最大的工做量。」函數

通俗來講就是,比特幣區塊是依靠礦工們不斷進行數學運算而產生的,每個區塊都必須引用其上一個區塊。若是想生成一個新的區塊並寫入區塊鏈,必須解出比特幣網絡出的工做量證實的迷題。這道題關鍵的三個要素是工做量證實函數、區塊及難度值。工做量證實函數是這道題的計算方法也就是SHA256,區塊決定了這道題的輸入數據,難度值決定了這道題的所須要的計算量。只有工做量最大的那條鏈才能被稱爲最長鏈,節點永遠認爲最長鏈纔是有效的區塊鏈,也只有在最長鏈上挖礦的礦工纔可以得到獎勵,這就是咱們常說的比特幣最長鏈原則。所以也能夠說,累積難度值最大的那條鏈纔是最長鏈。這也是比特幣的重要標準之一。區塊鏈

爲何要制定這一規則?blog

由於比特幣是去中心化的,是沒有中心機構的,想要讓全部的完整節點都有一份相同的公共總賬本,就須要達成共識。這一規則就是一種共識,可以保證比特幣不停的在工做量最大的區塊鏈上運轉,工做量最大的區塊鏈就是權威的公共總賬本。尤爲當兩個礦工同時挖出區塊的時候,系統就會根據最長鏈原則進行取捨,即哪一個新產生的區塊能使其所在的區塊鏈變得更長,則哪一個區塊得以被記錄。若是二者一塊兒記帳就會形成區塊鏈的分叉,這時會把其中有更多工做量的一條會繼續做爲主鏈,另外一條做爲備用鏈保存,若是新添加的區塊使備用鏈累積了更多的工做量,那麼這條備用鏈將被做爲新的主鏈。數學

爲何BCH不是工做量證實的最長鏈?it

因爲BCH的挖礦難度比BCE小,因此如今BCH的區塊高度確實比BCE要高,可是這並非說明最長的鏈。由於BCH累積的難度值是遠遠小於BCE的。這一切都歸結於BCH誕生之初爲了可以在小算力環境下順利的生存下來,修改了難度值的算法,下降了挖礦難度,因此如今的它還不是那條工做量證實的最長鏈。比特幣

雖然目前來講,BCH不是最長的鏈,可是BCH倒是最符合中本聰白皮書的點對點電子現金系統。並且它如今在不斷的高速發展,在將來當BCH的價格、用戶和總市值都超過BTC以後,BCH超越BCE成爲最長鏈也是有可能的。引用

相關文章
相關標籤/搜索