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