人妻少妇乱子伦精品_日韩人妻潮喷视频网站_日本最新最全无码不卡免费_日韩AV无码中文

當(dāng)前位置: 首頁(yè) > 科技新聞 >

Layer0層擴(kuò)容,做區(qū)塊鏈的CDN | 火星技術(shù)帖

時(shí)間:2019-11-29 10:23來(lái)源:網(wǎng)絡(luò)整理 瀏覽:
免責(zé)聲明:本文旨在傳遞更多市場(chǎng)信息,不構(gòu)成任何投資建議。文章僅代表作者觀點(diǎn),不代表火星財(cái)經(jīng)官方立場(chǎng)。小編:記得關(guān)注哦投資區(qū)塊鏈,猛戳:火星財(cái)

免責(zé)聲明:本文旨在傳遞更多市場(chǎng)信息,不構(gòu)成任何投資建議。文章僅代表作者觀點(diǎn),不代表火星財(cái)經(jīng)官方立場(chǎng)。

小編:記得關(guān)注哦

投資區(qū)塊鏈,猛戳:火星財(cái)經(jīng)App下載

來(lái)源:巴比特

作者:思想的葦草zlf

最近研究了一下Bloxroute這個(gè)項(xiàng)目,算是擴(kuò)容方案里面比較獨(dú)特的,其參考了互聯(lián)網(wǎng)時(shí)代的CDN的思路,它基本沒(méi)有動(dòng)共識(shí)相關(guān)的東西,而是重新構(gòu)建了一個(gè)中心化的網(wǎng)絡(luò),通過(guò)一定的技術(shù)來(lái)加速整個(gè)區(qū)塊的傳播,可擴(kuò)展性和性能提升非常不錯(cuò),整個(gè)技術(shù)方案也非常有意思。

區(qū)塊鏈分發(fā)網(wǎng)絡(luò)

Bloxroute通過(guò)在全球部署服務(wù)器構(gòu)造了一個(gè)高吞吐,低延時(shí)的網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)中的服務(wù)器被稱為中繼,這個(gè)網(wǎng)絡(luò)經(jīng)過(guò)優(yōu)化,可以快速的傳播區(qū)塊鏈中的交易和區(qū)塊。為了讓區(qū)塊鏈的節(jié)點(diǎn)和這個(gè)網(wǎng)絡(luò)通訊,還開發(fā)了一套網(wǎng)關(guān)軟件,可以讓區(qū)塊鏈中的消息和BDN的協(xié)議進(jìn)行交互。具體如下圖所示:

網(wǎng)絡(luò)中的角色

在整個(gè)BDN網(wǎng)絡(luò)中分為多種角色:

1、網(wǎng)關(guān)

2、中繼(交易中繼和區(qū)塊中繼)

3、控制平面

4、遠(yuǎn)程區(qū)塊鏈節(jié)點(diǎn)

網(wǎng)關(guān):

網(wǎng)關(guān)是一種可以將你的區(qū)塊鏈全節(jié)點(diǎn)連接到BDN的應(yīng)用程序,網(wǎng)關(guān)可以比區(qū)塊鏈的P2P網(wǎng)絡(luò)更快的將區(qū)塊和交易傳輸?shù)侥愕娜?jié)點(diǎn)。對(duì)于與網(wǎng)關(guān)相連的區(qū)塊鏈全節(jié)點(diǎn)來(lái)說(shuō),網(wǎng)關(guān)是透明的,就像另外一個(gè)節(jié)點(diǎn)一樣,但是因?yàn)榫W(wǎng)關(guān)不保存區(qū)塊鏈的狀態(tài),所以網(wǎng)關(guān)需要遠(yuǎn)程的區(qū)塊鏈節(jié)點(diǎn)來(lái)響應(yīng)節(jié)點(diǎn)的請(qǐng)求。

