對於非技術背景而又正在學習區塊鏈的小夥伴來說,區塊鏈的知識點非常多,經常被各技術術語搞得很混亂,這不僅因為區塊鏈是多種技術組合而成,還因為它在不斷的發展變化中。
今天的小課堂將梳理區塊鏈的整體架構,以幫助大家對區塊鏈技術有一個巨集觀的理解和認知,順便毫無壓力地聽懂各種行話、看懂各個區塊鏈專案介紹。
關於區塊鏈的整體架構,之前萬向區塊鏈小課堂專門製作了一期小影片3分鐘理解區塊鏈的六層模型來解釋。這個影片中的區塊鏈架構圖是經典區塊鏈技術架構:
資料層:資料層主要描述區塊鏈的物理形式,是區塊鏈上從創世區塊起始的鏈式結構,包含了區塊鏈的區塊資料、鏈式結構以及區塊上的隨機數、時間戳、公私鑰資料等。
網路層:網路層主要透過 P2P 技術實現分散式網路的機制,網路層包括 P2P組網機制、資料傳播機制和資料驗證機制,節點之間透過維護一個共同的區塊鏈結構來保持通訊。
共識層:共識層主要包含共識演算法以及共識機制,是區塊鏈的核心技術之一,也是區塊鏈社群的治理機制。目前至少有數十種共識機制演算法,比如PoW、PoS、DPoS等。
激勵層:激勵層主要包括經濟激勵的發行制度和分配製度,其功能是提供一定的激勵措施,鼓勵節點參與區塊鏈中安全驗證工作,並將經濟因素納入到區塊鏈技術體系中,激勵遵守規則參與記賬的節點,並懲罰不遵守規則的節點。
合約層:合約層主要包括各種指令碼、程式碼、演算法機制及智慧合約,是區塊鏈可程式設計的基礎。將程式碼嵌入區塊鏈中,實現可以自定義的智慧合約,並在達到某個確定的約束條件的情況下,無需經由第三方就能夠自動執行,是區塊鏈去信任的基礎。
應用層:區塊鏈的應用層封裝了各種應用場景和案例,類似於電腦作業系統上的應用程式。
隨著各種新技術和新概念的湧現,在這個基礎上,結合新的技術如分散式儲存和計算、安全多方計算等,區塊鏈架構改進版本可以演化成下圖:
更加巨集觀地看待區塊鏈技術,我們可以將其與傳統網際網路的架構進行類比,同時結合區塊鏈的分層理論得到分層模型,分層模型的本質是將區塊鏈模組化,將效能改進聚焦。
區塊鏈與TCP/IP協議的對比
區塊鏈的分層模型
現在明確了區塊鏈的架構,就能條理清晰地整理以往從萬向區塊鏈小課堂、萬向區塊鏈蜂巢學院公開課、萬向區塊鏈行業研究文章中get到的各種知識點,或輕鬆理解聽到過的行話。比如,我們經常能聽到很多專案在介紹自己的時候說“我們進行了Layer2協議的改進和創新”,現在看著架構圖,你就知道Layer2主要是為應用設計準備的。再比如萬向區塊鏈小課堂之前科普過的雜湊函式、時間戳等都在區塊鏈的“資料層”,是為了保護資料安全等。