區塊鏈淺談2
上一篇簡單說明了區塊鏈的運作原理與特性,這一篇就以比特幣來做一些區塊鏈較細節的介紹
比特幣區塊的內容
範例圖
比特幣中每個區塊都會記錄這些基本的項目,不包含交易訊息pool,又稱「區塊頭(Block Header)」。
區塊高度
現在區塊的高度,也就是已經寫到第幾個區塊了,以範例圖來說,目前高度是192,也就是有192個區塊,礦工們正在解第193個區塊的題目。
本區塊Hash值與上一區塊的Hash值
Hash是區塊鏈中一個非常重要的密碼學加密演算法,簡單來說,把一串文字做Hash加密會得到唯一的Hash值,且無法只從這Hash值解密回原來的文字。比特幣把區塊內的明文資訊做Hash加密記錄到「本區塊的Hash值」,因為這演算法的唯一與不可逆,未來只要比較區塊內明文的Hash值與這區塊紀錄的「本區塊的Hash值」是否相同,就可以知道明文是否被竄改。再藉由記錄本區塊與上區塊的Hash值,形成一個接一個的區塊鏈,可以確保每個區塊的內容都無法被竄改,因為一旦有任何一個區塊的任一資訊被偷改,則所有在被修改區塊之後的區塊Hash值都會變不一樣。
礦工解答Nonce跟難度
這兩項是比特幣的共識驗算法所需要紀錄驗證的。比特幣的共識演算法-工作量證明(PoW)是一種消耗電腦CPU/GPU的演算法,只能暴力破解,無法有任何捷徑。舉個簡單的例子,就像是給你一個很大的數N,已知這個數是兩個質數相乘,請解出這兩個質數。這種就只能暴力解,從2一直除到根號N,看到底是哪兩個。共識演算法的題目,要有難解但易證明的特性,就像我剛剛的舉例,你只能暴力破解質數,但你把兩個質數給我,我可以輕鬆的證明他們是對還是錯。區塊中的礦工解答Nonce跟難度,就相當於共識演算法的答案與題目,把它們紀錄到區塊鏈證明這是正確被解答的,而算出答案的礦工就可以拿取獎勵。
時間戳
時間戳也是確保區塊鏈安全的,跟區塊高度相輔相成,高度較高但時間較前是不被允許的,防止事先解題。而且在比特幣中,時間戳也會成為共識演算法題目的一個變數,包含在礦工解答Nonce中。
交易訊息Hash與交易訊息pool
所有的包含在此區塊的交易都會記錄在交易訊息pool中,最少一筆,最多不超過區塊紀錄上限,且所有交易訊息會做一次Hash加密成「交易訊息Hash」,確保無法竄改,並記錄到區塊頭。
以上是比特幣區塊內資訊的介紹,下一篇會寫礦工工作內容