鯨準研究院丨DAG技術解析(一)

區塊鏈 DAG技術 金融 鯨準研究院 2018-07-24

鯨準研究院丨DAG技術解析(一)


DAG(有向無環圖)技術是區塊鏈領域的技術熱點之一。DAG技術相比於原來的區塊+鏈的數據結構有更快的交易速度以及更強的可擴展性,但由於其技術門檻和開發難度較高,在DAG技術上深耕的項目並不多見。我們希望能通過對具體項目原理的解析向讀者呈現出DAG技術的全貌,本期選定了XDAG作為分析案例。


作者:王帆 陳泓伊

指導:譚瑩

本期受訪者:XDAG核心開發者Frozen

支持機構(排名不分先後):

星球日報、火星財經、金色財經、陀螺財經、金牛財經、嘻哈財經、耳朵財經、零壹財經、巴比特、榮格財經、金塔財經、幣圈邦德、區塊財經、鏈條ChainHeadline

. 01 .什麼是DAG

在圖論中,如果一個有向圖從任意頂點出發無法經過若干條邊回到該點,則這個圖是一個有向無環圖。

圖和樹一樣,都是一種數據結構,圖可以分為有向圖和無向圖,對有向圖進一步約束則形成有向無環圖,有向圖由有限個頂點和有向邊組成,每條有向邊都從一個頂點指向另一個頂點,無環則指的是從任意一個頂點出發都不能通過這些有向邊回到原來的頂點。

鯨準研究院丨DAG技術解析(一)

 

因為有向圖中一個點經過兩種路線到達另一個點未必形成環,因此有向無環圖未必能轉化成樹,但任何有向樹均為有向無環圖。

. 02 .DAG原理-以XDAG項目為例

在XDAG的網絡中,其實是一個個動態的“局域網”的組合,所有的交易用戶隸屬於不同的“局域網”,不同的“局域網”聯合起來構成整個XDAG的網絡。“局域網”建立的基礎是具有驗證交易(挖礦)能力的節點(這個節點可以是單個礦工,也有可能是礦場或礦池),當用戶發起交易時,會將交易發送到自己所在“局域網”的礦工,礦工會驗證數字簽名、資產餘額、數據格式、數據完整性等信息,當遇到無效交易後,便會進行標記,然後礦工會打包確認好的信息並向全網發送,其他“局域網”的礦工收到後會驗證自己收到的這個數據包是不是合法的,如果都沒有問題,那麼這些交易就會被承認。

在XDAG的網絡,主節點組成主鏈,主鏈是所有節點難度加和最高的一條。和比特幣網絡一樣,所有的交易都需要排序,那麼也就是所有的節點是需要排序的,主節點的功能就是確定順序,除此之外,主節點還負責記錄挖礦收益,在XDAG中,每64s出一個塊,出塊同時獎勵礦工1024個xdag,但是主節點不記錄其他任何交易,因此可以將主節點看成是一個空塊,而其他的節點才負責記錄交易。主節點的產生需要挖礦,交易節點是系統自動生成。

鯨準研究院丨DAG技術解析(一)

. 03 .DAG的優勢

DAG相比於區塊鏈來說,其實是圖和鏈的區別,對於鏈而言,無法只處理一個局部,因為鏈的入度和出度只有一個,不能把鏈上的節點拆成好幾個節點去處理,但是對於圖卻可以,因為圖可以有多個出度,那麼可以同時處理多個出度連接的節點。

對於鏈式網絡而言,不是節點的處理能力不強,只是鏈式結構不能並行計算,浪費的時間其實主要為等待時間:一個是發起交易,需要將交易同步所有節點,另一個是當有一個節點確認,需要向全網同步。對於DAG而言則不存在這樣的問題,錢包發起交易時不需要等待自己之前有多少交易,只需要經歷局部校驗、全網廣播、其他局部校驗,相當於是把交易確認分散化,每一個節點都在做類似於拼圖的工作,把自己的和別人確認的交易拼接起來。

因此總結髮現DAG有著以下幾個優勢:

3.1交易速度塊

DAG實現的局部處理和並行結算可以使得交易速度大幅度提升。

3.2.拓展性強

因為各個節點無需等待同步其他的節點的數據就可計算使得記賬節點很容易答覆延展,因此DAG很適用於物聯網類項目,例如機器微支付。

3.3.作惡難度更大

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

. 04 .DAG的問題

儘管在前文中闡述了諸多DAG的優點,但事實上,DAG也有自身的缺陷,DAG類項目也在各自使用不同的技術手段進行解決。

4.1 交易時長不可控

DAG本質是一種異步通訊,異步通訊所帶來最大的問題在於一致性不可控,在DAG模型中則在於交易確認時間完全未知。當然,某種程度上同樣可以認為在鏈式模型中,一個區塊被超過2/3以上節點數接受才算全網最終確認,因此最終確認時間同樣無法準確判斷。針對以上問題,XDAG採用了POW+64s固定出塊的方式。

