OK區塊鏈60講:什麼是時間戳?

巴比特 發佈 2020-05-07T09:55:03+00:00

在之前,我們已經講過UTXO是如何解決雙花問題中的第一類問題,可雙花問題還有另一種情況,就是記帳後的雙花問題,即一筆錢雖然只使用了一次,但是如果有人通過黑客攻擊銀行或者採用造假的方式,把這筆錢又複製了一份,再次使用怎麼辦呢?

哈嘍大家好,我是小K君。今天我們要講的內容是:「什麼是時間戳」?

在之前,我們已經講過UTXO是如何解決雙花問題中的第一類問題,可雙花問題還有另一種情況,就是記帳後的雙花問題,即一筆錢雖然只使用了一次,但是如果有人通過黑客攻擊銀行或者採用造假的方式,把這筆錢又複製了一份,再次使用怎麼辦呢?區塊鏈為了解決這個問題,就加入了時間戳的概念。

所謂時間戳,按官方定義,就是能表示其他的數據在某個特定時間之前已經完整存在、 並且可以驗證的一種數據,一般是一個字符序列,能唯一地標識某一刻的時間。

這句話種有兩個重點,第一、時間戳也是一種數據;第二、時間戳可以證明其他的某個數據,在什麼時間點,就已經完整存在。所以,簡單來說,時間戳就相當於是數據的生產日期,並起到數據驗證的作用。

時間戳在區塊鏈中,與密碼學有著非常緊密的關係,它其實也可以說是密碼學的一個應用。它的工作原理是這樣的:

第一步、節點會先對區塊中的信息進行哈希加密,生成一個信息摘要,也就是哈希值。

第二步、生成好之後,節點會發送一個時間戳的請求,給相關的時間戳伺服器,然後時間戳伺服器會從中提取該哈希值以及數據的時間信息。

第三步、時間戳伺服器會對這些提取到的哈希值以及時間信息進行簽名,也就是再次加密,打上時間烙印,生成時間戳。

最後一步,生成的時間戳數據和交易信息綁定之後,再返回系統。

整個過程在區塊鏈中就是,我們先把數據進行加密處理,處理後放到另一個地方進行公證,以二次加密作為證明,之後再把證明後的東西放到下一個區塊中,進行打包,然後不停地重複這樣一個過程,最後就形成了一個去中心化,並且經歷過哈希算法與時間戳兩次加密的分布式系統。

這樣的好處在於,提高了區塊鏈的不可篡改性,因為每一筆數據都在時間戳中進行了二次加密,有相關的時間記錄。並且區塊連接時,在哈希算法的基礎上,進行了時間的排序。如果有人想要篡改數據,不僅要攻破哈希算法,還要更改時間戳。

時間戳之所以能解決雙花中的第二類問題,原因在於,它起到了一個防偽的作用。一方面時間戳提高了區塊鏈的安全性,黑客很難去篡改,另一方面,系統會給每一個區塊的交易信息都自動打上了時間烙印作為標識,你在什麼時間,花了多少錢,都有記錄。沒有這個標識的,一看就是「假錢」。

總的來說,時間戳在區塊鏈中起到了非常重要的作用,它讓每個區塊按照時間順序層層嵌套,進一步加強了區塊鏈的安全係數,也正是因為它的存在,才使區塊鏈中的「假錢」問題,不再是一個問題。

感謝邵建良老師對本集內容的幫助和指導。 - END -

關鍵字: