行業研究 | 鯨準研究院:分片技術分析

技術 鯨準研究院 2018-07-25

本文主要就分片技術的分類和實現方法進行討論。

行業研究 | 鯨準研究院:分片技術分析

分片是區塊鏈擴容的熱門方向之一。不僅以太坊基金會把分片作為官方欽定的擴容方向,有分片概念的一眾公鏈在近期也受到投資界熱捧。本文就分片技術的分類和實現方法進行討論。


作者

鯨準研究院:陳泓伊 王帆

節點研究中心:馬旭穎 蔡晨曦 郎瀚威

哈希研究院:Alfred LJ

支持媒體(排名不分先後)

金色財經、BlockMasterMail、星球日報、陀螺財經、巴比特、嘻哈財經、金牛財經、耳朵財經、火星財經、榮格財經、零壹財經、幣圈邦德、區塊財經、鏈條ChainHeadline

01 .分片是什麼

1.1分片解決區塊鏈的擴容問題

行業研究 | 鯨準研究院:分片技術分析

目前區塊鏈的擴容方案主要分為三個不同的Layer。分片和DAG (有向無環圖)同屬對區塊鏈本身架構進行改變的Layer 1。分片目前被關注的熱度很高,主打分片技術的公鏈被投資機構熱捧, 分片也和Layer 2的側鏈、子鏈、狀態通道等方向一起被列入以太坊官方的擴容方案。

1.2分片的原理

分片其實是一種傳統數據庫技術,它將大型數據庫分成更小、更快、更容易管理的部分,這些部分叫做數據碎片。在公鏈中,它是通過使用多個網絡設備來獲得平行處理轉賬的功能,從而分散那些轉賬驗證的工作量。這樣會自動地把網絡分成很多更小的部分,或者說進行“分片”處理,從而每一個小網絡只需要運行一個更小範圍的共識協議。網絡上的交易將被分成不同的碎片,其由網絡上的不同節點組成。因此,每個節點只需處理一小部分傳入的交易,並且通過與網絡上的其他節點並行處理就能完成大量的驗證工作。將網絡分割為碎片會使得更多的交易同時被處理和驗證。所以,分片技術使用的是平行處理的方式,有越多的節點加入,網絡中批准的速度也會加快。簡單來說,分片的就是將一個大任務拆分為多個可以並行處理的小任務,從而提升性能。

行業研究 | 鯨準研究院:分片技術分析

圖中,我們把以太坊的網絡分為兩部分,左邊一部分L1為現有的以太坊主鏈,右邊一部分L2為各個分片,他們各自是一個獨立的賬戶空間。每個分片有專門的節點來維護,就相當於一個個獨立的區塊鏈,每個分片將自己的記錄彙總發給主鏈。主鏈收集各個分片的摘要,然後生成主鏈區塊(N+1)。但是主鏈收集的是摘要而不是具體的交易細節。

分片方案帶來的主要好處是,網絡節點進行的冗餘計算量大大減少,每個節點只需對自己分片內的交易進行驗證,不需要驗證分片外的交易。如此可節約大量的時間與網絡資源,進而完成更多的交易的處理。

行業研究 | 鯨準研究院:分片技術分析

. 02 .區塊鏈與分片技術 

2.1分片技術的層級

目前主流的分片技術分為網絡分片、交易分片和狀態分片等三個層級,其技術難度也隨之依次遞增。主要的核心在於分片內節點需要達到一致,並且防止被惡意攻擊者控制,而分片之間需要信息傳遞機制,保證交易及智能合約的狀態在不同分片間達到一致。

1.網絡分片

利用隨機性,網絡可以用VRF方法隨機抽取節點形成分片,用以防止惡意節點佔據某個分片。分片內節點之間的共識可以通過pBFT等共識機制來實現。

2.交易分片

1)賬本分片:在一個基於UTXO的系統內,系統可以根據發送者的地址分配一個分片。這確保了兩筆雙花交易將在相同的分片中得到驗證,因此係統可以很容易地檢測到雙花交易,而不需要進行任何跨片的通信。

2)跨賬本分片:在一個非UTXO的系統裡,為了防止雙花問題,在驗證過程中,分片間將不得不進行相互通信。事實上,由於雙花交易可能會在任何分片中出現,因此特定分片所接收到的交易將不得不與其它的所有分片進行通信。這種相互之間的高昂通信成本可能會破壞交易分片的最初目的。

3.狀態分片

這一技術的關鍵是將整個存儲區分開,讓不同的碎片存儲不同的部分;每個節點只負責託管自己的分片數據,而不是存儲完整的區塊鏈狀態。狀態分片一經提出,就伴隨著挑戰。

在一個狀態分片的區塊鏈中,一個特定的分片只會保留一部分狀態。假設其中一個賬戶創建了一筆交易,它將支付另一個賬戶一筆錢。這筆交易將由第一個分片進行處理,一旦該筆交易被驗證,關於第一個賬戶的新餘額的信息就必須與它所在的分片進行共享。如果兩個帳戶由不同的分片進行處理,那麼這可能需要進行頻繁的跨片通信和狀態交換。確保跨片通信不會超過狀態分片的性能收益仍然是一個值得公開的研究問題。

