什么是DAG?
“DAG”即“有向非循環圖”(Directed Acyclic Graph)的首字母縮寫。,這是一種計算機學上面常用到的拓撲數據結構。他要求每一個交易都必須驗證前面兩條舊的交易,這樣就形成了層層確認的結構,使每一次交易形成了一個鏈條。
圖1 DAG示例:Nxt社區提出的DAG of blocks
“有向非循環圖”這一名稱就透露了很多信息:DAG是具有方向且沒有任何循環的圖形/結構。您可以將其視為創建區塊鏈過程中的一個中間環節——它的某些塊已經與邊緣(edge)連接(因此是有序的),而有些則沒有。需要額外的精力來構建基于DAG的最終鏈,而這正是基于DAG的共識協議所需要的。
DAG創新 vs PoW模式
從本質上說,DAG與區塊鏈沒有特別大的差異,因為它們都是區塊的鏈。這是因為在這兩種協議中,形成交易鏈都是期望的結果。
圖2 DAG的區塊形成機制
然而,DAG的創新在于區塊內部:在以比特幣為代表的PoW共識機制中,工作量證明會增加網絡延遲,以確保網絡同步并能抵御大多數攻擊。但是通常在基于DAG的協議中,這種能源消耗大的計算是完全不必要的。新交易已通過以前的交易進行了驗證。無需采礦。
除此之外,DAG和傳統的區塊鏈還有如下區別:
1. 單元:區塊鏈組成單元是Block(區塊),DAG組成單元是TX(交易);
2. 拓撲:區塊鏈是由Block區塊組成的單鏈,只能按出塊時間同步依次寫入,好像單核單線程CPU; DAG是由交易單元組成的網絡,可以異步并發寫入交易,好像多核多線程CPU;
3. 粒度:區塊鏈每個區塊單元記錄多個用戶的多筆交易,DAG每個單元記錄單個用戶交易。
DAG的優勢
經過多年的實際運行,傳統區塊鏈技術所存在的問題也在逐漸暴露,包括:
1. 效率問題:傳統區塊鏈技術基于Block區塊,比特幣的效率一直比較低,由于BlockChain鏈式的存儲結構,整個網絡同時只能有一條單鏈,基于POW共識機制出塊無法并發執行;例如比特幣每十分鐘出一個塊,6個出塊才能確認,大約需要一個小時;以太坊大幅改善,出塊速度也要十幾秒。
2. 確定性問題:比特幣和以太坊存在51%算力攻擊問題,基于POW共識的最大問題隱患,就是沒有一個確定的不可更改的最終狀態;如果某群體控制51%算力,并發起攻擊,比特幣體系一定會崩潰;考慮到現實世界中的礦工集團,以及正在快速發展量子計算機的逆天算力,這種危險現實存在。
3. 中心化問題:基于區塊的POW共識中, 礦工一方面可以形成集中化的礦場集團,另一方面,獲得打包交易權的礦工擁有巨大權力,可以選擇哪些交易進入區塊,哪些交易不被處理,甚至可以只打包符合自己利益的交易,這樣的風險目前已經是事實存在。
4. 能耗問題:由于傳統區塊鏈基于POW算力工作量證明,達成共識機制, 比特幣的挖礦能耗已經與阿根廷一個國家耗電量持平,IMF和多國政府對虛擬貨幣挖礦能源消耗持批評態度。
因此,與傳統的PoW區塊鏈相比,DAG協議具有許多優勢,它產生共識的速度比區塊鏈要快得多,正因如此,它能夠在大規模運作時維持很高的交易速度,而這是比特幣的區塊鏈無法實現的。
例如,在DAG的概念驗證協議(proof-of-concept protocol)項目測試中,在包含128個節點的測試網絡上已達到100,000 Tx/s的速度。這是DAG表現最好時的威力。
第二個好處是應用DAG可以免挖礦。在這樣的架構下,沒有挖礦費和礦工來驗證交易,交易可以便宜得多,甚至微不足道或免費的。這就是DAG已被確定為適用于物聯網(IoT)應用的原因。
但這也為我們勾勒出了基于DAG的現實可用貨幣。例如,用戶都不想為0.90美元的可樂支付0.50美元的區塊鏈交易費,對吧?但是您可能愿意支付0.0004 BTC(約合4美元)來安全快速地進行幾百萬美元的轉賬。如果我們要使用加密貨幣來進行日常小額支付,那么DAG就非常合適。
DAG的參考實現(Reference Implementation): Byteball DAG
Byteball DAG被稱為DAG體系家族中最完善的參考實現,展現了DAG協議強大的優勢。
Byteball DAG在DAGCoin的基礎上, 創新性引入主鏈與見證人概念,鼓勵驗證多個父輩交易單元,形成一個隨著交易增長、相互驗證,安全性不斷加強的數字簽名Hash網絡, 并創造性的發明了“主鏈”概念以及“見證人”的概念。
Byteball DAG中“見證人”(Witness)真正意義就是形成“共識機制”;12個“見證人”發布的交易單元,在理論上無限寬廣的DAG并發交易網絡中劃出了一道確定性的交易時間序列。正是這道無限延伸基于時間的確定性交易序列,打造了Byteball DAG中的主鏈,在寬廣無序的有向無環哈希世界中形成了強健有序的唯一主干。基于見證人+主鏈的共識機制,雙重支付等問題得到了輕松解決。
Byteball DAG取消了區塊鏈和工作量證明(POW)挖掘的概念,而是選擇了DAG數據存儲技術。 與基于傳統區塊鏈的加密貨幣相比,這具有強大的優勢,Byteball DAG中的所有交易都是以加密方式相互關聯的。 新產生交易將添加到tips交易單元后面。 這樣讓網絡上的所有節點(用戶)都參與驗證交易,完全的去中心化。
這不僅可以更快地驗證付款,還可以讓網絡保持足夠的分散。 避免在比特幣中的一些問題:例如可能威脅網絡的大型集中式礦池;同時Byteball DAG通過收取存儲在DAG網絡的每字節數據存儲費用,通過類似Gas機制減少網絡上的SPAM垃圾信息。
由于每個交易都有發起者的私鑰簽名,同時每筆交易都驗證與引用從前發生的交易,Byteball DAG以此編織成一個巨大的網絡,對網絡的篡改牽一發而動全身,同時不可能有人擁有全網所以用戶的私鑰,所以Byteball DAG具備銀行級最終確定性。
一句話來概括:DAG是面向未來的新一代區塊鏈,從圖論拓撲模型宏觀的看,從單鏈進化到樹狀和網狀、從區塊粒度細化到交易粒度、從單點躍遷到并發寫入;是區塊鏈從容量到速度的一次革新。
Amodule Network(以下簡稱AMO)充分利用DAG協議的優良特性,設計了一套全商業區塊鏈應用模式的網絡標準, 遵循熱插拔、模塊化擴展、 提供可替代的智能合約、 共識機制、 P2P網絡傳輸、大數據加密存儲、多賬號等功能。AMO將各領域各行業所需區塊鏈化的合約層進行封裝,搭配可視化操作系統方便各語種開發者迅速調用。需要進行鏈改的業務項目將快速建立去中心化的應用場景,根據自身需求搭建業務模型,而不再需要從下到上重新開發節省人力財力,這將急速的推動區塊鏈商業應用落地以及傳統行業區塊鏈改造工程。