1. 程式人生 > >DAG(有向無環圖)技術

DAG(有向無環圖)技術

在區塊鏈領域從來不缺少專業的技術詞彙,比如非對稱加密技術、分片技術、DAG技術……可以這麼說,不懂點技術,連白皮書都看不懂。今天,將為大家介紹一種新的區塊鏈技術——DAG技術

一、產生的原因

我們都知道底層公鏈是區塊鏈技術落地的基礎,只有公鏈技術成熟,區塊鏈應用才能走進千家萬戶。但長久以來,公鏈一直存在處理速度慢、費用高、存在安全隱患等問題,如果沒有安全、可靠和高效的公鏈,整個區塊鏈產業的發展都將受到嚴重製約。

在這種背景下,DAG技術應運而生,被用於解決公鏈上的各種問題。

二、什麼是DAG技術?

DAG即有向無環圖,是不同於主流區塊鏈的一種分散式賬本技術,把同步記賬提升為非同步記賬,被不少人認為可以解決傳統區塊鏈的高併發問題,是區塊鏈從容量到速度的一次革新。

以DAG為網路基礎,解決了區塊鏈的侷限性。這允許區塊鏈以微小的成本進行無限的擴充套件。支付過程很快就能完成。不過,目前還只有一小部分加密貨幣在使用下一代DAG體系結構。

三、DAG技術的特點

DAG相比於目前的公鏈技術,其實是圖和鏈的區別,對於鏈而言,無法只處理一個區域性,因為鏈的入度和出度只有一個,不能把鏈上的節點拆成好幾個節點去處理,但是對於圖卻可以,因為圖可以有多個出度,那麼可以同時處理多個出度連線的節點。所以,它的特點是:

1、交易速度塊,DAG實現的區域性處理和並行結算可以使得交易速度大幅度提升。

2、拓展性強,因為各個節點無需等待同步其他的節點的資料就可計算使得記賬節點很容易答覆延展,因此DAG很適用於物聯網類專案,例如機器微支付

3、作惡難度更大,相比於鏈式結構,在DAG中惡意修改的難度會大很多,因為DAG擁有著很多的出度和入度,假如要修改某一個節點,那麼對應的出入度都要進行修改。

對於鏈式網路而言,不是節點的處理能力不強,只是鏈式結構不能平行計算,浪費的時間其實主要為等待時間:一個是發起交易,需要將交易同步所有節點,另一個是當有一個節點確認,需要向全網同步。

對於DAG而言則不存在這樣的問題,錢包發起交易時不需要等待自己之前有多少交易,只需要經歷區域性校驗、全網廣播、其他區域性校驗,相當於是把交易確認分散化,每一個節點都在做類似於拼圖的工作,把自己的和別人確認的交易拼接起來。

四、DAG技術的現狀

運用DAG技術的代表專案,最知名的無疑是DAG三架馬車—— IOTA、Byteball、Nano,作為最新的分散式賬本主力競爭技術,DAG開始引發大量關注始於IOTA在2017年下半年市值衝入幣值排行榜第四名,之後基於DAG的新專案不斷進入人們的視野。

DAG在快速的發展與革新,除了三駕馬車之外,新出現的DAG專案在共識演算法、去中心化機制、速度與併發上,都取得了更新的進展,近期引發大家重點關注的專案包括HashGraph、Algorand、Nerthus、Mixin等等,具體介紹請感興趣的同學自行Google或者百度。

另外,每個使用DAG的專案都有一定的區別,比如IOTA使用的結構叫“tangle”,Byteball使用的則是“witness”……隨著越來越多的人和專案參與到DAG的生態發展中來,DAG應用的可能性也越來越大。

五、總結

DAG是面向未來的新一代區塊鏈技術,隨著它的普及,開發人員逐漸變多。DAG專案的優勢逐漸凸顯,其效能優越和擴充套件性強對現有的區塊鏈專案是一個巨大沖擊,從技術角度來看,DAG帶給我們的是一場新的區塊鏈實驗。

凡事有利必有弊,DAG的速度快,吞吐量高,但作為一個很年輕的資料結構,安全性和一致性還有待更多驗證和認可,應用場景也還不像傳統區塊鏈那麼廣泛;但DAG技術的優勢和創新速度已經嶄露頭角,越來越多後繼基於DAG的創新專案和DAPP正源源不斷的迅速湧現。