區(qū)塊鏈新協(xié)議Marconi介紹
區(qū)塊鏈技術(shù)往往被人們視為中心化系統(tǒng)痼疾的解決之道。在全球范圍內(nèi),價(jià)值3500億美元的區(qū)塊鏈生態(tài)系統(tǒng)包含超過(guò)1600個(gè)項(xiàng)目,這些項(xiàng)目積極開(kāi)發(fā)去中心化計(jì)算、存儲(chǔ)和一系列應(yīng)用,以實(shí)現(xiàn)去中心化的未來(lái)。但是,這些項(xiàng)目仍然建立在與以往相同的底層網(wǎng)絡(luò)基礎(chǔ)設(shè)施之上,即由以太網(wǎng)連接在一起的交換機(jī)和路由器構(gòu)成的基礎(chǔ)設(shè)施,而由于存在三大根本性的問(wèn)題,這樣的基礎(chǔ)頗為薄弱。
第一個(gè)問(wèn)題在于,當(dāng)今的網(wǎng)絡(luò)基礎(chǔ)設(shè)施并不安全。原因就在于它依托于以太網(wǎng),在過(guò)去 30 年間,以太網(wǎng)僅在帶寬方面有所改進(jìn),其他方面只是原地踏步。以太網(wǎng)誕生于一個(gè)不關(guān)心隱私和安全的時(shí)代,當(dāng)時(shí)人們的主要關(guān)注點(diǎn)在于連接能力,因此在設(shè)計(jì)中并未內(nèi)置加密機(jī)制。這導(dǎo)致原始網(wǎng)絡(luò)數(shù)據(jù)包暴露在外,允許互聯(lián)網(wǎng)服務(wù)提供商和政府機(jī)構(gòu)輕松窺伺和監(jiān)視用戶活動(dòng)。遺憾的是,常見(jiàn)的網(wǎng)絡(luò)安全協(xié)議在協(xié)議棧較高的幾層中發(fā)揮作用(參見(jiàn)圖 1,注意 TLS 和 SSL 均在 OSI 第 4 層及以上工作),在協(xié)議棧的第 2 層,以太網(wǎng)仍然不安全。因此這些安全協(xié)議無(wú)法保護(hù)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)包,致使網(wǎng)絡(luò)流量易受流量模式分析和數(shù)據(jù)包注入等攻擊的影響。
第二個(gè)問(wèn)題在于,核心網(wǎng)絡(luò)基礎(chǔ)設(shè)施不夠靈活且難以管理。構(gòu)成網(wǎng)絡(luò)的交換機(jī)、路由器和網(wǎng)橋均屬于硬件式,購(gòu)買、配置和維護(hù)成本高昂。如果要擴(kuò)增網(wǎng)絡(luò)容量,或者添加入侵檢測(cè)與防范系統(tǒng)或負(fù)載平衡等新功能,往往就需要安裝新的網(wǎng)絡(luò)設(shè)備。即使升級(jí)現(xiàn)有設(shè)備也要花費(fèi)相當(dāng)大的開(kāi)銷,因?yàn)楦驴赡苄枰墓碳?,在某些情況下,這種固件更改必須在現(xiàn)場(chǎng)完成。
最后一個(gè)問(wèn)題在于,當(dāng)前的網(wǎng)絡(luò)基礎(chǔ)設(shè)施是集中控制的。在任意給定區(qū)域,僅有少數(shù)實(shí)體(通常僅有一兩家互聯(lián)網(wǎng)服務(wù)提供商)作為所有互聯(lián)網(wǎng)流量的網(wǎng)關(guān)。如果互聯(lián)網(wǎng)服務(wù)提供商發(fā)生光纖斷裂、設(shè)備故障,或者出于維護(hù)的目的而故意中斷服務(wù),所有用戶都將無(wú)法正常訪問(wèn)互聯(lián)網(wǎng)。由于互聯(lián)網(wǎng)中斷可能導(dǎo)致運(yùn)營(yíng)停頓或生產(chǎn)力停滯,因此企業(yè)受到的打擊尤其嚴(yán)重。除此之外,對(duì)于缺乏網(wǎng)絡(luò)中立性的國(guó)家/地區(qū)來(lái)說(shuō),由于區(qū)塊鏈網(wǎng)絡(luò)已經(jīng)發(fā)展到相當(dāng)?shù)囊?guī)模,這種壟斷性控制將成為問(wèn)題。截至 2018 年 2 月 1 日,以太坊的區(qū)塊鏈數(shù)據(jù)目錄大小為 669 GB,年增長(zhǎng)率高達(dá) 416%。隨著人們繼續(xù)采用區(qū)塊鏈,區(qū)塊鏈流量很可能會(huì)成為互聯(lián)網(wǎng)服務(wù)提供商的眾矢之的。遺憾的是,盡管區(qū)塊鏈生態(tài)系統(tǒng)中不斷涌現(xiàn)出以實(shí)現(xiàn)日常所用服務(wù)去中心化為目標(biāo)的新項(xiàng)目,但我們所描述的這種集中控制的基礎(chǔ)設(shè)施卻是區(qū)塊鏈生態(tài)系統(tǒng)所依賴的平臺(tái)(見(jiàn)圖 2)。
為了應(yīng)對(duì)這些挑戰(zhàn),我們擬定了Marconi 協(xié)議,該協(xié)議可增強(qiáng)乃至取代現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,允許任何網(wǎng)絡(luò)充分享受去中心化的優(yōu)勢(shì)。Marconi是一種網(wǎng)絡(luò)和區(qū)塊鏈協(xié)議,其設(shè)計(jì)向下延伸覆蓋至 OSI 第 2 層,支持網(wǎng)絡(luò)數(shù)據(jù)包的智能合約。Marconi 通過(guò)以下方式解決了現(xiàn)有挑戰(zhàn):
? 采用數(shù)據(jù)包級(jí)加密保護(hù)以太網(wǎng)。
? 通過(guò)智能數(shù)據(jù)包合約和可編程分支區(qū)塊鏈增強(qiáng)現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)調(diào)整,以及新穎的安全和網(wǎng)絡(luò)應(yīng)用。
? 通過(guò)鼓勵(lì)組建網(wǎng)狀網(wǎng)絡(luò),讓用戶設(shè)備提供交換、路由和數(shù)據(jù)包處理功能,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)基礎(chǔ)設(shè)施的去中心化。
為了說(shuō)明 Marconi 協(xié)議的功能,我們?cè)诖颂峁┝藘蓚€(gè)可基于該協(xié)議構(gòu)建的示例應(yīng)用。本文稍后部分將更詳盡地描述該協(xié)議的組件和體系結(jié)構(gòu),還會(huì)介紹更多用例。
第一個(gè)示例應(yīng)用針對(duì)旨快捷創(chuàng)建與啟動(dòng)新區(qū)塊鏈網(wǎng)絡(luò)的區(qū)塊鏈項(xiàng)目。這可能是一個(gè)全新的項(xiàng)目,也可能是一個(gè)希望遷移到自有鏈的通證 (Token) 項(xiàng)目。更具體的例子是去中心化的加密貨幣兌換平臺(tái)。與其他區(qū)塊鏈平臺(tái)類似,這種兌換平臺(tái)可以使用智能合約,基于 Marconi 協(xié)議而構(gòu)建,但它還有一個(gè)額外的優(yōu)勢(shì),就是由其自有的通證支持的專用區(qū)塊鏈。這是通過(guò)調(diào)用 Marconi 分支合約來(lái)創(chuàng)建可編程區(qū)塊鏈實(shí)現(xiàn)的,該區(qū)塊鏈提供更高的通證效用,并將性能與其他項(xiàng)目分離開(kāi)來(lái),從而提高交易吞吐量。另一個(gè)強(qiáng)大的優(yōu)勢(shì)是,去中心化的兌換平臺(tái)可以利用智能數(shù)據(jù)包合約,提高網(wǎng)絡(luò)的恢復(fù)能力和安全性。例如,世界上最大的加密貨幣兌換平臺(tái)的許多用戶的賬戶憑證近期失竊,而攻擊方式就是涉及到含有 Unicode 字符的 URL 的網(wǎng)絡(luò)釣魚攻擊。若能利用智能數(shù)據(jù)包合約來(lái)分析網(wǎng)絡(luò)數(shù)據(jù)包,以捕獲這些可疑的 URL,就有可能阻止此次攻擊。智能數(shù)據(jù)包合約還能促進(jìn)去中心化的網(wǎng)絡(luò)管理,例如在網(wǎng)絡(luò)節(jié)點(diǎn)之間重新路由數(shù)據(jù)包,以實(shí)現(xiàn)更好的負(fù)載平衡。最后,通過(guò)利用 Marconi 協(xié)議的去中心化網(wǎng)絡(luò)基礎(chǔ)設(shè)施,去中心化的加密貨幣兌換平臺(tái)即可更好地保護(hù)自身,避免被迫關(guān)閉。
第二個(gè)示例應(yīng)用針對(duì)安全現(xiàn)場(chǎng)網(wǎng)絡(luò)。通過(guò)使用 Marconi 協(xié)議及其所依托的技術(shù),這些網(wǎng)絡(luò)可以在戰(zhàn)場(chǎng)或救災(zāi)環(huán)境中快速部署,并將其通信流量歷史存儲(chǔ)在賬本中,以便在網(wǎng)絡(luò)退役后進(jìn)行審計(jì)。在部署時(shí),可以利用在每條數(shù)據(jù)鏈路上使用 Marconi 協(xié)議來(lái)實(shí)現(xiàn) MAC 層安全性的有線或無(wú)線硬件,動(dòng)態(tài)擴(kuò)展網(wǎng)絡(luò)。網(wǎng)絡(luò)也可以視需要根據(jù)不同授權(quán)進(jìn)行分段,確保僅有特定的通信流量類型才能在特定網(wǎng)段中發(fā)送。通過(guò)智能數(shù)據(jù)包合約,即可實(shí)施下一代防火墻和入侵防御系統(tǒng),以防止惡意通信流量。由于具有去中心化的本質(zhì),這種網(wǎng)絡(luò)具有容錯(cuò)能力,可自動(dòng)重新配置,以應(yīng)對(duì)意外停機(jī)的鏈路或節(jié)點(diǎn)。最后,可以使用機(jī)器學(xué)習(xí)技術(shù)對(duì)歷史數(shù)據(jù)(包括來(lái)自相關(guān)人員所用物聯(lián)網(wǎng)設(shè)備的傳感器數(shù)據(jù))進(jìn)行事后分析,以了解網(wǎng)絡(luò)是否遭遇入侵,并相應(yīng)地予以優(yōu)化,從而在未來(lái)實(shí)現(xiàn)更好的部署。
概述
利用 Marconi 協(xié)議定義的規(guī)則和提供的基元,對(duì)等節(jié)點(diǎn)可安全地連接和通信,從而構(gòu)成和加入 Marconi 網(wǎng)絡(luò)(這是一種全局構(gòu)造,相當(dāng)于網(wǎng)絡(luò)的網(wǎng)絡(luò))。本章僅對(duì)于這些概念及其最新動(dòng)態(tài)進(jìn)行簡(jiǎn)單概述,這些不同的部件最終組合在一起,讓與安全、網(wǎng)絡(luò)和去中心化相關(guān)的強(qiáng)大應(yīng)用能夠捕獲網(wǎng)絡(luò)釣魚嘗試、混淆網(wǎng)絡(luò)流量、輕松啟動(dòng)新區(qū)塊鏈以及使任何網(wǎng)絡(luò)去中心化。
1.Marconi 協(xié)議
如上文所述,Marconi 協(xié)議有助于實(shí)現(xiàn)安全的網(wǎng)絡(luò)通信、靈活的網(wǎng)絡(luò)基礎(chǔ)設(shè)施和網(wǎng)狀網(wǎng)絡(luò)的構(gòu)成。支持該協(xié)議的技術(shù)可分解為三個(gè)主要組件,在此僅作概述,后文將深入討論。
? Marconi 管道。Marconi 管道可用作在對(duì)等節(jié)點(diǎn)之間傳輸網(wǎng)絡(luò)流量的安全信道。該管道一直向下建立延伸覆蓋至 OSI 模型的第 2 層,提供加密、路由和處理功能。它采用有線標(biāo)準(zhǔn),使 Marconi 協(xié)議能覆蓋現(xiàn)有互聯(lián)網(wǎng) 基礎(chǔ)設(shè)施。我們還有一個(gè)稱為 Marconi 鏈路的擴(kuò)展,專為采用藍(lán)牙、Wi-Fi 和 U-NII無(wú)線電頻段等無(wú)線標(biāo)準(zhǔn)支持可擴(kuò)展的公用和專用網(wǎng)狀網(wǎng)絡(luò)而設(shè)計(jì)。
? 智能數(shù)據(jù)包合約??梢允褂弥悄芎霞s路由和處理網(wǎng)絡(luò)數(shù)據(jù)包。此技術(shù)為智能去中心化網(wǎng)絡(luò)應(yīng)用提供許多用例,例如反網(wǎng)絡(luò)釣魚和反惡意軟件防護(hù)、入侵檢測(cè)與防御系統(tǒng)以及分布式虛擬專用網(wǎng)絡(luò)。
? 分支鏈。從全局鏈分支,即可通過(guò)編程方式快速啟動(dòng)新區(qū)塊鏈,其中每一個(gè)分支鏈都可以擁有自己的自定義規(guī)則,這些規(guī)則由一種稱為分支合約的特殊智能合約指定。例如,如果一個(gè)區(qū)塊鏈項(xiàng)目需要新建一個(gè)通證或?qū)F(xiàn)有通證遷移到某個(gè)專用鏈,可以通過(guò)調(diào)用分支鏈實(shí)現(xiàn)。我們還使用分支鏈整理網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點(diǎn),使它們不再?gòu)?qiáng)烈依賴全局鏈。這種類型的分支鏈稱為網(wǎng)狀鏈。這些組件就是支撐 Marconi 網(wǎng)絡(luò)的構(gòu)建基塊。
2.Marconi 網(wǎng)絡(luò)
Marconi 網(wǎng)絡(luò)能夠在對(duì)等節(jié)點(diǎn)之間構(gòu)成自主式網(wǎng)絡(luò),并在全球范圍內(nèi)將它們組織為網(wǎng)絡(luò)的網(wǎng)絡(luò)(見(jiàn)圖 3)。對(duì)等節(jié)點(diǎn)可以是基礎(chǔ)設(shè)施服務(wù)節(jié)點(diǎn)、基于互聯(lián)網(wǎng)的計(jì)算設(shè)備或網(wǎng)絡(luò)最終用戶。Marconi 網(wǎng)絡(luò)合約是這些對(duì)等節(jié)點(diǎn)之間的協(xié)議,定義交換的數(shù)據(jù)量、交換時(shí)長(zhǎng)、將啟用的智能數(shù)據(jù)包合約類型以及燃料價(jià)格。
個(gè)人、網(wǎng)絡(luò)運(yùn)營(yíng)商和互聯(lián)網(wǎng)服務(wù)提供商可通過(guò)為網(wǎng)絡(luò)提供帶寬或計(jì)算資源加入。節(jié)點(diǎn)定期接收稱為 marco的網(wǎng)絡(luò)通證,作為他們提供資源和處理網(wǎng)絡(luò)流量的回報(bào)。Marco 是分布式網(wǎng)絡(luò)和計(jì)算、使用網(wǎng)絡(luò)而產(chǎn)生的燃料消耗量、管理以及智能合約處理的基本計(jì)量單位。
Marconi 網(wǎng)絡(luò)可以與現(xiàn)有互聯(lián)網(wǎng)基礎(chǔ)設(shè)施互操作;它也自我維持,能通過(guò)形成直接對(duì)等連接促進(jìn)構(gòu)成無(wú)需硬件交換機(jī)、路由器和網(wǎng)橋的網(wǎng)狀網(wǎng)絡(luò),避免使用現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。在本質(zhì)上,Marconi 網(wǎng)絡(luò)支持且鼓勵(lì)用戶組裝并安全地交換網(wǎng)絡(luò)基礎(chǔ)設(shè)施資源,用戶的這些活動(dòng)不受阻礙大規(guī)模建立、連接、運(yùn)營(yíng)和維護(hù)網(wǎng)絡(luò)基礎(chǔ)設(shè)施的傳統(tǒng)方法在物理、資金和監(jiān)管方面的限制。最終用戶可以通過(guò)以下兩種方式利用該網(wǎng)絡(luò)訪問(wèn)互聯(lián)網(wǎng)或獲得附近的計(jì)算能力:購(gòu)買 marco,或者操作某個(gè)貢獻(xiàn)算力的節(jié)點(diǎn),通過(guò)挖礦獲取 marco。開(kāi)發(fā)人員可以利用該網(wǎng)絡(luò)創(chuàng)建和部署去中心化的智能網(wǎng)絡(luò)應(yīng)用,這些應(yīng)用可由節(jié)點(diǎn)或最終用戶運(yùn)行。區(qū)塊鏈項(xiàng)目、私立機(jī)構(gòu)和企業(yè)可利用該網(wǎng)絡(luò)及其所依托的平臺(tái)管理基礎(chǔ)設(shè)施并開(kāi)發(fā)分布式智能網(wǎng)絡(luò)和網(wǎng)絡(luò)安全服務(wù)。
設(shè)計(jì)
1.網(wǎng)絡(luò)協(xié)議
Marconi 網(wǎng)絡(luò)協(xié)議由旨在保證網(wǎng)絡(luò)對(duì)等節(jié)點(diǎn)安全無(wú)縫連接和協(xié)作的三個(gè)主要組件組成。它們分別是 Marconi管道、智能數(shù)據(jù)包合約以及 Marconi 鏈路。
1.1. Marconi 管道
Marconi 管道(又稱 mPipe)是我們對(duì)虛擬化數(shù)據(jù)鏈路層的實(shí)現(xiàn),為對(duì)等節(jié)點(diǎn)間傳輸網(wǎng)絡(luò)流量提供信道或管道。這些管道是 Marconi 網(wǎng)絡(luò)的基本構(gòu)建基塊,由于一直向下建立延伸覆蓋至 OSI 模型的第 2 層(見(jiàn)圖 4),能夠?qū)崿F(xiàn)自定義數(shù)據(jù)包的路由及處理、通過(guò)數(shù)據(jù)包級(jí)加密來(lái)提升安全性,以及輕松發(fā)現(xiàn)在同一本機(jī)媒介上傳輸流量的相鄰對(duì)等節(jié)點(diǎn)等重要功能。
創(chuàng)建管道時(shí),使用 Diffie-Hellman 交換創(chuàng)建三個(gè)共享機(jī)密(一個(gè)用于數(shù)據(jù)加密、一個(gè)用于實(shí)現(xiàn)數(shù)據(jù)完整性的校驗(yàn)和、一個(gè)用作種子)即可在兩個(gè)對(duì)等節(jié)點(diǎn)間形成一個(gè)安全連接。每個(gè)對(duì)等節(jié)點(diǎn)都將該種子與截?cái)酁槟硞€(gè)預(yù)定義粒度(比如一分鐘)的當(dāng)前時(shí)間相結(jié)合,用于獲得隨時(shí)間而變化的新種子。與基于時(shí)間的一次性密碼 (TOTP) 非常相似,新種子又被用于根據(jù)當(dāng)前時(shí)間間隔(見(jiàn)圖 5)改變數(shù)據(jù)加密機(jī)密,幫助增強(qiáng)數(shù)據(jù)流抵御流量模式分析等攻擊的能力。
我們使用對(duì)稱密鑰系統(tǒng)是出于性能方面的考慮。數(shù)據(jù)包將不斷遍歷許多管道,并且正如高級(jí)加密標(biāo)準(zhǔn) (AES)中定義的那樣,常見(jiàn)硬件的指令組中直接支持有用的加密操作。
由于 mPipe 在網(wǎng)絡(luò)驅(qū)動(dòng)器層運(yùn)行,在上述加密和解密以及數(shù)據(jù)包級(jí)處理方面,它的性能非常高。這支持幾個(gè)有趣的網(wǎng)絡(luò)功能:
? 數(shù)據(jù)包中繼。在該網(wǎng)絡(luò)內(nèi),可在退到互聯(lián)網(wǎng)或?qū)S镁W(wǎng)之前,通過(guò)多個(gè)躍點(diǎn)中繼數(shù)據(jù)包。與洋蔥路由相似,這可增強(qiáng)隱私性且有助于防窺探,因?yàn)楦兄罱K用戶的只有網(wǎng)絡(luò)邊緣節(jié)點(diǎn)。
? 數(shù)據(jù)包的負(fù)載平衡。由于是在 OSI 第 2 層進(jìn)行的連接,網(wǎng)絡(luò)能夠訪問(wèn)最多信息,所以可以輕松進(jìn)行負(fù)載平衡,甚至可以根據(jù)需要使用各種不同的策略限制網(wǎng)絡(luò)數(shù)據(jù)包以符合網(wǎng)絡(luò)需求。
? 數(shù)據(jù)包檢查。同樣,由于該網(wǎng)絡(luò)可以訪問(wèn)第 2 層以上的所有 OSI 層中的數(shù)據(jù),所以它能夠根據(jù)有效負(fù)載內(nèi)容作決策。即使是在較高層加密的數(shù)據(jù),域名和標(biāo)頭信息等相關(guān)元數(shù)據(jù)仍然可用。
1.2. 智能數(shù)據(jù)包合約
借助智能數(shù)據(jù)包合約,開(kāi)發(fā)人員能夠?qū)W(wǎng)絡(luò)數(shù)據(jù)包運(yùn)行智能合約,以執(zhí)行智能路由和數(shù)據(jù)包處理(見(jiàn)圖 6)。Marconi 網(wǎng)絡(luò)提供一個(gè)平臺(tái),在此平臺(tái)上,開(kāi)發(fā)人員可以使用智能數(shù)據(jù)包合約創(chuàng)建去中心化網(wǎng)絡(luò)應(yīng)用。
示例應(yīng)用包括軟件定義的網(wǎng)絡(luò) (SDN)、入侵檢測(cè)與防御系統(tǒng) (IDS/IPS)、反惡意軟件和反病毒防護(hù)、內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN)、虛擬專業(yè)網(wǎng)絡(luò) (VPN) 以及新的區(qū)塊鏈協(xié)議。
應(yīng)用采用 Marconi 腳本編寫,這是一種“圖靈完備”的語(yǔ)言,能夠訪問(wèn)網(wǎng)絡(luò)數(shù)據(jù)包,向下編譯為字節(jié)代碼。在 Marconi 網(wǎng)絡(luò)庫(kù)中,我們還提供三層 API:用于影響路由和通信流的操作的控制 API、用于檢查有效負(fù)載等操作的內(nèi)容 API 以及用于模式分析和機(jī)器學(xué)習(xí)的智能 API。編寫完成后,開(kāi)發(fā)人員將應(yīng)用部署到全局區(qū)塊鏈,我們將在后文探討這種區(qū)塊鏈的結(jié)構(gòu)。查看表 1,了解關(guān)于控制 API 的詳細(xì)信息;查看圖 7,了解如何使用該 API。
由于應(yīng)用可能會(huì)通過(guò)虛擬機(jī)層對(duì)大量網(wǎng)絡(luò)流量執(zhí)行低級(jí)數(shù)據(jù)包處理,讀者可能比較關(guān)心性能。幸運(yùn)的是,可以通過(guò)對(duì)流量進(jìn)行克隆和批處理,在關(guān)鍵路徑以外的位置執(zhí)行模式分析等重量級(jí)處理。對(duì)于高吞吐量的實(shí)時(shí)處理,我們將通過(guò)自定義硬件加速這一構(gòu)想視作長(zhǎng)期解決方案。
影響智能數(shù)據(jù)包合約設(shè)計(jì)的另一個(gè)重要目的是與這一領(lǐng)域中現(xiàn)有開(kāi)源項(xiàng)目(例如,熱門的網(wǎng)絡(luò)入侵檢測(cè)和入侵防御系統(tǒng) Snort)的兼容性。我們希望能支持這些系統(tǒng)并確保開(kāi)發(fā)人員能夠在這些開(kāi)源社區(qū)中輕松訪問(wèn)智能數(shù)據(jù)包合約開(kāi)發(fā)模型。
1.3. Marconi 鏈路
Marconi 鏈路(又稱 mLink)是我們的無(wú)線通信解決方案。通過(guò)這些鏈路可以實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)之間安全的直接無(wú)線傳輸,其設(shè)計(jì)同樣向下延伸覆蓋至 OSI 模型第 2 層(見(jiàn)圖 8),該層通過(guò)提供對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的訪問(wèn)啟用智能數(shù)據(jù)包合約。
Marconi 鏈路也是網(wǎng)狀網(wǎng)絡(luò)的核心構(gòu)建基塊,網(wǎng)狀網(wǎng)絡(luò)可解決無(wú)線網(wǎng)絡(luò)擴(kuò)散等問(wèn)題。讀者可能曾遇到過(guò)這樣的情況,例如,在嘗試通過(guò) Wi-Fi 連接到互聯(lián)網(wǎng)時(shí)發(fā)現(xiàn)二十個(gè)不同的網(wǎng)絡(luò)名稱。通過(guò) mLink,多個(gè)節(jié)點(diǎn)能夠輕松加入同一網(wǎng)絡(luò),并且系統(tǒng)鼓勵(lì)節(jié)點(diǎn)這樣做,通過(guò)這樣的方式,節(jié)點(diǎn)可以協(xié)作,更高效地傳輸數(shù)據(jù),進(jìn)而使網(wǎng)絡(luò)范圍擴(kuò)大。
一個(gè)節(jié)點(diǎn)通過(guò)發(fā)現(xiàn)過(guò)程加入網(wǎng)狀網(wǎng)絡(luò),在這個(gè)過(guò)程中,節(jié)點(diǎn)首先觀察分貝水平以選擇最合適的對(duì)等節(jié)點(diǎn)。然后再在負(fù)載最小的可用信道上,與那些對(duì)等節(jié)點(diǎn)一起構(gòu)成 mLink。與 mPipe 類似,這需要 Diffie-Hellman交換才能確保節(jié)點(diǎn)間安全通信。
Marconi 鏈路利用 Marconi 無(wú)線驅(qū)動(dòng)器(它兼容低成本硬件中繼器以及藍(lán)牙和 Wi-Fi 等現(xiàn)有無(wú)線標(biāo)準(zhǔn)),無(wú)需自定義設(shè)備即可實(shí)現(xiàn)每個(gè)設(shè)備 10 至 100 米的范圍。希望使用自定義設(shè)備路徑的用戶可以利用相對(duì)較新的U-NII-3 無(wú)線電頻段以每躍點(diǎn)數(shù)千米的范圍發(fā)送信息,與無(wú)線互聯(lián)網(wǎng)服務(wù)提供商相似。Marconi 無(wú)線驅(qū)動(dòng)器還能通過(guò)為獲得節(jié)點(diǎn)間最優(yōu)連接進(jìn)行信道協(xié)商,妥善處理無(wú)線網(wǎng)絡(luò)擁塞問(wèn)題。
1.4. 設(shè)計(jì)向下延伸覆蓋至 OSI 第 2 層
生成網(wǎng)絡(luò)應(yīng)用時(shí),開(kāi)發(fā)人員有時(shí)習(xí)以為常地采用現(xiàn)在的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施和拓?fù)浣Y(jié)構(gòu)。例如,常見(jiàn)的方法常常作出幾個(gè)假設(shè),例如持續(xù)連接互聯(lián)網(wǎng)以及通過(guò)動(dòng)態(tài)主機(jī)配置協(xié)議 (DHCP) 獲取的 IP 地址。但在公用互聯(lián)網(wǎng)范圍外或略超出其邊緣時(shí),這些假設(shè)并不能始終適用,例如在無(wú)線對(duì)等網(wǎng)絡(luò)中或者橋接專用網(wǎng)時(shí)。在這樣的情況下必須考慮使用 OSI 第 2 層,例如,在對(duì)等節(jié)點(diǎn)發(fā)現(xiàn)這一過(guò)程中以及地址解析協(xié)議 (ARP) 等機(jī)制中。此外,為了完全實(shí)現(xiàn)真正去中心化的網(wǎng)絡(luò)基礎(chǔ)設(shè)施(其中各節(jié)點(diǎn)均可充當(dāng)交換機(jī)、路由器或網(wǎng)橋)這一愿景,第 2 層設(shè)計(jì)成為一項(xiàng)必要條件。
Marconi 管道和 Marconi 鏈路等組件有權(quán)訪問(wèn) OSI 第 2 層數(shù)據(jù),所以它們可以觀察 MAC 地址,以便更好地理解物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。從而,自定義路由技術(shù)在相同情況下的流量路由性能更佳。例如在圖 9 中,如果節(jié)點(diǎn) A 想向節(jié)點(diǎn) G 發(fā)送數(shù)據(jù),它可以通過(guò)節(jié)點(diǎn) B、C、D 利用多個(gè)外向鏈路,從而盡量提高數(shù)據(jù)吞吐量和冗余度。這在無(wú)線網(wǎng)狀網(wǎng)絡(luò)中尤其有用,無(wú)線網(wǎng)狀網(wǎng)絡(luò)由連接能力不同的異構(gòu)設(shè)備(如智能手機(jī)、無(wú)線接入點(diǎn)和無(wú)線中繼器)組成,其中的物理鏈路隨用戶位置的變化而頻繁更改。企業(yè)專用網(wǎng)等大型有線網(wǎng)絡(luò)可能更青睞其他路徑優(yōu)化策略(例如開(kāi)放最短路徑優(yōu)先 (OSPF) 協(xié)議中所用的路徑優(yōu)化策略),在這樣的網(wǎng)絡(luò)中,執(zhí)行低級(jí)自定義路由的能力也非常有用。
1.5. 與互聯(lián)網(wǎng)和 IP 路由的互操作性
為了確保 Marconi 協(xié)議得到廣泛采用并充分實(shí)現(xiàn)去中心化的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,需要能夠兼容如今主要由基于IP 的路由提供支持的互聯(lián)網(wǎng)。要獲得這種兼容性,當(dāng) Marconi 協(xié)議與互聯(lián)網(wǎng)連接時(shí),通過(guò)使用標(biāo)準(zhǔn) IP 和UDP 標(biāo)頭將 Marconi 管道虛擬化為基于 IP 的連接之上的一層覆蓋,如圖 10 所示。
這與 VPN 解決方案中常用的第 2 層隧道協(xié)議 (L2TP) 的概念非常相似。我們額外添加了一個(gè)承載自定義元數(shù)據(jù)的內(nèi)部 Marconi 標(biāo)頭并控制數(shù)據(jù)包到達(dá)目標(biāo) Marconi 節(jié)點(diǎn)時(shí)使用的字段。這些虛擬化的 Marconi 管道仍然提供安全權(quán)益和智能數(shù)據(jù)包合約處理功能,并輕松與 OSI 第 2 層設(shè)計(jì)集成,以實(shí)現(xiàn)無(wú)線對(duì)等網(wǎng)絡(luò)和橋接專用網(wǎng)絡(luò)。這一層覆蓋為現(xiàn)有互聯(lián)網(wǎng)提高額外的隱私性、安全性和靈活性。
例如,為了增加隱私性和安全性,Marconi 網(wǎng)絡(luò)中的節(jié)點(diǎn)可以使用增強(qiáng)的多層加密。這種多層加密使用之前與預(yù)期目標(biāo)協(xié)商的密鑰加密網(wǎng)絡(luò)數(shù)據(jù)包,然后通過(guò)前面的節(jié)點(diǎn)間的躍點(diǎn)與各中間節(jié)點(diǎn)協(xié)商的密鑰添加連續(xù)加密層。這種加密方式有兩個(gè)好處。首先,只有預(yù)期目標(biāo)才能加密和讀取最終有效負(fù)載。其次,可通過(guò)利用多個(gè)中間節(jié)點(diǎn)實(shí)現(xiàn)流量混淆。在這一方案下,數(shù)據(jù)包是由原始發(fā)送端特別準(zhǔn)備的,各中間節(jié)點(diǎn)只知道前一個(gè)數(shù)據(jù)包的源和下一個(gè)目標(biāo),因在各躍點(diǎn)處迭代地剝離嵌套加密層而不知道關(guān)于完整路由路徑的任何其他信息。這也稱為洋蔥路由。
2.區(qū)塊鏈協(xié)議
Marconi 網(wǎng)絡(luò)將幾個(gè)區(qū)塊鏈用于網(wǎng)絡(luò)的構(gòu)成、管理和計(jì)量。網(wǎng)絡(luò)的構(gòu)成和管理需要在節(jié)點(diǎn)加入或離開(kāi)網(wǎng)絡(luò)時(shí)跟蹤節(jié)點(diǎn),而計(jì)量則是測(cè)量和記錄各節(jié)點(diǎn)的帶寬容量和貢獻(xiàn)。我們使用由一個(gè)全局區(qū)塊鏈和多個(gè)分支鏈的系統(tǒng)實(shí)現(xiàn)這一目的(見(jiàn)圖 11)。分支鏈?zhǔn)冀K來(lái)自全局鏈,它們先分支,再于二次分支前同步回全局鏈。網(wǎng)狀鏈?zhǔn)且环N特殊的分支鏈,專用于構(gòu)成網(wǎng)狀網(wǎng)絡(luò)。
2.1. 全局鏈
全局鏈?zhǔn)褂煤膬?nèi)存的工作量證明 (memory-hard proof of work) 添加區(qū)塊,Marconi 網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都可以向全局鏈貢獻(xiàn)資源。使用耗內(nèi)存的工作量證明是為了獲得 ASIC 阻力,從而使現(xiàn)有加密貨幣挖掘社區(qū)能夠在無(wú)需更改任何硬件設(shè)置的情況下開(kāi)始挖掘。哈希算法的特殊選擇與其余系統(tǒng)設(shè)計(jì)無(wú)關(guān),而是獨(dú)立作為一個(gè)實(shí)現(xiàn)細(xì)節(jié),這樣便可根據(jù)需要(例如,當(dāng)可行的 ASIC 被開(kāi)發(fā)時(shí))相對(duì)輕松地更改特定算法。全局鏈的內(nèi)容包括含節(jié)點(diǎn)公鑰標(biāo)識(shí)符的注冊(cè)事務(wù)、marco 事務(wù)、智能數(shù)據(jù)包合約事務(wù)以及使分支鏈能夠定期將聚合狀態(tài)同步到全局鏈的檢驗(yàn)指示事務(wù)。
2.2. 分支鏈
分支鏈?zhǔn)且环N泛型構(gòu)造,可通過(guò)它以編程方式創(chuàng)建連接到全局鏈并與之并行運(yùn)行的新區(qū)塊鏈。每一個(gè)分支鏈都有通過(guò)分支合約指定的自己的自定義規(guī)則。從而使分支鏈成為可通過(guò)多種有趣的方式使用的靈活基元。網(wǎng)狀鏈就是這樣的一個(gè)示例,網(wǎng)狀鏈?zhǔn)且环N分支鏈,它與已確定要綁定到一起形成一個(gè)網(wǎng)狀網(wǎng)絡(luò)的一組節(jié)點(diǎn)對(duì)應(yīng)。這些節(jié)點(diǎn)通常(但不總是)位置臨近。因此,可能存在許多不同的網(wǎng)狀鏈,分為兩類:公用(任何節(jié)點(diǎn)都可以貢獻(xiàn)資源)和私用(例如,企業(yè)網(wǎng)絡(luò))。網(wǎng)狀鏈的目的在于使網(wǎng)狀網(wǎng)絡(luò)脫離全局鏈,從而提高網(wǎng)絡(luò)的可靠性和擴(kuò)展性。
網(wǎng)狀鏈從全局鏈卸載數(shù)據(jù)和通信開(kāi)銷,使網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點(diǎn)常常能夠避免與全局鏈交互。網(wǎng)狀鏈的內(nèi)容包括來(lái)自連接網(wǎng)狀網(wǎng)絡(luò)的節(jié)點(diǎn)的注冊(cè)事務(wù)以及許多“網(wǎng)絡(luò)元素證明”事務(wù)。網(wǎng)絡(luò)元素證明是可通過(guò)密碼進(jìn)行驗(yàn)證的一些練習(xí),網(wǎng)狀網(wǎng)絡(luò)中的節(jié)點(diǎn)不斷地重復(fù)這些練習(xí);這些練習(xí)涉及與相鄰節(jié)點(diǎn)相互收發(fā)隨機(jī)數(shù)以證明可用性和帶寬。我們將在后文中詳細(xì)介紹網(wǎng)絡(luò)元素證明,現(xiàn)在只需要知道節(jié)點(diǎn)受到鼓勵(lì)不斷執(zhí)行這樣的練習(xí)。最后,網(wǎng)狀鏈?zhǔn)褂脵?quán)益證明(而不是工作量證明)來(lái)添加區(qū)塊,參與更多網(wǎng)絡(luò)元素證明事務(wù)的網(wǎng)絡(luò)節(jié)點(diǎn)權(quán)益更大。為網(wǎng)狀鏈選擇權(quán)益證明是為了提高事務(wù)吞吐量、降低對(duì)貢獻(xiàn)資源的服務(wù)節(jié)點(diǎn)的計(jì)算能力要求。
為了連接網(wǎng)狀鏈,節(jié)點(diǎn)必須先在全局鏈上注冊(cè)其公鑰和公鑰哈希。這樣,節(jié)點(diǎn)才能參與智能合約和 marco傳輸。接下來(lái),節(jié)點(diǎn)需要確定要連接的網(wǎng)狀網(wǎng)絡(luò)。確定方式有兩種:傳播到相鄰節(jié)點(diǎn)獲取其 IP 地址,以及查詢由所有網(wǎng)絡(luò)節(jié)點(diǎn)維護(hù)的分布式哈希表 (DHT),這種分布式哈希表將網(wǎng)狀網(wǎng)絡(luò) ID 映射到各網(wǎng)狀網(wǎng)絡(luò)內(nèi)的IP 地址列表。已知這一信息,節(jié)點(diǎn)即可將自己注冊(cè)到本地網(wǎng)狀鏈上,這一注冊(cè)事務(wù)需要周邊節(jié)點(diǎn)簽名,表明它們可以連接到新節(jié)點(diǎn)。
2.3. 網(wǎng)絡(luò)元素證明
在此,我們的目的是設(shè)計(jì)一個(gè)去中心化的計(jì)量協(xié)議,它捕獲網(wǎng)絡(luò)節(jié)點(diǎn)隨著時(shí)間推移的可用性和帶寬并鼓勵(lì)網(wǎng)絡(luò)引導(dǎo)和網(wǎng)絡(luò)的持續(xù)加入。我們運(yùn)用的主要構(gòu)造是被稱為網(wǎng)絡(luò)元素證明的一種練習(xí),同一網(wǎng)狀網(wǎng)絡(luò)中的任何三個(gè)節(jié)點(diǎn)都同意加入,為此成功加入后,他們都將收到 marco。
節(jié)點(diǎn) A 首先通過(guò)傳播給相鄰節(jié)點(diǎn)并測(cè)量它們的響應(yīng)延遲來(lái)啟動(dòng)網(wǎng)絡(luò)元素證明。延遲低通常會(huì)積累更多marco,因此,該節(jié)點(diǎn)選擇 B 和 C 這兩個(gè)距離最近的節(jié)點(diǎn)用于網(wǎng)絡(luò)元素證明,在網(wǎng)狀鏈上創(chuàng)建一個(gè)事務(wù),建立列出所需對(duì)等節(jié)點(diǎn)的公鑰哈希的智能合約。每一個(gè)對(duì)等節(jié)點(diǎn)都創(chuàng)建自己的事務(wù)以將簽名添加到同一智能合約,通過(guò)這樣的方式表明同意加入網(wǎng)絡(luò)元素證明。一旦同意,這些節(jié)點(diǎn)相互之間便構(gòu)成 mPipe。
然后,節(jié)點(diǎn) A 生成隨機(jī)數(shù) n 并創(chuàng)建一個(gè)將 n 的哈希添加到新智能合約的事務(wù)。如圖 12 中所示,節(jié)點(diǎn) A 接下來(lái)使用其私鑰加密 n 并將結(jié)果 EncryptA(n) 發(fā)送給節(jié)點(diǎn) B。這個(gè)對(duì)等接收節(jié)點(diǎn)可通過(guò)使用 A 的公鑰進(jìn)行解密來(lái)驗(yàn)證該信息。然后 B 重復(fù)此過(guò)程,得出信息EncryptB(EncryptA(n)),將該信息發(fā)送給 C。節(jié)點(diǎn) C 也重復(fù)此過(guò)程,將有效負(fù)載 EncryptC (EncryptB(EncryptA(n))) 發(fā)送回 A。最后,在更新現(xiàn)有智能合約的事務(wù)中,A 將此有效負(fù)載提交到網(wǎng)狀鏈。Marconi 網(wǎng)絡(luò)中的任何節(jié)點(diǎn)都可以使用 A、B、C 的公鑰驗(yàn)證此有效負(fù)載。
請(qǐng)注意,啟動(dòng)一個(gè)單獨(dú)的智能合約,將加密隨機(jī)數(shù)發(fā)送給 C,C 將它發(fā)送給 B,B 再發(fā)送回 A,通過(guò)這樣的方式,節(jié)點(diǎn) A 可以同時(shí)參與反方向的網(wǎng)絡(luò)元素證明。實(shí)際帶寬或延遲可能因數(shù)據(jù)流方向而存在差異,這樣做便可以對(duì)鏈路進(jìn)行雙向測(cè)量。
為了提供更高帶寬,如果對(duì)等節(jié)點(diǎn)同意,節(jié)點(diǎn)則可使用更大的隨機(jī)數(shù)。節(jié)點(diǎn)可以不斷重復(fù)網(wǎng)絡(luò)元素證明以不斷獲得 marco,并且這些完成的練習(xí)都是在網(wǎng)狀鏈中進(jìn)行的編碼,因此經(jīng)過(guò)一段時(shí)間后,它們會(huì)為各節(jié)點(diǎn)呈現(xiàn)一個(gè)相對(duì)準(zhǔn)確的帶寬和可用性視圖。此外,可根據(jù)需要將網(wǎng)絡(luò)元素證明練習(xí)的結(jié)果延遲上傳到網(wǎng)狀網(wǎng)絡(luò),因?yàn)槭欠窳⒓瓷蟼鞑⒉惶匾o(wú)論是立即上傳還是經(jīng)過(guò)幾個(gè)區(qū)塊后再上傳,都能輕松驗(yàn)證數(shù)據(jù)。由于這一異步屬性,參與節(jié)點(diǎn)在等待網(wǎng)狀鏈?zhǔn)聞?wù)時(shí)不受阻止,從而可以通過(guò)向?qū)Φ裙?jié)點(diǎn)發(fā)送更多隨機(jī)數(shù)繼續(xù)獨(dú)立取得進(jìn)展。這一異步屬性使對(duì)等節(jié)點(diǎn)間以及網(wǎng)狀鏈中的數(shù)據(jù)總吞吐量非常大。
網(wǎng)狀鏈有助于從全局鏈卸載數(shù)據(jù),但它們自己卻有可能因網(wǎng)絡(luò)元素證明而變大。為了減緩這種情況,我們采用了幾種技術(shù),例如,截?cái)嚓惻f度超過(guò)幾個(gè)月的網(wǎng)狀鏈數(shù)據(jù)(請(qǐng)回想一下,網(wǎng)狀鏈的聚合狀態(tài)是定期同步到全局鏈的)以及節(jié)點(diǎn)參與網(wǎng)絡(luò)元素證明的時(shí)間僅為總時(shí)間的一小部分的采樣方法。
3.網(wǎng)絡(luò)管理
3.1. 網(wǎng)絡(luò)參與者
加入 Marconi 網(wǎng)絡(luò)的參與者通常有三類。第一類為節(jié)點(diǎn)操作員,他們運(yùn)行向公用網(wǎng)狀網(wǎng)絡(luò)提供資源的一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)。這些節(jié)點(diǎn)執(zhí)行由該操作員選擇的功能,可能包括允許最終用戶連接、處理網(wǎng)絡(luò)流量、確認(rèn)全局鏈或網(wǎng)狀鏈上的區(qū)塊、計(jì)量流量或橋接不同的網(wǎng)狀子網(wǎng)。操作員可以選擇向現(xiàn)有網(wǎng)狀網(wǎng)絡(luò)提供資源,或選擇通過(guò)調(diào)用適當(dāng)?shù)姆种Ш霞s來(lái)創(chuàng)建新網(wǎng)狀鏈,生成作為全局區(qū)塊鏈分支的新網(wǎng)狀網(wǎng)絡(luò)。
第二類為網(wǎng)絡(luò)運(yùn)營(yíng)商,他們需要以特定方式協(xié)調(diào)一組節(jié)點(diǎn)。他們?cè)谏尚路种ф湹娜宙溕险{(diào)用一個(gè)分支合約,例如,為了構(gòu)成一個(gè)新的專用網(wǎng)狀網(wǎng)絡(luò)(見(jiàn)圖 13)。此分支合約中還指定了特定于此分支鏈的規(guī)則,例如,為了通過(guò)軟件定義網(wǎng)絡(luò)提高網(wǎng)絡(luò)效率或通過(guò)反網(wǎng)絡(luò)釣魚工具保護(hù)最終用戶而規(guī)定啟用哪些智能數(shù)據(jù)包合約的規(guī)則。示例網(wǎng)絡(luò)運(yùn)營(yíng)商包括公司、本地 ISP 或創(chuàng)造自己的通證經(jīng)濟(jì)的新區(qū)塊鏈協(xié)議。請(qǐng)注意,啟動(dòng)一個(gè)單獨(dú)的智能合約,將加密隨機(jī)數(shù)發(fā)送給 C,C 將它發(fā)送給 B,B 再發(fā)送回 A,通過(guò)這樣的方式,節(jié)點(diǎn) A 可以同時(shí)參與反方向的網(wǎng)絡(luò)元素證明。實(shí)際帶寬或延遲可能因數(shù)據(jù)流方向而存在差異,這樣做便可以對(duì)鏈路進(jìn)行雙向測(cè)量。
為了提供更高帶寬,如果對(duì)等節(jié)點(diǎn)同意,節(jié)點(diǎn)則可使用更大的隨機(jī)數(shù)。節(jié)點(diǎn)可以不斷重復(fù)網(wǎng)絡(luò)元素證明以不斷獲得 marco,并且這些完成的練習(xí)都是在網(wǎng)狀鏈中進(jìn)行的編碼,因此經(jīng)過(guò)一段時(shí)間后,它們會(huì)為各節(jié)點(diǎn)呈現(xiàn)一個(gè)相對(duì)準(zhǔn)確的帶寬和可用性視圖。此外,可根據(jù)需要將網(wǎng)絡(luò)元素證明練習(xí)的結(jié)果延遲上傳到網(wǎng)狀網(wǎng)絡(luò),因?yàn)槭欠窳⒓瓷蟼鞑⒉惶匾?。無(wú)論是立即上傳還是經(jīng)過(guò)幾個(gè)區(qū)塊后再上傳,都能輕松驗(yàn)證數(shù)據(jù)。由于這一異步屬性,參與節(jié)點(diǎn)在等待網(wǎng)狀鏈?zhǔn)聞?wù)時(shí)不受阻止,從而可以通過(guò)向?qū)Φ裙?jié)點(diǎn)發(fā)送更多隨機(jī)數(shù)繼續(xù)獨(dú)立取得進(jìn)展。這一異步屬性使對(duì)等節(jié)點(diǎn)間以及網(wǎng)狀鏈中的數(shù)據(jù)總吞吐量非常大。
網(wǎng)狀鏈有助于從全局鏈卸載數(shù)據(jù),但它們自己卻有可能因網(wǎng)絡(luò)元素證明而變大。為了減緩這種情況,我們采用了幾種技術(shù),例如,截?cái)嚓惻f度超過(guò)幾個(gè)月的網(wǎng)狀鏈數(shù)據(jù)(請(qǐng)回想一下,網(wǎng)狀鏈的聚合狀態(tài)是定期同步到全局鏈的)以及節(jié)點(diǎn)參與網(wǎng)絡(luò)元素證明的時(shí)間僅為總時(shí)間的一小部分的采樣方法。
3.網(wǎng)絡(luò)管理
3.1. 網(wǎng)絡(luò)參與者
加入 Marconi 網(wǎng)絡(luò)的參與者通常有三類。第一類為節(jié)點(diǎn)操作員,他們運(yùn)行向公用網(wǎng)狀網(wǎng)絡(luò)提供資源的一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)。這些節(jié)點(diǎn)執(zhí)行由該操作員選擇的功能,可能包括允許最終用戶連接、處理網(wǎng)絡(luò)流量、確認(rèn)全局鏈或網(wǎng)狀鏈上的區(qū)塊、計(jì)量流量或橋接不同的網(wǎng)狀子網(wǎng)。操作員可以選擇向現(xiàn)有網(wǎng)狀網(wǎng)絡(luò)提供資源,或選擇通過(guò)調(diào)用適當(dāng)?shù)姆种Ш霞s來(lái)創(chuàng)建新網(wǎng)狀鏈,生成作為全局區(qū)塊鏈分支的新網(wǎng)狀網(wǎng)絡(luò)。
第二類為網(wǎng)絡(luò)運(yùn)營(yíng)商,他們需要以特定方式協(xié)調(diào)一組節(jié)點(diǎn)。他們?cè)谏尚路种ф湹娜宙溕险{(diào)用一個(gè)分支合約,例如,為了構(gòu)成一個(gè)新的專用網(wǎng)狀網(wǎng)絡(luò)(見(jiàn)圖 13)。此分支合約中還指定了特定于此分支鏈的規(guī)則,例如,為了通過(guò)軟件定義網(wǎng)絡(luò)提高網(wǎng)絡(luò)效率或通過(guò)反網(wǎng)絡(luò)釣魚工具保護(hù)最終用戶而規(guī)定啟用哪些智能數(shù)據(jù)包合約的規(guī)則。示例網(wǎng)絡(luò)運(yùn)營(yíng)商包括公司、本地 ISP 或創(chuàng)造自己的通證經(jīng)濟(jì)的新區(qū)塊鏈協(xié)議。
第三類為最終用戶,如果獲得授權(quán),他們可能在任何時(shí)間連接公用或?qū)S镁W(wǎng)狀網(wǎng)絡(luò)。連接公用網(wǎng)狀網(wǎng)絡(luò)時(shí),用戶選擇加入他們選擇的智能數(shù)據(jù)包合約;而在專用網(wǎng)狀網(wǎng)絡(luò)中,他們必須遵守該網(wǎng)絡(luò)的規(guī)則。
3.2. 網(wǎng)絡(luò)形成
我們來(lái)研究一個(gè)節(jié)點(diǎn)操作員想在現(xiàn)有網(wǎng)狀鏈上建立新服務(wù)節(jié)點(diǎn)的案例,并以此為例來(lái)了解網(wǎng)絡(luò)形成過(guò)程。新服務(wù)節(jié)點(diǎn)按順序通過(guò)以下步驟加入 Marconi 網(wǎng)絡(luò):
1. 引導(dǎo)。新服務(wù)節(jié)點(diǎn)與少量引導(dǎo)節(jié)點(diǎn)建立聯(lián)系。這些引導(dǎo)節(jié)點(diǎn)會(huì)跟蹤 Marconi 網(wǎng)絡(luò)中存儲(chǔ)全局鏈數(shù)據(jù)副本的活動(dòng)節(jié)點(diǎn)的子集,并利用與這些節(jié)點(diǎn)相關(guān)的元數(shù)據(jù)響應(yīng)新服務(wù)節(jié)點(diǎn)。然后,新服務(wù)節(jié)點(diǎn)在此子集中查詢隨機(jī)節(jié)點(diǎn)樣本并觀察節(jié)點(diǎn)樣本的響應(yīng)延遲情況。新服務(wù)節(jié)點(diǎn)向少數(shù)響應(yīng)最快的節(jié)點(diǎn)逐個(gè)請(qǐng)求對(duì)等節(jié)點(diǎn)列表。然后,新服務(wù)節(jié)點(diǎn)重復(fù)執(zhí)行在這些列表中查詢節(jié)點(diǎn)樣本的過(guò)程,衡量節(jié)點(diǎn)樣本延遲情況并獲取對(duì)等節(jié)點(diǎn)列表,直到發(fā)現(xiàn)一些相鄰節(jié)點(diǎn),并將這些節(jié)點(diǎn)用作同步全局鏈數(shù)據(jù)的全局鏈對(duì)等節(jié)點(diǎn)。
2. 同步。新服務(wù)節(jié)點(diǎn)從對(duì)等節(jié)點(diǎn)下載數(shù)據(jù),通過(guò)全局鏈來(lái)同步歷史區(qū)塊,同時(shí)開(kāi)始在前向同步模式下監(jiān)聽(tīng)新區(qū)塊。
3. 注冊(cè)。新服務(wù)節(jié)點(diǎn)向在全局鏈上注冊(cè)公鑰標(biāo)識(shí)符的對(duì)等節(jié)點(diǎn)廣播事務(wù)。
4. 發(fā)現(xiàn)。新服務(wù)節(jié)點(diǎn)向全局鏈對(duì)等節(jié)點(diǎn)查詢與潛在網(wǎng)狀鏈對(duì)等節(jié)點(diǎn)相關(guān)的元數(shù)據(jù)。與在引導(dǎo)步驟中查找對(duì)等節(jié)點(diǎn)的重復(fù)過(guò)程類似,新服務(wù)節(jié)點(diǎn)會(huì)觀察向這些對(duì)等節(jié)點(diǎn)發(fā)送請(qǐng)求或從對(duì)等節(jié)點(diǎn)收到響應(yīng)的延遲情況和帶寬,并據(jù)此縮小潛在網(wǎng)狀鏈對(duì)等節(jié)點(diǎn)的范圍。找到最佳對(duì)等節(jié)點(diǎn)后,新節(jié)點(diǎn)會(huì)通過(guò)各自網(wǎng)狀鏈中的對(duì)等節(jié)點(diǎn)同步網(wǎng)狀鏈區(qū)塊。
5. 協(xié)商。新服務(wù)節(jié)點(diǎn)在其所需的網(wǎng)狀鏈上創(chuàng)建事務(wù),建立智能合約,列出其所需的直接對(duì)等節(jié)點(diǎn)的公鑰哈希。每一個(gè)對(duì)等節(jié)點(diǎn)都創(chuàng)建自己的事務(wù)以將簽名添加到同一智能合約,通過(guò)這樣的方式表明同意。
6. 設(shè)置。新服務(wù)節(jié)點(diǎn)使用 Diffie-Hellman 密鑰交換算法構(gòu)建共享密鑰,從而與其每個(gè)直接對(duì)等節(jié)點(diǎn)形成mPipe。
7. 維護(hù)。新服務(wù)節(jié)點(diǎn)不斷地與其直接對(duì)等節(jié)點(diǎn)執(zhí)行網(wǎng)絡(luò)元素證明。所有敏感通信會(huì)通過(guò)在上一步建立的 mPipe 發(fā)生。
如果節(jié)點(diǎn)僅挖掘全局鏈,而不對(duì)網(wǎng)狀鏈做出貢獻(xiàn),步驟將更加簡(jiǎn)單。在這種情況下,只需要執(zhí)行引導(dǎo)和同步步驟即可
3.3. PeerRank
Marconi 網(wǎng)絡(luò)利用信譽(yù)系統(tǒng)來(lái)衡量節(jié)點(diǎn)和子網(wǎng)質(zhì)量。它可以通過(guò)觀察網(wǎng)絡(luò)元素證明練習(xí)生成的結(jié)果,跟蹤各節(jié)點(diǎn)在經(jīng)過(guò)一段時(shí)間后的容量和可用性,從而根據(jù)與附近的對(duì)等節(jié)點(diǎn)相關(guān)的指標(biāo)得出一個(gè)規(guī)范化分?jǐn)?shù)。表現(xiàn)良好且與分?jǐn)?shù)高的對(duì)等節(jié)點(diǎn)協(xié)作的節(jié)點(diǎn)本身的分?jǐn)?shù)往往較高。這一稱為 PeerRank 的加權(quán)系統(tǒng)得出網(wǎng)絡(luò)節(jié)點(diǎn)和子網(wǎng)的堆棧級(jí)別,可用于各種情況,這一稱為 PeerRank 的加權(quán)系統(tǒng)得出網(wǎng)絡(luò)節(jié)點(diǎn)和子網(wǎng)的堆棧級(jí)別,可用于各種情況,例如在確定可以接受來(lái)自網(wǎng)絡(luò)對(duì)等節(jié)點(diǎn)的新連接時(shí)仍能維持當(dāng)前連接的節(jié)點(diǎn)。對(duì)于決定要連接哪些節(jié)點(diǎn)的用戶而言,分?jǐn)?shù)也是一個(gè)非常方便的信號(hào)。
根據(jù)各節(jié)點(diǎn)在相應(yīng)網(wǎng)狀鏈中記錄的行為,將其 PeerRank 分?jǐn)?shù)定期同步到全局鏈。這就將分?jǐn)?shù)與公鑰標(biāo)識(shí)符關(guān)聯(lián)起來(lái),從而任何其他節(jié)點(diǎn)都可以觀察并利用分?jǐn)?shù)。
3.4. 降低網(wǎng)狀網(wǎng)絡(luò)的復(fù)雜度
Marconi 網(wǎng)絡(luò)協(xié)議支持無(wú)線網(wǎng)絡(luò)和對(duì)等網(wǎng)狀網(wǎng)絡(luò)。在這樣的網(wǎng)絡(luò)中管理節(jié)點(diǎn)間連接和確保高性能的流量路由可能比較困難,因?yàn)榭赡艿倪B接數(shù)隨 O(n2) 而增加,其中n為節(jié)點(diǎn)數(shù)。
例如,僅 A、B、C、D 四個(gè)節(jié)點(diǎn)的網(wǎng)狀網(wǎng)絡(luò)(見(jiàn)圖 14)。假如節(jié)點(diǎn) A 要向節(jié)點(diǎn) D 發(fā)送數(shù)據(jù),有多種可能的路徑可供選擇:AD、ABD、ACD、ABCD 和 ACBD。
為降低復(fù)雜性,我們將已知網(wǎng)絡(luò)節(jié)點(diǎn)中的多個(gè) OSI 第 2 層連接組合并綁定為一個(gè)含 OSI 第 3 層配置數(shù)據(jù)的虛擬網(wǎng)絡(luò)接口,這與操作系統(tǒng)橋接多個(gè)物理網(wǎng)絡(luò)接口控制器增加網(wǎng)絡(luò)連接的容量和冗余度。這種綁定為節(jié)點(diǎn)、網(wǎng)絡(luò)運(yùn)營(yíng)商以及編寫智能數(shù)據(jù)包應(yīng)用的開(kāi)發(fā)人員降低了復(fù)雜性。還在丟失網(wǎng)絡(luò)鏈路的情況下提供連接冗余和容錯(cuò)能力,并且由于它能將傳出流量分布到多個(gè)路徑而提高了吞吐量。
4.通證 (Token)
Marco 就是為 Marconi 網(wǎng)絡(luò)提供支持的通證。這些效用通證可用于網(wǎng)絡(luò)帶寬,也可作為處理網(wǎng)絡(luò)流量和運(yùn)行智能合約的燃料使用。服務(wù)節(jié)點(diǎn)在確認(rèn)區(qū)塊或成功完成網(wǎng)絡(luò)元素證明時(shí)接收 marco。在某些類型的網(wǎng)絡(luò)操作中(例如,在網(wǎng)狀鏈中權(quán)益累積,或創(chuàng)建一個(gè)啟動(dòng)新的專用網(wǎng)狀鏈的事務(wù)),也需要 marco。
在 Marconi 網(wǎng)絡(luò)中執(zhí)行工作所需的 marco 數(shù)量由幾個(gè)參數(shù)決定??蓪⑵浣?,構(gòu)成函數(shù) f (a, B, y, &),其中 a 是使用的帶寬,B 表示提供的帶寬的服務(wù)質(zhì)量,Y表示執(zhí)行的任何智能合約在計(jì)算和存儲(chǔ)方面的復(fù)雜度,而&為客戶設(shè)置的燃料價(jià)格。提供商接受該燃料價(jià)格時(shí),執(zhí)行工作;拒絕該燃料價(jià)格時(shí),忽略工作。
與基于可采燃料的其他區(qū)塊鏈類似,marco 的供應(yīng)量最初將以較大速度增加,激勵(lì)礦工引導(dǎo)網(wǎng)絡(luò),在共計(jì)十年后,增長(zhǎng)速度減緩至最低水平(見(jiàn)圖 15)。
應(yīng)用
Marconi 網(wǎng)絡(luò)及其智能數(shù)據(jù)包合約提供一個(gè)可靠的去中心化網(wǎng)絡(luò)基礎(chǔ)設(shè)施和平臺(tái),使開(kāi)發(fā)人員能夠生成強(qiáng)大的應(yīng)用。本章將提供幾個(gè)示例進(jìn)行說(shuō)明。我們也相信,開(kāi)發(fā)者社區(qū)最終將設(shè)想并創(chuàng)建許多極具吸引力的應(yīng)用。
1.區(qū)塊鏈協(xié)議
1.1. 去中心化的網(wǎng)絡(luò)基礎(chǔ)設(shè)施
憑借分支合約和分支鏈,可在 Marconi 平臺(tái)上開(kāi)發(fā)和啟動(dòng)新的區(qū)塊鏈協(xié)議,從而免費(fèi)獲得該平臺(tái)的安全性和網(wǎng)絡(luò)中立性等內(nèi)置權(quán)益。并且,由于無(wú)代碼更改,現(xiàn)有的區(qū)塊鏈協(xié)議可利用 Marconi 網(wǎng)絡(luò)增強(qiáng)并最終完全去中心化的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,開(kāi)始將該網(wǎng)絡(luò)用于節(jié)點(diǎn)間通信。
1.2. 區(qū)塊鏈遷移通證
與區(qū)塊鏈協(xié)議相關(guān)的另一個(gè)有趣的應(yīng)用能夠?qū)⑼ㄗC的實(shí)現(xiàn)遷移到自己的區(qū)塊鏈。例如,如果按照 ERC20 等通用標(biāo)準(zhǔn)實(shí)現(xiàn)通證,則可輕松將其規(guī)則指定為分支合約(該合約創(chuàng)建源自全局鏈的新分支鏈)的基礎(chǔ),從而允許將通證遷移到自己在 Marconi 網(wǎng)絡(luò)中運(yùn)行的獨(dú)立鏈??梢詫①~戶余額狀態(tài)聚合到此新分支鏈的一個(gè)創(chuàng)世區(qū)塊中,從而打破對(duì)以太坊龐大的數(shù)據(jù)目錄等任何之前的鏈數(shù)據(jù)的依賴。由于事務(wù)可以調(diào)用全局鏈上起源分支合約中的函數(shù),所以將事務(wù)提交到這一新鏈即可在賬戶間傳輸通證。新鏈仍然定期檢查聚合狀態(tài)并將其傳回全局鏈,例如,賬戶余額的快照被寫入起源分支合約,以體現(xiàn)分支鏈中發(fā)生的情況。
2.安全性應(yīng)用
2.1. 反網(wǎng)絡(luò)釣魚、反惡意軟件和反病毒防護(hù)
無(wú)需安裝任何特殊的軟硬件,使用智能數(shù)據(jù)包合約,即可立即為最終用戶甚至企業(yè)網(wǎng)絡(luò)提供這種防護(hù)。這是可行的:如果未加密,分析數(shù)據(jù)包有效負(fù)載;否則,分析數(shù)據(jù)包標(biāo)頭、大小和數(shù)量以及域名。
常見(jiàn)的網(wǎng)絡(luò)釣魚策略涉及到構(gòu)造一個(gè)具有誤導(dǎo)性的 URL,它看上去很像用戶信任的 URL,例如,將 ASCII字符替換為幾乎一模一樣的 Unicode 字符,然后注冊(cè)得出的域名,并偽裝新站點(diǎn),使其與可信站點(diǎn)相似。檢測(cè)此類具有誤導(dǎo)性的 URL 非常簡(jiǎn)單,只需要幾行智能數(shù)據(jù)包合約代碼(請(qǐng)回顧圖 7)。盡管一些最常用的瀏覽器和郵件客戶端已實(shí)現(xiàn)反網(wǎng)絡(luò)釣魚防護(hù),許多不那么常用或更基礎(chǔ)的用戶應(yīng)用(例如短信)仍然僅將它作為一種事后補(bǔ)救措施,甚至是完全缺少這種防護(hù)。在 Marconi 平臺(tái)的低級(jí)網(wǎng)絡(luò)層解決此問(wèn)題,只需一次,就不需要在每一個(gè)可能的用戶程序的較高層重新實(shí)現(xiàn)同一解決方案多次??梢允褂闷渌R?jiàn)的反網(wǎng)絡(luò)釣魚技術(shù)(例如,已知不良站點(diǎn)和內(nèi)容的數(shù)據(jù)庫(kù),或者對(duì)此類站點(diǎn)和內(nèi)容進(jìn)行了訓(xùn)練的機(jī)器學(xué)習(xí)模型)擴(kuò)展 Marconi 實(shí)現(xiàn)。最后,憑借 Marconi 平臺(tái),開(kāi)發(fā)人員能夠獲得 marco,將其用于去中心化應(yīng)用(如果他們選擇這樣做);從而使 marco 可用于激勵(lì)最終用戶報(bào)告可疑的站點(diǎn)或內(nèi)容。
2.2. 入侵檢測(cè)和防御系統(tǒng) (IDS/IPS)
在專用網(wǎng)絡(luò)中,可利用監(jiān)控來(lái)檢測(cè)網(wǎng)絡(luò)上的流量異?,F(xiàn)象和惡意活動(dòng),通過(guò)通知管理員或主動(dòng)阻止可疑數(shù)據(jù)包的方式防止來(lái)自內(nèi)外部攻擊者的攻擊。
2.3. 虛擬專用網(wǎng)絡(luò)(VPN 或 dVPN)
可將專用網(wǎng)絡(luò)擴(kuò)展到公用或共享網(wǎng)絡(luò)上,通過(guò)身份驗(yàn)證防止未授權(quán)的訪問(wèn),并通過(guò)流量加密和一個(gè)間接層來(lái)保護(hù)隱私。Marconi 鏈路對(duì)于那些需要強(qiáng)烈的混淆網(wǎng)絡(luò)路徑的用戶尤其有用,因?yàn)楦櫉o(wú)線躍點(diǎn)的難度遠(yuǎn)遠(yuǎn)大于跟蹤有線躍點(diǎn)。無(wú)論是有線還是無(wú)線,用戶都能通過(guò)在 OSI 第 2 層的低級(jí)加密獲得額外的安全性。用戶甚至可以輪流使用多個(gè)入口節(jié)點(diǎn)再退出節(jié)點(diǎn),進(jìn)一步混淆流量。
3.網(wǎng)絡(luò)應(yīng)用
3.1. 安全的現(xiàn)場(chǎng)網(wǎng)絡(luò)
通過(guò)使用支持 Marconi 協(xié)議的同一技術(shù),可以在戰(zhàn)場(chǎng)或救災(zāi)環(huán)境中快速部署多個(gè)安全的現(xiàn)場(chǎng)網(wǎng)絡(luò),并將其通信流量歷史存儲(chǔ)在賬本中,以便在網(wǎng)絡(luò)退役后進(jìn)行審計(jì)。
3.2. 物聯(lián)網(wǎng) (IoT) 設(shè)備管理
隨著 IoT 設(shè)備數(shù)量和功能的增加,它們可支持的應(yīng)用的數(shù)量也將增加,對(duì)設(shè)備之間安全通信的需求也將增長(zhǎng)。通過(guò) Marconi 及其智能數(shù)據(jù)包合約,這些設(shè)備可以安全正常地互操作,并根據(jù)需要配合以協(xié)作解決復(fù)雜問(wèn)題,在分布式網(wǎng)格計(jì)算的現(xiàn)代變體中充分利用本地可用的硬件。Marconi 網(wǎng)絡(luò)和 API 共同提供一個(gè)平臺(tái),將多個(gè)智能手機(jī)、工作站、甚至自動(dòng)駕駛汽車中 GPU 的功能相結(jié)合,開(kāi)發(fā)人員可直接利用這些功能使遠(yuǎn)近用戶獲益,這樣,我們就可以獲得從未見(jiàn)過(guò)的一類新應(yīng)用。
3.3. 內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN 或 dCDN)
可通過(guò) Marconi 網(wǎng)絡(luò)中的節(jié)點(diǎn)緩存大型或常用的互聯(lián)網(wǎng)內(nèi)容,將這些內(nèi)容以更便捷的本地方式提供給消費(fèi)者,從而更有效地利用帶寬并改善延遲現(xiàn)象。此類內(nèi)容的示例包括視頻文件或者必須通過(guò)新挖掘節(jié)點(diǎn)同步的各常用區(qū)塊鏈中的歷史區(qū)塊。這可以大大減少?gòu)念^開(kāi)始設(shè)置挖掘節(jié)點(diǎn)所需的時(shí)間。去中心化的點(diǎn)對(duì)點(diǎn) CDN 對(duì)內(nèi)容提供商也極具吸引力,因?yàn)槌醮螁?dòng)分發(fā)網(wǎng)絡(luò)無(wú)開(kāi)銷費(fèi)用,維護(hù)網(wǎng)絡(luò)硬件也不會(huì)產(chǎn)生任何后續(xù)費(fèi)用。僅自己部署和提供內(nèi)容會(huì)產(chǎn)生費(fèi)用,流量計(jì)量功能已內(nèi)置到 Marconi 網(wǎng)絡(luò)中。
3.4. 軟件定義網(wǎng)絡(luò) (SDN)
可通過(guò)分布式網(wǎng)絡(luò)虛擬化來(lái)管理和控制計(jì)算機(jī),通過(guò)這種方式可以從一個(gè)控制臺(tái)對(duì)網(wǎng)絡(luò)硬件進(jìn)行動(dòng)態(tài)的重新配置和重新編程,例如,啟動(dòng)新的節(jié)點(diǎn)用于負(fù)載平衡或流量整形。
安全
由于 Marconi 在底層解決了這些攻擊,所以建立在 Marconi 上的新區(qū)塊鏈協(xié)議也能獲得相同的保護(hù)。
1.事務(wù)泛洪攻擊
事務(wù)泛洪攻擊可能會(huì)向全局鏈或某個(gè)分支鏈添加許多空操作事務(wù)或無(wú)用事務(wù),試圖憑借這些事務(wù)給網(wǎng)絡(luò)造成巨大的負(fù)載,從而阻止正常事務(wù)的添加或處理。為了削弱這種攻擊,Marconi 協(xié)議中大多數(shù)事務(wù)類型都需要少量保證金,僅在經(jīng)過(guò)一段時(shí)間后或操作成功完成后才予以退還。例如,任何沒(méi)有必備保證金的事務(wù)都將被立即拒絕,所以如果攻擊者試圖在較短的時(shí)間內(nèi)生成許多個(gè)分支鏈,分支鏈數(shù)量將受到其可用資金的限制。在這些新創(chuàng)建的分支鏈中,如果沒(méi)有任何節(jié)點(diǎn)注冊(cè)并向它們貢獻(xiàn)資源(此操作本身也需要保證金),用于創(chuàng)建分支鏈的保證金將被扣除(而非退還)。
2.數(shù)據(jù)包注入
將偽造的網(wǎng)絡(luò)數(shù)據(jù)包注入 Marconi 網(wǎng)絡(luò)比以往更難,因?yàn)楣?jié)點(diǎn)間的每個(gè)躍點(diǎn)都憑借特定的對(duì)稱密鑰組合通過(guò) mPipe 或 mLink 受到 OSI 第 2 層加密的單獨(dú)保護(hù)。如果沒(méi)有這些密鑰,攻擊者將無(wú)法解密數(shù)據(jù),從而難以通過(guò)分析流量找出潛在的數(shù)據(jù)包注入點(diǎn)。也無(wú)法對(duì)他們構(gòu)造的任何惡意數(shù)據(jù)包進(jìn)行加密,因此,目標(biāo)節(jié)點(diǎn)能夠輕松將它們與可信數(shù)據(jù)包區(qū)分開(kāi)來(lái)。
3.女巫攻擊
Marconi 網(wǎng)絡(luò)中防范女巫節(jié)點(diǎn)的第一道防線為費(fèi)用。因?yàn)楣€注冊(cè)和多數(shù)其他事務(wù)都需要保證金,所以攻擊者可以構(gòu)造的身份數(shù)量受到可用資金的限制。防范女巫節(jié)點(diǎn)的第二道防線為 PeerRank。誠(chéng)實(shí)節(jié)點(diǎn)傾向于與其可信任的節(jié)點(diǎn)協(xié)作,這樣可以獲得更多marco,避免保證金被扣除以及自己的 PeerRank 分?jǐn)?shù)被下調(diào)。例如,如果節(jié)點(diǎn)因網(wǎng)絡(luò)元素證明練習(xí)而未能發(fā)送或接收可觀的隨機(jī)數(shù),則不僅該節(jié)點(diǎn)及其對(duì)等節(jié)點(diǎn)收到的 marco 會(huì)減少,它們的 PeerRank 分?jǐn)?shù)也將受到不良影響。
我們理應(yīng)保護(hù)網(wǎng)絡(luò)不受到非理性行為干擾。例如,一名操作員可以延長(zhǎng)節(jié)點(diǎn)正常運(yùn)行的時(shí)間以贏得信任,然后再突然開(kāi)始做出一些不當(dāng)行為。這樣的行為可能會(huì)導(dǎo)致失去 marco,而如果他們繼續(xù)使節(jié)點(diǎn)正常、良好地運(yùn)行,將繼續(xù)獲得 marco。因此,理性參與者并不會(huì)對(duì)網(wǎng)絡(luò)構(gòu)成威脅,但防范非理性參與者依然任重道遠(yuǎn)。
4.量子攻擊
通過(guò)量子計(jì)算機(jī)使用足夠多的量子位,可入侵許多廣泛使用的密碼算法。雖然如今不太可能有這樣的計(jì)算機(jī),但在不久的將來(lái)可能會(huì)有。隨著后量子密碼技術(shù)的不斷發(fā)展,Marconi 協(xié)議的開(kāi)發(fā)人員對(duì)利用這樣的技術(shù)強(qiáng)化系統(tǒng)非常感興趣。
總結(jié)
我們提出了這樣一個(gè)系統(tǒng):通過(guò)它,可以使用網(wǎng)絡(luò)數(shù)據(jù)包智能合約,還可以通過(guò)編程方式快速啟動(dòng)分支鏈和安全網(wǎng)絡(luò)。我們首先介紹網(wǎng)絡(luò)基礎(chǔ)設(shè)施的現(xiàn)狀,并提到其不安全、難以管理和控制集中的特點(diǎn)。我們還意識(shí)到許多現(xiàn)有的區(qū)塊鏈項(xiàng)目、專用及本地網(wǎng)絡(luò)、甚至更廣泛的互聯(lián)網(wǎng)本身都正在依賴這樣問(wèn)題重重的基礎(chǔ)設(shè)施。我們通過(guò)改變看待、部署和使用網(wǎng)絡(luò)基礎(chǔ)設(shè)施的方式,對(duì)這一情況做出彌補(bǔ):提供了一個(gè)設(shè)計(jì)向下延伸到 OSI 第 2 層的網(wǎng)絡(luò)協(xié)議,這一協(xié)議具有可靠的安全性、性能和對(duì)等建網(wǎng)功能;提供了一個(gè)區(qū)塊鏈,通過(guò)它進(jìn)行不可靠的互操作以及網(wǎng)絡(luò)資源交換并激勵(lì)參與對(duì)這一個(gè)新網(wǎng)絡(luò)的引導(dǎo)。最后,我們使開(kāi)發(fā)人員能夠在這一平臺(tái)上生成新的分布式去中心化應(yīng)用。