當(dāng)開啟網(wǎng)關(guān)后,用戶需要指定一個(gè)IP,然后網(wǎng)關(guān)連接到控制平面,并提供它的IP,控制平面根據(jù)網(wǎng)關(guān)提供的IP的地理位置,返回一組最接近網(wǎng)關(guān)的中繼服務(wù)器列表,并通過(guò)ping來(lái)確認(rèn)最低延時(shí)的中繼服務(wù)器,從而提高傳輸?shù)男省?/p>

中繼:

中繼是組成BDN的骨干,中繼服務(wù)器遍布世界各地,給各地的區(qū)塊鏈節(jié)點(diǎn)提供更快的傳輸服務(wù)。

為了提高傳輸效率,分別設(shè)計(jì)了兩種中繼——交易中繼和區(qū)塊中繼,分別傳輸區(qū)塊鏈中的交易和區(qū)塊,這樣設(shè)計(jì)可以保證,交易和區(qū)塊的傳輸互不影響。

交易中繼和區(qū)塊中繼雖然邏輯上是分離的,但是物理上可以在同一臺(tái)機(jī)器上,通過(guò)不同的端口來(lái)提供交易和區(qū)塊的傳輸服務(wù)

控制平面:

控制平面主要負(fù)責(zé)給連接進(jìn)BDN的網(wǎng)關(guān),提供最低延時(shí)的中繼服務(wù)器(根據(jù)地理位置信息)

遠(yuǎn)程區(qū)塊鏈節(jié)點(diǎn):

網(wǎng)關(guān)在跟全節(jié)點(diǎn)進(jìn)行通訊的時(shí)候,使用的是區(qū)塊鏈原生的P2P協(xié)議,但是因?yàn)樗麄儾⒉皇侨?jié)點(diǎn),他們無(wú)法完成一些全節(jié)點(diǎn)的功能,比如驗(yàn)證某個(gè)區(qū)塊是否合法,這個(gè)時(shí)候如果跟它聯(lián)通的節(jié)點(diǎn)向網(wǎng)關(guān)請(qǐng)求信息是無(wú)法響應(yīng)的,所以需要部署一些遠(yuǎn)程區(qū)塊鏈節(jié)點(diǎn)來(lái)幫助網(wǎng)關(guān)響應(yīng)正常的區(qū)塊鏈請(qǐng)求。

從整個(gè)設(shè)計(jì)中,我看到了高端路由的設(shè)計(jì)方式,也就是控制平面和數(shù)據(jù)平面的思想,這當(dāng)然跟團(tuán)隊(duì)本身就是搞網(wǎng)絡(luò)出身相關(guān)。

通過(guò)這四個(gè)角色搭建的一套網(wǎng)絡(luò),可以從地理位置上分配更近,延遲更低的服務(wù)器來(lái)進(jìn)行區(qū)塊的傳播,從而達(dá)到了提升性能的目的。當(dāng)然這只是從網(wǎng)絡(luò)拓?fù)浔旧韥?lái)提高性能,其實(shí)Bloxroute還從其他方面來(lái)進(jìn)一步提升傳輸?shù)男阅堋?

高性能和可擴(kuò)展性的關(guān)鍵

除了網(wǎng)絡(luò)拓?fù)鋬?yōu)化之外,Bloxroute還使用了基于交易索引的區(qū)塊壓縮技術(shù)和直通路由技術(shù)來(lái)提升性能。

基于交易索引的區(qū)塊壓縮技術(shù)

我們知道在區(qū)塊鏈中,每筆交易產(chǎn)生后會(huì)先進(jìn)入一個(gè)交易池中,然后通過(guò)P2P網(wǎng)絡(luò)進(jìn)行擴(kuò)散,進(jìn)入每個(gè)節(jié)點(diǎn)的交易池中,然后等待被礦工打包。在Bloxroute的方案中,當(dāng)未驗(yàn)證的交易被傳輸?shù)街欣^后,會(huì)生成一個(gè)唯一的short ID(交易索引)和這筆交易對(duì)應(yīng),然后再將這個(gè)sID和交易一起傳播到其他的中繼中,再由中繼將這個(gè)交易索引對(duì)同步到和其相連的其他網(wǎng)關(guān)中,具體流程如圖所示:

