1. 程式人生 > >區塊鏈 -- 之所以安全的原因!?

區塊鏈 -- 之所以安全的原因!?

區塊鏈(blockchain)近來一直是一個很熱門的話題,提到區塊鏈,大家都會想到安全二字。

那麼問題來了:什麼是區塊鏈?為什麼如此安全?

下面就圍繞這個問題來探討。


1 .什麼是區塊鏈?

正如其名,區塊鏈是一連串包含著資訊的資料塊,這項技術最早由一組研究人員於1991年提出,用來給數字文件打上時間戳,一旦打上,就不太可能顛倒日期或者篡改時間,此舉如同對文件公證人。然而區塊鏈在後面很長的時間沒被人們重視,直到2009年被比特幣的開發者兼創始人 -- 中本聰(Satoshi  Nakamoto)挖掘,用來創造數字貨幣 - 比特幣。

2. 為什麼如此安全?

區塊鏈是一種分散式賬本,對任何人完全開放,他們有種有趣的性質,一旦資料被記錄在區塊鏈中,日後就很難改變。這是如何做到的?那麼首先讓我們仔細看看一個數據塊的構成:

每個資料塊包含三樣東西。資料:Data,當前塊的雜湊值:Hash以及前一個塊的雜湊值:Hash of previous block,儲存在塊中的資料取決於塊的型別。

例如比特幣的區塊鏈:Data中記錄了交易的細節,如傳送人,接收者和錢幣數量。

塊本身有一個雜湊值Hash,可以將其比作為指紋(fingerprint),它用來鑑定這個塊和其內容,並且這個雜湊值是獨一無二的,因此將它比作為指紋。當資料塊被製作出來的時候,它的雜湊值也被計算出來了,若要想改變資料塊的內容,就會改變它的雜湊值。

換而言之,當你想檢測資料塊是否變化時,這時候雜湊值就起來非常關鍵的作用,如果一個數據塊的“指紋”發生了變化,它就不再是原先的自己了,每個塊中的第三個元素,是前一個塊的雜湊值。因為雜湊值改變,導致它們儲存的不再是前一塊的有效雜湊值,依次改變任何單一塊,都會使得後面所有塊無效。

這種性質有效地建立了塊之間的連線性,並且也就是這種技術,使得區塊鏈如此安全。

但是,使用雜湊值並不足以防範篡改資料,電腦處理速度如今已經非常快了,可以每秒計算成百上千的雜湊值,你可以有效地篡改一個塊的雜湊值,並重新計算所有其他塊的雜湊值,從而使你的額區塊鏈重新有效,為了應對這個情況,區塊鏈有項工作量證明的技術(proof-of-work),這是一項能減慢建立新塊的機制。

例如比特幣。計算所需的工作量證明並將新塊加入鏈中,需要10分鐘。

這種機制使篡改變得相當不易,因為如果你想篡改一個塊,你需要為後面的塊,重新計算工作量證明,因此區塊鏈的安全性,來源於其開創性的對

雜湊值的使用工作量證明機制

但是區塊鏈還有一種方法,來增強自己的安全性,那就是分散式,相對於用一箇中心化的實體來管理區塊鏈網路,區塊鏈採用的是一種等對網路,並且所有人都可以加入,當有人加入這個網路時,它就會得到整個區塊鏈的複製,這個人就可以以此來驗證,是否所有的區塊還是合法未被篡改的,那麼接下來我們就來看看當某個人的建立了一個新的區塊時,會發生哪些改變。

當某人建立了一個新的區塊時,每個人再驗證這個區塊,以確保這個區塊沒有被篡改過,如果所有的東西都被檢測正確之後 ,那麼每個人就都把這個新的區塊加到自己的區塊鏈上,網路上的所有人達成了“共識”。

他們認同網路中的那些區塊是合法的,哪些是不合法的。那些被篡改過的區塊將會被網路上的其他使用者拒絕,要成功篡改一個區塊鏈,你要篡改區塊鏈上的所有區塊,重新完成每個區塊的工作量,並控制區塊鏈網路中超過50%的使用者,只有這樣你篡改的區塊,才會被所有人承認。這基本上是不可能做到的!

總結:區塊鏈之所以安全!?

主要是雜湊值的使用,採用工作量證明機制和利用分散式賬本的思想

 

歡迎補充!

千而の大獅子!