解密迅雷鏈獨有同構(gòu)多鏈框架 掃清開發(fā)障礙

迅雷鏈技術(shù)沙龍廣州站于11月10日如期舉行,在本次沙龍上,迅雷鏈研發(fā)負(fù)責(zé)人張慧勇向開發(fā)者分享了迅雷鏈達(dá)成百萬級TPS的秘密:即同構(gòu)多鏈框架,以及迅雷鏈選擇PBFT共識算法的原因和優(yōu)勢。其中,重點分析了迅雷鏈在掃清開發(fā)障礙、降低開發(fā)門檻方面所作的具體工作,讓到場的區(qū)塊鏈開發(fā)者們對迅雷鏈在應(yīng)用開發(fā)上的優(yōu)勢有了更加直觀的認(rèn)識。
為什么要追求百萬級的TPS?
很多開發(fā)者對兩個問題充滿了疑惑,第一,迅雷鏈百萬級TPS的性能對于目前的交易需求來說是否真的有必要?第二,實際應(yīng)用中,是否真的達(dá)到了如此高的性能?
張慧勇首先肯定了第一個疑惑,百萬級的TPS是非常有必要的。如果我們相信區(qū)塊鏈?zhǔn)桥c互聯(lián)網(wǎng)同等量級的基礎(chǔ)服務(wù),那就一定需要一個非常高的交易處理能力,一方面是要滿足應(yīng)用對TPS能力的低成本要求,也就是性能越高,單位能力的成本就越低;另外,只有足夠高的性能,才能支撐具備想象空間的各種應(yīng)用,不能讓應(yīng)用實現(xiàn)的可能,受制于底層性能的瓶頸。
在張慧勇看來,百萬級的TPS并不能算“完美”性能。因為一旦有大規(guī)模的落地應(yīng)用,其并發(fā)交易處理請求是非常驚人的。張慧勇以最簡單的運動應(yīng)用舉例,運行時,應(yīng)用需要記錄人的位置、心跳等指標(biāo)的數(shù)據(jù)狀態(tài)、運動頻率等。數(shù)據(jù)能夠及時同步到鏈上是所有用戶的根本需求,假如有1萬人同時使用,就會產(chǎn)生高達(dá)幾十萬的并發(fā)請求。如果用戶規(guī)模繼續(xù)擴(kuò)大,百萬級的TPS同樣會面臨性能不足。
有的人提出了一些變通處理的方案,即在較低TPS的基礎(chǔ)上實現(xiàn)高并發(fā)的數(shù)據(jù)上鏈。其原理是設(shè)立一個中繼服務(wù)器,所有實時數(shù)據(jù),先上傳服務(wù)器,再分批次地寫到區(qū)塊鏈,這樣可以大大降低對主鏈性能的要求。但這樣的方案其核心問題是,中繼服務(wù)器的存在是違背區(qū)塊鏈原理的,有這樣一個中心化的節(jié)點存在,整條鏈的可信度都會下降。所以綜合來看,百萬級乃至更高的TPS非常有必要。
如何實現(xiàn)百萬級TPS?
[1]
迅雷鏈同構(gòu)多鏈框架
同構(gòu)多鏈框架帶來了性能的提升,加強(qiáng)了業(yè)務(wù)的可擴(kuò)展的,并縮小了存儲需求。多鏈?zhǔn)侵付鄺l鏈,不同用戶的數(shù)據(jù)會落到不同的鏈上,同構(gòu)就是每一條鏈用的程序是一樣的。單個節(jié)點只需負(fù)責(zé)單一鏈上的相關(guān)數(shù)據(jù),不僅對存儲的需求變小,同時性能得到了極大提升。而且由于多鏈?zhǔn)强梢詿o限擴(kuò)展的,再加上了同構(gòu)的特性,由此又得到性能上的擴(kuò)展。
增加多鏈時,性能的損耗幾乎可以忽略不計,整體上呈線性增長,并不會因為同時運行多條鏈,而導(dǎo)致性能受損。目前,迅雷鏈獨有的同構(gòu)多鏈架構(gòu)已得到驗證,引領(lǐng)了行業(yè)趨勢。張慧勇認(rèn)為,同構(gòu)多鏈會成為區(qū)塊鏈技術(shù)的未來方向。
為什么選擇PBFT共識算法?
PBFT結(jié)構(gòu)示意圖
迅雷鏈選擇PBFT算法的原因,其一,商業(yè)級的應(yīng)用難以選擇隨機(jī)性的功能算法,用戶無法接受區(qū)塊鏈產(chǎn)生的分叉。比如,購買時下單,用戶很難接受賣家一會說這個定單交易成功,一會又說不成功?;蛎髅髻I到了,最后交易沒有達(dá)成。其二,商業(yè)級應(yīng)用都需要秒級的確認(rèn)能力。隨機(jī)選擇算法的區(qū)塊鏈,確認(rèn)需要少則幾分鐘,多則數(shù)小時乃至一天,顯然無法實現(xiàn)商用。
PBFT就是一種控制類的算法,它與隨機(jī)選擇算法不同,在一致性和秒級確認(rèn)上有突出優(yōu)勢,能夠保證不分叉、秒級出塊,具備了商用的基本條件。
不過PBFT算法也存在缺點,就是會面臨停機(jī)可能性,當(dāng)有1/3的節(jié)點故障時,就會導(dǎo)致全鏈停機(jī)。但是這個問題,正好用迅雷鏈的特性來加以解決,玩客云構(gòu)建的共享計算為迅雷鏈提供的150萬個共享節(jié)點,正因為有如此大的量級,所以迅雷鏈不會面臨節(jié)點不夠的問題,可以從容擇優(yōu)選取優(yōu)質(zhì)節(jié)點來作為記賬節(jié)點,保證整個鏈永不停機(jī)。
迅雷鏈的服務(wù)層上增加了哪些東西?
在應(yīng)用實際開發(fā)過程中開發(fā)者對區(qū)塊鏈技術(shù)還比較陌生,尤其對區(qū)塊鏈不夠熟悉。為了降低開發(fā)者門檻,更易使用,迅雷鏈在服務(wù)層上增加了很多特色內(nèi)容。
1、合約中心
迅雷鏈提供的智能合約模板,把原本需要從頭設(shè)計開發(fā)的區(qū)塊鏈智能合約,整理成一個個可以輕松調(diào)用的模板,與當(dāng)前通用的IT調(diào)用方式類似,以方便開發(fā)者接入。種類豐富,覆蓋大部分常見的業(yè)務(wù)場景,未來還將繼續(xù)增加模板類型。
2、迅雷鏈文件系統(tǒng)(TCFS)
迅雷鏈推出的文件系統(tǒng),即知名的TCFS,解決了大文件、大數(shù)據(jù)上鏈存儲的問題。在此之前,區(qū)塊鏈上鏈存儲的成本非常高,導(dǎo)致很多應(yīng)用無法實現(xiàn)。TCFS系統(tǒng)不但解決了鏈上數(shù)據(jù)保存的技術(shù)問題,更讓存儲成本變得可以接受,成為區(qū)塊鏈應(yīng)用能夠落地的前提之一。
3、迅雷鏈外圍輔助系統(tǒng)
為降低區(qū)塊鏈應(yīng)用開發(fā)門檻,迅雷鏈推出多種外圍輔助系統(tǒng),其中包括區(qū)塊鏈虛擬機(jī)的更新、業(yè)務(wù)流程的設(shè)計、技術(shù)人才的招聘和培訓(xùn),以及對區(qū)塊鏈改造的咨詢建議等。
張慧勇表示,迅雷鏈希望通過多樣的輔助系統(tǒng),為那些想要接入?yún)^(qū)塊鏈、使用區(qū)塊鏈的傳統(tǒng)企業(yè)減負(fù),為他們賦能,讓企業(yè)真正的把區(qū)塊鏈“用”起來。
演講最后,張慧勇給有志于區(qū)塊鏈的開發(fā)者和企業(yè)兩個建議:第一,不要一上來就做深層的改變,而是從一個新的業(yè)務(wù)著手,可能會更簡單一些;第二,不要為了區(qū)塊鏈而區(qū)塊鏈,最好是在對自身業(yè)務(wù)流程有所思考之后,再考慮如何使用區(qū)塊鏈進(jìn)行改造,這樣區(qū)塊鏈轉(zhuǎn)型才能更方便、更快捷。讓企業(yè)以熟悉的方式,先把區(qū)塊鏈用起來,然后再優(yōu)化、迭代、變革,最終真正通過區(qū)塊鏈的特性,來解決企業(yè)發(fā)展業(yè)務(wù)過程中遇到的真實問題。
相關(guān)文章
電腦音頻播放器哪個最好用? 10款好用的Windows本地音樂播放器推薦
再好聽的音樂也要有音頻播放器才能順利播放,而有些音頻播放器會損傷音樂原本的音質(zhì),或是廣告太多等,下面就為大家推薦一些最好用的Windows端音頻播放器,讓你收獲更好的2025-01-16抖音電腦版怎么設(shè)置直播可見范圍? 抖音電腦版設(shè)置誰不能看的技巧
有的小伙伴在使用抖音直播伴侶的過程中想要更改直播間的可見范圍,設(shè)置只給粉絲看,或是不給某些人看,想要完成該設(shè)置,詳細(xì)請看下文介紹2024-09-23優(yōu)酷彈幕怎么沒了怎么辦? 電腦上優(yōu)酷視頻不顯示彈幕的解決辦法
看視頻很喜歡看字幕,但是發(fā)現(xiàn)電腦端的優(yōu)酷視頻竟然沒有字幕,該怎么辦呢?下面我們就來看看優(yōu)酷顯示視頻字幕的教程2024-08-09PotPlayer 和 LAVFilters配置滿足基本BDRIP回放需求
potplayer播放器內(nèi)置的解碼器是非常強(qiáng)大的,幾乎能流暢播放所有音視頻文件,但是因為一些特殊需求,或者想獲得更高級的觀賞體驗,更流暢清晰的畫面質(zhì)量,我們就需要借助第2024-07-30基于PotPlayer 和 madVR 的播放器設(shè)置教程
Potplayer 是高清影視常用的播放器,想要結(jié)合madVR實現(xiàn)最強(qiáng)畫質(zhì),該怎么操作呢?下面我們就來看看詳細(xì)的設(shè)置圖文教程2024-07-30PotPlayer+LAV+MadVR+XySubFilter配置保姆級教程
Potplayer 作為 Windows 上很受歡迎的一款播放器,公認(rèn)的最佳配置為結(jié)合 LAV、madVR、XySubfilter 進(jìn)行使用,本文將介紹一種對其簡單配置的方法2024-07-30PotPlayer播放器中如何進(jìn)行截圖 PotPlayer播放器中進(jìn)行截圖的方法
PotPlayer播放器中如何進(jìn)行截圖?依次點擊視頻——圖片截取,在子選項中就可以找到截圖功能,下方是關(guān)于如何使用PotPlayer播放器進(jìn)行截圖的具體操作方法2024-07-30potplayer如何設(shè)置多媒體鍵用于全局窗口 potplayer設(shè)置將多媒體鍵用于
potplayer如何設(shè)置多媒體鍵用于全局窗口?可以進(jìn)入到選項設(shè)置的窗口中,點擊打開快捷鍵選項,找到其中的多媒體鍵設(shè)置選項,之后進(jìn)行相應(yīng)的設(shè)置就好了2024-07-30PotPlayer如何將波形音量設(shè)為最大值 PotPlayer系統(tǒng)波形音量設(shè)為最大值
PotPlayer如何將波形音量設(shè)為最大值?只需要進(jìn)入到音量控制設(shè)置的窗口中,在設(shè)置頁面上將系統(tǒng)波形音量設(shè)為最大值選項進(jìn)行勾選上,之后點擊確定按鈕就可以了2024-07-30PotPlayer使用LAV+madvr渲染器播放4k原盤掉幀卡頓怎么辦?
madVR是一款非常強(qiáng)大的視頻渲染器,配合PotPlayer播放視頻可以提高畫面質(zhì)量,提高視頻幀率,讓畫面看起來更加生動流暢,但是出現(xiàn)掉幀怎么辦呢?下面我們分享有效的解決辦法2024-07-25