DAG(有向無環(huán)圖)是不同于主流區(qū)塊鏈的一種分布式賬本技術(shù),把同步記賬提升為異步記賬,被不少人認(rèn)為可以解決傳統(tǒng)區(qū)塊鏈的高并發(fā)問題,是區(qū)塊鏈從容量到速度的一次革新。
DAG:Directed Acyclic Graph,中文意為「有向無環(huán)圖」。DAG原本是計算機領(lǐng)域一種常用數(shù)據(jù)結(jié)構(gòu),因為*的拓?fù)浣Y(jié)構(gòu)所帶來的優(yōu)異特性,經(jīng)常被用于處理動態(tài)規(guī)劃、導(dǎo)航中尋求短路徑、數(shù)據(jù)壓縮等多種算法場景。
DAG技術(shù)的起源
早在區(qū)塊鏈中引入DAG概念作為共識算法是在2013年,bitcointalik.org由ID為avivz78的以色列希伯來大學(xué)學(xué)者提出,也就是GHOST協(xié)議,作為比特幣的交易處理能力擴容解決方案;Vitalik在以太坊紫皮書描述的POS共識協(xié)議Casper,也是基于GHOST POW協(xié)議的POS變種。
后來NXT社區(qū)有人提出用DAG的拓?fù)浣Y(jié)構(gòu)來存儲區(qū)塊,解決區(qū)塊鏈的效率問題。區(qū)塊鏈只有一條單鏈,打包出塊無法并發(fā)執(zhí)行。如果改變區(qū)塊的鏈?zhǔn)酱鎯Y(jié)構(gòu),變成DAG的網(wǎng)狀拓?fù)淇梢圆l(fā)寫入。在區(qū)塊打包時間不變的情況下,網(wǎng)絡(luò)中可以并行打包N個區(qū)塊,網(wǎng)絡(luò)中的交易就可以容納N倍。
Nxt社區(qū)提出的DAG of blocks
2015年9月,Sergio Demian Lerner發(fā)表了 《DagCoin: a cryptocurrency without blocks》一文,提出了DAG-Chain的概念,把DAG網(wǎng)絡(luò)從區(qū)塊打包這樣粗粒度提升到了基于交易層面,但DagCoin本身是一篇論文,沒有代碼實現(xiàn)。
DagCoin的思路,讓每一筆交易都直接參與維護全網(wǎng)的交易順序。交易發(fā)起后,直接廣播全網(wǎng),跳過打包區(qū)塊階段,達到所謂的Blockless。這樣省去了打包交易出塊的時間。如前文提到的,DAG初跟區(qū)塊鏈的結(jié)合就是為了解決效率問題,現(xiàn)在不用打包確認(rèn),交易發(fā)起后直接廣播網(wǎng)絡(luò)確認(rèn),理論上效率得到了質(zhì)的飛躍。DAG進一步演變成了*拋棄區(qū)塊鏈的一種解決方案。
一句話來概括:DAG是面向未來的新一代區(qū)塊鏈,從圖論拓?fù)淠P秃暧^看,從單鏈進化到樹狀和網(wǎng)狀、從區(qū)塊粒度細(xì)化到交易粒度、從單點躍遷到并發(fā)寫入,這是區(qū)塊鏈從容量到速度的一次革新。
DAG技術(shù)的優(yōu)勢
傳統(tǒng)區(qū)塊鏈和DAG的區(qū)別,簡單的說:
1)單元:區(qū)塊鏈組成單元是Block,DAG組成單元是TX(交易);
2)拓?fù)洌簠^(qū)塊鏈?zhǔn)怯葿lock區(qū)塊組成的單鏈,只能按出塊時間同步依次寫入,好像單核單線程CPU;DAG是由交易單元組成的網(wǎng)絡(luò),可以異步并發(fā)寫入交易,好像多核多線程CPU;
3)粒度:區(qū)塊鏈每個區(qū)塊單元記錄多個用戶的多筆交易,DAG每個單元記錄單個用戶交易。
那么相比于比特幣等傳統(tǒng)的區(qū)塊鏈,這種機制有什么好處?
數(shù)據(jù)結(jié)構(gòu):通過DAG,每一筆交易就可以看作是一個區(qū)塊,沒有容量限制的問題,每一個區(qū)塊有多個指向,拓展性強,因此能夠?qū)崿F(xiàn)數(shù)字貨幣較高的交易吞吐量(通過平行驗證)。并且參與者越多,整個系統(tǒng)也會變得越來越安全和快速,確認(rèn)時間會縮短,交易也完成的越來越快。
共識機制:區(qū)塊鏈中添加下一個區(qū)塊需要多方進行競爭,并獲取區(qū)塊獎勵或交易手續(xù)費。正因如此,共識和交易生成是分離開的,并且由網(wǎng)絡(luò)的一小部分人來完成,通常會設(shè)置較高門檻(就像比特幣一樣),這樣會導(dǎo)致進一步的中心化(算力壟斷)。
在DAG系統(tǒng)中,交易者本身就是礦工,網(wǎng)絡(luò)中的每位參與者都能進行交易并且積極參與共識。通過這種方式,驗證就能同步進行,網(wǎng)絡(luò)能夠保持*去中心化,不需要礦工傳遞信任,也不需要支付交易手續(xù)費。
DAG的速度快,吞吐量高,但作為一個很年輕的數(shù)據(jù)結(jié)構(gòu),DAG技術(shù)的優(yōu)勢和創(chuàng)新速度已經(jīng)嶄露頭角,越來越多后繼基于DAG的創(chuàng)新項目和DAPP正*的迅速涌現(xiàn)。