聊聊DAG的共識和牛逼的hashgraph

轉自:http://www.bitcoin86.com/block/19171.html

可能因爲IOTA和byteball的原因,一提到DAG,很多人就會擔心DAG可能有中心化的問題。包括iota依賴validator節點,byteball依賴witness節點。這篇文章嘗試爲iota和byteball正名,更重要的,介紹一個讓我很興奮的東西,hashgraph。

什麼是區塊鏈的共識

談到區塊鏈,共識是個繞不開的話題。到底共識在解決什麼問題呢?

用戶A在銀行賬戶裏有100塊,這100塊A只能使用一次,在A轉給B 100塊後就沒辦法再給C轉100塊。這看起來是個再自然不過的邏輯,實際上依賴了銀行這個中央數據庫在幫你記賬,銀行在維護所有交易的順序,銀行在維護所有參與者的共識。

而在區塊鏈中,沒有中央數據庫來統一記賬,A轉給B 100塊的同時也跟C轉100塊,如果沒有全局認可的交易順序,B跟C有可能都以爲自己收到了來自A的轉賬交易,就有可能造成雙花(Double Spend)問題。所以共識機制的作用,就是維護一個大家都認可的交易順序。

而中本聰在比特幣網絡中設計了POW(Proof Of Work)工作量證明機制,礦工通過競爭一個時間段內的交易打包權利,獲勝的礦工根據手續費高低挑選這個時間段內發生的交易的交易順序,並且把這些交易打包到一個區塊中,區塊跟區塊之間鏈接完成這個網絡的交易時間順序,完成比特幣網絡的共識。

不管是POW、POS還是DPOS,這些共識算法通過競爭獲得產生區塊的方法確實解決了共識問題,卻不能稱得上優雅,每一個區塊的形成過程似乎都是在把大部分交易拒之門外,留下一些滿足礦工口味的交易打包到區塊中。

基於區塊的共識有哪些問題

不夠快

礦工之間通過競爭一段時間的交易打包權獲得激勵,每筆交易被確認,首先需要足夠幸運或者花足夠多手續費纔有可能被礦工選中。交易即使被礦工選中,還是需要等待一個出塊時間。在付出足夠多手續費之後,比特幣要十分鐘纔可以被打包到區塊,以太坊也要十幾秒才被得到確認。不管是比特幣還是以太坊,性能上講都離大規模商用有很遠距離,完全不能滿足類似visa的使用場景。

不公平

礦工到底在扮演什麼樣的角色?中本聰白皮書中,通過經濟模型刺激,礦工爲了獲得coinbase激勵和交易手續費,會拼命破解算力難題不會作惡。然而事實上礦工已經在利用自己的出塊權,一些礦工組成了聯盟,收“交易加速費”,把錢直接交給聯盟,這筆交易就可以快速獲得確認。這還算說的過去,反正普通用戶要麼提高手續費,要麼直接用錢賄賂礦工。更嚴重的例子,在一些吸引眼球的ICO項目火爆的募集資金過程中,某些礦場會優先確認自己的交易,即使普通參與者設置的手續費更高,網速更快,礦工壓根無視你的交易,當然與投資機會無緣。最終,優質ICO項目居然都被礦工搶走。礦工,寧有種乎?

DAG是不是爲了性能犧牲了安全

之前文章提到過,DAG跟區塊鏈的結合,從開始出現就是爲了解決區塊鏈的性能問題,從結合block和DAG做側鏈思路,到摒棄block概念的DAGCoin,再到已經取得一定成功的iota和bytebal。不少人在質疑這些DAG應用的安全性,是不是還滿足去中心化的的共識。包括iota是不是過多依賴還沒開源的validator,byteball的witness節點有沒有作惡空間。

這裏推薦看一下byteball創始人Tony在一個bar裏的訪談,https://www.youtube.com/watch?v=M-gmFnh24Lc 。我們發現在以區塊組織交易結構的共識中,打包交易的礦工是擁有相對很大的操作空間的,礦工可以選擇哪些交易進入區塊,哪些交易不被處理,甚至可以只轉發滿足自己利益的交易,因爲在一個很長的出塊時間裏,礦工有足夠空間從幾萬幣交易中選擇自己看中的交易來組合打包,因爲只要自己獲得了出塊權利,這個時間段的交易哪些被確認就是自己說了算。而在byteball的witness節點中,witness節點能做的事情很有限,收到一筆交易後,能做的只是記錄交易的時間戳,因爲沒有出塊時間留出來的時間空擋,需要馬上處理下一筆交易。所以byteball創始人一直強調不要把witness跟礦工混淆,witness扮演的更多的是一個checkpoint的角色,只是幫系統記錄交易發生的先後順序,沒有留出作惡的空間。

更進一步的,爲了讓見證人節點更加安全去中心化,也有不少團隊提出了自己的方案,包括信源鏈考慮見證人節點之間通過挖礦保證安全,萬物鏈ITC提出在見證人節點之間通過PBFT公式保證見證人節點的安全。

hashgraph,讓DAG至少跟比特幣一樣安全

hashgraph

如果還是不能打消對DAG的疑慮,hashgraph至少讓DAG跟比特幣一樣安全,而且更加公平。

hashgraph是Swirds公司抱有專利的一種分佈式賬本共識,也沒有區塊概念,交易跟交易直接組成DAG。目前Swirds公司沒有做關於ICO的打算,目前更多在以技術服務商的身份在供應鏈和物聯網方向做應用落地。Swirds CTO Leemon Baird是個非常有魅力的演講者,推薦Leemon在HBS的演講,https://www.youtube.com/watch?v=pOc23lJw7ls

hashgraph通過gossip of gossip協議,讓每個節點都維護着所有節點跟其他節點的通信歷史,每個節點在完成拜占庭協議時,居然不需要經過網絡多輪通訊,節點本地環境就可以直接模擬拜占庭決議。

性能角度,目前hashgraph共識已經滿足了幾十萬的併發,性能瓶頸已經不是協議本身,而是到了網絡IO層。

安全角度,hashgraph的數學上可以證明滿足異步拜占庭容錯,至少跟比特幣一樣安全。

公平角度,沒有礦工這種超級權利的角色存在。

Leemon Baird有提到,hashgraph的共識也很適合構建公有鏈。關於hashgraph共識的詳細內容,可以關注作者後續文章。

寫在文末

hashgraph的出現,證明DAG在安全性上已經不需擔心,至少跟比特幣一樣安全,而DAG的性能更是卓越。基於區塊的區塊鏈結構只是分佈式共識協議實現的第一次嘗試,新的優秀的共識協議會繼續出現,而DAG,就是一個非常值得嘗試的方向。

來源:JustBurning
發佈了85 篇原創文章 · 獲贊 59 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章