時間:2022-01-15|瀏覽:488
提到區(qū)塊鏈和以太坊智能合約,相信大家都會很開心的表示我聽說過!但是你真的了解它的由來和運行原理嗎?今天小編就來為大家解答。
區(qū)塊鏈、比特幣、以太坊、智能合約,這四者的關(guān)系是:
區(qū)塊鏈公認誕生于比特幣白皮書發(fā)布之后,即區(qū)塊鏈技術(shù)中的大多數(shù)理念,都是由比特幣而來。
所以說比特幣技術(shù)是區(qū)塊鏈技術(shù)的開端,而設(shè)計這一令人驚嘆的開發(fā)者中本聰?shù)恼鎸嵣矸葜两袢允莻€謎。
在區(qū)塊鏈技術(shù)發(fā)展的早期階段,區(qū)塊鏈技術(shù)中僅有少數(shù)的幾個幣種同時其屬性基本上只有一個—虛擬貨幣。這極大的限制了區(qū)塊鏈技術(shù)的發(fā)展。
而以太坊的出現(xiàn)帶來了智能合約,自從有了智能合約之后,人們有了在區(qū)塊鏈上進行創(chuàng)造的工具,可以開發(fā)自己Dapp,開發(fā)游戲,發(fā)展DeFi等等。
因此以太坊是區(qū)塊鏈技術(shù)進一步發(fā)展的產(chǎn)物,而智能合約則是進步的工具,使得人們第一次有了抓手可以在區(qū)塊鏈鏈世界中方便快捷的進行創(chuàng)作。
讓我們再來看看區(qū)塊鏈的運行原理。現(xiàn)代區(qū)塊鏈從比特幣中應(yīng)運而來,所以,了解了比特幣的基本原理,就可以從中窺見區(qū)塊鏈的基本原理。
早在2008年,一位自稱是Satoshi Nakamoto的人,在網(wǎng)絡(luò)上發(fā)布了“bitcoin:a peer-to-peer electronic cash system”一文,這標志了比特的正式誕生。
比特幣的設(shè)計初衷以及解決的問題是:在一個互不信任且匿名的網(wǎng)絡(luò)環(huán)境中,通過非對稱加密、哈希函數(shù)、簽名等一系列手段解決人與人之間的信任問題。
現(xiàn)有的區(qū)塊鏈平臺中,根據(jù)接入標準的不同可以分為三大類平臺:
公有鏈:即任何人可以無任何限制的加入這條區(qū)塊鏈并獲取其中的所有數(shù)據(jù)。
聯(lián)盟鏈:針對某些群體進行有限開放,且加入后所有權(quán)限不同,內(nèi)設(shè)專門的記賬節(jié)點和普通節(jié)點等。
私有鏈:個人或少數(shù)群體的本地區(qū)塊鏈。
而公有鏈中的代表,其中應(yīng)用最為廣泛的是比特幣和以太坊。
我們以比特幣交易的一個過程,來講解區(qū)塊鏈的運行原理。
當一個身處比特幣網(wǎng)絡(luò)的A發(fā)出一筆交易請求后,他會向全網(wǎng)進行報播,讓全世界的電腦或礦機來爭奪這筆交易的記賬權(quán),即形成一個新的區(qū)塊,當然一個區(qū)塊中往往不止有一筆交易。
那么交易是如何被打包記賬并記錄進新的區(qū)塊中的呢?在此之前,我們首先要了解一個區(qū)塊都由哪些部分組成。
一個區(qū)塊主要由區(qū)塊頭和交易列表組成。
區(qū)塊的組成
首先A會向全網(wǎng)報播這里有一個區(qū)塊需要打包,此時經(jīng)過特定算法(SHA256)將交易信息和數(shù)據(jù)進行重新包裝的同時得出一個重要的哈希值—Merkle樹根的哈希值。
關(guān)于Merkle樹根哈希值,它可以用于驗證交易信息和數(shù)據(jù)不被篡改,是區(qū)塊中的一個重要參數(shù)。
任何兩個交易信息或數(shù)據(jù)組成可以表示為一個哈希值,此時我們把這兩個哈希值看成一棵樹上的兩個片葉子。
兩片葉子連接的部分稱為葉根,此時,葉根也可以表示為一個哈希值,這個哈希值顯然是由兩筆交易的信息和數(shù)據(jù)的哈希值決定的,而Merkle樹根很形象的理解為多個交易兩兩組成哈希值,像樹一樣有很多葉子。
然而樹根只有一個,即交易信息和數(shù)據(jù)的哈希值對應(yīng)葉子,Merkle樹根哈希值對應(yīng)樹的根部。
而Merkle樹根的哈希值還有一個特點:任何交易信息和數(shù)據(jù)變動都會引起Merkle樹根哈希值的巨變,只要有一片葉子,即一筆交易信息和數(shù)據(jù)被篡改,那么Merkle樹根的哈希值一定會發(fā)生改變。
所以經(jīng)過一系列的包裝打包,交易信息就已經(jīng)被打包成塊,等待被記錄在區(qū)塊鏈的一個新塊中了。
此時對礦工來說,搶奪記賬權(quán)以獲得第一個打包區(qū)塊上鏈的區(qū)塊獎勵是對其主要的激勵手段。
因為區(qū)塊中的第一筆交易信息是這個地址或節(jié)點因為第一個找到隨機數(shù),系統(tǒng)給了它一定數(shù)量的比特幣,即是你打包區(qū)塊后獲得的獎勵,也就是我們俗稱的Mining。
比特幣網(wǎng)絡(luò)是通過讓所有的礦工參與計算一個隨機數(shù),如圖所示,來判定到底是誰有這個記賬權(quán)。
隨機數(shù)的計算
即礦工需要找到一個隨機數(shù)nonce讓他與Merkle哈希值和其他區(qū)塊必要信息組合起來進行哈希計算后,得出一個符合難度要求的哈希值。
由于SHA256算法是非線性的,只有運用窮舉法,即不斷的選取隨機數(shù)進行計算直到計算出來的哈希值滿足難度要求。
而誰先計算出來一個隨機數(shù)nonce并經(jīng)過其他礦工的驗證,誰就擁有了記賬權(quán)而可以獲得區(qū)塊獎勵,這其中需要消耗巨大的計算能力,這也就是我們常說的工作證明。
總結(jié)
區(qū)塊鏈技術(shù)的簡單工作原理是運用分布式賬本、非對稱加密、SHA256等密碼學(xué)技術(shù),對現(xiàn)實中存在的各種信息和交易進行包裝重組。
通過POW或POS等證明方式使得礦工或者記賬員將信息記錄在唯一的區(qū)塊鏈上,使得信息有了不可篡改性和擁有全網(wǎng)的共識機制,即全部的參與者都認為這筆交易真實可信且不可篡改。
因此區(qū)塊鏈技術(shù)也被稱為去中心化的技術(shù)革命,因為在區(qū)塊鏈上不需要任何權(quán)威的機構(gòu)或者個人,一切都是由共識或者證明決定并證實的。