
那我們憑什么說它是有價值的?它的價值到底在哪里?
如果把區塊鏈的特點提煉出來,我們經常會說區塊鏈是一個分布式賬本、一個加密數據庫,它具有時間戳、去中心化、真實不可篡改的特點。
在講區塊鏈之前,我給大家講一個哈希函數。在數字貨幣或者區塊鏈領域繞不開的一個技術就是加密技術。那它的加密就是哈希加密,它是一個簡單的哈希函數,一個256位的函數。就是2的256次方,什么概念呢?大家簡單算一下,2的256次方,就是10的77次方,這個很簡單,舉個log就知道了。10的77次方有多大呢?
我們舉個例子,全宇宙的原子數是10的75次方,宇宙很大對吧,銀河系、太陽系乃至宇宙非常大,大的無法想象。如果大家看過《三體》,對科幻比較感興趣的,最近流浪地球比較火,就是說我們地球去半人馬座的另外一個離我們最近的一個恒星要花2000多年,這個在宇宙的尺度里是非常非常小的。像銀河這樣的星系,在宇宙里面應該也是無數個的。但是全宇宙的原子數只有10的75次方,而哈希函數加密的位數是10的77次方,如果你要破解一個哈希函數,你需要把全宇宙的原子一個一個數過來,數100次。所以這個數量是非常非常大的,也就意味著區塊鏈的哈希函數理論上可以破解,實際上沒有可能。我們大概估算一下,把現在地球上所有的電腦都拿過來破解一個哈希函數,大概要花200億年的時間。如果按照霍金的大爆炸理論來講,大概要花138億年。
除非有下一代計算機,它的運算速度大幅度提高,像量子計算機、光子計算機還是生物計算機出現以后,才有可能破解哈希函數。在這個層面來講,為什么說數字貨幣也好、區塊鏈也好,它的底層技術它的加密技術是不可破解。

我們說的具體一點,我們都知道一個函數它是有個輸入值X和輸出值Y。其實哈希函數它只有一個X,它都沒有X1,X2,他就一個X輸出一個Y。輸出值是哈希值,輸入值是原始數據。原始數據可以是張宇焱這個名字、可以是身份證號碼、可以是莎士比亞全集、可以是圣經、可以是阿里云的數據等世界上任何數據都可以進行輸入,通過哈希函數進行運算得出一個256位的結果。因為輸入值是可以無限的,世界上任何數字都是可以是無限的,但是輸出值是有限的。雖然是10的77次方,但是也是有限的。那就會不會有一種情況,就是兩個不同的輸入值產生同樣的輸出值呢?理論上,是可能的。但是人類產生的所有數據不管怎么折騰,比如莎士比亞全集每一個字母都換下,它也遠遠達不到10的77次方。所以我們說不管你輸入什么東西,它產生的輸出值(哈希值)是唯一的。
這個概念就非常重要,所以說數字貨幣的加密級別高,我們不管什么東西輸入進去,它輸出的哈希值是唯一的。而如果把輸入值稍微改一下,它的輸出值馬上不一樣。我們在區塊鏈上看的分布式數據庫,存的數據是什么呢?大家看到的是哈希值,因為哈希值沒有辦法反算回去,要花200億年才能破解,因為破解不了,所以你看到一個東西,雖然知道它存在,它代表了唯一的輸入值,但是你破解不了。所以你只要拿到這個東西,你可以用它來對外展示和對外交換。所以比特幣也好、比特幣地址也好其實都是一串哈希字符。比特幣沒有實物幣,它本身是一個哈希值,是一個數字串,它是唯一的,所以才有價值。
那我們講一下區塊鏈的第一個特點,分布式賬本。所謂的賬本,就是大家記賬。在區塊鏈出現之前,所有記賬都是中心化的。比如說自己家里記一本賬,公司里面記一本賬。包括騰訊公司、中國人民銀行等每個公司/機構都有自己一本賬,這叫中心化的賬本。它有一個好處,就是效率比較高,今天記了,明天想改就該,也不需要告訴別人。但是就因為它效率高,隨時都可以改,導致它很難得到別人的信任。
比如我記我的賬,我今天給A看,他不一定相信。那區塊鏈就是改變原本中心化賬本,將至變為分布式的。比如我欠A十塊錢。我們兩個簽一個合同,我一份,A一份。改天我不承認了,A也沒辦法,只能上法院起訴我。但是如果我欠A十塊錢這個事情,在做的每個同學都記著賬,包括外面的人也沒人記了一本,那我就賴不了賬。賬本變成了分布式的,想要賴賬就沒那么容易了,我說的不算,是整個體系說的算。體系里超過51%的人說你確實欠了錢了,那我就真的是欠錢了。這就是中心化賬本和分布式賬本最大的一個區別。那中心化數據庫是效率高,但是沒有公信力。分布式數據庫是有公信力,但是效率低,它相當于是損失了效率來獲得了公平。
什么是區塊鏈?
接下來我們來講區塊鏈到底是什么意思?
區塊鏈的英文單詞叫Blockchain。Block就是區塊,Chain就是鏈。區塊+鏈就是區塊鏈的意思。那底層的區塊到底是什么?這個是比特幣的數據結構,這是鏈式的一個數據結構。我們以前都是用表式的記錄數據,EXCEL大家都用過,它是一個表式的,但區塊鏈是塊式的。

