特別說明:本系列知識課程是我在 2019 年初撰寫用於內部分享,觀點若存在疏漏有誤歡迎指正;本系列知識分享目的是通過白話形式讓更多人了解區塊鏈底層知識。

隨著區塊鏈被人們逐漸知曉,使用區塊鏈的用戶也在大規模的增加,比如像知名的公有鏈平臺以太坊和比特幣,當然就存在著運行效率不足的問題,因為處於其獨特的共識機製,每一個區塊的產生都會消耗一定的時間,而且每個區塊也有相應的容量限製,這對於要能夠滿足商用的區塊鏈來說,運行效率則遠遠不足,因此這也倒逼著區塊鏈領域的技術推進工作。

而今天,我們介紹的 DAG 就是一種獨特的解決方案,DAG(Directed Acyclic Graph)翻譯為:有向無環圖。網絡上關於 DAG 技術的講解,基本上都是一些比較偏向於學術性的資料,因此對於同學們理解起來可能比較困難,因此在接下來的我仍然采用對比法的方式幫助同學們理解。

好,我們知道區塊鏈是一個個區塊連接而成的鏈狀結構,你可以理解成為它更像一個鐵鏈一樣,一環接一環。為了保證整個區塊鏈的共識性,它只有一條鏈也就是主鏈,其他的分叉鏈由於沒有達成共識,都會被丟棄。和區塊鏈結構不同的是,DAG(有向無環圖)根據字面理解,它是一個有方向,但卻沒有形成閉環的網絡圖狀結構,也就是在 DAG 裏沒有區塊鏈裏「區塊」的概念,而是一種叫「單元」的機製,當你通過 DAG 網絡去發起一筆交易的時候,這筆最新交易的單元會把前面兩個單元的哈希值放到你這筆交易的單元內,完成對上面兩筆單元交易的驗證並廣播全網,以此類推,每一筆新的單元都需要把之前的父單元,以及父單元的父單元寫入到最新的交易單元中,以此確認交易的確認,同時你所發起的交易也需要後面兩筆交易來確認,這樣就可以保證整個基於 DAG 的網絡不被修改,因此你就會發現基於 DAG 的技術具有很強的不可篡改性,因為你想一下,一旦你想要修改其中一個單元,那麽基本整個 DAG 體系的結構都要修改,可想而知幾乎是不可能的。

雖然 DAG 沒有區塊鏈的主鏈機製,不過它卻有「重鏈機製」,也就是那條鏈最長,新發起的交易則優先加入並且鏈接那個單元,因為我們知道,基於 DAG 的每一個單元都可以自己分散自己的走向,但是由於 DAG 的驗證機製,它會驗證最新兩筆的交易單元,那麽也可以保證其走向基本一致的,也就是最新的一個單元會對上面的單元進行合流。

此外,因為區塊鏈采用的是同步記賬,也就是我發起一筆交易,大家共同記賬,而且出塊的順序也是一個接著一個的,而 DAG 采用則是異步記賬,因為每一筆新發起的交易都會根據它當前的前兩筆交易驗證,因此它就像謠言的傳播速度一般,發散式病毒式的傳播,它是一個可異步並行的計算機製,如果該 DAG 網絡有足夠多的人去使用,那麽可以說它可以形成極高的吞吐量,其交易效率也可以達到商用的需求。另外 DAG 沒有哈希碰撞來挖礦的機製,所以在發起交易的時候,DAG 技術可以實現更少的手續費甚至是 0 手續費,這樣就解決了像比特幣這類比較浪費能源的問題。

剛剛我們說了 DAG 的優點之後,那麽 DAG 有什麽缺陷嗎?當然有的!

剛才我提到了如果說該 DAG 網絡有足夠多的人去使用,那麽可以說它可以形成極高的吞吐量,那麽相反如果對於基於 DAG 網絡早期節點不足的情況來說,那麽就會造成一定的交易驗證延遲,因為因為每一筆交易的最終確認,都需要依賴後兩個單元的驗證才能完成確認,因此就會造成交易時間的不可控。它如果你如果去買一個東西,完成付款了 ,但是後面還需要等其他兩個人付款對你進行確認,你才能完成最終的交易,因此對於的 DAG 運用比較適合一些高頻的場景。解決方案有嗎?有的,則需要涉及見證人機製或者超級節點機製,但是卻在一定方面上影響了去中心化的程度,因此對當下來說,仍是一個尚在探索的方向。

因為 DAG 的運行是一個結構復雜的網狀結構,他沒有區塊鏈具有一致性的賬本信息,因為區塊鏈是一個塊接著一個塊,環環相連。而整個 DAG 的結構屬於分散結構的展開,並不斷動態運行,因此倘若想要在 DAG 的結構上去運行去中心化應用和部署智能合約的話,是否涉及數據偏差是一個尚在考驗的事情。還有就是關於「雙花攻擊」的問題,在 DAG 系統中依然需要值得註意,這是一個經濟博弈論的利益權衡問題,當然也可以引用見證人機製或者超級節點機製,不過剛才也介紹了,這又影響了去中心化的程度。此外,在安全方面,由於 DAG 並沒有像區塊鏈已經經歷了數十年的驗證,所以在安全性方面也是需要一定的時間檢驗。

不可否認的是,DAG 技術的運用在交易速度和效率方面讓我們看到了區塊鏈的邊界在被不斷打破,同時我們還看到運用到 DAG 技術的物聯網應用比如 IOTA 已經取得了很大的影響力和技術進步,而其他采用 DAG 技術的創業者和開發者也在不斷推動 DAG 技術的完善,相信對於未來而言,這是一項十分值得期待的創新技術。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与 Web3Caff 立场无关。文章内的信息均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。