區(qū)塊鏈技術(shù)如今非常流行,但是它到底是什么呢?是如何工作的,解決了哪些問題,又有哪些用途呢?今天我來用通俗易懂的語言解釋一下。區(qū)塊鏈顧名思義,就是一組包含數(shù)據(jù)塊的數(shù)據(jù)鏈條。它
區(qū)塊鏈技術(shù)如今非常流行,但是它到底是什么呢?是如何工作的,解決了哪些問題,又有哪些用途呢?今天我來用通俗易懂的語言解釋一下。
區(qū)塊鏈顧名思義,就是一組包含數(shù)據(jù)塊的數(shù)據(jù)鏈條。
它最早出現(xiàn)在1991年,由一群研究人員用來給數(shù)字化文檔打時(shí)間戳。以使得這些文檔不能被篡改,看上去區(qū)塊鏈技術(shù)就像一位公證人一樣。
然而這個(gè)技術(shù)自從那之后就沒有再發(fā)揮其它作用,直到2009年一個(gè)叫中本聰?shù)娜瞬捎脜^(qū)塊鏈技術(shù)創(chuàng)造了數(shù)字加密貨幣比特幣。
一條區(qū)塊鏈就是對(duì)所有人完全公開的分布式賬本,它有一個(gè)很有趣的屬性:一旦數(shù)據(jù)被記錄到區(qū)塊鏈中后就很難再發(fā)生改變。那么它到底是如何工作的呢?接下來讓我們首先來觀察一下單個(gè)區(qū)塊的組成。
每個(gè)區(qū)塊都包含了三個(gè)重要的部分:數(shù)據(jù),哈希值,前一個(gè)區(qū)塊的哈希值。其中數(shù)據(jù)部分跟區(qū)塊鏈的類型有關(guān),例如:比特幣區(qū)塊鏈中的區(qū)塊保存了相關(guān)的交易信息,包括賣家買家以及交易比特幣的數(shù)量。
接下來我們?cè)賮碚f下哈希值,它就像區(qū)塊的指紋一樣,用來標(biāo)識(shí)區(qū)塊和它包含的數(shù)據(jù)。
一旦某個(gè)區(qū)塊被創(chuàng)建,它的哈希值就被唯一的確定下來啦,改變區(qū)塊中任何一丁點(diǎn)兒的內(nèi)容,都會(huì)使得它的哈希值發(fā)生很大的變化。也就是說當(dāng)你需要檢查區(qū)塊是否被篡改時(shí)只需要檢測(cè)它的哈希值是否發(fā)生變化就可以了。如果一個(gè)區(qū)塊的哈希值發(fā)生了變化,那它的內(nèi)容一定發(fā)生了改變。它就再也不是之前的區(qū)塊啦!
區(qū)塊中包含的第三個(gè)元素是前一個(gè)區(qū)塊的哈希值,這個(gè)元素使得區(qū)塊之間可以形成一個(gè)鏈條。并且能夠使得區(qū)塊鏈?zhǔn)值陌踩?。舉個(gè)例子:假設(shè)我們有一條區(qū)塊鏈包含三個(gè)區(qū)塊。如圖所示:
3號(hào)區(qū)塊指向2號(hào)區(qū)塊,2號(hào)區(qū)塊又指向1號(hào)區(qū)塊,1號(hào)區(qū)塊這里有點(diǎn)特殊,它不指向前一個(gè)區(qū)塊,因?yàn)樗褪沁@條區(qū)塊鏈中的第一個(gè)區(qū)塊,也叫創(chuàng)世區(qū)塊。假設(shè)現(xiàn)在你篡改了2號(hào)區(qū)塊里面的數(shù)據(jù),這將使得2號(hào)區(qū)塊的哈希值也跟著發(fā)生改變。那么這也將使得3號(hào)區(qū)塊的指向變得非法,進(jìn)而使得其后續(xù)所有區(qū)塊都變得非法。所以改變一個(gè)區(qū)塊會(huì)使得其后續(xù)所有區(qū)塊變得非法。
但是僅使用哈希值的檢測(cè)方法不足防止用戶篡改區(qū)塊,因?yàn)橐袁F(xiàn)在計(jì)算機(jī)的速度,每秒能夠計(jì)算成千上萬的哈希值,你完全可以篡改一個(gè)區(qū)塊,并重新計(jì)算其后續(xù)所有區(qū)塊的哈希值。這樣就使得你的區(qū)塊再次變得合法。所以為了防止這種事情發(fā)生,區(qū)塊鏈采用了一種技術(shù)叫做工作量證明(POW),來減緩新區(qū)塊的創(chuàng)建速度,比特幣區(qū)塊鏈中大概需要10分鐘左右來完成工作量證明,生成一個(gè)新的區(qū)塊,這就使得區(qū)塊鏈的篡改更加的困難。除此之外區(qū)塊鏈還有一種機(jī)制來保證安全性,那就是去中心化。相對(duì)于中心化的網(wǎng)絡(luò),區(qū)塊鏈采用的是一種去中心化的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。并且所有人都可以加入這個(gè)網(wǎng)絡(luò)。當(dāng)有人加入這個(gè)網(wǎng)絡(luò)的時(shí)候,他就能夠得到整條區(qū)塊鏈的復(fù)制。這個(gè)人就可以來驗(yàn)證區(qū)塊鏈上的區(qū)塊是合法的還是被篡改過的。
接下來,我們來看看當(dāng)某人創(chuàng)建了新的區(qū)塊后,區(qū)塊鏈會(huì)發(fā)生哪些改變?這個(gè)新的區(qū)塊會(huì)被發(fā)送給網(wǎng)絡(luò)上所有人。每個(gè)人驗(yàn)證這個(gè)區(qū)塊以確保這個(gè)區(qū)塊沒被篡改過,如果所有東西都檢驗(yàn)沒有問題后,這個(gè)人就會(huì)把新的區(qū)塊添加到區(qū)塊鏈上。
這個(gè)過程我們稱之為網(wǎng)絡(luò)上所有人達(dá)成了共識(shí)。他們認(rèn)同網(wǎng)絡(luò)中哪些區(qū)塊是合法的,哪些是不合法的,那些被篡改過的區(qū)塊會(huì)被網(wǎng)絡(luò)拒絕。所以要篡改區(qū)塊,你需要篡改這個(gè)區(qū)塊后續(xù)所有區(qū)塊,并且控制網(wǎng)絡(luò)中超過50%的用戶??梢哉f這基本上是不可能做得到的。
區(qū)塊鏈本身也在不斷發(fā)展,后面出現(xiàn)了智能合約技術(shù)。智能合約就是存放在區(qū)塊鏈上面的程序,它在某些特定的條件下可以自動(dòng)的執(zhí)行。因此區(qū)塊鏈技術(shù)也可以用來存放病史檔案,創(chuàng)建數(shù)字化公證,商品朔源等等。那么到這里你應(yīng)該明白了區(qū)塊鏈的工作原理以及它的用途啦吧!