作為一條底層主鏈,迅雷鏈的快速崛起簡直不可思議。一方面,主鏈是整個行業最為擁擠的賽道,調查資料顯示,目前區塊鏈有5000個公鏈,比國內有註冊的區塊鏈開發工程師人數還要多幾倍。同時,主鏈面臨的競爭也很激烈,國內有的是起步早、團隊大的主鏈專案,其中很有幾個在世界範圍都比較知名的專案,遑論還有自帶大神光環的國外專案,如以太坊、EOS等。反觀迅雷鏈,2018年4月才正式推出,團隊也不熱衷宣傳,更沒有什麼大佬當顧問,也與傳說中的三點鐘社群沒有任何關係。
但事實證明,迅雷鏈成為目前最受開發者歡迎的主鏈,也是應用數量最多的主鏈。光是7月份的一場的應用大賽,迅雷鏈就獲得了500多款高實用性的應用。近期舉辦的4場巡迴沙龍上,也擠滿了開發者——而不是區塊鏈沙龍上常見的所謂投資者。
迅雷鏈為何會贏得如此多的開發者支援?讀懂下文的三個關鍵詞,也許你就能明白開發者選擇迅雷鏈的理由。
同構多鏈: 高效能和高擴充套件性
同構多鏈是迅雷鏈技術架構的核心,幾乎所有效能表現都基於這一框架而得以實現。
所謂多鏈,是指迅雷鏈同時執行著多條鏈,而不是一根單鏈打天下;所謂同構,則是說構成這些鏈的程式是一樣的,二者加起來就叫同構多鏈。
這個框架的好處是,能夠帶來超高的併發處理效能,並可非常方便地進行擴充套件。迅雷鏈總工來鑫曾很形象地解釋了其中的技術邏輯,她以營業廳打比方。一條鏈就像一個營業廳,交易處理就相當於使用者到營業廳辦理業務。如果只有一個營業廳,使用者一多,櫃員處理不過來,就會排隊,要等很久。這就是目前很多單鏈主鏈所面臨的問題,業務處理不過來,等待時間太長。
而單個營業廳再怎麼進行擴容,其業務處理能力的提升也是有限的。最好的辦法是什麼呢?是再開幾家營業廳,讓使用者就近、分散辦理業務,這是現實生活中普遍採用的最為合理的處理方式。營業廳雖然不同,但處理的業務是一樣的,這樣使用者在哪兒辦理都行,就不用擠到一起來排隊了,業務處理的效率自然就提升了。
這就是同構多鏈的通俗解釋,通過這樣的技術框架,迅雷鏈實現了百萬級的超高TPS效能,解決了區塊鏈的擴容問題,擁有非常方便的擴容處理能力。當需要對效能進行擴容時,就多開一條鏈。
當然同構多鏈在邏輯上非常簡單,但具體的技術實現其實是很複雜的。事實上,目前整個行業都在學習如何實現同構多鏈,能夠拿得出手的卻並不多,可見其技術難度非常高。
對於開發者來說,要想做出能夠實際落地的應用,主鏈的TPS效能是基本前提之一,沒有足夠高的效能支撐,再好的應用也無法實際執行,更談不上使用。
同時擴充套件性也是必須要考慮的因素,應用一旦開始投入市場,使用者數量如果出現增長,就需要對效能進行擴充套件,否則服務跟不上使用者增長的速度,會帶來相當糟糕的體驗。
迅雷鏈的TPS處理能力足夠高,完全能夠滿足絕大多數實際商業場景的需求,同時又能方便、易行地進行擴容,成為眾多開發者選擇迅雷鏈的首要原因。
DPoA+PBFT共識機制:秒級確認速度和永不分叉
在實際業務的開展過程中,開發者還必須考慮兩個因素,其一是交易確認速度要足夠快,使用者需要得到即時反饋,否則鏈上的任何體驗就會崩潰。而傳統區塊鏈的交易確認速度從幾秒到幾小時不等,這明顯是行不通的。
其二是傳統區塊鏈一直有兩大操作與現實場景需求不符。一是分叉,二是回滾,在區塊鏈的技術領域,大多數人的共識一旦達成,就可以進行分叉或者回滾。但這在實際商業場景中並不可行,比如你在鏈上購物,頁面彈出下單成功,這時出現回滾,剛才的下單無效了,你還需要再操作一遍,這樣的體驗是完全無法接受的。現實場景中,對已確認交易的更改,只與交易雙方有關,雙方都同意才能更改,只要有任何一方拒絕,更改都不能實現,哪怕全世界都同意也不行。
迅雷鏈根據實際需求,進行了相關效能上的修正。一是實現了秒級的交易確認速度,二是實現了強一致性,永不分叉。
依靠的便是迅雷鏈的DPoA+PBFT共識機制。傳統的POW共識機制是無法實現秒級確認的,因為它需要將交易資訊廣播到每一個節點,所有節點都通知到後才能確認。所以迅雷鏈採用了新的共識機制,迅雷鏈基於海量的玩客雲裝置作為記賬節點來構建區塊鏈服務,並從中挑選那些網速穩定、傳輸順暢同時計算能力也夠強的節點挑,形成一個備選池,定期從中挑選一些節點作為共識節點,參與記賬,這樣就能實現很快的出塊速度。
這些節點採用改進的PBFT演算法,以保證分散式系統中的強一致性,並具備一定的容錯和防拜占庭節點作惡的能力,提高了演算法的可用性。
那又如何保證這些記賬節點不被人控制呢?方法很簡單,就是把這些共識節點定期洗牌、重選,迅雷鏈有150萬個記賬節點,誰也說不準哪些節點能夠被選中,自然不可能對記賬節點進行控制。而且這些節點一直在不斷增加,所以永遠不用發愁沒有可用的記賬節點。
就這樣,迅雷鏈解決了區塊鏈應用在實際落地中最頭疼的兩個問題,為贏得開發者再添籌碼。
TCFS檔案系統:讓大資料上鍊得以成真
區塊鏈應用落地還有一個攔路虎,就是檔案資料的存放問題。只要是應用,就有資料儲存的需求,傳統網際網路是通過設定機房、買伺服器的方式來實現,區塊鏈去中心化的特性自然不允許還這麼搞。傳統區塊鏈上的儲存空間由每一個節點提供,而且所有節點都要存放完整、相同的內容,以此確保共識性。這就嚴重阻礙了大檔案、大資料的上鍊存放,因為單個節點的容量有限,無法儲存過大的資料,而沒有足夠多的資料,應用所提供的服務就無從展開。
迅雷鏈檔案系統TCFS,通過冗餘編碼技術,解決了這個問題。
簡單來說,冗餘編碼就是把檔案切成40份,但每份並非原始檔的1/40,而是1/30或者是1/20,這樣所有切片加到一起,可能是原始檔的兩倍大小,其中是存在冗餘的,所以叫冗餘編碼。
切片完成後,把40個切片分別存放到40個節點上,這樣每個節點所需的儲存空間就不用很大。同時由於切片中存在冗餘,所以即便這些節點中,有一半都不線上也無所謂,剩下的那些線上節點上的切片,依然能夠還原出整體檔案。
這就是冗餘編碼技術的意義,以及對傳統區塊鏈檔案儲存痛點的解決方法。
另外區塊鏈檔案儲存還有個問題,就是節點為什麼要幫你存放資料?這就需要依靠激勵機制,TCFS檔案系統中創造了非常完善的激勵機制,可以確保150萬共享節點願意且積極地存放檔案資料。實現了低成本的同時,還確保了高可用性,並且跟迅雷鏈緊密結合,有利於開發者快速進行區塊鏈應用開發。
既有超高效能,又能秒級出塊,還能非常方便的進行效能擴容,並無需擔心主鏈分叉造成的業務崩潰問題,另外資料檔案的儲存問題也得到完美解決,基本上,目前區塊鏈開發者所擔心的問題,在迅雷鏈上全都得到圓滿解決。這種情況下,迅雷鏈自然成為開發者最好的選擇。
當然,迅雷鏈對應用開發的一貫重視,包括配套的開發工具和扶持政策,比如融資、流量等方面的幫扶,也都成為吸引開發者的重要因素。但從根本來說,上述三個關鍵詞,是決定區塊鏈開發首選迅雷鏈的核心原因,弄懂它們,就明白為何區塊鏈開發者的圈子裡迅雷鏈會如此大受歡迎,同時也就明白,到底什麼才是主鏈的正確發展方向。