區(qū)塊最后生成需要檢查很多部分的數(shù)據(jù)有效性,然后給區(qū)塊增加算力證明數(shù)據(jù),最后廣播到全網(wǎng),被大家認(rèn)可之后成為各個(gè)賬本的一部分。在這個(gè)過程中,首先要檢查Ommer區(qū)塊頭的數(shù)據(jù)有效性,
公式1表述Ommer區(qū)塊節(jié)點(diǎn)的個(gè)數(shù)不能大于2個(gè),并且公式2表示對(duì)于所有屬于Ommer節(jié)點(diǎn)的區(qū)塊頭信息,要符合公式3的驗(yàn)證,公式3已經(jīng)在之前的章節(jié)給出過完整的定義,這個(gè)就是按照區(qū)塊頭數(shù)據(jù)的格式來檢驗(yàn)的;公式4是一個(gè)新定義,表示連續(xù)檢查6級(jí)Ommer節(jié)點(diǎn)的鏈。公式5表示如果n=0,不在繼續(xù)檢查。公式7是個(gè)新的公式,公式8是n-1之后遞歸調(diào)用。公式9是公式7的完整定義,公式10表示當(dāng)前區(qū)塊頭的父節(jié)點(diǎn)與Ommer節(jié)點(diǎn)相同,并且公式11表示當(dāng)前區(qū)塊頭與Ommer不是同一節(jié)點(diǎn),公式12表示當(dāng)前這個(gè)Ommer節(jié)點(diǎn)不是當(dāng)前區(qū)塊的內(nèi)部的Ommer節(jié)點(diǎn)。這三個(gè)判斷條件如下圖三個(gè)連線表示:
公式14是交易有效性的驗(yàn)證公式,該公式含義是本區(qū)塊投中g(shù)as的消耗數(shù)據(jù)與交易中累計(jì)的gas消耗數(shù)是一樣的。
公式15是獎(jiǎng)勵(lì)機(jī)制,增加受益者賬號(hào)余額,公式17是一次區(qū)塊的獎(jiǎng)勵(lì)額度的固定部分,每次區(qū)塊的獎(jiǎng)勵(lì)與當(dāng)前區(qū)塊的Ommer節(jié)點(diǎn)個(gè)數(shù)相關(guān),公式17前的系數(shù)等于Ommber節(jié)點(diǎn)的個(gè)數(shù)除以32然后加1.公式18和公式19表示獎(jiǎng)勵(lì)Ommer節(jié)點(diǎn)對(duì)應(yīng)的收益賬號(hào),收益賬號(hào)的余額增加R,公式21給出了獎(jiǎng)勵(lì)的額度,這個(gè)與當(dāng)前區(qū)塊的高度與Ommer節(jié)點(diǎn)的區(qū)塊高度的差相關(guān),如公式22,23所示,叔叔節(jié)點(diǎn)的高度肯定是小于當(dāng)前區(qū)塊的高度,因此公式21說明,距離當(dāng)前區(qū)塊越遠(yuǎn),得到的獎(jiǎng)勵(lì)越小。
公式24是在當(dāng)前區(qū)塊還沒有成為區(qū)塊鏈的一個(gè)元素之前,區(qū)塊B的與全局狀態(tài)的映射關(guān)系,這是在檢查狀態(tài)變遷之前的有效性。公式27是將一個(gè)不完整的區(qū)塊B通過狀態(tài)轉(zhuǎn)換函數(shù)轉(zhuǎn)換成為一個(gè)完整的區(qū)塊。這個(gè)過程主要是通過POW的方式,將不具備nonce字段的區(qū)塊B*,nonce值,還有一個(gè)數(shù)據(jù)集d運(yùn)算,計(jì)算一個(gè)值x,和m,同時(shí)x要滿足公式28的不等式,公式29表示新的完整的區(qū)塊的Hm和Hr的值,即mixedHash和stateRoot的值。公式30中幾個(gè)公式在前面的章節(jié)已經(jīng)介紹過,他們從函數(shù)內(nèi)到外分別是區(qū)塊到具體狀態(tài)數(shù)據(jù)集合的映射,狀體遷移函數(shù)和區(qū)塊狀態(tài)終結(jié)函數(shù)。