TMT观察网_独特视角观察TMT行业

區塊鏈技術可擴展方案分層模型區塊鏈

袁煜明 2018-09-01 18:29
分享到:
導讀

將區塊鏈與傳統互聯網OSI模型結合,建立區塊鏈技術可擴展方案分層模型三個一級層級。

本報告通過對27個典型區塊鏈項目分析,借鑒計算機網絡分層管理、各層標準化設計的思想,將區塊鏈與傳統互聯網OSI模型結合,建立區塊鏈技術可擴展方案分層模型三個一級層級:Layer 0層數據傳輸層,Layer 1層On-Chain公鏈自身(底層賬本)層和Layer 2層Off-Chain擴展性(應用擴展)層。在一級層級的基礎上,結合區塊鏈架構又可以進一步分解成七個二級層級來詳細研究。

Layer 0層數據傳輸層與傳統OSI七層模型對應,優化區塊鏈與傳統網絡的結合問題。區塊鏈是整個互聯網協議層中的最上層,本身還是要依賴于底層的協議為它工作,雖然在比特幣P2P網絡設計的時候已經考慮了節點之間的發現、節點連接的握手協議、節點間地址廣播和數據通信等,鑒于已經有部分項目開始探索P2P網絡與傳統OSI模型的結合,甚至將改進延伸到數據鏈路層,本報告傾向將P2P網絡和傳播機制并入到Layer 0層和傳統OSI模型一起作為一類可擴展方案進行研究。

Layer 1層解決底層賬本問題,主要負責安全,妥協性能,注重于記賬功能。結合區塊鏈架構,Layer 1層可以分解成四個二級層級,從網絡層的驗證機制上使用諸如分片技術去改進,從數據層的數據區塊使用諸如隔離見證和鏈式結構上使用DAG等技術去改進,從共識層的共識機制上去改進;

Layer 2層解決廣義應用問題,主要負責性能,妥協去中心化,注重于計算功能。結合區塊鏈架構,Layer 2層可以有兩個二級層級,從跨鏈、狀態通道等多鏈并行、鏈上鏈下結合甚至是中心化的方式來滿足性能需求,借助Layer 1層來保證安全。

通過閱讀本研究報告,讀者可以充分了解到當前區塊鏈技術發展趨勢,尤其是可擴展方案的基本原理、思考方向和主要技術,并結合對應的項目案例加深理解,提升體系分析、辨別項目的能力。

區塊鏈技術的本質是一個服務于現實場景的底層賬本,不可盲目萬能化,Layer 1層就是作為這個底層賬本的主要載體充分服務于Layer 2層,根基于更適合的Layer 0層。

1.webp

第一章 當前區塊鏈技術主要瓶頸

1.1 區塊鏈技術發展概述

2009年1月,比特幣網絡正式運行,比特幣的成名造就了區塊鏈技術。如今,從區塊鏈技術的發展上看,普遍公認的主要有兩個階段:一是以比特幣(BTC),萊特幣(LTC)等為代表的作為支付貨幣的第一代區塊鏈;

在第一代的基礎上,第二代區塊鏈的發展其實有幾個方向:具備圖靈完備的智能合約功能是大家說的最多的一個方向,典型代表有以太坊(ETH)和柚子(EOS)等;隱私加密保護相對于第一代區塊鏈也是一個很重要的改進,典型代表有環簽名技術的門羅幣(XMR)和零知識證明的大零幣(ZEC)等;除此之外,一個區別傳統區塊鏈概念的有向無環圖DAG也是一個重大的改進方向,典型代表如IOTA等。

而第三代區塊鏈目前并沒有普遍的共識,這也是當前區塊鏈發展的一個迷茫期,大家都在摸索中,有將DAG和跨鏈技術作為第三代的,也有將Layer理論(后文將具體介紹)作為第三代發展方向的。其中,如果將DAG作為并行于狹義區塊鏈(注:廣義區塊鏈技術是包含DAG技術的)的一種技術來看時,我們也能做出另一種類比:第一代DAG項目和第一代狹義區塊鏈項目都以支付貨幣功能作為第一代,當DAG系列出現支持智能合約的突破后,便可以類比于第二代狹義區塊鏈的階段。

區塊鏈技術發展階段可以用圖1來表示:

2.webp

圖1 區塊鏈技術發展階段

1.2 區塊鏈的三元悖論

從比特幣問世,區塊鏈行業的發展也有10年了,之所以說到當前處于區塊鏈發展的一個迷茫期,與區塊鏈技術突破和落地應用緊密相關。在技術上,區塊鏈的三元悖論是最基本的法則:區塊鏈系統最多能在去中心化、安全性、可擴展性三屬性中取其二;換句話說,區塊鏈系統在去中心化、安全性、可擴展性三屬性必須有所取舍,劃分出優先級,或者達到動態最優。

3.webp

圖2 區塊鏈系統三元悖論

1.3 當前區塊鏈技術主要瓶頸

理解了區塊鏈的三元悖論,就能理解為什么大家一直說區塊鏈公鏈項目不能滿足商業需求的論述了。當前區塊鏈技術主要瓶頸就在于公鏈項目的可擴展性有限,而可擴展性最直接的表征一般采用TPS(Transactions Per Second)來間接描述。

