DAG(Direct Acyclic Graph)中文名叫有向無環圖,按照數學上的定義,DAG是一個沒有有向迴圈的、有限的有向圖。
從圖中任意一個節點出發,根據方向無法回到原節點的圖就叫做有向無環圖。
以下區塊鏈和DAG的對比摘自網路:
1. 單元:區塊鏈組成單元是Block(區塊),DAG組成單元是TX(交易);
2. 拓撲:區塊鏈是由Block區塊組成的單鏈,只能按出塊時間同步依次寫入,好像單核單執行緒CPU; DAG是由交易單元組成的網路,可以非同步併發寫入交易,好像多核多執行緒CPU;
3. 粒度:區塊鏈每個區塊單元記錄多個使用者的多筆交易,DAG每個單元記錄單個使用者交易。
立夏
手機作答,簡單介紹下,DAG(Directed acyclic graph),中文名叫有向無環圖,是由頂點和有向邊構成的一種圖狀結構,在該圖中,選定一個頂點v開始,沿著有序的邊尋路,最終是無法回到頂點v的,即不會形成環狀,這是DAG具備的數學特性,感興趣可以看下《圖論》中更詳盡的介紹。由於DAG具有序列化的特性,可被用於表示事件之間的依賴關係和管理任務之間的排程,是計算機領域中常用的資料結構,常被用於拓撲排序和求解關鍵路徑,這是DAG得以在分散式賬本領域得到應用的理論基礎。
傳統的分散式賬本專案比如比特幣、以太坊底層都是採用鏈式儲存結構,這個過程中存在對交易打包為區塊的過程,這個過程有一些先天性的侷限,記賬者需要把目前所有交易集中在一起,進行處理,然後寫入區塊,這造成區塊鏈吞吐量瓶頸。同時,區塊鏈的吞吐量也受制於區塊的大小,如果區塊太小,交易量大的話,很多交易無法打包進區塊。如果區塊太大,整個區塊鏈系統,資料量將迅速膨脹,普通使用者將無法執行全節點,將會造成中心化的問題,目前比特幣擴容之爭的其根本矛盾點就在於此。
後面逐漸出現了一些基於DAG拓撲結構的區塊鏈專案比如dagcoin、iota、byteball、riablocks、trustnode、dag-bpa等,這些專案嘗試應用DAG的特性來改良傳統鏈式結構分散式賬本技術的不足,引入了一種blockless的理念,直接由交易來相互確認並維護關係,省去了打包環節,帶來了一種新的分散式賬本實現思路。DAG在分散式賬本領域的應用時間較短,還沒有得到充分的驗證,感興趣可以看下iota的tangle機制、byteball中引入的見證人機制、riablock中的slice特性等,可以加深下對DAG應用的理解。無論最終是成是敗,DAG在區塊鏈領域的創新著實讓人眼前一亮,值得大家關注。
bater
DAG(Direct Acyclic Graph)中文名叫有向無環圖,按照數學上的定義,DAG是一個沒有有向迴圈的、有限的有向圖。
從圖中任意一個節點出發,根據方向無法回到原節點的圖就叫做有向無環圖。
以下區塊鏈和DAG的對比摘自網路:
1. 單元:區塊鏈組成單元是Block(區塊),DAG組成單元是TX(交易);
2. 拓撲:區塊鏈是由Block區塊組成的單鏈,只能按出塊時間同步依次寫入,好像單核單執行緒CPU; DAG是由交易單元組成的網路,可以非同步併發寫入交易,好像多核多執行緒CPU;
3. 粒度:區塊鏈每個區塊單元記錄多個使用者的多筆交易,DAG每個單元記錄單個使用者交易。
立夏
手機作答,簡單介紹下,DAG(Directed acyclic graph),中文名叫有向無環圖,是由頂點和有向邊構成的一種圖狀結構,在該圖中,選定一個頂點v開始,沿著有序的邊尋路,最終是無法回到頂點v的,即不會形成環狀,這是DAG具備的數學特性,感興趣可以看下《圖論》中更詳盡的介紹。由於DAG具有序列化的特性,可被用於表示事件之間的依賴關係和管理任務之間的排程,是計算機領域中常用的資料結構,常被用於拓撲排序和求解關鍵路徑,這是DAG得以在分散式賬本領域得到應用的理論基礎。
傳統的分散式賬本專案比如比特幣、以太坊底層都是採用鏈式儲存結構,這個過程中存在對交易打包為區塊的過程,這個過程有一些先天性的侷限,記賬者需要把目前所有交易集中在一起,進行處理,然後寫入區塊,這造成區塊鏈吞吐量瓶頸。同時,區塊鏈的吞吐量也受制於區塊的大小,如果區塊太小,交易量大的話,很多交易無法打包進區塊。如果區塊太大,整個區塊鏈系統,資料量將迅速膨脹,普通使用者將無法執行全節點,將會造成中心化的問題,目前比特幣擴容之爭的其根本矛盾點就在於此。
後面逐漸出現了一些基於DAG拓撲結構的區塊鏈專案比如dagcoin、iota、byteball、riablocks、trustnode、dag-bpa等,這些專案嘗試應用DAG的特性來改良傳統鏈式結構分散式賬本技術的不足,引入了一種blockless的理念,直接由交易來相互確認並維護關係,省去了打包環節,帶來了一種新的分散式賬本實現思路。DAG在分散式賬本領域的應用時間較短,還沒有得到充分的驗證,感興趣可以看下iota的tangle機制、byteball中引入的見證人機制、riablock中的slice特性等,可以加深下對DAG應用的理解。無論最終是成是敗,DAG在區塊鏈領域的創新著實讓人眼前一亮,值得大家關注。
bater