官术网_书友最值得收藏!

第2章 區塊鏈技術總體架構

2.1 總體架構

從比特幣誕生到現在,各類公鏈平臺及應用蓬勃發展,人們對區塊鏈技術的理解和認知也在不斷加深。從總體上來看,比較傳統的對區塊鏈技術的認知與經典的7層網絡OSI模型有些類似,即區塊鏈基礎架構分為6層:數據層、網絡層、共識層、激勵層、合約層、應用層。如圖2-1所示。

圖2-1 傳統的區塊鏈技術分層方式

?數據層:作為整個區塊鏈模型的技術基礎,以時間戳的方式組織的塊鏈式數據結構。

?網絡層:負責各個節點之間的網絡鏈接。一般采用P2P的鏈接方式將各個節點/賬本組織成分布式的網絡體系。

?共識層:負責實現分布式系統中各個賬本的數據一致性。

?激勵層:負責區塊鏈上token(通證)的發行和分配方式。

?合約層:負責實現智能合約的功能。智能合約被許多人認為是“電子合同”及區塊鏈2.0的標志性技術,為區塊鏈的可編程屬性,各個節點在合約層需要按照合約的規則約定執行相應的操作/交易。

?應用層:分布式的鏈上應用。與網絡模型類似,應用層也是面向最終用戶的,以Web、App、桌面終端等用戶交互形式,實現各類業務具體的應用場景。

這種分層方式自提出后一直被業界廣泛使用,但隨著區塊鏈技術及產業應用的不斷深化發展,這一分層方法也逐漸暴露出一些瑕疵。

首先,傳統來劃分技術的邏輯層次其實并不清晰,例如激勵層更多與通證經濟模型設計等相關,但未必會涉及技術方面的設計與開發內容,因此將激勵層與其他技術層相提并論并不完全合適。PoW等共識機制在設計時也考慮到了激勵。此外,對于聯盟鏈/許可鏈等無須額外通證激勵的設計而言,激勵層的存在對于許可鏈似乎并不那么適用。因此,這種技術劃分方式顯得更像是專門為公有鏈量身定制的。

其次,分層的方式本身值得進一步探討。區塊鏈技術層次劃分其實并沒有類似于OSI網絡模型的上下之間的依賴或抽象關系。按照層次方式排列較難自圓其說。最典型的一個例子就是在傳統的劃分中,數據層在網絡層之下,但其實網絡并不依賴于數據而存在;如果將科網絡層置于數據層之下,也會存在類似的疑問。

最后,一些最新的擴展技術,包括跨鏈、狀態通道、分片等在傳統的技術劃分中并沒有合適的對應體現。

因此在傳統劃分的基礎上,這里提出了一種修改后的區塊鏈劃分模型,如圖2-2所示。

圖2-2 區塊鏈技術模型

總體上,這種劃分方式可被視為“三縱三橫”的模式。

最左側的密碼學技術是一切區塊鏈平臺的核心理論基礎與技術出發點。

中間的3層區塊鏈技術棧可被視為區塊鏈技術的核心內容。目前,要實現一個可應用于實際業務場景中的較為完整的區塊鏈平臺,應至少包括以下內容。

?分布式賬本層:區塊鏈或分布式賬本的底層基礎設施。

?合約層:基于底層基礎設施的應用開發協議。

?應用層:包括錢包、DApp等在內的基于區塊鏈的人機交互程序。

最右側是區塊鏈的擴展技術。區塊鏈技術雖然走過了十年的發展歷程,但在技術上來看,還沒有完全成熟,為了提高可擴展性,包括交易處理性能、存儲容量等,還需要對各種擴展技術加以完善。

主站蜘蛛池模板: 黄冈市| 淮南市| 镇安县| 隆林| 巍山| 旺苍县| 永丰县| 化隆| 攀枝花市| 成武县| 登封市| 鄯善县| 灵川县| 景洪市| 固原市| 新密市| 仪陇县| 井陉县| 阳东县| 广南县| 广平县| 蒙阴县| 盈江县| 堆龙德庆县| 中山市| 邛崃市| 吉隆县| 安图县| 剑阁县| 蛟河市| 民县| 修武县| 旌德县| 商河县| 彰武县| 锡林浩特市| 曲阜市| 汕尾市| 迁西县| 什邡市| 开化县|