TPS是一個有成熟定義的計算機術語,代表了系統每秒鐘能夠處理的業務數量,是衡量一個系統吞吐量的核心指標。簡單地說,TPS 越高,這個系統的事務處理能力越強,越不容易造成網絡擁堵,在高并發的業務領域和商業級應用場景中有很大的優勢。TPS 越低,意味著系統每秒能夠處理的事務數量越低,如果是在一個支付系統中,交易速度會越慢,對應的交易成本也會越高。由于TPS 是一個量化指標,所以其計算公式是確定的,即:

TPS = 系統并發數/ 平均響應時間

其中系統并發數指系統同時處理事務的最大數量,平均響應時間為系統處理一個事務平均花費的時間,所以不論是區塊鏈結構還是傳統結構,系統的TPS 都由系統的并發數和平均響應時間決定。

在區塊鏈中,TPS可以理解成每秒鐘處理的交易數。眾所周知,BTC平均每10分鐘出一個塊,每個塊大小1MB,平均每筆交易的大小為600字節,那么每個塊平均能夠處理1600筆交易,即TPS=1600/(10*60)=2.67,即使是高峰數據統計,比特幣的TPS也是個位數的,很多資料會以5~7TPS做為BTC的TPS值

4.webp

圖3 BTC每個塊的平均交易數

而ETH目前仍然是POW的挖礦方式,所以處于20~30TPS區間,即不到百位TPS檔位。熱門的EOS一直以并行百萬級宣傳,主網上線后,研究員們搭載的服務器測試結果并不足1000,隨著DPOS的正常運作,最新資料顯示已經達到3000 ,在不考慮并行的情況下,相對中心方式的EOS最終TPS應該也是在千位檔,而并行實現百萬級的概念在看完本報告后相信大家會有一個新的見解。理論上,在相對同等狀態下,ETH POS sharding應該和EOS的DPOS LMAX同處于千位檔。

看完區塊鏈項目的數據,我們對比一下Visa的數據:Visa平均處理2000TPS,每日平均峰值可以達到4000TPS,理論上最高能夠支持5.6萬TPS;而Paypal全年處理490萬筆交易,性能可達10萬TPS;淘寶2017年雙十一交易創峰值32.5萬TPS,支付峰值25.6萬TPS。

5.webp

在傳統集中式系統中,客戶端和服務器端的角色是分離的,即用戶所在的客戶端負責發起請求,然后中心服務器負責接收、驗證、處理等一系列工作,整個系統的數據儲存和記錄也都由中心服務器負責。所以在傳統的集中式系統中,事務處理流程很簡單,由客戶端發出請求,由服務器處理后更新數據庫,即可返回客戶端,是一種集中式數據庫系統。

6.webp

圖4 傳統集中式系統單個事務請求的確認流程

因此在傳統的集中式系統中,不論是系統的并發量還是事務的平均處理速度都和中心服務器的性能有著直接的關系。中心服務器性能越強,內存越大,數據庫訪問速度越快,整個系統的TPS 就會越高。此外,傳輸過程中帶寬的增大,客戶端和服務器端物理距離的減少也可以使得系統平均響應時間減少,從而增大TPS。

而在區塊鏈分布式系統中沒有一個中心服務器來處理事務,每個節點都是一個中心,所以就必須要解決數據分布式存儲的公平性和一致性問題。所謂公平性,就是確保每個節點都能擁有記賬的權利,而不會出現某些節點壟斷記賬。所謂一致性,就是每個節點的數據賬本保持同步更新,這就要求每一條數據都需要經過多個節點甚至全網節點的驗證和確認。

圖5 區塊鏈的分布式

概括地說,在區塊鏈分布式系統中,一筆交易從發出請求到確認需要經歷以下步驟:

1)由節點發出交易請求,并且廣播至整個網絡;

2)其他節點接收交易請求,并且驗證,如果驗證通過,則放入待記錄交易列表(交易池);

3)各個節點爭搶記賬權(即搶奪新的區塊),成功獲得記賬權的節點將待記錄的交易請求記入新的區塊中,然后將區塊廣播至整個網絡;

4)網絡中其他節點接收區塊,并且驗證,如果驗證通過,則該節點確認區塊的合理性,將該區塊記錄自己的數據庫;

5)當有超過一定數量的節點都記錄了該區塊,表明整個區塊鏈系統認可了,此時最初的交易請求才算被確認。

在區塊鏈這種分布式系統中,一個事務的記賬權首先需要各個節點基于共識機制進行爭搶,這就需要消耗大量時間。其次,一筆事務還需要經過多個甚至全部節點的反復驗證和確認才能被寫入數據庫,這大大減慢了事務的處理速度。如果某個節點的響應速度很慢,整個系統的處理速度都會被拉低。而在傳統集中式系統中,事務永遠由中心服務器處理,也不需要多個節點的反復驗證和確認,所以區塊鏈的TPS 相較于傳統集中式系統的TPS 普遍要低,并且我們無法單純用強化中心服務器性能的方式來提升整個區塊鏈的TPS。同時,前文也提到淘寶雙十一TPS是有兩個數值的,一個是交易創建峰值,一個是支付峰值,在區塊鏈中,支付峰值才是確認的過程,會顯得更加重要和實際,嚴格的講,區塊鏈TPS的評估應該參考每秒確認交易數量CTPS(Confirmed Transactions Per Second)來描述一個系統的真實性能,不過鑒于公開資料并不嚴格區分TPS的細分定義,也不屬于本報告的重點,所以本報告也只采用TPS來整體描述,僅作對比參考之用。

