「區塊鏈學習」區塊鏈可擴展性技術解析:側鏈、分片、DAG

經常關注區塊鏈相關信息的同學,肯定會接觸到側鏈、分片這樣的名詞,相信大部分人都一頭霧水,不知所云。今天就來簡單科普一下這些名詞究竟是什麼意思。

區塊鏈的可擴展性

首先,我們要了解比特幣、以太坊等區塊鏈技術目前發展的一大瓶頸就是網絡擁堵。網絡擁堵是區塊鏈先天性的缺陷。因為去中心化和全網廣播的特點,區塊鏈上的每一個節點都會記錄全網產生的交易。這樣必然會帶來效率的降低。區塊鏈想要做到更深度的普及,關鍵就是要解決交易的吞吐量和交易的速度問題,這就是區塊鏈的“可擴展性”問題。

目前常見的三大解決方案——側鏈、分片、DAG。

區塊鏈可擴展性的核心是解決交易的吞吐量和交易速度兩方面的問題。其核心指標通常用TPS(transaction per second)來表達,即每秒事務處理量。例如比特幣的TPS是7,即每秒處理7筆交易;以太坊的TPS是30-40,即每秒處理30-40筆交易,可見其效率之低。

從技術實現的角度來看,區塊鏈可擴展性目前主要解決方案可分為三種:側鏈、分片、DAG.

一、側鏈(sidechains)

「區塊鏈學習」區塊鏈可擴展性技術解析:側鏈、分片、DAG

側鏈

側鏈多用於描述比特幣相關的擴容。它的定義是:可以讓比特幣安全地從比特幣主鏈轉移到其他區塊鏈,又可以安全返回到比特幣主鏈的一種協議。簡單來說,側鏈就像是一條條通路,將不同的區塊鏈互相連接在一起,以實現區塊鏈的擴展,從而解決比特幣主鏈擁堵的問題。

我們常聽說的閃電網絡就是一種側鏈。

閃電網絡(lighting network)指的是交易雙方可將比特幣放到比特幣主鏈下的一個多重簽名錢包裡進行交易。交易結束後將經過簽名且包括最新餘額動態的交易廣播並寫入比特幣主鏈。

在第三方交易中,如A和B、B和C各自建立了支付通道,當A和C想要交易時,就可以通過B來進行轉接,整個過程不需要主鏈確認,只是三方之間的數字轉移,因此交易速度回非常迅速。只有當交易完成之後,才會將最終確認的餘額寫進主鏈區塊。

二、分片

分片(sharing)其實是一種傳統的數據庫技術,它將數據庫分割成多個碎片並將這些碎片放置在不同的服務器上。在區塊鏈網絡上的交易將被分成不同的碎片,由不同節點共同處理。因此,每個節點只需負責處理傳入自身的那一部分交易,通過與網絡上的其他節點並行處理就能完成大量的驗證工作。將網絡分割為碎片會使得更多的交易同時被處理和驗證。節點越多,分割越細,其處理效率也越高。因此,隨著網絡節點的增多,區塊鏈處理交易的能力也越強。這種屬性也稱為水平擴容。

舉個形象的例子,現在的區塊鏈就像一條繁忙的高速公路,高速公路的收費口只有一個。這樣就使得人們必須排著長隊等待通過這唯一的收費站。實現一個基於分片技術的區塊鏈就像在高速公路上增加10或20個收費口。它將極大地提高汽車通過收費站的速度。因此,分片技術將顯著提高區塊鏈的交易速度。

三、DAG

「區塊鏈學習」區塊鏈可擴展性技術解析:側鏈、分片、DAG

有向無環圖

DAG是有向無環圖(Directed Acyclic Graph)的縮寫。DAG意思是有向無環圖,所謂有向無環圖是指從一個頂點沿著若干邊前進(右向),但永遠不能回到原點(無環)的圖。

DAG嚴格意義上講已經不屬於區塊鏈了,它屬於另一種分佈式賬本體系。它沒有區塊概念,不是把所有數據打包成區塊,再用鏈接區塊,而是每個用戶都可以提交一個數據單元,這個數據單元裡可以有很多東西,比如交易、消息等等。數據單元間通過引用關係鏈接起來,從而形成具有半序關係的DAG(有向無環圖)。每個用戶既是交易者,又是礦工和驗證者。交易直接參與驗證,任何一筆交易都會和相鄰的幾筆交易通過智能合約綁定,交易被另外的交易驗證,驗證越多,交易的真實性越高。當達到一定臨界值時,交易被確認。

DAG的優勢是高併發,參與的節點越多,交易確認越快,從而可以支持極大的併發量和極高的速度。


分享到:


相關文章: