區(qū)塊鏈(blockchain)是眼下的大熱門(mén),新聞媒體大量報(bào)道,宣稱(chēng)它將創(chuàng)造未來(lái)??墒牵芏嗳硕际菫榱顺磶艁?lái)的。對(duì)于區(qū)塊鏈到底是什么,有何特別之處根本不知道,也沒(méi)興趣了解。那么區(qū)塊鏈到底是什么呢?
一、區(qū)塊鏈的本質(zhì)
區(qū)塊鏈的本質(zhì)是什么?一句話(huà),區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的分布式賬本數(shù)據(jù)庫(kù)。
首先,區(qū)塊鏈的主要作用是儲(chǔ)存信息。你可以將你需要保存的信息,都可以寫(xiě)入?yún)^(qū)塊鏈,也可以從里面讀取。
其次,任何人都可以架設(shè)服務(wù)器,加入?yún)^(qū)塊鏈網(wǎng)絡(luò),成為一個(gè)節(jié)點(diǎn)。一旦加入,該節(jié)點(diǎn)享有同其他所有節(jié)點(diǎn)完全一樣的權(quán)利與義務(wù),也就是說(shuō)每一個(gè)節(jié)點(diǎn)都是平等的。你可以在任意的節(jié)點(diǎn)進(jìn)行讀寫(xiě)操作,***全世界所有節(jié)點(diǎn)會(huì)根據(jù)某種機(jī)制的完成一次又依次的同步,從而實(shí)現(xiàn)在區(qū)塊鏈網(wǎng)絡(luò)中所有節(jié)點(diǎn)的數(shù)據(jù)完全一致。
二、區(qū)塊鏈的特點(diǎn)——去中心化
區(qū)塊鏈***的特點(diǎn)就是去中心化。想要了解去中心化,就先得知道什么是中心化。
什么是中心化呢?打個(gè)比方,就比如你在淘寶買(mǎi)東西,就算你付款了,資金不是去了賣(mài)家那里而是在支付寶那里,只有當(dāng)你確認(rèn)收貨了,資金才會(huì)從支付寶轉(zhuǎn)到賣(mài)家賬戶(hù)里面。也就是說(shuō),本來(lái)是買(mǎi)賣(mài)雙方之間的交易,中間卻多了個(gè)支付寶這個(gè)第三方,這就是中心化,支付寶就是那個(gè)中心。
這樣,去中心化就很明顯了,就是不需要第三方,買(mǎi)賣(mài)雙方直接進(jìn)行的交易。
區(qū)塊鏈就是這樣,區(qū)塊鏈沒(méi)有管理員,它是去中心化的。其他的數(shù)據(jù)庫(kù)都有管理員,區(qū)塊鏈沒(méi)有。但是,沒(méi)有了管理員,人人都可以往里面寫(xiě)入數(shù)據(jù),怎么才能保證數(shù)據(jù)是可信的呢?被壞人改了怎么辦?請(qǐng)接著往下讀。
三、區(qū)塊鏈的組成
區(qū)塊鏈由一個(gè)個(gè)區(qū)塊(block)組成。區(qū)塊很像數(shù)據(jù)庫(kù)的記錄,每次寫(xiě)入數(shù)據(jù),就是創(chuàng)建一個(gè)區(qū)塊。每一個(gè)區(qū)塊包含了兩個(gè)內(nèi)容:區(qū)塊頭和區(qū)塊體。
區(qū)塊頭:記錄這個(gè)區(qū)塊的特征,包括時(shí)間戳、上一個(gè)區(qū)塊的Hash(哈希)、區(qū)塊體的Hash等等。
區(qū)塊體:儲(chǔ)存的信息,也就是實(shí)際數(shù)據(jù)。
這里,就又有問(wèn)題來(lái)了,什么又是哈希?
所謂"哈希"就是計(jì)算機(jī)可以對(duì)任意內(nèi)容,計(jì)算出一個(gè)長(zhǎng)度相同的特征值。區(qū)塊鏈的 哈希長(zhǎng)度是256位,這就是說(shuō),不管原始內(nèi)容是什么,***都會(huì)計(jì)算出一個(gè)256位的二進(jìn)制數(shù)字。而且可以保證,只要原始內(nèi)容不同,對(duì)應(yīng)的哈希一定是不同的。
舉例來(lái)說(shuō),字符串123的哈希是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六進(jìn)制),轉(zhuǎn)成二進(jìn)制就是256位,而且只有123能得到這個(gè)哈希。(理論上,其他字符串也有可能得到這個(gè)哈希,但是概率極低,可以近似認(rèn)為不可能發(fā)生。)。
也可以這么說(shuō),每一個(gè)區(qū)塊的Hash都是不一樣的,每一個(gè)Hash對(duì)應(yīng)一個(gè)區(qū)塊,如果區(qū)塊發(fā)生改變,區(qū)塊對(duì)應(yīng)的Hash也將發(fā)生變化。
四、 Hash 的不可修改性
區(qū)塊與哈希是一一對(duì)應(yīng)的,每個(gè)區(qū)塊的哈希都是針對(duì)"區(qū)塊頭"(Head)計(jì)算的。也就是說(shuō),把區(qū)塊頭的各項(xiàng)特征值,按照順序連接在一起,組成一個(gè)很長(zhǎng)的字符串,再對(duì)這個(gè)字符串計(jì)算哈希。
Hash = SHA256 (區(qū)塊頭)
上面就是區(qū)塊哈希的計(jì)算公式,
SHA256是區(qū)塊鏈的哈希算法。注意,這個(gè)公式里面只包含區(qū)塊頭,不包含區(qū)塊體,也就是說(shuō),哈希由區(qū)塊頭唯一決定,
前面說(shuō)過(guò),區(qū)塊頭包含很多內(nèi)容,其中有當(dāng)前區(qū)塊體的哈希,還有上一個(gè)區(qū)塊的哈希。這意味著,如果當(dāng)前區(qū)塊體的內(nèi)容變了,或者上一個(gè)區(qū)塊的哈希變了,一定會(huì)引起當(dāng)前區(qū)塊的哈希改變。
這一點(diǎn)對(duì)區(qū)塊鏈很重要。如果有人修改了一個(gè)區(qū)塊,該區(qū)塊的哈希就變了。為了讓后面的區(qū)塊還能連到它(因?yàn)橄乱粋€(gè)區(qū)塊包含上一個(gè)區(qū)塊的哈希),該人必須依次修改后面所有的區(qū)塊,否則被改掉的區(qū)塊就脫離區(qū)塊鏈了。由于后面要提到的原因,哈希的計(jì)算很耗時(shí),短時(shí)間內(nèi)修改多個(gè)區(qū)塊幾乎不可能發(fā)生,除非有人掌握了全網(wǎng)51%以上的計(jì)算能力。
正是通過(guò)這種聯(lián)動(dòng)機(jī)制,區(qū)塊鏈保證了自身的可靠性,數(shù)據(jù)一旦寫(xiě)入,就無(wú)法被篡改。這就像歷史一樣,發(fā)生了就是發(fā)生了,從此再無(wú)法改變。這樣保證了安全性。
五、總結(jié)
區(qū)塊鏈作為無(wú)人管理的分布式數(shù)據(jù)庫(kù),從2009年開(kāi)始已經(jīng)運(yùn)行到現(xiàn)在,沒(méi)有出現(xiàn)大的問(wèn)題。這證明它是可行的。
但是,為了保證數(shù)據(jù)的可靠性,區(qū)塊鏈也有自己的代價(jià)。一是效率,數(shù)據(jù)寫(xiě)入?yún)^(qū)塊鏈,最少要等待十分鐘,所有節(jié)點(diǎn)都同步數(shù)據(jù),則需要更多的時(shí)間;二是能耗,區(qū)塊的生成需要礦工進(jìn)行無(wú)數(shù)無(wú)意義的計(jì)算,這是非常耗費(fèi)能源的。
因此,區(qū)塊鏈的適用場(chǎng)景,到現(xiàn)在為止其實(shí)非常有限。
但區(qū)塊鏈?zhǔn)腔ヂ?lián)網(wǎng)金融的底層技術(shù)架構(gòu)。區(qū)塊鏈在未來(lái)的發(fā)展,才能夠帶來(lái)互聯(lián)網(wǎng)金融的發(fā)展。
所以讓我們期待區(qū)塊鏈給我們帶來(lái)更智能、更實(shí)時(shí)、更惠普的未來(lái)金融!