由此可見,即使中心化的系統由于硬件等各種問題的制約,TPS的峰值不超過10萬級別,而正常日平均TPS也不超過1萬級別(參考Visa),作為一個底層分布式賬本的區塊鏈項目一味追求高TPS或者是宣傳極高TPS就值得大家仔細思考一下了。

考慮到日常應用的需求,區塊鏈主流公鏈項目BTC、ETH以當前最高1000TPS的目標也落地困難,于是便產生了可擴展性的討論。至于眾多號稱TPS破萬,甚至百萬的項目,在閱讀完本報告后,相信大家會有個更清晰的認識和理解。

第二章 區塊鏈技術可擴展方案分層模型

2.1 區塊鏈技術可擴展方案分層模型綜述

要系統的考慮區塊鏈技術可擴展方案,首先必須理解區塊鏈技術框架,如圖6所示:

7.webp

圖6 典型區塊鏈架構

當前主流的區塊鏈架構包含六個層級:網絡層、數據層、共識層、激勵層、合約層和應用層。圖中將數據層和網絡層的位置進行了對調,主要用途將在下一節中詳述。

網絡層:區塊鏈網絡本質是一個P2P(Peer-to-peer點對點)的網絡,網絡中的資源和服務分散在所有節點上,信息的傳輸和服務的實現都直接在節點之間進行,可以無需中間環節和服務器的介入。每一個節點既接收信息,也產生信息,節點之間通過維護一個共同的區塊鏈來同步信息,當一個節點創造出新的區塊后便以廣播的形式通知其他節點,其他節點收到信息后對該區塊進行驗證,并在該區塊的基礎上去創建新的區塊,從而達到全網共同維護一個底層賬本的作用。所以網絡層會涉及到P2P網絡,傳播機制,驗證機制等的設計,顯而易見,這些設計都能影響到區塊信息的確認速度,網絡層可以作為區塊鏈技術可擴展方案中的一個研究方向;

數據層:區塊鏈的底層數據是一個區塊 鏈表的數據結構,它包括數據區塊、鏈式結構、時間戳、哈希函數、Merkle樹、非對稱加密等設計。其中數據區塊、鏈式結構都可作為區塊鏈技術可擴展方案對數據層研究時的改進方向。

共識層:它是讓高度分散的節點對區塊數據的有效性達到快速共識的基礎,主要的共識機制有POW(Proof Of Work工作量證明機制),POS(Proof of Stake權益證明機制),DPOS(Delegated Proof of Stake委托權益證明機制)和PBFT(Practical Byzantine Fault Tolerance實用拜占庭容錯)等,它們一直是區塊鏈技術可擴展方案中的重頭戲。

激勵層:它是大家常說的挖礦機制,用來設計一定的經濟激勵模型,鼓勵節點來參與區塊鏈的安全驗證工作,包括發行機制,分配機制的設計等。這個層級的改進貌似與區塊鏈可擴展并無直接聯系。

合約層:主要是指各種腳本代碼、算法機制以及智能合約等。第一代區塊鏈嚴格講這一層是缺失的,所以它們只能進行交易,而無法用于其他的領域或是進行其他的邏輯處理,合約層的出現,使得在其他領域使用區塊鏈成為了現實,以太坊中這部分包括了EVM(以太坊虛擬機)和智能合約兩部分。這個層級的改進貌似給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似并無直接聯系。

應用層:它是區塊鏈的展示層,包括各種應用場景和案例。如以太坊使用的是truffle和web3-js.區塊鏈的應用層可以是移動端,web端,或是是融合進現有的服務器,把當前的業務服務器當成應用層。這個層級的改進貌似也給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似并無直接聯系。

由此可見,單從結構上分析,區塊鏈技術可擴展方案可以直接從網絡層(P2P網絡、傳播機制和驗證機制)、數據層(數據區塊和鏈式結構)以及共識層進行改進達到優化。

以太坊社區在區塊鏈可擴展性上曾提出過Layer分層改進的概念:Layer 1層改進和Layer 2層改進。Layer 1層改進是指通過對某條公鏈本身的改進來提升它的可擴展性,即On-Chain鏈上改進;Layer 2層改進是指不影響該公鏈本身,通過其他方式來實現可擴展性的提升,即Off-Chain鏈下改進(此處鏈下的含義僅僅指脫離該公鏈),如后文將會介紹的側鏈、跨鏈和狀態通道等。

在這個理解的基礎上,我們借鑒計算機網絡分層管理、各層標準化設計的思想,將區塊鏈與傳統互聯網OSI模型結合,建立區塊鏈技術可擴展方案分層模型三個一級層級:Layer 0層數據傳輸層,Layer 1層On-Chain公鏈自身(底層賬本)層和Layer 2層Off-Chain擴展性(應用擴展)層。在一級層級的基礎上,結合區塊鏈架構又可以進一步分解成七個二級層級來詳細研究,具體如圖7的劃分:

8.webp

圖7 區塊鏈分層研究構架圖

2.2 Layer 0層數據傳輸層

要理解Layer 0層,先得回顧一下開放系統互連參考模型OSI七層模型 (Open System Interconnect),它是國際標準組織(ISO)和國際電報電話咨詢委員會(CCITT)聯合制定的開放系統互連參考模型,為開放式互連信息系統提供了一種功能結構的框架。它從低到高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。在實際使用中,由于理論研究和現實落地的時差,廣泛使用的是TCP/IP協議,不過兩者在本質上是可以一一對應的。

9.webp

圖8 OSI模型、TCP/IP協議、區塊鏈分層模型對應關系

