在《【動區專題】區塊鏈與它的好朋友們,比特幣、以太坊、Hyperledger 區塊鏈簡單比較》中,我們看到了分散式帳本技術近期較廣為人知的區塊鏈架構,而本篇將會介紹近期關注度不斷提升的有向無環圖技術(Directed Acyclic Graph;DAG),分析區塊鏈技術發展下的其他可能性。
區塊鏈的挑戰者殺出
自區塊鏈推出,許多人都指出了區塊鏈的不同問題,有的也提出挑戰。
面對革新我們可以從兩種方式去突破,一種是修正現有的區塊鏈,例如使用側鏈或新的共識協議。
或者,我們也可提出新方法來解決問題。例如,基於有向無環圖技術(Directed Acyclic Graph;DAG)而出現的IOTA Tangle和Swirlds Hashgraph最近都獲得了高度關注。
有向無環圖(Directed Acyclic Graph;DAG)
DAG是一個圖,一個有向圖,且從任一點出發都沒有回到此點的路徑,因此不會產生循環。
DAG 有向無循圖。圖片來源:維基百科
DAG最終不一定會成為樹,但是樹一定會是個DAG。
另外,DAG可以進行拓樸排序,以上這些都使它被認為在數據結構上比區塊鏈更有優勢。
在DAG中也有節點和連接,因此也具有傳輸功能。
(註:樹有其基本定義,首先不能有環,其次每個child只能有一個parent,沒有parent的node稱為root,並且要以最少的edge連到所有的node。要理解DAG之所以最終不一定會成為樹,可以想像一個正三角形,三個點分別為A、B、C,若以A做為root,AàB,AàC,BàC,由於有向的關係,這樣並不形成一個環,符合DAG的定義。
但仔細看C會有A和B兩個parent,這樣就不符合樹的定義了。因此,DAG不一定為樹,但樹一定為DAG。)
DAG並沒有一個一定的模型,IOTA Tangle和Swirlds Hashgraph就非常不同。
同時,雖然很少人這樣說,但區塊鏈也可視為DAG的一種鏈狀型態。
如果從硬分叉的基本概念來說以太坊也可以視作DAG的一種實現,儘管主流還是將之視為區塊鏈。
IOTA Tangle:非認許制帳本(Permissionless Ledger)
IOTA挑戰了目前非認許制區塊鏈的問題,特別是機器經濟(machine economy)和微支付(micropayment)的用例。
IOTA主要挑戰區塊鏈的三個面向分別為,處理大量交易的可擴展性、高昂的交易費用、用戶(發出交易)和礦工(批准交易)的二分法。
簡而言之,IOTA採用了Tangle,這是一種使用者進行交易的DAG。
它被稱為「bundle of transactions」,簡單來說就是一堆交易的DAG圖。
我們可以從IOTA的白皮書得知,新交易必須先批准兩個未經批准的交易,稱為tips(灰色方塊對白色方塊進行批准),然後才能置入Tangle中。
這筆新交易將在之後的交易中得到批准,這個過程排列成Tangle。
Tangle中沒有專門供採礦的節點,因為每筆交易本身都是用來批准其他兩筆交易的「礦工」。
在不需要激勵礦工的工作量之下,也就不需要交易費用,免費的轉帳是機器經濟和微支付的基礎。
DAG的每筆交易都會透過蒙特卡羅演算法來維持tip的進行與挑選。
IOTA有自己的虛擬貨幣稱為iota,而帳本就在Tangle中。
Swirlds Hashgraph:認許制帳本(Permissioned Ledger)的共識協議(Consensus protocol)
Swirlds Hashgraph的共識協議承諾在處理大量交易時保持「快速、安全和公平」。
- 根據官網測試數據,快速代表速度將達到驚人的250000 TPS。
- 而安全則是建立在Hashgraph採用非同步拜占庭容錯(asynchronous Byzantine Fault Tolerant;aBFT)演算法,這是假定社群中是有惡意行為存在的,而這也是真的,例如DDoS攻擊、殭屍網路和防火牆都可視作惡意行為。
藉此,將不會有任何一個節點可以阻礙共識的達成,或在達成共識後做出修改,也就可以抵禦上述惡意行為的攻擊或阻礙。
- 公平的點在於,時間戳(timestamp)具一致性,每一個事件(event)和事件中的交易都有其順序。
Hashgraph是一個認許制的實現,適合部署於企業或企業聯盟,適合一群互相認識的參與者共用交易資料。
但嚴格來說,Hahgraph不只是協議,更像是在底層的出塊層,而非一個完整的系統。
Hashgraph的運作原理有兩個重點
- 謠言算法(gossip about gossip)
- 虛擬投票(virtual voting)。
首先,下圖中的圓圈被稱為「事件」(event),而謠言(gossip)代表他們知道的且他們認為其他人不知道的交易項目,經過類似在辦公室內謠言傳播的方式,一段時間後,所有人都將知道此謠言。
每個節點都會傳播經過簽名的新交易和原有交易信息,以及從鄰近節點傳來的固有交易信息。
當某個隨機選出的節點接收到其他節點一系列的交易信息(hash「parent b」)後,他將重組並加入自己原先知道的交易信息(hash 「parent a」),並簽名現下的新交易,成為一個事件(event n),並繼續傳播下去。
以此圖為例Alice建立一個event n來自於兩個parent,一個是Alice原有的gossip作為parent a,另一個是Bob與他同步的gossip作為parent b,這個event內也包含Alice在這個當下要進行的交易信息。
透過加密將事件(events)正確鏈接起來,每個人都可以看到事件鏈接成的完整圖形,經過謠言算法後,每個節點都將儲存完整的網路歷史,因此要達成共識將不再需要大規模的通信。
每個節點都可獨立進行投票,在絕對多數決情況下,經由強可見(strongly seeing)、知名見證人(famous witness)和創建輪次(round created)及接受輪次(round received)的計算,就可以在沒有第三方參與的情況下,根據時間戳(timestamp)對交易達成共識,這就是所謂的「虛擬投票」(virtual voting)。
Swirlds Hashgraph 的共識機制。圖片來源:Swirlds Hashgraph白皮書
此圖是為Hashgraph的運作模式圖,五位參與者在互相共有事件之後形成共識。Hashgraph演算法保證共識能夠達成。
值得一提的是,今年三月Swirlds在發布會上宣布了一個名為Hedera hashgraph公有帳本平台。
這個平台是非認許制的,這意味著每個人都可以參與hashgraph共識,但同時理事會擁有認許的治理權。
目前理事會將有39名成員,包含Swirlds在內,且有平等的投票權利。
根據發明hashgraph演算法的Swirlds co-founder兼CTO Leemon Baird表示:
我可以猜測你會如何投票,但是你不需要投票,所以你可以免費達成共識。這是人類發送信息最快的方式。
So I can guess how you would vote, but you don’t need to vote, so you reach consensus for free. It’s the fastest way known to humanity to send information.
Hedera擁有原生的加密貨幣,如人們所期望的,也可以運行智能合約。
在進行更全面的比較之前,我們期待Hedera提供更多資訊。
與新技術比較
IOTA和Hashgraph被廣泛認為是現有區塊鏈技術的挑戰者。
在此,我們把他們放在一起檢視,試著合理的比較他們。
IOTA Tangle對比特幣和以太坊來說是個強力的挑戰者,因為他們都是非認許制的,並且都擁有原生的加密貨幣。
在相似處之外,IOTA解決了不適合機器經濟的可擴展性和高交易費的缺點。
雖然IOTA在第一次實現時遇到許多問題,但從技術的角度來看,我們仍然可以看出區塊鏈跟DAG在非認許制的競爭。
目前,IOTA的缺點在於不支持智能合約。儘管如此,一些第三方仍在努力設立IOTA上的代幣標準。
至於Hashgraph,則常在速度上被提出來比較,例如Hashgraph的速度每秒幾十萬筆,而Bitcoin每秒才3-7筆,Ethereum每秒也才10-20筆。
比特幣和以太坊需更加努力保持非認許制的特點,這是與Hashgraph之間的關鍵區別。
而Hashgraph更該與現有的認許制區塊鏈實現做比較,例如Hyperledger的實現。
或者,當Hashgraph做出如比特幣或以太坊的非認許制網絡時來做比較。不能只是個公有帳本,要是真正的非認許制實現才可。
此外,Hashgraph被定位為一個共識機制,可在其上建構一個更完整的架構。在可插拔的(Pluggable)的情況下,不該只是競爭,更可進行協作。
但Swirlds目前的商業模式更多發展在企業軟體方面,他們可能更想自己建構整個平台。
目前,Tangle和Hashgraph之間無須作過多比較,因為兩者處理不同的用例,使用DAG上也沒有太多重疊。
兩家公司都還在開發他們的技術和生態系統,之後將看到是否會有重疊,例如Tangle在企業中的使用,或者Hashgraph部屬的更加非認許制。
百家爭鳴的區塊鏈技術
正如開頭所述,新的DAG技術都正挑戰著現有的區塊鏈,無論認許制或非認許制。
了解並做出比較,讀者將可以有更巨觀的視野。
撇開投資價值,新方法的出現都是非常鼓舞人心的,讀者可繼續關注他們的發展,以及社群與業界對他們的接受度。
(本文參考自KC Tam:Blockchain and the Challengers)
?相關文章?
【動區專題】區塊鏈與它的好朋友們,比特幣、以太坊、Hyperledger 區塊鏈簡單比較
專訪Dominik Schiener,IOTA創辦人:如何在「瘋狂」的市場環境經營ICO?
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!