1. 程式人生 > >比特幣開發萊特幣制作山寨幣開發虛擬幣開發虛擬貨幣開發

比特幣開發萊特幣制作山寨幣開發虛擬幣開發虛擬貨幣開發

今天,我們就來把區塊鏈拆分開,詳細聊聊到底什麼是區塊鏈。我們知道,區塊鏈背後的技術其實主要就是加密演算法,其中主要包含兩塊,一個是雜湊,另一個就是電子簽名。雜湊和電子簽名是什麼?雜湊的意思就是引入隨機數量的輸入資料,將其加密,然後得出一個固定輸出資料,就叫做雜湊。輸入可以是任何資料,只要能代表單個位元組,一個MP3檔案,整本小說,你的銀行賬單,甚至是整個網際網路。關鍵在於輸入可以無限大。雜湊演算法可以根據你的需求來進行選擇,現在公開的也有很多種演算法。關鍵點在於,這些演算法會將無限的輸入,轉換成固定數量的位元組。例如,256位元組。那麼這個雜湊有什麼用呢?現在雜湊通常的用處就在於指紋識別,同時也被稱為檢測區域。這意味著一個雜湊被用來驗證一個檔案沒有被任何人更改。假設WikiLeaks釋出了使用MD5雜湊的檔案,任何人下載這些檔案,都可以通過MD5雜湊驗證檔案的來源。如果雜湊和WikiLeaks釋出的不符合,那麼你就知道這個檔案肯定是被改過的。那麼區塊鏈是如何使用雜湊的呢?區塊鏈使用雜湊,來表現整個區塊鏈網路現在的狀態。輸入則是區塊鏈的整個狀態,也就是說近期完成的所有轉賬,輸出就是雜湊代表的區塊鏈現在的狀態。雜湊就被用來在區塊鏈網路中讓各方相信,整個狀態都是相同的。但是這些雜湊是怎麼算出來的呢?首個雜湊是為第一個區塊或者是創世區塊所計算的,通過區塊內部的轉賬資料得出。初始轉賬的順序被用來計算創世區塊的區塊雜湊。後來每挖出的新區塊,之前的區塊雜湊也會被使用,同時還有這個區塊的轉賬資訊,作為輸入值,來確定區塊的雜湊。這就是區塊鏈的形成方式,每個新區塊雜湊指向地是之前區塊的雜湊。 這種雜湊系統保證了任何轉賬記錄都不會被改變,因為如果任何部分的轉賬記錄改變,那麼歸屬於這個區塊的雜湊值也會改變,那麼任何接下來的區塊雜湊也會被改變。那麼你可以簡單地將雜湊對比,就很容易去分辨出哪兒發生了改變。這就非常棒了,因為區塊鏈上的每個人只需要對這256個位元組達成共識,就可以代表區塊鏈的狀態。以太坊區塊鏈現在是10MB,但是區塊鏈狀態只有256位元組代表的雜湊。那麼電子簽名又是什麼呢?電子簽名,和真實簽名一樣,為了證明某人的身份,但是使用加密演算法,會使得簽名更加安全,不像手寫的那種,可以很容易地修改。數字簽名可以證明這個資訊是從某個特定的人那兒來的,而且不是任何其他人,比如黑客。電子簽名在現今網際網路中也有所應用。不論何時你通過ACTPS訪問網站,你都是在使用SSL,這就是通過電子簽名來保證你和伺服器之間的安全性。這意味著當你訪問Facebook.com時,你的瀏覽器可以檢查跟隨頁面的數字簽名,來驗證者確實是從Facebook網頁傳來的,而不是從黑客。在非對稱的加密系統中,使用者可以獲得祕鑰對,這是由使用某種演算法的公鑰和私鑰組成的。公鑰和私鑰是通過數學關係相互連線的。公鑰的意思是公開發布的,作為從其他使用者處接受資訊的地址,就類似IP地址或者是家庭住址。私鑰意味著隱祕的資訊,用來將簽署電子資訊,併發送給別人。簽名包含在資訊中,以至於接受者可以驗證傳送者的公鑰。這樣地話,接收者就可以保證只有傳送者可以傳送這條訊息。在區塊鏈上創造賬號,就可以獲得祕鑰對,但是並不需要在任何地方進行註冊。而且區塊鏈上的任何交易都是由傳送者使用私鑰進行電子簽名後才行。這個簽名保證了只有賬戶擁有者可以轉移其中的資產。總結來看,區塊鏈不能沒有雜湊和電子簽名。雜湊使得區塊鏈上的人對現在的整體狀態達成共識,電子簽名卻保證了所有交易都只由正確的人發出。我們依賴於這兩個特性,來保證區塊鏈不會存在任何欺詐和貪汙現象。