大部分的區塊鏈項目所使用的底層網絡協議就是TCP/IP協議,少部分支持UDP協議。從協議層角度看,區塊鏈是基于TCP/IP協議的,也就是在傳輸層之上,屬于最上面的應用層。從這個角度來看,區塊鏈本身只是整個互聯網協議層中的最上層,它本身還是要依賴于底層的協議為它工作。對應的接口就是區塊鏈的網絡層,這也是本報告將數據層和網絡層位置對換的主要原因,雖然在比特幣P2P網絡設計的時候已經考慮了節點之間的發現、節點連接的握手協議、節點間地址廣播和數據通信等,鑒于已經有部分項目開始探索P2P網絡與傳統OSI模型的結合,甚至將改進延伸到數據鏈路層,本報告傾向將P2P網絡和傳播機制并入到Layer 0層和傳統OSI模型一起作為一層進行可擴展方案研究。

這樣,Layer 0層數據傳輸層改進的主要思路就是通過加快全網節點之間的傳播速度來提升全網的確認共識,改進主要體現在上圖中標紅的傳輸層(TCP/IP)和網絡層(IP)上,且不論這樣的效果究竟有多大,從邏輯上這樣的一個思路是具有合理性的。具體改進可以有:P2P網絡拓撲結構改進,節點之間的快速發現,節點之間的快速廣播和通信等

2.3 Layer 1層On-Chain公鏈自身改進

Layer1層On-Chain公鏈自身改進的主要思路的出發點是將區塊鏈技術底層賬本和上層應用分離,底層賬本的重心放在安全性和去中心化上,在性能上有所取舍。只是將需要共識確權的數據上鏈,從而降低對TPS的需求,從目前技術發展來看,可能千位級別(1000~3000)TPS即可滿足。結合前文介紹的區塊鏈的架構可以看出,能夠提升的地方有共識層的機制改進和數據層的數據區塊大小調整、鏈式結構的優化以及網絡層的驗證機制改進等方法。

所以,Layer 1層改進的思路是做好一條底層賬本公鏈,將其他的事情交由Layer 2 層來互補處理。這里對于隱私加密技術的需求對Layer 1層會是一個不錯的附加屬性,但不屬于可擴展方案討論范疇,在沒有很好的處理方案前,在Layer 2層考慮也是個能接受的選擇。

10.webp

圖9 Layer 1層三元優先級

2.4 Layer 2層 Off-Chain擴展性改進

Layer2層Off-Chain擴展性改進是基于區塊鏈的底層賬本技術之上的應用型擴展,可以是基于區塊鏈技術的應用,也可以是中心化的應用結合,它的重心放在性能和安全上,對去中心化有所取舍。最終關鍵數據傳輸給Layer1層上鏈,本身利用高性能處理大量數據,達到現實世界對性能的需求。該類型的改進有跨鏈——基于區塊鏈技術的多鏈生態擴展;狀態通道——鏈下數據處理來提升性能;Plasma通過一系列的智能合約,來構建多種應用場景達到多鏈并行的結果;Truebit一種幫助以太坊在鏈下進行繁重或者復雜運算的技術等。

所以,Layer 2層作為Layer 1層的互補來解決與現實世界的需求,并將必要的數據上鏈到Layer 1層

11.webp

圖10 Layer 2層三元優先級

綜上,我們可以將區塊鏈技術可擴展方案分層模型以及當前比較典型的研究項目整理成下面一張思維導圖,并在下一節結合具體項目來闡述。

12.webp

圖11 區塊鏈技術可擴展方案分層模型下典型項目思維導圖

第三章 Layer 0層數據傳輸層可擴展方案

3.1 中繼網絡(Relay Network)

比特幣設計的P2P網絡是個節點隨機連接的網絡,交易和塊的信息傳輸都是通過這些節點,直到全網所有的節點都收到最新的交易和塊信息。原本上,這個設計在不考慮性能需求時是非常完美的,但是隨著比特幣的關注度和使用性的提高,2014年Bitcoin Core貢獻者Matt Corallo提出了Bitcoin Relay Network  的創意,旨在解決兩個問題:

1)優化比特幣P2P網絡數據和塊傳輸速度,提升比特幣整個網絡的安全性,降低攻擊風險;

2)減少整個比特幣網絡的延時。

當網絡存在延時時,礦工往往需要10-15秒的時間才能收到新挖出來的區塊信息,以10秒為例,10分鐘挖出一個塊,相當于丟失了1.6%潛在時間收益,在挖礦規模化時這也是不能接受的。尤其大的礦場還可以利用自己的優勢搭建私有網絡,利用挖礦和傳播的優勢完全碾壓小礦場。Bitcoin Relay Network的本質是建立網絡對話中樞(hub-and-spoke),它通過8個位于紐約,西雅圖,阿姆斯特丹,北京,東京,新加坡,香港和俄羅斯的新西伯利亞的服務器樞紐構成的節點網絡來組成區塊數據傳播鐵路,礦工們通過這個鐵路快速的傳播著自己的共識,然后能夠立刻開始挖新的區塊。但是,這個提議的最大問題是從某種意義上講,Corallo控制著這個網絡,尤其是對網絡的維護,不過這只是一個更快的選擇,傳統的P2P網絡傳播方式仍然是可以是使用的。目前該系統已被描述為比特幣的血管或神經系統——一個在整個身體傳遞信息的關鍵組成部分。

