科普園地24 | 區塊鏈的衍生技術:DAG有向無環圖

我們說區塊鏈目前還不成熟,有各種各樣的問題,比如說處理速度慢、手續費高昂、存在安全隱患等等,這些都是用戶最直觀的體驗,體驗不是太好。區塊鏈還有一個問題,那就是高併發問題。

高併發問題是怎麼回事呢,我們簡單說一下。高併發是計算機領域的問題,簡單來講,高併發問題就是系統無法順利同時運行多個任務。很多任務同時運行,一大堆用戶湧進來,系統承受不住這麼多的任務,會出現高併發問題,你的系統就卡住了,就好比春運時候,12306系統總是卡住,有可能就是高併發問題造成的。

傳統互聯網尚且存在高併發問題,區塊鏈網絡自然也存在這個問題,畢竟區塊鏈的成熟程度比起傳統互聯網,還有很大的差距。但是,如果沒有安全、可靠和高效的公鏈,整個區塊鏈產業的發展都將受到嚴重製約,應用落地也是空談。在這種背景下,DAG技術就被提出來了,DAG的全稱是“Directed Acyclic Graph”,中文翻譯為“有向無環圖”。

DAG有向無環圖是怎麼回事呢,它到底能起到什麼作用呢?我們下面解釋一下。

一、DAG:一個新型的數據結構

DAG,中文名字叫“有向無環圖”,從字面意思看,“有向"就是說它是有方向的,“無環”就是說它是沒有環路的、不能形成閉環的。所以,DAG其實是一種新型的數據結構,這個數據結構是有方向的,同時又是不能形成閉環的。

傳統的區塊鏈結構(圖一):

DAG有向無環圖結構(圖二):

科普園地24 | 區塊鏈的衍生技術:DAG有向無環圖

傳統區塊來講,我們總是以“區塊”為單位,一個區塊裡往往包含了多筆交易信息。而在DAG中,沒有區塊的概念,而是以“單元”為單位,每個單元記錄的是單個用戶的交易,組成的單元不是區塊,而是一筆筆的交易,這樣一來,可以省去打包出塊的時間。

簡單來說,區塊鏈和DAG有向無環圖最大的區別就是:區塊鏈是一個接一個的區塊來存儲和驗證交易的分佈式賬本,而DAG則是把每筆交易都看成一個區塊,每一筆交易都可以鏈接到多個先前的交易來進行驗證。

二、DAG的工作原理

傳統區塊鏈上,就拿比特幣來講,它是單鏈式的結構,區塊與區塊之間按照時間戳的先後順序排列開來(如圖一),數據記錄在一條主鏈上。用不太恰當的比喻來講,這個“單鏈式”結構是一條一字排列的鏈。區塊鏈只有一條單鏈,打包出塊就無法併發執行。新的區塊會加入到原先的最長鏈之上,所有節點都以最長鏈為準,繼續按照時間戳的順序無限蔓延下去。

而對於DAG來講,每個新加入的單元,不僅只加入到最長鏈的一個單元,還要加入到之前所有的單元(如圖二)。舉個例子:假設我發佈了一個新的交易,此時DAG結構已經有2個有效的交易單元,那麼我的交易單元會主動同時鏈接到前面的2個之中,去驗證並確認,直到鏈接到創世單元,而且,上一個單元的哈希會包含到自己的單元裡面。

換句話說,你要想進行一筆交易,就必須要驗證前面的交易,具體驗證幾個交易,根據不同的規則來進行。這種驗證手段,使得DAG可以異步併發的寫入很多交易,並最終構成一種拓撲的樹狀結構,極大地提高擴展性。

依據DAG有向無環圖,每一筆交易都直接參與了維護全網。當交易發起後,直接廣播全網,跳過礦工打包區塊階段,這樣就省去了打包交易出塊的時間,提升了區塊鏈處理交易的效率。

隨著時間遞增,所有交易的區塊鏈相互連接,形成圖狀結構,如果要更改數據,那就不僅僅是幾個區塊的問題了,而是整個區塊圖的數據更改。DAG這個模式相比來說,要進行的複雜度更高,更難以被更改。

總結一下,DAG作為一種新型的去中心化數據結構,它屬於廣義區塊鏈的一種,具備去中心化的屬性,但是二者的不同之處在於:

區塊鏈組成單元是Block(區塊),DAG組成單元是TX(交易)。

區塊鏈是單線程,DAG是多線程。

區塊鏈所有交易記錄記在同一個區塊中,DAG每筆交易單獨記錄在每筆交易中。

區塊鏈需要礦工,DAG不需要礦工。

三、DAG的代表:IOTA

DAG當前的代表項目,最知名的無疑就是 IOTA。可以說,正是因為IOTA這個幣種在2017年下半年衝進市值排行第四位,才使人們真正認識到了它的底層技術:DAG有向無環圖。

IOTA在DAG有向無環圖的基礎上提出了“纏結”概念,在IOTA裡面,沒有區塊的概念,共識的最小單位是交易。每一個交易都會引用過去的兩條交易記錄哈希,這樣前一交易會證明過去兩條交易的合法性,間接證明之前所有交易的合法性。這樣一來, 就不再需要傳統區塊鏈中的礦工這樣少量節點來驗證交易、打包區塊,從而提升效率,節省交易費用。

四、DAG的現狀

儘管理論上來講,DAG有向無環圖能夠彌補傳統區塊鏈的一些弊端,但是目前並不成熟,應用到數字貨幣領域的時間也比較短,還比較年輕 。它沒有像比特幣那般經過長達10年的時間來驗證整個系統的安全性,也沒有像以太坊那般實現了廣泛的應用場景。不過,現在有些聲音提出要採用“傳統區塊鏈+DAG”的數據結構,但是還沒有非常突出的案例,這裡就不多說了。

總結一下,今天我們介紹了區塊鏈的衍生技術:DAG有向無環圖,這是一種全新的數據結構,可以對區塊鏈處理交易的效率、併發力達到顯著的提升,目前DAG技術的代表幣種是:IOTA,IOTA在此基礎上提出了“纏結”概念,它是一種可擴展的、輕量級的,還能在無需任何費用的前提下進行價值轉移的技術。

相關推薦

推薦中...