工作量證明的最長鏈原則到底說的是什麼?
前幾天的一篇關於比特幣的標準的文章引起了很多人的關注。在這篇文章中介紹了比特幣的標準是什麼以及Bitcoin Core(BCE)和Bitcoin Cash(BCH)符合哪些標準不符合哪些標準。最終經過對比,BCH只在白皮書中的工作量證明的最長鏈原則這一標準中輸給了BCE,這也是在眾多比特幣標準中BCH唯一不符合的標準。
有些朋友看到之後對此產生了疑惑:目前BCH的區塊高度不是比BCE要高嗎?不已經是最長的鏈了嗎?為什麼還說它不符合最長鏈的原則?今天小編就對這個問題做一個簡單的科普,希望能夠幫助大家更好的理解。
什麼是工作量證明的最長鏈原則
這一說法最初來自於中本聰的論文《比特幣:一種點對點的電子現金系統》。文中提到:
通俗來說就是,比特幣區塊是依靠礦工們不斷進行數學運算而產生的,每一個區塊都必須引用其上一個區塊。如果想生成一個新的區塊並寫入區塊鏈,必須解出比特幣網路出的工作量證明的迷題。這道題關鍵的三個要素是工作量證明函式、區塊及難度值。工作量證明函式是這道題的計算方法也就是SHA256,區塊決定了這道題的輸入資料,難度值決定了這道題的所需要的計算量。只有工作量最大的那條鏈才能被稱為最長鏈,節點永遠認為最長鏈才是有效的區塊鏈,也只有在最長鏈上挖礦的礦工才能夠獲得獎勵,這就是我們常說的比特幣最長鏈原則。因此也可以說,累積難度值最大的那條鏈才是最長鏈。這也是比特幣的重要標準之一。
為什麼要制定這一規則?
因為比特幣是去中心化的,是沒有中心機構的,想要讓所有的完整節點都有一份相同的公共總帳本,就需要達成共識。這一規則就是一種共識,能夠保證比特幣不停的在工作量最大的區塊鏈上運轉,工作量最大的區塊鏈就是權威的公共總帳本。尤其當兩個礦工同時挖出區塊的時候,系統就會根據最長鏈原則進行取捨,即哪個新產生的區塊能使其所在的區塊鏈變得更長,則哪個區塊得以被記錄。如果兩者一起記賬就會造成區塊鏈的分叉,這時會把其中有更多工作量的一條會繼續作為主鏈,另一條作為備用鏈儲存,如果新新增的區塊使備用鏈累積了更多的工作量,那麼這條備用鏈將被作為新的主鏈。
為什麼BCH不是工作量證明的最長鏈?
由於BCH的挖礦難度比BCE小,所以現在BCH的區塊高度確實比BCE要高,但是這並不是說明最長的鏈。因為BCH累積的難度值是遠遠小於BCE的。這一切都歸結於BCH誕生之初為了能夠在小算力環境下順利的生存下來,修改了難度值的演算法,降低了挖礦難度,所以現在的它還不是那條工作量證明的最長鏈。
雖然目前來說,BCH不是最長的鏈,但是BCH卻是最符合中本聰白皮書的點對點電子現金系統。而且它現在在不斷的高速發展,在未來當BCH的價格、使用者和總市值都超過BTC之後,BCH超越BCE成為最長鏈也是有可能的。