前幾章介紹了密碼學的原理與有關加密的種類及方式,還有一些能確保訊息正確性和完整性的方法,今天我們要來說明密碼學在區塊鏈上的應用。
在一開始,我們有說到區塊鏈是用來記錄資料的一種技術。
以比特幣來作為舉例,我們將所有比特幣的交易過程都記錄在區塊鏈當中,換句話說,可以把區塊鏈看作是記錄比特幣交易的帳本。而當每一筆交易形成,該筆交易就會被礦工加到區塊中,而一個完整的區塊需包含以下四個資訊:
其中,區塊頭(Block Header) 的主要目的是,讓礦工能夠快速的審核該區塊的有效性,並讓每一個區塊與前一個區塊的資料產生無形的連結,確保區塊序列及歷史紀錄的正確性,這也是形成「鏈」最關鍵的連結。
而這一切就是利用密碼學中的Hash值,每個區塊中都會存有一個Hash值,每個Hash值都是用前一個區塊中的資訊所形成,因此可以確定每個區塊中的順序,以及每個區塊中的交易是否有被篡改,就好比銀行帳本的每一頁都會有頁碼,如果有人竄改帳本或撕掉其中一頁,就會因為頁碼對不上而清楚容易的發現資料有誤。
參考資料:
https://hackmd.io/@monkenWu/BkLXQOTN4?type=view
https://zombit.info/block-and-genesis-block/