區塊鍊從字面上了解:資料記錄在區塊中,通過一定的算法把區塊連成一個鍊。
區塊鍊通過哈希(Hash)算法,生成一串字元串,儲存在區塊的頭部中,一個的區塊通過指向上一個Hash值,加入到區塊鍊中;Hash算法是一種加密算法,指對原始資訊進行特定的轉換運算,換算成對應的加密值(稱為Hash值);是一種單向的加密方式,加密後的密文不可逆推,隻有加密過程,沒有解密過程;區塊鍊中使用SHA-256算法對區塊進行加密。
區塊是區塊鍊中的主要資料存儲結構,一個區塊由區塊頭和區塊體兩部分組成,區塊頭儲存着區塊之間的連接配接資訊,區塊體儲存着業務資料資訊,區塊結構如下:
圖:區塊
一個區塊頭中的previous Hash字段,儲存着上一個區塊的Hash值,通過某個區塊就可以找到整個區塊鍊的第一個區塊,區塊鍊結構如下:
圖:區塊鍊
篡改一個區塊時,需要修改區塊鍊中的後面所有區塊,計算一個區塊的哈希值是極其困難,再加上還需要修改後面的所有區塊的哈希什則難上加難,是以篡改區塊鍊中的業務資訊就成為幾乎不可能做到的事,保證了區塊鍊中資料的可靠性。