2016年,Corallo在Bitcoin Relay Network的基礎上又提出快速互聯網比特幣傳播引擎(Fast Internet Bitcoin Relay Engine,FIBRE)的改進,FIBER是一種基于UDP (User Datagram Protocol)的中繼網絡,可以解決TCP模式下小數據的丟包問題,提升了去中心化性,同時實現了壓縮數據,以進一步減少傳輸的數據量和網絡延遲,改善信息傳播的速度,礦工可以減少孤兒塊(orphan block)的數量,或者被網絡拒絕的交易區塊數量。

同樣,康奈爾大學的Soumya Basu, Ittay Eyal和Emin Gün Sirer研究了另一個中繼網絡 Falcon Relay Network。Falcon使用“直通路由(cut-through routing)”而不是“存儲轉發”來減少延遲,接收到塊時僅僅初步驗證塊的頭部信息就傳播出去,而不是等待直到接收到完整的塊。當然,這種處理方案有個顯著的問題就是如不誠信的礦工可以傳播無效的數據浪費競爭對手的資源,為了解決這個問題,康奈爾大學的這個團隊得自己扮演把關者的角色,但正常情況下,它提升的速度效率會更高。

3.2 OSI模型改進

FIBRE和Falcon是目前在比特幣中繼網絡(Relay Network)上落地并顯著改善的代表,在它們的基礎上,又有許多新的項目開始了自己的探索,這些探索將視角進一步深化到傳統互聯網的架構上,試圖從OSI模型去進行優化,如Blockchain Distribution Network (BDN),該思路靈感來自于Content Distribution Network (CDN),重點在于對于OSI第四層傳輸層的改進,也有試圖將整個OSI模型與區塊鏈結合改進的項目,思路都很開放,但唯有落地才能解決問題,這里僅挑選個別項目作簡要的介紹用于直觀了解Layer 0層的設計思路。

 

13.webp

3.3 Blockchain Distribution Network(BDN)

BDN是Bloxroute LABS首先提出來的概念,團隊中有兩位創始人就是Falcon的發起人。項目的主旨思想是通過自己提供的BDN網絡來提升節點之間通訊的速度,也是從提供專屬網絡的角度來改善節點同步情況,各節點通過BLOXROUTE提供的對等節點(Peer Node)接入BDN網絡,對等節點作為區塊鏈應用程序和BDN的中間網關,它會針對不同的區塊鏈節點制定專屬的接口協議,更具體的技術細節尤其是BDN網絡的設計思路批露較少,核心可以用白皮書中的系統架構圖表示:

14.webp

圖12 BLOXROUTE架構圖

3.4 其他

Marconi協議是一個試圖增強乃至取代現有網絡基礎設施的項目,體系上包括網絡協議、區塊鏈協議、去中心化網絡管理等,采用向下延伸覆蓋至以太網的設計,并且支持去中心化網絡堆棧,在OSI 模型第二層建立的安全通信管道提供數據包級加密。這是一個試圖在以太網級別上去構建去中心化的點對點的網絡協議,最終是否能夠落地挑戰也是非常大的,白皮書中展示了其OSI模型內的Marconi通道架構。

15.webp

圖13 OSI模型內的Marconi管道

Toda Network也是一個定位新一代區塊鏈版“TCP/IP”協議的項目,愿景未來任何區塊鏈項目都可以在TODA上運行,目前官網雖然沒有提供白皮書,但卻有十幾個區塊鏈項目使用了它的技術。

以上案例,僅僅用來表明在Layer 0上進行區塊鏈可擴展研究的一些思路和項目的探索。

第四章 Layer 1層On-Chain層可擴展方案

4.1 網絡層改進——分片(Sharding)

Layer 1層上網絡層是連接Layer 0層OSI網絡層的,由上節不難發現,Layer 0層的改進有些是貫穿Layer 1層網絡層的——整體改進;有些是通過增加一道協議來支持Layer 1層網絡層,重點改進Layer 0層。除此之外,針對Layer 1層的改進還可以從驗證機制入手,典型代表就是分片(Sharding)技術。

分片其實是一種傳統數據庫的技術,它以前用作將大型數據庫分成更小、更快、更容易管理的部分,以此增加數據庫的操作效率。而在區塊鏈中,分片技術的運用會更為繁瑣,不過主要思想都是通過縮小驗證規模和大量事務并行處理來達到性能提升的效果,主要難點在于各分片之間數據的一致性和分片內部的防作惡,由于驗證規模的大大縮小,所以BFT(Byzantine Fault Tolerance,拜占庭容錯)類共識會是分片內主要使用的共識機制。目前主流的分片技術分為網絡分片、交易分片和計算(狀態)分片等三個層級,其技術難度也隨之遞增,但是網絡分片還是最主要的。

網絡分片:通過利用隨機性,網絡可以隨機抽取節點形成分片,達到防止網絡攻擊如女巫攻擊等和惡意節點串謀作惡的情況,由于誠實節點驗證是整個分片網絡的安全之本,所以網絡分片是其他所有分片的基礎。

交易分片:交易分片的思想是將交易進行預處理,將相干的交易分配到同一個分片內進行驗證,而將不相干的交易分到其他分片中驗證,最終到達并行處理同時又防止了雙花的情況;當然解決思路也有從增加各片之間的通訊和確認來進行研究的。

計算(狀態)分片:計算(狀態)分片是迄今為止最具挑戰性的分片技術提案,它主要用來并行處理智能合約的計算問題,如一些片主要用于矩陣計算,一些片主要用于排序,一些片用于最終結果聚合,每個片獨立計算自己的工作,并進行交叉驗證來確保最終結果的一致性,其復雜性可以想象。

