這裡是王團長區塊鏈學院,與最優秀的區塊鏈人一起成長!今天給大家講講雜湊演算法。
點選觀看影片教程:名詞解釋第十九講:雜湊演算法
大約在1953年,雜湊的思想在IBM、俄羅斯等各個地方几乎同時萌芽,剛開始的時候是為了節省儲存空間和計算機算力,慢慢的變成了一種加密的手段。
雜湊演算法是一種只能加密,不能解密的演算法。
把任意長度的資訊透過雜湊演算法,可以轉換成一段固定長度的字串,這個字串就是雜湊值。
比特幣就是依靠雜湊演算法加密的典型例子,所以又被稱為密碼學貨幣,比特幣的區塊雜湊演算法採用的是雙重SHA-256演算法。在比特幣的世界裡,大約平均每10分鐘會產生一個區塊,這個區塊包含了這10分鐘內全球的所有比特幣交易,打包這個區塊就相當於是給系統記賬,由於比特幣是去中心化的,所有人都可以來記賬,那麼交給誰來記賬呢?中本聰提出的解決辦法是:大家一起猜數字,這個數字透過雜湊演算法會生成一個雜湊值,誰先猜出雜湊值前10位是0的數字,誰就贏了,誰就能獲得記賬權,並且獲得比特幣獎勵。
(想要了解更多的區塊鏈知識,可以關注我們的公眾號:王團長區塊鏈日記)
如果你猜出來的隨機數字雜湊值前10位不是0,那你就得改一改這個隨機數字,再猜一次,如果還不行,再改一改,再猜一次。。。因為雜湊演算法是不可逆的,所以不可能從雜湊值來反推出這個隨機數字,只能這樣一次次的猜,一次次的碰運氣,一直到碰出一個雜湊值前10位為0的數字為止。
雜湊演算法作為比特幣的加密演算法,具備了以下幾個特點:
1、不可逆,同樣的輸入值一定會得到同樣的雜湊值,但你知道雜湊值卻沒辦法還原出輸入值。
2、無衝突,輸入值只要改動一點點,雜湊值就會完全不一樣,且毫無規律。
3、無論多長或者多短的輸入值,雜湊值都是一樣長的。
比特幣網路透過讓計算機不斷的執行雜湊演算法猜數字,以此來完成一定的計算量,從而保障系統的安全穩定。
想要了解更多的區塊鏈知識,可以關注我們的公眾號:王團長區塊鏈日記
與最優秀的區塊鏈人一起成長!