龍凡:如何構建高效的區塊鏈系統?

買賣虛擬貨幣

龍凡|Conflux 創始人、CEO
我在2011年接觸比特幣,是在一堂MIT的課上。比特幣作為一個案例被提出來,課堂上,我們討論了比特幣如何打通共識,以及比特幣系統設計的優點、缺點,完全從純技術的角度拆解比特幣。那時,比特幣剛剛從極客的世界走出來,開始和現實世界接觸。我對比特幣很感興趣,在比特幣5美金的時候,我在Mt.Gox買了200個,然後在它漲到50美金的時候,很愉快地拋掉了。這段經歷很好玩、很有意思。1.我隱約感到比特幣技術的革命性網際網路解決了人與人溝通問題,但人與人之間要協作完成一件事情,是需要達成共識的。共識是在溝通、資訊傳遞之上更高層次的需求。而比特幣,是第一個向所有人證明, 全世界幾萬臺機器連在一起,可以共同協作維護一個賬本。
在2017年博士畢業後,我決定全身心投入區塊鏈研究,這時候區塊鏈和加密貨幣世界已經不那麼“好玩”,也不那麼“革命”了,而更像一個“賭場”。把人民幣、美金在交易所換成BTC、ETH籌碼,然後玩各種各樣的遊戲,ICO、IEO、共振、或者直接波場、EOS上的菠菜DAPP。賭滿意了,再去交易所把籌碼換成法幣,或者只是想暫時離場,就換成變化沒那麼大的籌碼——穩定幣。實際上,此時的區塊鏈和加密貨幣領域,已經湧入了一批來自大公司和頂級大學的技術派高手,但在外界看來,區塊鏈還是貼著“傳銷”、“詐騙”這樣的標籤。我感覺自己應該做點什麼。做研究、做技術最有意思的,是找到一個未來有意義的方向,出發點跟實現財富自由、賺多少錢其實沒關係。Conflux這個專案始於《將中本聰共識擴容至每秒數千計次交易》的論文。2018年5月論文發表後,我只當是一篇論文,只是想做一個純粹研究,但很多投資界的朋友都勸我,別停留在paper上,真的來做這個事。
後來,我和導師姚期智先生有一次對話,也深刻體會到,系統理論只有被用了,才有意義。2018年6月,Conflux專案啟動。最核心的開發人員來自三個圈子:一個是清華姚班,一個是學術圈,一個是競賽圈。國際資訊學奧林匹克競賽、ACM競賽,這裡的金牌有一打。聚集這幫人,在計算機領域應該可以實現技術突破。2018年12月,正是區塊鏈投資最熊市的時候,Conflux獲得了3500萬美金的融資。這個訊息橫空出世後,好像區塊鏈領域所有目光都轉向了Conflux。2. Conflux的技術出發點事實上,如今公鏈技術在落地和商用過程中遇到各種問題,首當其衝的就是“不可能三角”——擴充套件性、安全性、去中心化不可兼得。因此,目前宣稱能“打破不可能三角”、“突破不可能三角”的新公鏈專案大受追捧,針對比特幣、以太坊的鏈上鍊下擴容方案也討論熱烈。區塊鏈圈的一些人,對不可能三角的理解,其實是有偏差的。“不可能三角”觀點肯定是對的,但它不是一個技術問題,而是一個常識。
用大白話來解釋不可能三角:區塊鏈要實現“完美安全”,需要所有人都參與交易,但是,由於參與網路的機器不同,加上每臺機器的參與能力有限,隨著處理的交易越來越多,網路速度也越來越慢,這時候就出現了“不可能三角”問題。而解決“不可能三角”方式是:要麼限制參與的人的數量,要麼限制網路處理資訊的數量。比如“分片”,就是在犧牲部分安全性,打破“所有人都驗證所有交易”限制。但所有人都忽略的一點是,一臺機器到底能夠處理多少東西。很多人刻意迴避這個問題,轉而對“不可能三角”侃侃而談。要想回答“一臺機器處理能力極限”問題,我們需要先回答另一個問題:比特幣每秒只能處理七筆交易,以太坊能處理十多筆,到底是什麼限制了他們的速度?答案是共識協議。想要所有人一起處理交易,首先要達成的一件事是,所有人都得同意交易的先來後到的順序。這個過程就是共識。比特幣和以太坊處理交易速度被限制,是因為共識協議限制——確定順序的演算法比較慢。在不犧牲任何去中心化程度及安全性的情況下,率先實現高TPS的公有鏈。這是Conflux技術的基本出發點。
Conflux首先在共識協議層面上,突破瓶頸。在確定交易順序後,網路所有人都按這個順序執行。這個執行過程,才是在考驗每臺參與網路的機器的處理能力。在處理網路上的每一筆交易時,會涉及到CPU處理、網路傳輸和轉發、硬碟的讀寫等能力。而目前,一臺普通的電腦可承載能力,也遠超比特幣或以太坊每秒七或十幾的處理次數。在我們內部實驗,把以太坊第一年幾百萬筆交易,放到Conflux鏈上來執行,能夠達2000-4000的TPS,在一個小時內能全部跑掉。如果想達到10萬、20萬TPS時,會遇到“不可能三角”挑戰,但想達到幾千TPS,其實並不需要觸碰“不可能三角”問題。在我們把所有系統結構設計正確、協議足夠最佳化,一臺計算機的極限在哪?在找到極限之前,我們沒有必要去強調自己在解決“不可能三角”問題。Conflux自主研發的樹圖結構可擴容共識演算法,使共識不再是區塊鏈效能的瓶頸。3. 另一個創新是高速的POW協議
雖然很多人宣揚“區塊鏈改變世界”,但現在區塊鏈能做的事情,無論是隱私還是交易,一箇中心化的系統都能夠做得更好。區塊鏈唯一的價值,就是它產生的結果是由參與這個區塊鏈一半的人的信譽一起來保證的。除非超過一半的人在做惡,否則區塊鏈是遵照規則執行,結果是不可逆的。而任何一箇中心化組織,雖然效率高,但它永遠有兩個風險,一個是中心做惡,另一個是中心宕機。區塊鏈在解決信用價值,其信用價值是參與共識的人來保證。網際網路沒有“身份”的概念,比如論壇中成批的馬甲號,無法確定一個賬號背後到底是誰。而沒有確定的“身份”導致了一件麻煩事:如何在網際網路上定義“一人一票”,如何定義“多數人同意”?為了實現抗女巫攻擊,即一個惡意節點有多個“身份”,設計者需要找到一個不能被大量偽造複製的東西。POW找到計算資源,POS找到系統裡面的錢、Stake。但POW和POS不是共識演算法,它們是抗女巫攻擊的一種機制。中本聰共識、拜占庭共識時,這些是“共識演算法”。POW和POS只是決定了在共識演算法上的投票機制。打個比方,共識演算法是決定“開會”的形式, POW、POS是決定誰能參與投票。作為一個新公有鏈,我希望鏈上產出、驗證的位元一開始就是有信任價值的。因此我希望,最開始參與共識的人,能夠儘量多。
當然,POW和POS各有千秋,但我覺得一個公鏈的初期一定需要是POW。那麼多POS鏈,最開始投資人和專案方是唯一擁有stake的,所有共識都是他們說了算。也許他們所有的信用價值加在一起,還不如中心化的騰訊、阿里巴巴,那我們為什麼不直接用微信支付、支付寶呢?但POW協議,目前面臨礦池集中化、算力軍備競賽、資源浪費等問題。這些問題,是因為POW協議設計上一些機制導致的。比如比特幣每十分鐘才出一個塊,大家搶塊概率像中彩票似的,為了平滑收益,最終攢出了礦池。Conflux的另一個突破是,做一個高速的POW協議。我們出塊速度很高,最新的測試網上,我們出塊的時間是5秒鐘1塊,1塊4M;我們下一個版本希望做到1秒鐘4塊,塊的大小在200k-300k之間。除了避免出現“中彩票”現象,Conflux在一些博弈論的機制也會防止大的礦池對小的礦池、個人礦工有不對等的優勢。比如,目前礦池會收1%-2%的手續費,如果能讓加入大礦池的優勢低於1%-2%,礦工也就沒有加入礦池的必要。
4.從高效共識到高效區塊鏈系統目前區塊鏈的發展遇到了幾個關鍵性的挑戰:首先便是我們如何用去中心化的方式,系統的將外部世界的資訊搬運到區塊鏈上;此外還有,如何讓區塊鏈在不犧牲去中心化和安全性的基礎上接受更多的資料。如果從整體上來分析區塊鏈,當下的區塊鏈技術包含四個維度,其中交易速度快的優點最為顯著,其次是網路互聯,然後是區塊鏈資料的儲存功能,最弱的是共識機制的發展。因此,如何解決共識機制的短板是區塊鏈技術發展的重中之重。與此同時,我們同樣也不能忽視其他三個方面的發展。Conflux則能很好的解決上述的種種痛點,和其他公鏈不同的是,Conflux採用獨特的樹圖結構,不同於鏈或 DAG 只有一類指標,它的每個區塊都有兩種指標,一種指標指向父親區塊,且只能有一個父親,與傳統的鏈式結構一樣;一種指標指向引用區塊,需要引用多個區塊,表達不同區塊間的先行發生關係。