在分片研究方向,可以關注以太坊的Casper,Zilliqa項目,Radix項目和Rchain等。

4.2 數據層改

Layer 1層上對數據層的改進是最直接的改進方向之一,我們分別從數據區塊,鏈式結構來看看技術上的研究狀況。

4.3 增加數據區塊大小

通過增加數據區塊大小來達到擴容效果最有名的案例莫屬于BCH比特現金[1]了,它是比特幣于區塊高度478558的硬分叉產物,旨在通過將比特幣區塊的1M太小限制提升到8M(2018年5月15日提升到32M,8月份nChain提議再次提升到128M),是一種典型的鏈上擴容方法,通過區塊容量的增加來提升交易處理能力,從而能夠保證在交易量非常大的情況下也能快速交易并保持較低的手續費。但是,更大的區塊會造成更多孤塊產生的風險,影響系統的整體性能和安全性,同時對礦工的帶寬也可能提出新的要求,造成加劇中心化的風險等。

4.4 改進數據區塊結構——隔離見證(SegWit)

隔離見證(SegWit)就是把比特幣腳本簽名(ScriptSig)信息從基本結構(base block)里拿出來,放在一個新的數據結構當中。通過隔離見證,獨立出腳本簽名,其簽名的大小不會計算在交易區塊內,因此比特幣區塊在不改變大小的情況下可以容納更多的交易,進而達到擴容的效果。

4.5 改進鏈式結構——DAG

傳統區塊鏈技術是一種鏈式數據庫結構,每個區塊就像鐵鏈一樣,環環相扣,塊與塊之間是完全的串行,這樣的鏈式結構注定了效率的瓶頸,如下圖所示:

16.webp

圖14區塊鏈的鏈式結構

所以,很多研究也從并行的角度去思考可擴展方案,如典型的DAG有向無環圖技術就在一定程度上將鏈式結構改進成網狀結構,達到并行提升效率的作用,如下圖所示:

17.webp

圖15 DAG的網狀結構

當然DAG將最長鏈共識改成多條鏈互證共識,它沒有區塊概念,不是把所有數據打包成區塊,再用區塊鏈接區塊,而是每個用戶都可以提交一個數據單元,這個數據單元里只有交易,數據單元間通過引用關系鏈接起來,從而形成具有半序關系的DAG。

在DAG技術的基礎上,很多研究開始放眼于將DAG和傳統區塊鏈結合的思路上去進行并行處理,并試圖增加智能合約的功能,但是DAG最大的問題來自安全,它全網處于一個異步驗證的狀態,對當前狀態的確認是個相當有挑戰的問題,所以主流DAG項目都借鑒了中心化的方式來協助處理。一些關于DAG的情況可以參考火幣研究院【超越白皮書3】DAG技術解析與實測 以及IOTA,Byteball,Hashgraph,Conflux的研究。本篇綱要篇發布之后,我們也會針對每一塊進行更加具體的對比分析。

4.6 共識層改進

Layer 1層上對共識層的改進也是大家比較熟悉的一塊了,主要是針對共識機制的改進,從早期比特幣的POW(Proof of Work)算力挖礦工作證明的共識機制衍生出POS(Proof of Stake)擁有即挖礦的股權證明的共識機制,至今各種類型的共識機制層出不窮,主要可以分成兩大類:一類是中本聰共識,如PoW,PoS,dPoW,dPoS,PoA,PoWeight,PoR,PoET,PoC/PoSpace,PoI,Ouroboros等;一類是BFT類共識,如PBFT,SBFT/Chain,Ring,Zyzzyva,Zyzzva5,CheapBFT,MinBFT,OBFT等。

共識機制的改進本質是在保證安全的前提下,提升全網驗證出塊的效率和去中心化程度的取舍來提升性能,這塊火幣研究院詳細的研究報告已經在準備中。

第五章 Layer 2層Off-Chain層可擴展方案

5.1 跨鏈

分析完Layer 1層可擴展方案,不難發現,Layer 1層上能夠改進的方向已經很明確而且比較有限了。所以,更多的主力將區塊鏈的擴展方案放在了Layer 2層上,跨鏈就是Layer 2層上很有前景的一個方向。

在2016年9月份,以太坊創始人Vitalik Buterin 為銀行聯盟鏈R3[1]寫了關于跨鏈互操作的報告提到三種跨鏈方式基本上覆蓋了當前主流跨鏈技術:公證人機制,側鏈/中繼和哈希鎖定。隨著大家對三種技術認識的不斷深入,當前很多跨鏈項目已經采用的是混合模式,相互取長補短,也衍生出改進思路,如分布式密鑰控制技術。其中公證人技術引入了可信第三方,作為跨鏈過程中的資產保管人,側鏈/中繼技術利用SPV證明,中繼鏈等技術,實現了不同區塊鏈之間的可信互通,基于哈希鎖定利用了哈希原像腳本,實現了公平的跨鏈資產交換,分布式密鑰控制技術利用分布式密鑰生成算法,使得跨鏈過程中的資產保管人角色由全網節點承擔,而不是少數第三方。通過跨鏈技術,不同鏈之間可以實現四種場景:

1)A鏈和B鏈的資產交互;

2)A鏈資產支付和B鏈智能合約調用;

3)A鏈智能合約調用和B鏈資產支付;

4)A鏈智能合約和B鏈智能合約相互調用。

跨鏈技術可以關注Polkadot,Cosmos,RSK,BTC Relay的研究以及火幣研究院后續的詳細分析報告。