經(jīng)過(guò)這一輪傳播后,所有的網(wǎng)關(guān)里面都包含了交易和交易的索引,這個(gè)時(shí)候它還不能發(fā)揮作用,需要等到礦工挖出區(qū)塊才行。

我們知道礦工經(jīng)過(guò)POW競(jìng)爭(zhēng)后,將未確認(rèn)的交易包含在區(qū)塊中,并進(jìn)行傳播,當(dāng)?shù)V工將它新的區(qū)塊發(fā)送給網(wǎng)關(guān)后,網(wǎng)關(guān)會(huì)根據(jù)交易和交易索引表,將區(qū)塊中的交易部分全部替換成索引(如果沒(méi)有索引,則保持原交易不變),因?yàn)榻灰姿饕话阒皇?個(gè)字節(jié)的容量,所以這樣替換一下子將區(qū)塊的大小縮減了很多,從而達(dá)到擴(kuò)容的目的。

然后網(wǎng)關(guān)會(huì)講壓縮的塊傳播到中繼,并進(jìn)一步傳播到其他的網(wǎng)關(guān),這個(gè)時(shí)候網(wǎng)關(guān)需要將壓縮后的區(qū)塊進(jìn)行還原,首先它會(huì)根據(jù)索引來(lái)查找自己的高速緩存,如果不巧沒(méi)有找到,它會(huì)去請(qǐng)求連接的網(wǎng)關(guān)進(jìn)行還原,如果還是還原不了,則它會(huì)直接丟棄這個(gè)壓縮的區(qū)塊。如果成功還原壓縮的區(qū)塊,網(wǎng)關(guān)就會(huì)將還原后的區(qū)塊傳輸給和它相連的全節(jié)點(diǎn)。

Bloxroute的交易壓縮是非常出彩的部分,本身在整個(gè)區(qū)塊中,區(qū)塊頭只占非常小的部分,而區(qū)塊體中的交易占大頭,在區(qū)塊鏈本身的P2P網(wǎng)絡(luò)中非常難壓縮,因?yàn)檫€涉及到區(qū)塊和交易驗(yàn)證的問(wèn)題,而在BDN中完全不需要管這些東西,只要交易和交易索引的對(duì)應(yīng)關(guān)系不要搞錯(cuò),可以非常方便的進(jìn)行壓縮。

直通路由技術(shù)

在區(qū)塊鏈的P2P網(wǎng)絡(luò)中,任何區(qū)塊在傳播之前都需要驗(yàn)證它的有效性,所以每個(gè)節(jié)點(diǎn)必須接受該區(qū)塊的全部信息,然后驗(yàn)證完后才能傳播給下一個(gè)節(jié)點(diǎn)。而在BDN中不需要驗(yàn)證區(qū)塊的有效性,所以當(dāng)中繼接受到一個(gè)區(qū)塊的網(wǎng)絡(luò)包后,它不需要等待其他網(wǎng)絡(luò)包到來(lái)組成一個(gè)完整的區(qū)塊,而是立即將這個(gè)包傳輸?shù)较乱粋€(gè)中繼或者網(wǎng)關(guān)去,從而提升了傳輸?shù)男省?/p>

我們可以看到圖中,中繼沒(méi)有等到區(qū)塊全部接收到后在傳播,而是接收一部分后就立即傳播了。

結(jié)尾

Bloxroute使用了非常精妙的手段進(jìn)行了擴(kuò)容,對(duì)區(qū)塊鏈的入侵性小,可擴(kuò)展性高,提升了非常多性能,但好的技術(shù)也需要市場(chǎng)推動(dòng),我們對(duì)這個(gè)項(xiàng)目拭目以待。

推薦內(nèi)容