這個塊它分成兩個部分,第一部分是原始的交易數據,比如我欠A十塊錢等這些數據都放在區塊里面,這些原始數據輸入之后會產生一個哈希值,我們把這個哈希值(哈希指針)作為下一個塊的表頭,下一個交易就是把下一次交易都放在里面,那這個交易我們叫打包,我們把所有交易都記錄起來我們叫打包。它就是我們經常講的跨礦的概念,比特幣每10分鐘打包一次,也就是說過去10分鐘產生的所有交易都放到一起打包。然后呢,表頭呢/塊頭呢就是把上一個10分鐘的交易形成一個哈希值,第100塊的交易是在第101塊存著,這樣通過哈希指針串聯就變成了一個鏈條。
所以區塊鏈里是存著兩部分數據,一部分是原始數據,一部分是上一個塊里的哈希值,通過這個哈希指針就把它串聯起來。
我們拿出任意一個區塊,比如第102塊,我們就可以追本溯源,找到第一塊創世區塊。我們任意拿出一塊就可以還原上一個區塊,這里的還原并不是指破解它的數據,而是把它串聯回去。我們可以通過這個塊兒,來判斷它是不是這個鏈里面的。而這條鏈是最簡單的,比特幣是用這種鏈。

而現在的區塊鏈技術就不只這么一條鏈了,它有一個Merkle Tree(默克爾樹)的概念,它是一個下面有兩個,那它數據記錄的內容就增加了,但不管怎么樣它都是有哈希指針的往回指的。
比特幣有10000多個節點,大家存的都是一模一樣的這條鏈,每10分鐘打一個包。那這個包是由誰來打的呢,我們這里就涉及到一個挖礦的概念,這也是比特幣原創的。誰來打包呢?比特幣創造了一個計算的公式,讓大家共同參與計算,誰算出來誰就有權利來打包,那算這個東西有什么好處呢,只要是有人算出來系統就獎勵你比特幣。最開始的時候,比特幣每打包一個區塊就獎勵50枚比特幣,每四年比特幣減一半,所以09年打包一次就獎勵50枚,13年是每打包一次就獎勵25枚,17年以后就12.5枚。也就是說現在每個礦工獲得打包權,他就獲得10萬美金的獎勵。這是比特幣的一個挖礦獎勵機制,為了刺激礦工進行打包。
比特幣是一套開源的代碼,原則上是只要你下載這個軟件就可以自己進行挖礦。但是目前個人電腦挖礦概率極小,它都是專業團隊在運行的。一臺礦機算力是幾個T,相當于幾萬臺電腦的算力,所以個人電腦是根本挖不到的。我們假設全網算力是100T,你有10T,那就占10%的算力,也就說每打10個包,你能得1一個包的獎勵。但是呢還有種小概率事件不發生,比如說你有十萬分之一的機會可以挖到,那就意味著你可能永遠也挖不到。它就是一個開源軟件,你也可以挖,只不過你永遠挖不到。
講到這里,大家應該知道什么是區塊鏈了。所謂的區塊鏈就是用塊來記錄數據的一個數據庫技術,用哈希指針連接起來形成一個鏈,叫區塊鏈Blockchain。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。