狀態分片的第二個挑戰是數據的可用性。比如由於某種原因,一些特定的分片遭到了攻擊而導致其脫機。由於分片並沒有複製系統的全部狀態,所以網絡不能再驗證那些依賴於脫機分片的交易。因此,在這樣的情況下區塊鏈基本上是無法使用的。解決此問題的方法是維護存檔或進行節點備份,這樣就能幫助系統進行故障修復以及恢復那些不可用的數據。但是,這樣就使得節點將不得不存儲系統的整個狀態,因此這還可能會引發一些中心化的風險。

任何分片機制需要確保分片在抵禦攻擊和失敗時是具有彈性的;網絡必須接受新的節點並以隨機的方式將這些分配給不同的分片。然而,在狀態分片的情況下,重新分配節點是非常棘手的。在一次重新調整網絡的過程中,在同步完成前可能會出現導致使整個系統失效的問題。為了防止系統的中斷,我們必須對網絡進行逐步調整,以確保每個分片在所有節點被清空前仍有足夠多的舊節點。類似地,一旦一個新節點加入了一個分片中,系統就必須確保該節點有足夠的時間與分片狀態進行同步。

2.2 分片技術的進展

行業研究 | 鯨準研究院:分片技術分析

. 03 .分片項目分析

3.1分片項目一覽

行業研究 | 鯨準研究院:分片技術分析

3.2重點項目對比分析

行業研究 | 鯨準研究院:分片技術分析

. 04 .分片項目的投資邏輯

4.1 技術上實現的可能性

分片的技術難度非常之大,尤其是狀態分片尚未在計算機科學理論中得到很好的解決,因此只有世界頂尖的技術團隊才有希望進行突破。

4.2 與其它擴容技術的結合

分片可以與DAG、狀態通道等互補,各自發揮優勢,實現系統整體擴容。

4.3服務質量是否能達到商業級別

擴容性是否提高最終都需要經過市場的檢驗。目前大部分分片項目和應用離商業可用性還有很大距離,怎樣解決分片項目之間不同區塊之間的相互聯繫,如何制定合理的智能合約。如果能在這些方面設計出比較好的解決方案,即能成為這個行業裡具有強競爭力的項目。

4.4 項目的創新性和嚴謹性

嚴謹性指的就是要有已發表的學術論文驗證,在理論上能通過。如果沒有嚴謹的論文來證明,系統最起碼要有一千個節點以上的測試網絡,代碼也是公開的,這樣才會比較有說服力。

. 05 .分片技術的未來展望

5.1技術優勢

分片與以比特幣、以太坊為代表的傳統共識機制有本質的區別。對於分片技術來說,在實現了多方共識的同時解決了節點增加導致網絡擁堵的問題。比如最近zillqa的一個測試實驗顯示,僅有3600個節點,6個分片的狀態下,就達到了兩千筆一秒的交易性能,如果把以太坊的現有礦工移植到Zilliqa來,那麼Zilliqa的性能可以達到以太坊的1000倍以上。看似只是從串聯到並聯的簡單跳躍,卻給了區塊鏈技術發展提供了更大的優化空間。

5.2發展阻礙

由於分片技術的優勢,越來越多的從業者開始關注和支持分片技術。這一方面推動了分片技術的優化同時也帶來了一定的問題。

一方面,分片技術著眼於解決性能問題,而部分參與者卻過於執著TPS的競爭,卻忽視了其安全性的保證。

另一方面由於分片技術的大火,致使很多人盲目的參與到分片技術的創業之中,但是很多人沒有搞清楚分片的治與分的平衡關係,很簡單的認為分片的邏輯就是分,這種不嚴謹不僅會阻礙技術的發展,同時也會傷害到市場對技術的信心,甚至會產生更加嚴重的後果。

分片技術還處於初級階段,而市場的浮躁也為技術的發展和落地帶來了一定阻礙,技術完善與市場教育依然任重而道遠。

. 06 .附件

參考閱讀:

20160527 Rootstock發佈測試網絡 比特幣迎來了智能合約

20170528 阿希(ASCH)系統,升級版的以太坊

20170708 Vitalik給R3提供的跨鏈技術報告

20180109 深度解析:區塊鏈跨鏈技術

20180304 2018最頂級項目“RSK” 即將上線,熱度最高,回報率驚人!

20180308 一站式開發區塊鏈DAPP | Lisk

Vitalik Buterin 《Sharding doc》

Vitalik Buterin  《Chain Interoperaability》

 編輯: 陳文洋 

【轉載須知】

1、本報告為Jingdata旗下專業的數據研究分析機構【鯨準研究院】原創作品,受《著作權法》保護,依法享有彙編權及註釋權;

2、轉載請留言後臺,取得授權後方可轉載;

3、禁止商用轉載,禁止二次編輯轉載。