區(qū)塊最后生成需要檢查很多部分的數(shù)據(jù)有效性杖小,然后給區(qū)塊增加算力證明數(shù)據(jù)豪筝,最后廣播到全網(wǎng),被大家認可之后成為各個賬本的一部分杠氢。在這個過程中站刑,首先要檢查Ommer區(qū)塊頭的數(shù)據(jù)有效性,
公式1表述Ommer區(qū)塊節(jié)點的個數(shù)不能大于2個鼻百,并且公式2表示對于所有屬于Ommer節(jié)點的區(qū)塊頭信息绞旅,要符合公式3的驗證,公式3已經(jīng)在之前的章節(jié)給出過完整的定義温艇,這個就是按照區(qū)塊頭數(shù)據(jù)的格式來檢驗的因悲;公式4是一個新定義,表示連續(xù)檢查6級Ommer節(jié)點的鏈勺爱。公式5表示如果n=0囤捻,不在繼續(xù)檢查。公式7是個新的公式邻寿,公式8是n-1之后遞歸調用蝎土。公式9是公式7的完整定義,公式10表示當前區(qū)塊頭的父節(jié)點與Ommer節(jié)點相同绣否,并且公式11表示當前區(qū)塊頭與Ommer不是同一節(jié)點誊涯,公式12表示當前這個Ommer節(jié)點不是當前區(qū)塊的內部的Ommer節(jié)點。這三個判斷條件如下圖三個連線表示:
公式14是交易有效性的驗證公式蒜撮,該公式含義是本區(qū)塊投中gas的消耗數(shù)據(jù)與交易中累計的gas消耗數(shù)是一樣的暴构。
公式15是獎勵機制,增加受益者賬號余額段磨,公式17是一次區(qū)塊的獎勵額度的固定部分取逾,每次區(qū)塊的獎勵與當前區(qū)塊的Ommer節(jié)點個數(shù)相關,公式17前的系數(shù)等于Ommber節(jié)點的個數(shù)除以32然后加1.公式18和公式19表示獎勵Ommer節(jié)點對應的收益賬號苹支,收益賬號的余額增加R砾隅,公式21給出了獎勵的額度,這個與當前區(qū)塊的高度與Ommer節(jié)點的區(qū)塊高度的差相關债蜜,如公式22晴埂,23所示,叔叔節(jié)點的高度肯定是小于當前區(qū)塊的高度寻定,因此公式21說明儒洛,距離當前區(qū)塊越遠,得到的獎勵越小狼速。
公式24是在當前區(qū)塊還沒有成為區(qū)塊鏈的一個元素之前琅锻,區(qū)塊B的與全局狀態(tài)的映射關系,這是在檢查狀態(tài)變遷之前的有效性。公式27是將一個不完整的區(qū)塊B通過狀態(tài)轉換函數(shù)轉換成為一個完整的區(qū)塊恼蓬。這個過程主要是通過POW的方式沫浆,將不具備nonce字段的區(qū)塊B*,nonce值,還有一個數(shù)據(jù)集d運算滚秩,計算一個值x专执,和m,同時x要滿足公式28的不等式郁油,公式29表示新的完整的區(qū)塊的Hm和Hr的值本股,即mixedHash和stateRoot的值。公式30中幾個公式在前面的章節(jié)已經(jīng)介紹過桐腌,他們從函數(shù)內到外分別是區(qū)塊到具體狀態(tài)數(shù)據(jù)集合的映射拄显,狀體遷移函數(shù)和區(qū)塊狀態(tài)終結函數(shù)。