介紹

當您想到加密貨幣時,您可能會想到「區塊鏈」或「分散式帳本技術」等術語。自從比特幣推出以來,已經創建了數百種其他加密貨幣。它們大多數都依賴類似的網路架構。它們的資料結構允許用戶轉移價值或與去中心化應用程式互動。

在區塊鏈中,新的區塊會定期添加到不斷增長的區塊鏈中。每個區塊都透過某種加密連結(具體來說,哈希值)連接到前一個區塊。每個區塊中都有用戶廣播的最近交易。

但是,在交易被廣播和被納入區塊之間通常有一個等待期。可以把它想象成在車站等火車。根據車廂的大小(區塊大小)和等待的其他人的數量(待處理交易),你甚至可能無法趕上下一班火車。甚至是下一班。你可能要等待幾秒鐘到幾小時才能確認交易。

對許多人來說,這是一個不錯的權衡。畢竟,它提供了非常高的安全性,而無需依賴集中協調者。對其他人來說,區塊鏈技術有一個到期日期。反對者認爲,從長遠來看,區塊鏈技術面臨的可擴展性問題將阻礙其大規模採用。

一些人認爲加密貨幣支付網絡的未來在於一個完全不同的架構——有向無環圖(或 DAG)。


什麼是 DAG?

DAG 是一種不同的數據結構——可以把它想象成一個將不同信息連接在一起的數據庫。“有向無環圖”是一個含義豐富的術語,所以我們先來分析一下。

A Directed Acyclic Graph.

有向無環圖。


從概念上講,DAG 看起來與上圖類似。它們由頂點(球體)和邊(連接它們的線)組成。它們是有向的,因爲它們朝一個方向(您可以看到箭頭所示)。它們是非循環的(即非循環的),因爲頂點不會自行循環 — 如果您從某個點開始並按照圖形走,則無法返回到同一點。這一點很快就會變得更加清晰。

此類數據結構通常用於對數據進行建模。在科學或醫學領域,您可能會依賴 DAG 來觀察變量之間的關係並確定它們如何相互影響。例如,您可以考慮營養、睡眠週期和身體症狀等因素,以便繪製它們之間的聯繫,以確定它們如何影響患者。

就我們的目的而言,我們更感興趣的是它們如何幫助在分佈式加密貨幣網絡中達成共識。


DAG 如何工作?

在基於 DAG 的加密貨幣中,結構中的每個頂點都代表一筆交易。這裏沒有區塊的概念,也不需要挖掘來擴展數據庫。因此,不是將交易收集到區塊中,而是將每筆交易構建在另一個交易之上。不過,當節點提交交易時,會進行一個小的工作量證明操作。這確保網絡不會被垃圾郵件淹沒,並驗證先前的交易。

要添加新交易,必須以舊交易爲基礎。假設 Alice 創建了一筆新交易。要確認這筆交易,這筆交易必須引用先前的交易。有點像比特幣中的區塊引用之前的區塊,但引用了多筆交易。

在某些系統中,算法會選擇新交易必須建立在哪些交易(或“提示”)上。更有可能被選中的提示是那些累積權重更大的提示——這是對提示路徑有多少確認的衡量標準。

Alice 將在其基礎上構建的交易尚未確認。但一旦 Alice 引用它們,它們就會被確認。Alice 的交易現在尚未確認,因此必須有其他人在其基礎上構建,它纔會被接受。

用戶更有可能確認權重“較大”的交易,以便系統不斷增長。否則,沒有什麼可以阻止用戶繼續在舊交易上進行構建。

有了區塊鏈,雙重支付保護就變得非常簡單。同一筆資金不能在一個區塊中被花掉兩次——節點可以輕鬆檢測到任何企圖,並會拒絕任何包含衝突交易的區塊。由於礦工生成區塊的成本非常高,因此他們有動力公平競爭。

DAG 還具有防止雙重支付的機制。它有點類似,但沒有礦工。當節點確認較舊的交易時,他們會評估回到 DAG 的第一個交易的整個路徑,以確保發送者有足夠的餘額。可以有多條路徑,但只需驗證一條。