所以,在 Conflux 裡有兩種型別的邊,父邊(父親指標確定的邊)和引用邊(引用指標確定的邊)。如果只看父邊,賬本的結構是一棵樹;如果同時看父邊和引用邊,賬本的結構是一個圖。透過把把所有的區塊都算進來,也就讓所有區塊都貢獻到系統的吞吐率上,這使得系統的瓶頸就不再是共識機制,而是網路本身。這樣一來,只要網路足夠快,系統的效能就可以不斷攀升,從而使得整個系統在不犧牲安全性的同時獲得更高的吞吐率。

Conflux能夠同時具備去中心化、最優吞吐量和最優延遲驗證三個優點。

在最優吞吐量和延遲驗證方面,Conflux能夠達到9.38Mbps,在一秒鐘之內可以驗證4個區塊。截至目前,Conflux已經擴充套件到了12000個全節點執行。目前,Conflux鏈上平均每秒有1392到3480筆交易產生,而平均17秒就能確認一筆交易。

Conflux 所採用的樹圖結構保留了所有區塊,透過設計安全的區塊排序演算法,在保證去中心化的同時,實現了高 TPS 下的安全性。面對樹圖結構系統開發帶來的各種挑戰,Conflux 作為探路者還對可驗證儲存、合約執行等環節進行了重新設計,完成了從高效的共識到高效區塊鏈系統的重要一步。

