區塊鏈系統由自下而上的數據層、網絡層、共識層、激勵層、合約層和應用層組成(如圖1.3所示)。
(一)數據層
數據層封裝了底層數據區塊的鏈式結構,以及相關的非對稱公私鑰數據加密技術和時間戳等技術,這是整個區塊鏈技術中最底層的數據機構,其中大多數技術都已被發明數十年,並在計算機領域使用了很久,無須擔心其中的安全性,因為如果這些技術出現安全性上的巨大漏洞,則意味著全球金融技術都會出現嚴重的問題。中本聰在設計比特幣時,為每個區塊設置了1MB(兆)大小的容量限制,但由於目前比特幣的交易量迅速提升,1MB的區塊空間能容納的交易數量有限,所以要考慮擴容區塊鏈來突破這個限制。
圖1.3 區塊鏈系統數據層
(二)網絡層
網絡層包括分佈式組網機制、數據傳播機制和數據驗證機制等,由於採用了完全P2P的組網技術,也就意味著區塊鏈是具有自動組網功能的。這種P2P組網技術,在早先應用於BT(比特流)和eMule(電驢)之類的P2P下載軟件中,也是一種相對來說非常成熟的技術。
(三)共識層
共識層主要封裝網絡節點的各類共識機制算法。共識機制算法是區塊鏈技術的核心技術,因為這決定了到底由誰來進行記賬,記賬者選擇方式將會影響到整個系統的安全性和可靠性。目前已經出現了十餘種共識機制算法,其中最為知名的有工作量證明機制(Proof of Work,PoW)、權益證明機制(Proof of Stake,PoS)、股份授權證明機制(Delegated Proof of Stake,DPoS)等。在下一節中將會詳細介紹這些共識機制。加 入 會 員 微 信
(四)激勵層
激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等,該層主要出現在公有鏈(Public Blockchain)中,因為在公有鏈中必須激勵遵守規則參與記賬的節點,並且懲罰不遵守規則的節點,才能讓整個系統朝著良性循環的方向發展。所以激勵機制往往也是一種博弈機制,讓更多遵守規則的節點願意進行記賬。而在私有鏈(Private Blockchain)中,則不一定需要進行激勵,因為參與記賬的節點往往是在鏈外完成了博弈,也就是可能有強制力或者有其他需求來要求參與記賬。
(五)合約層
合約層主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎。以以太坊為首的新一代區塊鏈系統試圖完善比特幣的合約層。比特幣儘管也包含了腳本代碼,但是並不是圖靈完備的,即不支持循環語句;以太坊在比特幣結構的基礎上,內置了編程語言協議,從而在理論上可以實現任何應用功能。如果把比特幣看成是全球賬本的話,那麼就可以把以太坊看作是一台「全球計算機」——任何人都可以上傳和執行任意的應用程序,並且程序的有效執行能夠得到保證。
(六)應用層
應用層則封裝了區塊鏈的各種應用場景和案例。比如搭建在以太坊上的各類區塊鏈應用就是部署在應用層,所謂可編程貨幣和可編程金融也將會搭建在應用層。
該模型中,基於時間戳的鏈式區塊結構、分佈式節點的共識機制、基於共識機制的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。其中數據層、網絡層和共識層是構建區塊鏈應用的必要因素,否則將不能稱為真正意義上的區塊鏈。而激勵層、合約層和應用層則不是每個區塊鏈應用的必要因素,有部分的區塊鏈應用並不完整地包含著這三層結構。