時(shí)間:2023-07-19|瀏覽:268
那么,其中的12965000區(qū)塊高度究竟是什么意思,為什么在某個(gè)區(qū)塊高度會(huì)發(fā)生升級(jí)或者分叉呢?今天大白就和大家來聊聊區(qū)塊高度的那些事兒。
【01 區(qū)塊鏈與記賬本】
區(qū)塊高度顧名思義就是區(qū)塊的高度,準(zhǔn)確地說是連接在區(qū)塊鏈上的塊數(shù)。因此想要明白什么是區(qū)塊高度,我們得首先搞明白什么是區(qū)塊鏈。如果說區(qū)塊鏈?zhǔn)怯涃~本的話,那么一個(gè)區(qū)塊就像是記賬本的每一頁一樣。
在記賬本的一頁頁紙中,清清楚楚地記錄著每一筆賬。而且為了交易不被篡改和保證公開透明性,區(qū)塊鏈記賬的方式是大家一起記賬。
【02 區(qū)塊高度與記賬本頁碼】
既然區(qū)塊鏈?zhǔn)莻€(gè)記賬小本本,那么每一頁(區(qū)塊)可以記錄的賬是有限的,所以為了區(qū)分和查找一筆交易到底記錄在哪一個(gè)區(qū)塊中,我們很容易會(huì)想到給這個(gè)本子標(biāo)明頁碼。所以,如果說區(qū)塊鏈?zhǔn)且粋€(gè)記賬的小本本的話,則區(qū)塊高度就像是這個(gè)記賬本的頁碼一樣。
那么大白的思考題來啦,在只有一條最長(zhǎng)鏈的區(qū)塊鏈的情況下,假設(shè)當(dāng)前記賬本這一頁的頁碼是3,那么這個(gè)區(qū)塊是這條區(qū)塊鏈的第多少個(gè)區(qū)塊呢?答案:第4個(gè)區(qū)塊。
有的小伙伴會(huì)疑問為什么不是第3個(gè)區(qū)塊呢?原因是區(qū)塊鏈的還有一個(gè)區(qū)塊高度為0的區(qū)塊,也就是創(chuàng)世區(qū)塊。它的頁碼為0,因此到頁碼為3的區(qū)塊時(shí),是代表著它的前面有3個(gè)區(qū)塊,也叫做區(qū)塊的祖先數(shù)量。而它自己是這條鏈的第4個(gè)區(qū)塊。
【03 出塊和記賬本頁碼生成】
在搞明白什么是區(qū)塊高度之后,大白再繼續(xù)和大家說說區(qū)塊高度是怎么形成的。在挖礦機(jī)制的區(qū)塊鏈中,區(qū)塊鏈這個(gè)記賬小本本的頁碼是礦工競(jìng)爭(zhēng)得到的。比如當(dāng)前的區(qū)塊高度是3,當(dāng)幸運(yùn)的礦工解決計(jì)算難題后,就會(huì)得到頁碼為4的那頁記賬本(即區(qū)塊高度為4的區(qū)塊)的記賬權(quán)利,并會(huì)獲得一定的獎(jiǎng)勵(lì)。
此時(shí)這個(gè)區(qū)塊就會(huì)記錄著被這個(gè)礦工打包并且已經(jīng)確認(rèn)過的交易。當(dāng)這一個(gè)區(qū)塊已經(jīng)形成后,礦工們又會(huì)在區(qū)塊高度為4的區(qū)塊上繼續(xù)競(jìng)爭(zhēng)得到區(qū)塊高度為5的區(qū)塊。
【04 分叉和記賬本頁碼重復(fù)】
大白前面談到,礦工通過解決計(jì)算難題去得到下一個(gè)區(qū)塊的記賬權(quán)利,那么問題來了,假如當(dāng)前的區(qū)塊高度是2,當(dāng)兩個(gè)幸運(yùn)的礦工同時(shí)解決了計(jì)算難題,那么就都會(huì)獲得區(qū)塊高度為3的區(qū)塊的記賬權(quán)。
這就相當(dāng)于說,礦工小白拿著頁碼為3的一頁紙,礦工小黑也拿著頁碼為3的一頁紙,雖然小白和小黑的紙的頁碼是一樣,但是兩張記賬紙記錄的內(nèi)容卻不是完全一樣的。
可是按規(guī)則來說,小白和小黑的這兩頁紙都是沒有問題的,那么到底選哪一張記賬紙呢?這個(gè)時(shí)候,一些礦工會(huì)選擇小白的這頁紙訂在記賬本的后面,繼續(xù)去“尋求”頁碼為4的那頁記賬紙,而有的礦工會(huì)選擇小黑的那頁紙訂在記賬本上再繼續(xù)去“尋求”頁碼為4的那頁記賬紙。
這樣就相當(dāng)于在頁碼為2的那頁紙的地方,分成了兩個(gè)記賬本。在區(qū)塊鏈中,把這種行為叫做分叉??墒窃趨^(qū)塊鏈中有一個(gè)“最長(zhǎng)鏈原則”,礦工們會(huì)選擇最長(zhǎng)的那條鏈小紅先挖到區(qū)塊高度為4的區(qū)塊,那么小黑那條鏈將會(huì)被舍棄,礦工們都會(huì)選擇在小白這條鏈上繼續(xù)挖礦。
前面大白談到是用區(qū)塊高度去標(biāo)識(shí)某一筆交易到底屬于哪個(gè)區(qū)塊??墒乾F(xiàn)在就出現(xiàn)了兩個(gè)區(qū)塊高度一樣的區(qū)塊,那怎么去標(biāo)識(shí)呢?
實(shí)際上在區(qū)塊鏈中,采用的是區(qū)塊哈希去唯一標(biāo)識(shí)一個(gè)區(qū)塊,而不是區(qū)塊高度。因?yàn)榧词箙^(qū)塊高度一樣,區(qū)塊里面記錄的內(nèi)容也并非完全一樣的,這樣一來區(qū)塊的哈希(由區(qū)塊內(nèi)容求得)就一定不是一樣的,所以可以用區(qū)塊的哈希去唯一標(biāo)識(shí)一個(gè)區(qū)塊。
總結(jié)而言,區(qū)塊鏈就像是一個(gè)記賬本,而區(qū)塊就像是這個(gè)記賬本里面的一頁頁記賬紙,區(qū)塊高度就是記賬紙的頁碼,當(dāng)同時(shí)出現(xiàn)兩個(gè)相同頁碼時(shí)就會(huì)發(fā)生分叉。
你知道什么是區(qū)塊高度以及如何標(biāo)識(shí)兩個(gè)區(qū)塊高度一樣的區(qū)塊了嗎?歡迎在留言區(qū)分享你的觀點(diǎn)。