從上文《區(qū)塊鏈到底是個啥算色?》中螟够,我們知道區(qū)塊鏈技術(shù)就是一個去中心化的分布式賬本妓笙,可以實現(xiàn)價值和信任的傳遞寞宫。
日常生活中,我們的賬本是在一頁一頁子賬中逐筆記錄鲫忍,最后匯聚成冊悟民,形成一個賬本射亏。一個賬本記滿了腻脏,再在一個新賬本上開始一頁一頁地記錄,最終所有賬本按時間順序組合在一起形成一個總賬本做鹰,結(jié)構(gòu)非常簡單清晰鼎姐。
既然區(qū)塊鏈本質(zhì)上是一個賬本炕桨,那它又是什么樣的架構(gòu)呢献宫?實際上钥平,有關(guān)區(qū)塊鏈的架構(gòu)問題涉瘾,已經(jīng)被廣泛討論過了知态,基本上已達成了共識。區(qū)塊鏈的架構(gòu)自下而上分為六層立叛,分別是數(shù)據(jù)層负敏、網(wǎng)絡(luò)層、共識層秘蛇、激勵層其做、合約層和應(yīng)用層,每一層都有其對應(yīng)的核心功能赁还。
1妖泄、數(shù)據(jù)層
區(qū)塊鏈是通過區(qū)塊(block)存儲數(shù)據(jù),每個數(shù)據(jù)節(jié)點之間都包含所有數(shù)據(jù)秽浇。數(shù)據(jù)層主要是解決這些數(shù)據(jù)以什么樣的形式組合在一起浮庐,形成一個有意義的區(qū)塊。就像下圖中的現(xiàn)金日記賬一樣柬焕,一頁賬本每一個賬目都由相應(yīng)的時間搅轿、憑證編號璧坟、摘要励两、借貸金額傅瞻、余額等數(shù)據(jù)構(gòu)成一個完成的賬目。
和現(xiàn)金日記賬類似,每一個區(qū)塊的結(jié)構(gòu)如下:
每個區(qū)塊都包括了區(qū)塊的大小、區(qū)塊頭、區(qū)塊所包含的交易數(shù)量及部分或所有的近期新交易铛铁。在每個區(qū)塊中彪标,對整個區(qū)塊鏈起決定作用的是區(qū)塊頭薄声。數(shù)據(jù)的生成運用了諸多技術(shù),如時間戳技術(shù)缩幸,它可以確保每一個區(qū)塊按時間先后順序相連接盖喷;非對稱加密技術(shù)使得數(shù)據(jù)不能被篡改等等押逼。
2、網(wǎng)絡(luò)層
數(shù)據(jù)按序組合好之后漂彤,怎么讓網(wǎng)絡(luò)中的其他節(jié)點知曉呢立润?區(qū)塊鏈技術(shù)沒有中心化服務(wù)器,依靠用戶點對點交換信息,這就需要網(wǎng)絡(luò)層來實現(xiàn)提陶。
其功能是實現(xiàn)區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點與節(jié)點之間的信息交流升筏,主要包括P2P組網(wǎng)機制乏冀、數(shù)據(jù)傳播和驗證機制识虚。正是由于區(qū)塊的P2P特性蔚晨,數(shù)據(jù)傳輸是分散在各個節(jié)點之間進行的多糠,部分節(jié)點或網(wǎng)絡(luò)遭到破壞對其他部分影響很小被盈。
這一點很好理解,我們熟悉的BT下載也采用了P2P的技術(shù)身堡,用戶在下載的同時裁赠,也在上傳內(nèi)容蕾哟,即使某個點關(guān)閉了軟件票渠,只要網(wǎng)絡(luò)中還有人在下載上傳,也就不影響整個流程肠骆。
3莉钙、共識層
由于區(qū)塊鏈中每個節(jié)點都可以生成新的區(qū)塊完成記賬蜀涨,那要是所有節(jié)點同時都在記賬,整個網(wǎng)絡(luò)不就亂套了么?
共識層的功能是讓高度分散的節(jié)點在P2P網(wǎng)絡(luò)中,針對區(qū)塊數(shù)據(jù)的有效性達成共識龙填,決定了誰可以將新的區(qū)塊添加到主鏈中宿礁。
目前已經(jīng)出現(xiàn)了十余種共識機制算法涤姊,其中最為知名的有工作量證明機制(PoW)恨课、權(quán)益證明機制(PoS)纲辽、股份授權(quán)證明機制(DPoS)等。
4、激勵層
激勵層的功能主要是提供一些激勵措施,鼓勵節(jié)點參與記賬姻乓,保證整個網(wǎng)絡(luò)的安全運行星澳。通過共識機制勝出取得記賬權(quán)的節(jié)點能獲得一定的獎勵。我們最熟悉的比特幣的激勵措施主要有兩種,一種是新區(qū)塊產(chǎn)生時系統(tǒng)獎勵的比特幣,另一種是每筆交易扣除的手續(xù)費沸移。當比特幣數(shù)量達到2100萬枚的上限后绅这,激勵就全靠交易的手續(xù)費了。
5寇窑、合約層
區(qū)塊鏈具有可編程的特性,其基礎(chǔ)是其合約層封裝了各類腳本脓诡、算法和智能合約次泽。比特幣的腳本中就規(guī)定了比特幣的交易方式和過程中的種種細節(jié)。
智能合約是存儲在區(qū)塊鏈上的一段代碼碴里,它們可以被區(qū)塊鏈上的交易所觸發(fā),觸發(fā)后,這段代碼可以從區(qū)塊鏈上讀取數(shù)據(jù)或者向區(qū)塊鏈上寫入數(shù)據(jù)匿辩。這樣就可以利用程序算法睬辐,替代人去仲裁和執(zhí)行合約增拥,將來將為我們節(jié)省巨額的信任成本。
6寻歧、應(yīng)用層
應(yīng)用層則封裝了區(qū)塊鏈的各種應(yīng)用場景和案例掌栅,比如搭建在以太坊上的各類區(qū)塊鏈應(yīng)用,如前一段時間讓以太網(wǎng)絡(luò)癱瘓的以太貓选酗,就是部署在應(yīng)用層芒填。
以上模型中播玖,基于時間戳的鏈式區(qū)塊結(jié)構(gòu)果覆、分布式節(jié)點的共識機制纽门、基于共識機制的激勵機制和靈活可編程的智能合約是區(qū)塊鏈技術(shù)最具代表性的創(chuàng)新點。其中數(shù)據(jù)層敌土、網(wǎng)絡(luò)層和共識層是構(gòu)建區(qū)塊鏈應(yīng)用的必要因素镜硕,否則將不能稱之為真正意義上的區(qū)塊鏈。