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