區塊鏈是在時間上有序的、由記錄塊(區塊)組成的一根鏈條。
一個區塊包含兩個部分:區塊頭(Block Header)和記錄部分。區塊中的所有記錄通過默克爾樹(Merkle Tree)組織起來,默克爾樹根(Root)的哈希值做為本區塊里所有記錄的數字指紋被放入區塊頭。
區塊頭還包含以下字段:
前一個區塊頭的哈希值(這是前一個區塊的數字指紋,也可以看做是指向前一個區塊的哈希指針),本區塊的時間戳、高度(Hight,即從第一個區塊開始數本區塊是第幾個塊),以及一些其他信息。系統的共識算法保證了每過固定的一段時間(Bitcoin是大約10分鐘),參與整個系統記賬的節點會達成共識在區塊鏈上添加下一個新的區塊。
時間戳的這種設計,使得更改一條記錄的困難程度按時間的指數倍增加,越老的記錄越難更改。這是因為,如果改動某個區塊里的一條記錄,意味著該區塊原來的默克爾樹根失效了,需要改動區塊頭,該區塊的數字指紋隨之失效。又由于下一個區塊的區塊頭包含這個哈希指針,這就意味著下一個區塊也需要改動。如此直到最新的那個區塊。
可見要想改動一個區塊,必須同時改動該區塊后面的所有區塊。因為將一個區塊放入區塊鏈中需要消耗非常多的資源(資源種類依共識算法的不同而不同,可以是計算力,流逝的時間,擁有的權益等),隨著后面添加的區塊越來越多,要想改動某個區塊幾乎是不可能的。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。