5.公鏈創業的視窗期已經結束

2018年曾被譽為公鏈元年,在ICO亂戰後,帶有明星光環的公鏈們依次登場,並且集中在近期幾個季度,正式推出主網。

Conflux雖然自帶光環,但我並不認為公鏈領域“競爭激烈”。

區塊鏈是一個完全的藍海,每個人都沒有地圖,每個人的航向也不一樣。只是沒有人知道,自己行駛的方向能否找到區塊鏈和加密貨幣世界的寶藏。

只是現在整個加密貨幣的市場是以幣價來評判專案好壞,只要幣價大漲,無論技術是瑕疵、是誇大,都能被一些投資者們忽略、原諒。如果希望買一個幣,下個月就能漲百倍,那就應該努力尋找、發掘,類似共振幣型別的,爭取在它崩潰前跑出來。

我知道,一個公鏈有“木桶效應”,如果想整體效能提升到幾千量級,需要把共識演算法、網路層、計算層等每一層都設計好,這才是最難的,做到了才是一個好專案。

目前公鏈創業的視窗期已經結束,現在很難讓資本再帶動一個公鏈。

“Conflux”是我拍腦袋想的名字。Conflux本意,是“很多東西匯聚在一起”。這就是我所向往的:一個區塊鏈平臺應該是讓所有有價值的資訊匯聚在一起。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;