5.1.1 公證人機制

公證人機制(Notary schemes):中心化或多重簽名的見證人模式,見證人是鏈A的合法用戶,負責監聽鏈B的事件和狀態,進而操作鏈A。本質特點是完全不用關注所跨鏈的結構和共識特性等。假設A和B是不能進行互相信任的,那就引入A和B都能夠共同信任的第三方充當公證人作為中介。這樣的話,A和B就間接可以互相信任。具有代表性的方案是Interledger,它本身不是一個賬本,不尋求任何的共識。相反它提供了一個頂層加密托管系統稱之為“連接者”,在這個中介機構的幫助下,讓資金在各賬本間流動。

5.1.2 側鏈/中繼

側鏈/中繼(Sidechains/Relays):區塊鏈系統本身可以讀取鏈B的事件和狀態,即支

持SPV(Simple Payment Verificaiton),能夠驗證塊上Header、merkle tree的信息。本質特點是必須關注所跨鏈的結構和共識特性等。一般來說,主鏈不知道側鏈的存在,而側鏈必須要知道主鏈的存在;雙鏈也不知道中繼的存在,而中繼必須要知道兩條鏈。

5.1.3 哈希鎖定

哈希鎖定(Hash-locking):在鏈AB間設定相互操作的觸發器,通常是個待披露明文的隨機數的hash值。本質特點是HTLC(Hashed TimeLock Contract),是通過鎖定一段時間猜hash原值(preimage)來兌換支付(redeem)的機制。哈希鎖定起源于比特幣閃電網絡,閃電網絡本身是一種小額的快速支付的手段,后來它的關鍵技術哈希時間鎖合約被應用到跨鏈技術上來。雖然哈希鎖定實現了跨鏈資產的交換,但是沒有實現跨鏈資產的轉移,更不能實現這種跨鏈合約,所以它的應用場景是相對比較受限的。

5.1.4分布式密鑰

分布式密鑰控制技術本質上屬于公證人機制的升級版,采用分布式私鑰生成和控制技術來生成原鏈的鎖定賬戶,然后將相應資產映射到自己的鏈上。其利用密碼學中的分布式密鑰生成算法和門限簽名技術保證了跨鏈過程中資產鎖定和解鎖由系統參與共識的所有節點決定并且在此過程系統中的任何節點或者少數節點聯合都無法擁有資產的使用權。大致過程可分為兩個階段:鎖定資產階段和解鎖資產階段。

5.2 狀態通道

狀態通道本質上是通過在不同用戶之間或用戶和服務之間建立一個雙向通道,為不同實體之間提供狀態維護服務。它允許把區塊鏈上的許多操作在鏈外進行管理,等完成鏈外操作后多方簽名確認后,才將最終結果上鏈,所以說這是一個鏈上鏈下互通的擴展性研究方向。鏈下支付網絡通過將大量交易離線處理,同時將區塊鏈作為仲裁平臺,處理通道支付過程中的異常情況,如雙方對通道的狀態有分歧等,間接地提升系統的交易吞吐量。

雙向通道支付過程大致可分為三個階段:初始階段,用于雙方建立通道;支付階段,通道雙方完成支付,即通道狀態的更新;關閉通道階段,雙方關閉通道,贖回通道中自己的資金,在關閉通道過程中,一旦某一方作惡,即利用之前的通道狀態來謀利,將會觸發提交階段。在提交階段中,雙方提交證據交易給區塊鏈確定通道內的真實狀態。

狀態通道的研究方向上閃電網絡,雷電網絡,Liquidity Network和Celer Network都是可以對比研究的。

5.2.1 閃電網絡

閃電網絡是最早通過鏈下支付通道形成支付網絡,提升區塊鏈交易吞吐量的方案,主要針對目標是比特幣的擴容解決方案。它主要包含兩個協議RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract),基本上同類型的其他相關方案都是在兩個協議上進行修改。RSMC主要實現了雙人雙向的支付通道,使得通道雙方可以在交易不上鏈的情況下即時確認交易;而HTLC如前文所述,通過時間鎖(timelock)的機制來延遲通道一方取回通道資產的時間,同時引入懲罰交易的概念來保證通道雙方的資產狀態是基于最新的交易情況,一旦某一方試圖使用之前的通道狀態來謀利,另一方可以在這段延遲時間內(timelock)發現,并沒收其通道內資產作為懲罰。

5.2.2 雷電網絡

雷電網絡是以太坊鏈下擴容解決方案,以閃電網絡技術理念為基礎,由于以太坊實現了圖靈完備的腳本系統,可以實現更為靈活的智能合約,因此基于以太坊模型設計的雷電網絡可以更多的使用智能合約來實現。

5.3 其他

5.3.1 TrueBit

TrueBit的思路是把智能合約的運算外包給第三方,把復雜的計算任務放到鏈下執行,通過經濟激勵,促使第三方之間互相監督,從而保證計算結果的正確性,以太坊通過智能合約作為終極仲裁,獎善罰惡。造假者會獲得經濟懲罰,所以在絕大多數情況下,外包商會誠實的執行代碼并提供正確的結果,鏈上節點無需完整驗證,從而大大減輕了鏈上的計算負擔,也節省了用戶的gas消耗。

不難看出,狀態通道是將交易放到鏈下進行來增強擴展性,TrueBit是將復雜的計算鏈下進行來增強擴展性。

5.3.2Plasma

