區塊鏈系列:區塊鏈里的區塊,賣的是什麼「葯」
文 / 孫猛 (微信公眾號:猛獁商論)
區塊鏈=區塊+鏈,2008年10月,在中本聰的原始論文中,「區塊」和「鏈」這兩個字是被分開使用的,後來隨著比特幣的廣泛使用,直到2016,區塊和鏈才被合體使用,變成一個詞:「區塊鏈」。
區塊鏈由一個個區塊(block)組成,用鏈子把區塊依次連接起來,形成區塊鏈。
提到區塊,一般人很容易聯想到盒子。
1、把區塊比作盒子,它裡面裝的是什麼
區塊由區塊頭和區塊體構成,如上圖所示,藍色部分為區塊頭、紅色為區塊體。
區塊頭的組成:本區塊的hash值(摘要值)、上一區塊的hash值、Merkle根、時間戳、難度係數、隨機數(本區塊的填充數)。
區塊體的組成:交易信息。
區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。
2、搞懂區塊,必須理解什麼是HASH
聽起來很嚇人,實際很簡單。哈希就是一個演算法,能把任意長度的內容(無論是一個數,還是文章,圖像,視頻,總之就是任何數字化的信息)轉換成一串看似沒有規律的固定長度的數字(哈希值),並保證結果唯一,而從這個結果幾乎沒有辦法推算出原始數據。
比如:
「1」的SHA256哈希結果是:
0x6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
「2」的SHA256哈希結果是:
0xd4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35
我們把這個哈希值看成亂碼好了,因為唯一的規律就是沒有規律。同時,在原始數據中哪怕有一點點改動,產生的哈希就會產生巨大的變化。
有人把「按照配方做菜」比作哈希過程:精確按照配方做菜容易,而從菜品推測出配方就難得多。給出兩個數算出他們的平方和比較容易,給出一個數求是哪兩個數的平方和就難很多。哈希演算法就大概這麼個意思。
比特幣採用的就是哈希演算法,是256位的加密函數/加密鑰匙,所以比特幣也被稱為加密數字貨幣。
3、區塊到底如何產生
區塊的產生,被戲稱為挖礦,本質是競爭交易發生後的記賬權,競爭的規則是什麼?共識機制,主要是算數學題,誰先算出來,誰就能獲得獎勵。
這道數學題會是怎樣的?
區塊頭裡有兩個hash值,一個是上一區塊的,一個是本區塊的。
算的就是本區塊的hash值。
對這個hash值,有什麼要求?哈希值以18個以上的0開頭。
進行哈希處理的數據對象就是本區塊內所有數據,而在本區塊的所有數據中,只有一個數據可變,是哪個數據?Nonce,通常被翻譯為隨機數(或本區塊的填充數),算這個隨機數,沒有其它巧妙的辦法,就是一個一個的試,看hash結果是不是滿足要求,不滿足就再試下一個,直到找到。
為了找到這個金子一般的Nonce,一般要花費十幾億次嘗試,雖然每次算hash的工作並不那麼費時間,但重複十幾億次還是要耗費巨大的計算機資源和電力資源。因此擁有強大計算能力的節點,獲勝的概率相對更高。
一旦找到金子一般的Nonce,你就擁有創建區塊的權利,為了激勵你的行為,在區塊中為你準備了一定數量的貨幣。
下一次,你就不會不明所以地跟別人去挖礦了,你也可以給別人講講「哈希值」。
— END —
歡迎你轉發給你身邊有需要的朋友
歡迎你在留言區,與更多人分享你的看法。
TAG:猛獁商論 |