薛常春
(山東省郵電工程有限公司,濟(jì)南 250001)
在Internet 誕生之初,解決的最主要的問題是信息制造和傳輸,人們可以通過Internet 快速生成信息并將其傳輸?shù)绞澜绲拿總€(gè)角落。但是,Internet 無法解決價(jià)值和信用的轉(zhuǎn)移,也無法實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的價(jià)值轉(zhuǎn)移。所謂價(jià)值轉(zhuǎn)移,是指網(wǎng)絡(luò)中的每個(gè)人都可以以一種可以識(shí)別和確認(rèn)的方式將價(jià)值的特定部分從一個(gè)地址準(zhǔn)確轉(zhuǎn)移到另一個(gè)地址。在互聯(lián)網(wǎng)的背景下,當(dāng)需要與陌生人進(jìn)行價(jià)值交換時(shí),如何防止被惡意破壞、欺騙和混淆,從而減少錯(cuò)誤決定的產(chǎn)生?換句話說,在沒有可信通道和可信中央節(jié)點(diǎn)的情況下,網(wǎng)絡(luò)中分布的節(jié)點(diǎn)如何達(dá)成共識(shí)?區(qū)塊鏈技術(shù)為解決這個(gè)問題提供了可能性。
可以從兩個(gè)狹義和廣義的角度來定義區(qū)塊鏈。從狹義的角度來看,區(qū)塊鏈?zhǔn)且环N數(shù)據(jù)結(jié)構(gòu),它按時(shí)間順序?qū)㈡溨械臄?shù)據(jù)塊組合在一起,并保證其不會(huì)被篡改和加密。從廣義上講,區(qū)塊鏈?zhǔn)且环N去中心化,受信任的基礎(chǔ)架構(gòu)和分布式計(jì)算范例。區(qū)塊鏈技術(shù)可以實(shí)現(xiàn)全球數(shù)據(jù)信息的分布式記錄和分布式存儲(chǔ),具有很高的安全性和可靠性。區(qū)塊鏈技術(shù)使每個(gè)人都有權(quán)瀏覽公共分類帳,每個(gè)人都對(duì)其進(jìn)行監(jiān)視以確保其正確性,記錄的內(nèi)容只能添加,不能刪除,并且將被永久存儲(chǔ)。具體來說,系統(tǒng)將選擇在該時(shí)間段內(nèi)記錄最快和最佳時(shí)間的人員,該人員將保留帳戶,在這段時(shí)間內(nèi),它將在數(shù)據(jù)庫(kù)進(jìn)行信息數(shù)據(jù)更改,系統(tǒng)確認(rèn)記錄正確后,將該文件發(fā)送給整個(gè)系統(tǒng)中的其他任何人。系統(tǒng)將重復(fù)地尋找下一個(gè)人員,并且系統(tǒng)中的其他每個(gè)人都將獲得整個(gè)分類帳的副本,這也意味著系統(tǒng)中的每個(gè)人都有相同的分類帳。因此,該技術(shù)也稱為分布式賬本技術(shù):因?yàn)槊總€(gè)人(計(jì)算機(jī))都具有相同的分類帳,并且每個(gè)人(計(jì)算機(jī))都具有完全權(quán)限,所以整個(gè)系統(tǒng)不會(huì)因?yàn)閱蝹€(gè)人(計(jì)算機(jī))失去聯(lián)系或崩潰而導(dǎo)致系統(tǒng)崩潰。
區(qū)塊鏈信息存儲(chǔ)的可信性主要是用來解決信息儲(chǔ)存過程中所面臨的的容錯(cuò)性問題,即我們常說的分布式共識(shí)問題。例如近年來興起的比特幣,就是在其區(qū)域鏈中采用工作量證明機(jī)制來解決信息存儲(chǔ)的可信性問題。在某一時(shí)間段內(nèi),每次隨機(jī)數(shù)計(jì)算所需的計(jì)算能力是等效的,也就是人們常說的“采礦”過程,如果某些用戶在進(jìn)行“采礦”時(shí),需要將信息數(shù)據(jù)進(jìn)行篡改或偽造,則必然需要自身計(jì)算機(jī)的計(jì)算能力超過其他用戶,構(gòu)建更長(zhǎng)的區(qū)域鏈。
NDN 中的交互數(shù)據(jù)包分為兩種,即請(qǐng)求分組和數(shù)據(jù)分組。作為請(qǐng)求分組的網(wǎng)絡(luò),將內(nèi)容請(qǐng)求發(fā)送到內(nèi)容源以請(qǐng)求相應(yīng)內(nèi)容的請(qǐng)求分組;數(shù)據(jù)分組主要是指數(shù)據(jù)網(wǎng)絡(luò)中所存儲(chǔ)的信息源或者是節(jié)點(diǎn)返回的內(nèi)容信息。命名數(shù)據(jù)網(wǎng)絡(luò)單個(gè)節(jié)點(diǎn)通信流程如圖1所示。從圖1中可以看出,NDN 主要包括待定興趣表、轉(zhuǎn)發(fā)信息表與內(nèi)容緩存庫(kù)。內(nèi)容緩存庫(kù)用于緩存節(jié)點(diǎn)接收的數(shù)據(jù)分組內(nèi)容,當(dāng)接收到一樣的信息內(nèi)容獲取請(qǐng)求時(shí),反應(yīng)更加的快速高效。待定信息表主要作用是用來對(duì)那些系統(tǒng)沒有響應(yīng)的內(nèi)容進(jìn)行記錄,如記錄內(nèi)容的名稱與信息源等參數(shù),待定興趣表允許具有相同內(nèi)容的請(qǐng)求數(shù)據(jù)包通過一個(gè)節(jié)點(diǎn),以聚合為一個(gè)條目,該處理僅轉(zhuǎn)發(fā)一個(gè)請(qǐng)求,根據(jù)待定興趣表的指示,以準(zhǔn)確到達(dá)請(qǐng)求者。轉(zhuǎn)發(fā)信息表類似于TCP/IP 網(wǎng)絡(luò)中的FIB,基于路由協(xié)議產(chǎn)生,主要是記錄當(dāng)前節(jié)點(diǎn)至緩存節(jié)點(diǎn)的內(nèi)容。在對(duì)區(qū)域鏈中的通信節(jié)點(diǎn)進(jìn)行應(yīng)用時(shí),如果說節(jié)點(diǎn)所接收的數(shù)據(jù)對(duì)象來自于對(duì)象節(jié)點(diǎn),則是控制信令的類型,用于表示節(jié)點(diǎn)的活動(dòng)狀態(tài);若數(shù)據(jù)節(jié)點(diǎn)自身即表示為活動(dòng)狀態(tài),則由路由器將節(jié)點(diǎn)添加至路由項(xiàng),然后將其轉(zhuǎn)發(fā)給下一個(gè)路由器以重復(fù)上述過程;若節(jié)點(diǎn)顯示為退出狀態(tài),則由路由將此節(jié)點(diǎn)對(duì)應(yīng)的路由項(xiàng)刪除,之后接受節(jié)點(diǎn)將相應(yīng)數(shù)據(jù)分組。所以,對(duì)于命名數(shù)據(jù)網(wǎng)絡(luò)中的路由器基于節(jié)點(diǎn)發(fā)送的請(qǐng)求數(shù)據(jù)包中攜帶的信息,以在整個(gè)網(wǎng)絡(luò)中建立初始路由,這有利于后續(xù)通信的路由和轉(zhuǎn)發(fā)。

圖1 命名數(shù)據(jù)網(wǎng)絡(luò)單個(gè)節(jié)點(diǎn)通信流程
從市場(chǎng)應(yīng)用的角度來看,區(qū)塊鏈有助于降低平臺(tái)成本,從底層技術(shù)的角度來看,區(qū)塊鏈有望促進(jìn)數(shù)據(jù)記錄、數(shù)據(jù)分發(fā)和數(shù)據(jù)存儲(chǔ)管理方法的轉(zhuǎn)變,區(qū)塊鏈本身更像是互聯(lián)網(wǎng)底部的開放源協(xié)議,并將在不久的將來觸及現(xiàn)有互聯(lián)網(wǎng)的基礎(chǔ)。區(qū)塊鏈技術(shù)及其應(yīng)用的發(fā)展將在促進(jìn)新一代信息技術(shù)的發(fā)展中發(fā)揮重要作用。