Animation of a DAG in action


如果用戶在無效路徑上構建,他們就會面臨自己的交易被忽略的風險。他們的交易可能是合法的,但由於之前的交易不合法,所以沒有人願意擴展該特定路徑。

乍一看這似乎有點不合常理——難道你不會遇到多個分支彼此不瞭解的情況嗎?那麼,人們難道不能在這些不同的分支上花同樣的錢嗎?

DAG with multiple branches


這確實是一種可能性,但它可以通過選擇算法來解決,該算法傾向於累積權重更大的尖端。這意味着,隨着時間的推移,你最終會得到一個比其他分支強得多的分支。較弱的將被丟棄,網絡將繼續在最重的分支上構建。

和區塊鏈一樣,沒有絕對的確定性——你永遠無法 100% 確定交易不會被撤銷。雖然可能性極低,但理論上你可以“撤銷”比特幣或以太坊區塊,撤銷其中的所有交易。在你的交易所在的區塊之後添加的區塊越多,你對它的信心就越大。這就是爲什麼建議你在花錢之前等待六次確認。

在諸如 IOTA 的 Tangle 之類的 DAG 中,有一個確認置信度的概念。選擇算法運行 100 次,然後計算您的交易在選定的提示中直接或間接獲得批准的次數。百分比越高,您對交易將保持“結算”的信心就越大。

這似乎會導致糟糕的用戶體驗。但事實並非如此。如果 Alice 向 Bob 發送 10 個 MagicDAGToken,她就無需擔心選擇正確的圖表提示。在幕後,她的錢包可能會執行以下操作:

  • 選擇重要的提示(請記住,這些是累積確認最多的提示)。

  • 追溯之前交易的路徑,確保小費有足夠的餘額可供支出。

  • 一旦滿意,他們就會將交易添加到 DAG,確認所構建的交易。

對於 Alice 來說,這看起來就像常規的加密貨幣工作流程。她輸入 Bob 的地址和她想要花費的金額,然後按發送。上面的列表是每個參與者在創建交易時運行的工作量證明。


➠ 想要開始使用加密貨幣?在幣安購買比特幣!


有向無環圖的優缺點

DAG 的優點

速度

不受區塊時間限制,任何人都可以隨時廣播並處理其交易。用戶提交的交易數量沒有限制,只要他們確認較早的交易即可。


禁止挖礦

DAG 並不像我們習慣的那樣使用 PoW 共識算法。因此,它們的碳足跡只是依靠挖礦來保護區塊鏈網絡的加密貨幣的一小部分。


無交易費

由於沒有礦工,用戶無需支付費用即可廣播其交易。儘管如此,有些交易仍要求向特殊類型的節點支付少量費用。低費用(或更好的是零費用)對小額支付很有吸引力,因爲高額網絡費用違背了小額支付的目的。


無可擴展性問題

由於不受區塊時間的限制,DAG 每秒可以處理比傳統區塊鏈網絡多得多的交易。許多支持者認爲,這將使它們在物聯網 (IoT) 用例中具有價值,在物聯網中,各種機器將相互交互。


DAG 的缺點

並非完全去中心化

依賴 DAG 的協議具有各種中心化元素。對於某些人來說,這應該是引導網絡的短期解決方案,但 DAG 能否在沒有第三方干預的情況下蓬勃發展仍有待觀察。如果不能,它們就會暴露在攻擊媒介之下,最終可能會破壞其網絡。


未經大規模測試

儘管基於 DAG 的加密貨幣已經存在了幾年,但它們距離廣泛使用還有很長的路要走。因此,很難預測未來用戶會出於什麼動機來利用該系統。


結束語

有向無環圖無疑是構建加密貨幣網絡的一種有趣技術。到目前爲止,使用該數據結構的項目相對較少,而且它們尚未完全發展。

儘管如此,如果它們能夠發揮潛力,它們將爲大規模可擴展的生態系統提供支持。DAG 技術在需要高吞吐量和免費服務的領域有着無數的用例,例如物聯網 (IoT) 和小額支付。