區塊鏈知識拼圖:DAG,以IOTA為例
區塊鏈,伴隨著位元幣在幣圈的爆熱,逐漸被社會大眾所知曉,區塊鏈的基本概念,不是這篇分享的主要內容,便不再贅述,今天,我們一起分享的是區塊鏈結構中的一名另類的成員:DAG鏈,
基本概念
在正式分享之前,必須先了解什么是DAG,DAG,即Directed Acyclic Graph(有向無環圖),有過圖論和計算機科學背景的小伙伴應該都比較熟悉這個概念,簡單來說,當一個有向圖無法從某個定點出發最后回到原地時,這個圖便可以叫做DAG,下面這張圖便是一個典型的例子:

而在傳統的區塊鏈結構中,采用的是更為常見的單鏈式結構,如下圖所示:

可以看到,簡單的單鏈結構使得每次礦工們產生的區塊只能有一個區塊最終被合法化在鏈上,這大大限制了交易的量,而如果采用DAG這種結構,則可以讓多個區塊同時鏈接到一個先前的區塊上,這樣便大大提高了交易量,下一部分,我們將以IOTA為例,介紹DAG如何應用在區塊鏈中,
IOTA
IOTA是一款以IoT為背景設計的,助力IoT資料與價值交換的加密貨幣,它使用了一種基于DAG的Tangle數學模型,
在Tangle中,每個節點代表一個交易(沒錯,IOTA撇棄了區塊的概念,而將最小單位變為了一筆交易),稱之為site,所以,一個site包含著交易的具體資訊,比如說交易發起者、交易接收者、交易金額等,每個site都會存在至少兩條出度的邊(edge),連接到別的site上,而當某個site被至少兩條edge連接到的時候,這個site便被確認為合法的site,同時,我們也稱那些沒有被確認的(即沒有被至少兩條edge指向的)site為Tangle的尖端(tip),
當一筆新的交易產生的時候,它將以site的形式加入到這個DAG網路中去,它會隨機選擇一個tip并且類似傳統區塊驗證那樣驗證確認這個tip是否合法,IOTA規定當site連接到兩個合法的tip后,這個site邊成為了新的tip,下圖中,綠色表示已經達成共識的交易,紅色表示還沒有達成共識的交易,灰色表示tip交易,

在傳統的區塊鏈結構中,越靠前的區塊越被大家所承認,因為后面的區塊會直接或者間接地不斷驗證前面區塊的合法性,同理,為了在DAG結構區塊鏈中實作這一效果,IOTA為每個site設定了累計權重,一個site的累計權重=作業量權重+參考權重,其中作業量權重與記錄這筆交易的節點所投入的作業量成正比,記為3n,而參考權重表示直接和間接參考這個交易的其他交易的作業量相加,所以每當有新的site加入到Tangle中來,與該site直接或者間接相關的site的累計權重便會增加,較早的site通常具有較高的累積權重,這是有意義的,因為它們已經被多次驗證,
IOTA的特點
IOTA利用了DAG結構,使其具有了傳統區塊鏈所不具備的特點:
- 基于DAG結構和以交易為最小驗證單元的設計,極大地增加了交易吞吐量,
- 在IOTA里沒有區塊的概念,取而代之的是交易網路,每一個交易都會參考過去的兩條交易,
- IOTA無手續費,沒有激勵機制,
- 共識是由全網交易確定的,理論上來說,如果有人能夠產生1/3的交易量,他就可以將無效交易變成有效交易,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/395189.html
標籤:區塊鏈
