共識技術分析系列二:Conflux共識演算法
一、Conflux 簡介
Conflux是一個融合了DAG技術和POW共識機制。和比特幣或以太坊相比,礦工節點是可以並行出塊的,而不用擔心合法的區塊被淘汰或失效,擴充套件了交易併發度和系統吞吐量。其論文下載地址為:https://arxiv.org/pdf/1805.03870v3.pdf
該論文的作者之一包含清華大學的姚期智(圖靈獎獲得者),根據 Conflux官方資訊,姚期智將擔任創始首席科學家(Founder Chief Scientist),並將帶領整個Conflux 協議的理論設計工作。
2018年12月4日 宣佈獲得 3500 萬美元融資,估值超過 4 億美元,在幣圈大熊市的情況下,能獲得這樣大額投資是非常難得的。 Conflux共識機制借鑑了2015年的 GHOST規則,使用DAG資料結構組織區塊,用子節點最多的演算法來確定主鏈(Pivot Chain)並用POW來生成區塊。
宣稱在雲伺服器(Amazon EC2)上部署模擬節點實驗資料吞吐量能可達到5.78GB/s,確認時間4.5-7.4分鐘,交易速度4000-6000TPS。
二、Conflux探討
1. 共識演算法論文的問題
很多人讀了Conflux的“論文”,都發現演算法大部分都來自以色列人Yonatan Sompolinsky 和 Aviv Zohar 的 GHOST,原創性很少,僅僅把“最大子樹” 改為“最多子節點”,並末尾還攻訐了dagLabs團隊的Phantom,而事實上dagLabs 是全世界研究區塊鏈 DAG 技術最早和做的最資深的團隊(只融了200萬美元並且沒有發幣,倒是技術被別人用來圈錢發幣,一個是韓國的Fantom,一個就是中國的Conflux),他們先發明瞭用“最大子樹”,而不是“最長子鏈”作為規則的PoW主鏈選擇演算法,然後發現非主鏈上的區塊也可以被包括進來,而不是丟棄掉,這樣網路的實際 TPS 就可以提高很多。於是他們又先後發明了Spectre 和 Phantom 兩個演算法。Spectre 裡區塊間加入了偏序關係,Phantom里加入了全序關係。這個全序關係很重要,為什麼呢,因為有了全序就可以支援圖靈完備的智慧合約。
Conflux所依賴的共識基礎論文至今為止還沒有在任何學術會議,期刊等等渠道,經過同行審議之後發表。它第一次投稿是今年五月份的OSDI,第二次是今年底的NSDI,前者和SOSP並列是計算機系統領域的最頂級會議,每雙數年是OSDI,單數年是SOSP。MIT的圖靈獎得主Silvio Micali的Algorand就是在2017年的SOSP發表的。但是 Conflux 投稿 OSDI 2018 被拒了,今年底的一個比 OSDI 低一檔的會,NSDI,Conflux投稿,又被拒了。因此 Phantom 和 Conflux 究竟誰優誰劣,還不能下定論。
2. 使用名教授進行宣傳的問題
Conflux 在期初各種宣傳中都大篇幅強調姚期智的角色,強調專案是姚期智創立的,然後最近官方開始收斂甚至開始否認說以前的文章都不是他們寫的,是媒體的編撰,姚期智教授只是受邀擔任首席科學家,有種牛皮吹大了往回收的意思。
同時值得注意的是,被用來比較的MIT大學Silvio Micali教授的Algorand專案,Micali經常主動參加各種活動宣傳 Algorand,但是姚期智從來沒有主動承認過自己跟Confux的關係,也從沒有主動講過Conflux,更多就像掛了名佔了個臺。
3. 區塊的確認時長問題
官方資料確認時間是4.5-7.4分鐘,這麼長的確認時間,如果不出現分叉則必然會丟棄大量的有效交易,具體丟棄多少官方沒有資料,官方號稱可達到4000-6000的TPS,但是我個人覺得在這麼長的確認時間下談任何高的TPS都是沒有實際應用價值的,可以想象一下我們使用銀行卡(或支付寶)付賬要等6分鐘才能確認的情況下商家和使用者雙方的焦慮程度。
4. DAG併發提高TPS的虛偽
所有基於DAG的鏈幾乎都提到了可以併發出塊的問題,這好像是他們的特別優勢,在不需要最終確認或智慧合約並允許大量重複交易的情況下,確實可以並行出塊,但是這樣的塊是無任何價值的,如果需要最終確認或智慧合約,必然需要一個確定的全序關係,而要形成這樣的全序關係就只能乖乖地做關鍵共識的線性計算。
因此大量的DAG專案並沒有帶來高TPS,有的甚至比普通PBFT還低很多(如Byteball)。而專案在立項的時候大多鼓吹併發並高TPS來實現圈錢目的。
5. 主鏈的選擇問題
Conflux 通過Ghost規則時間軸+最多子節點來選擇主鏈得到一個全序關係,這使得有效交易丟棄變得十分的嚴重並且交易時長無法確定,確認時間長就給作惡者留下了時間空間,使得這個過程更容偽造,理論上,如果有足夠的算力,足夠的出塊速度,產生一條更長又更多節點的隱藏鏈,就可以把之前的區塊推翻。
(免責宣告:本文僅代表作者個人觀點,與巴位元無關。)