Plasma的擴展性方向是采用子鏈的模式,智能合約創建在以太坊主鏈之上,這些智能合約充當Plasma子鏈的“根”,根里包含了子鏈的基本狀態交易規則,記錄了子鏈狀態的哈希值,并且讓用戶在以太坊主鏈和子鏈之間轉移資產。子鏈負責處理各自數據和業務,擁有自己的共識算法,且獨立于以太坊主鏈,正常運作時,區塊制造者們會定期地向主鏈提交驗證,實質就是證明子鏈當前的狀態是有效的,符合共識機制的要求,子鏈與主鏈的驗證交互只是最終需要驗證的數據,其他過程均由子鏈自己處理,子鏈還可以生成鏈上鏈的結構,對每個層級Plasma要解決兩個最重要的事情,一是子鏈的反欺詐,另一個是資金的進入與退出。

18.webp

圖16 Plasma原理圖

值得注意的是,因為以太坊出來的時間太早了,所以諸如雷電網絡、TrueBit和Plasma對以太坊擴展思路只能是適應以太坊既有的設計,而針對其他新出來的區塊鏈項目,是可以借鑒這些思路在設計上就直接實現擴展的,我們將在下一章節進行描述。

第六章 總結

通過對Layer 0,Layer 1和Layer 2一層層可擴展方案的分析和典型項目原理描述,不難發現,區塊鏈技術可擴展方案分層模型基本可以按照圖7、圖8和圖11的架構來分部考慮。

如果我們跳出可擴展方案的框架去思考這個三個層級:Layer 0層解決的是區塊鏈與傳統網絡的結合問題;Layer 1層解決的是底層賬本問題,也可以理解成一直說的公鏈問題;Layer 2層解決的才是擴展性延伸和鏈上鏈下打通的問題,也可以理解成廣義的應用問題。從分層的角度去設計一個區塊鏈項目,可以有效的規避區塊鏈的三元悖論問題:Layer 1層主要負責安全,妥協性能,注重于記賬功能;Layer 2層主要負責性能,妥協去中心化,注重于計算功能,Layer 1層底層設計時就充分考慮好Layer 2層的交互問題,這種架構設計等于將前文介紹的以太坊和plasma進行重新設計,從底層設計就提供一致性和可交互性。

19.webp

圖17 Layer 1層和Layer 2層的互補

這里還需要強調一下隱私加密技術的需求對Layer 1層會是一個很不錯的功能,也是值得底層賬本好好研究的方向,在沒有很好的處理方案前,在Layer 2層考慮也是個能接受的選擇。

目前,明確提出上述Layer 1層和Layer 2層分層設計的項目有兩個:Cardano和Nervos。

Cardano的兩層為:

1)Settlement Layer清算層(Layer 1層):Cardano的代幣ADA在該層流動,是Cardano整個系統的基礎;

2)Computation Layer 計算層(Layer 2層):Cardano將在該層提供智能合約,身份認證,消息通信等等功能,以方便開發者在此開發程序。

Nervos的兩層為:

1)Common Knowledge Layer共識層(Layer 1層):CKB(Common Knowledge Base)只關心全球共識和安全,它是整個網絡的安全基石,為Layer 2層服務;

2)Generation Layer拓展層(Layer 2層): 訴求是快和安全,同時CKB也可以支持其他的Layer 2,比如狀態通道,類似Plasma風格的Layer ,Truebit等。

而完整從Layer 0,Layer 1和Layer 2三層統一布局的項目目前也有一個PlatOn,不過這些項目基本都在早期階段,僅作研究探討之用。

20.webp

圖18 Layer 三層架構構想

看到這里,大家應該理解號稱TPS破萬,十萬,甚至百萬的項目是如何實現的了,基本上都是Layer 1層和Layer 2層組合實現的方式,如母子鏈,多鏈并行的模式,或者是直接犧牲去中心化來實現,Vitalik也提到借助Sharding和Plasma能將以太坊實現百萬TPS,也有部分極客在中心化的模式下將以太坊實現150萬TPS的測試,所以我們應該更加理性的去認識以高TPS作為主打亮點的項目。正如前文所述,從當前技術發展來看,Layer 1層最樂觀的可能落地的最大TPS在千位級別(1000~3000),進一步擴展的空間就交由Layer 2層去創造了。

西方的項目喜歡聚焦到每一個點去解決問題,而東方的項目則喜歡大一統巨無霸。無論哪種風格,如果從設計之初就采用辨證統一的視角去全盤規劃,需要統一的共識和標準,區塊鏈技術的本質只是一個底層賬本,它是服務于現實場景的,而不是現實場景都往區塊鏈上蹭熱度,淪為資本游戲,期待能夠看到公認的第三代區塊鏈技術。

區塊 網絡 技術 Layer 項目
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


主站蜘蛛池模板: 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 自动配料系统_称重配料控制系统厂家 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 诗词大全-古诗名句 - 古诗词赏析| 头条搜索极速版下载安装免费新版,头条搜索极速版邀请码怎么填写? - 欧远全 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | NMRV减速机|铝合金减速机|蜗轮蜗杆减速机|NMRV减速机厂家-东莞市台机减速机有限公司 | uv机-uv灯-uvled光固化机-生产厂家-蓝盾机电 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 分轨 | 上传文件,即刻分离人声和伴奏 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗 | 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 2025黄道吉日查询、吉时查询、老黄历查询平台- 黄道吉日查询网 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 网站优化公司_SEO优化_北京关键词百度快速排名-智恒博网络 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 |