4.2 網絡傳輸數據量大幅度增加

鏈式結構中僅僅賬本節點記賬,大量的錢包節點僅僅向一個賬本節點通訊即可,因此全網絡賬本節點的數量遠遠小於錢包節點。在這種情況下,所有的數據同步均在賬本節點之間完成,假設網絡中有M個賬本節點,每一條記錄在網絡中傳輸的次數為M+1。

DAG結構,在全網存在N個設備節點時(N成千上萬倍大於M),每一個消息都需要在設備間進行點對點通訊,因此對於任何消息的發送,網絡中都會存在N^2次數據發送(每一個節點都嘗試將信息發送給其他鄰居節點)。在未來DAG接入大量的物聯網節點後,這會對於記賬節點產生很高的要求。

4.3 影子鏈攻擊

DAG 允許多重並行交易的特徵,導致攻擊者可能暗中生成一條影子鏈,並且時不時地將影子鏈跟主鏈進行對接以逃避檢測算法。極端情況下,這條影子鏈有可能代替主鏈成為全網的共識。XDAG本身機制決定了不會出現影子鏈攻擊,Byteball則是通過見證人模式來解決。

4.4 智能合約開發難度大

DAG的異步操作使得在運行智能合約時,節點間所存儲的數據在運行一段時間後可能出現偏差,從現實情況來看,目前還沒有能真正基於DAG網絡開發出智能合約的項目。

. 05 .DAG公鏈代表項目

鯨準研究院丨DAG技術解析(一)

5.1 XDAG

XDAG是一個可實現每秒成千上萬筆交易的分佈式支付系統,也是目前唯一一個DAG+POW項目,具有高性能和高安全性。XDAG項目是一個完全由社群驅動的項目,目前擁有三位核心開發者,約三萬社區成員。近期社區的幾位核心開發者對於舊版本進行了大量的優化,已於上週上線新版本,並且針對原程序的c語言版本,開發者正在著力開發C++,Go,Python版本,預計在一兩個月內完成。

XDAG當前價格:約0.488元

挖礦規則:總共挖礦160年,每四年減半,前一個四年每年挖出4億;每64s出一個塊,一個塊獎勵1024的xdag。

礦池介紹:目前XDAG有三個比較老牌的大型礦池,分別是胖池、vspool、飛池, 在XDAG發展初期,由於國內礦池頻繁遭遇DDOS,廣大礦工不得已出海挖礦,限於網速以及礦池費率等因素,收益不理想。抱著給國內礦工提供更加穩定,透明的服務信念,胖子決定搭建一個屬於國內人的專屬礦池(胖池)。胖池採用高防主機,針對國內礦工進行線路優化及調整,能承受18T流量攻擊,費率公開透明,有著完善的界面和查詢功能,並支持微信公眾號掉線提醒收益查詢等。

5.2 IOTA

IOTA是一種開源性的底層基礎協議,是一個專為物聯網設計的新型交易結算和數據轉移層,使用基於DAG的Tangle技術,社區成員或者相關企業可以自發的在協議之上開發相應的軟件應用,代表性的應用案例如下:Qubic、Elaadn、data.iota.org、IoTipBot。

5.3 Byteball

Byteball是一種基於DAG技術的新型數字資產平臺,通過設置轉賬前必須包含之前的交易記錄來防止雙花,採用新型的見證人模式來保證主鏈選擇過程的安全性,因為存在見證人,Byteball會收取手續費用來獎勵,從這個角度出發,Byteball不適用於物聯網和小額交易領域。

5.4 Nano

一種基於區塊點陣(BlockLattice)結構的新型加密貨幣,具有無交易手續費、瞬時交易的特性,其中每個賬戶都有自己的區塊鏈,允許其異步地更新到網絡的其餘部分,從而以極小的資源開銷獲得快速的交易確認。

. 06 .總結

隨著社區對DAG技術的認知和普及、開發人員逐漸變多、DAG技術的完善和發展,DAG項目的優勢會逐漸凸顯,其性能優越和擴展性強對現有的區塊鏈項目是一個巨大沖擊,從技術角度來看,DAG帶給我們的是一場新的區塊鏈實驗。

 編輯: 陳文洋 

【轉載須知】

1、本報告為Jingdata旗下專業的數據研究分析機構【鯨準研究院】原創作品,受《著作權法》保護,依法享有彙編權及註釋權;

2、轉載請留言後臺,取得授權後方可轉載;

3、禁止商用轉載,禁止二次編輯轉載。

鯨準研究院丨DAG技術解析(一)
文章作者: 鯨準研究院 我要糾錯
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
比特幣實時價格 ¥52815.58(數據來源:火幣Pro)

相關推薦

推薦中...