本發(fā)明涉及信息安全中心的密碼學(xué)技術(shù)領(lǐng)域,特別涉及一種基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法。
背景技術(shù):
智能移動(dòng)互聯(lián)網(wǎng)已經(jīng)逐漸滲入到人們生活的各個(gè)方面,從近幾年移動(dòng)互聯(lián)網(wǎng)智能設(shè)備的發(fā)展趨勢(shì)看,以智能手機(jī)為代表的智能移動(dòng)終端數(shù)量一直處于高速增長(zhǎng)的狀態(tài)。隨著智能設(shè)備的普及,智能設(shè)備具有定位功能得到了十分廣泛的應(yīng)用,保障位置信息的安全可信是保證用戶良好體驗(yàn)的重要前提。但是由于城市室內(nèi)環(huán)境的復(fù)雜性或者野外環(huán)境不確定性,gps信號(hào)處于弱信號(hào)或者無(wú)信號(hào)狀態(tài),這對(duì)安全可信定位提出了更高的要求。
通常節(jié)點(diǎn)從gps獲得其位置信息,然而如果沒(méi)有g(shù)ps信號(hào),則很難知道所有節(jié)點(diǎn)的位置,并且對(duì)于一個(gè)節(jié)點(diǎn)來(lái)說(shuō),難以驗(yàn)證由其他節(jié)點(diǎn)廣播的位置的真實(shí)性。考慮一組具有手持移動(dòng)設(shè)備的人在孤立的野外執(zhí)行任務(wù)的情況,其中沒(méi)有來(lái)自外部世界的網(wǎng)絡(luò)和gps信號(hào)。這些節(jié)點(diǎn)將自組織一個(gè)智能移動(dòng)終端網(wǎng)絡(luò),通過(guò)它們可以利用多跳來(lái)相互發(fā)送數(shù)據(jù),以實(shí)現(xiàn)安全的通信和定位。
2008年,由中本聰(satoshinakamoto)首次提出并規(guī)范證明了比特幣的概念,隨著這種不通過(guò)金融機(jī)構(gòu)的點(diǎn)對(duì)點(diǎn)交易的快速發(fā)展,比特幣概念也從最早的數(shù)字貨幣衍生成一種去中心化的數(shù)字貨幣支付系統(tǒng)。比特幣網(wǎng)絡(luò)系統(tǒng)以使用計(jì)算機(jī)解決復(fù)雜性數(shù)學(xué)問(wèn)題的形式(可以將之稱為“挖礦”)來(lái)產(chǎn)生新的比特幣,通過(guò)構(gòu)建特定的算法使得以遞減的速度產(chǎn)生新的比特幣保持整個(gè)系統(tǒng)中的平衡,即不會(huì)產(chǎn)生嚴(yán)重的“通貨膨脹”。而區(qū)塊鏈(blockchain)技術(shù),作為比特幣交易系統(tǒng)中最核心的一種信息技術(shù),因其交易系統(tǒng)的開(kāi)放性、不依賴任何信任機(jī)構(gòu)的去中心化性、時(shí)間戳和數(shù)字簽名所保證的不可篡改性和合法交易存于區(qū)塊鏈的永久性等特點(diǎn),解決了雙重消費(fèi)問(wèn)題和拜占庭將軍問(wèn)題,并實(shí)現(xiàn)了一種無(wú)信任的共識(shí)網(wǎng)絡(luò)系統(tǒng),越來(lái)越多的科研團(tuán)隊(duì)和商業(yè)隊(duì)伍認(rèn)識(shí)到區(qū)塊鏈技術(shù)的顛覆性,加入到了信息基礎(chǔ)技術(shù)的巨大創(chuàng)新中。
區(qū)塊鏈?zhǔn)潜忍貛艆f(xié)議的一部分,是不需要維護(hù)的分布式數(shù)據(jù),它維護(hù)著一個(gè)持續(xù)增長(zhǎng)的不可篡改的數(shù)據(jù)記錄列表,可以使用加密,時(shí)間戳和分布式共識(shí)技術(shù)來(lái)實(shí)現(xiàn)分散式架構(gòu)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決上述相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
為此,本發(fā)明的一個(gè)目的在于提出一種基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法。該基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法可以將區(qū)塊鏈中的區(qū)塊視為共識(shí)機(jī)制的可信節(jié)點(diǎn),根據(jù)區(qū)塊鏈的特點(diǎn),使得移動(dòng)終端網(wǎng)絡(luò)中的用戶在不依靠可信第三方的情況下,并在無(wú)gps信號(hào)或弱gps信號(hào)情況下進(jìn)行準(zhǔn)確定位自己在通信網(wǎng)絡(luò)中的位置信息。
為了實(shí)現(xiàn)上述目的,本發(fā)明的公開(kāi)了一種基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法,所述移動(dòng)終端網(wǎng)絡(luò)包括多個(gè)節(jié)點(diǎn),節(jié)點(diǎn)的節(jié)點(diǎn)信息以區(qū)塊的形式進(jìn)行存儲(chǔ),多個(gè)區(qū)塊組成一個(gè)區(qū)塊鏈,區(qū)塊鏈中的區(qū)塊數(shù)據(jù)為節(jié)點(diǎn)的節(jié)點(diǎn)信息,所述節(jié)點(diǎn)信息至少包括與相鄰節(jié)點(diǎn)的相對(duì)位置信息,包括:搜索區(qū)塊鏈中的相鄰節(jié)點(diǎn)的相對(duì)位置信息;并根據(jù)所述區(qū)塊鏈中的相鄰節(jié)點(diǎn)的相對(duì)位置信息,獲取節(jié)點(diǎn)之間的相對(duì)位置和在區(qū)塊鏈中的相對(duì)位置。
根據(jù)本發(fā)明的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法,可以將區(qū)塊鏈中的區(qū)塊視為共識(shí)機(jī)制的可信節(jié)點(diǎn),根據(jù)區(qū)塊鏈的特點(diǎn),使得移動(dòng)終端網(wǎng)絡(luò)中的用戶在不依靠可信第三方的情況下,并在無(wú)gps信號(hào)或弱gps信號(hào)情況下進(jìn)行準(zhǔn)確定位自己在通信網(wǎng)絡(luò)中的位置信息。
另外,根據(jù)本發(fā)明上述實(shí)施例的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法還可以具有如下附加的技術(shù)特征:
進(jìn)一步地,還包括:接受所述區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)互相進(jìn)行位置驗(yàn)證,并對(duì)未通過(guò)驗(yàn)證的節(jié)點(diǎn)實(shí)行懲罰機(jī)制。
進(jìn)一步地,所述接受區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)互相進(jìn)行位置驗(yàn)證具體包括:獲取gps發(fā)出的位置信息,并向所述移動(dòng)終端網(wǎng)絡(luò)進(jìn)行廣播;與進(jìn)行廣播的節(jié)點(diǎn)相連的節(jié)點(diǎn)驗(yàn)證是否在自己的節(jié)點(diǎn)信息中包括進(jìn)行廣播的節(jié)點(diǎn)的位置;如果無(wú)法通過(guò)節(jié)點(diǎn)間的相互驗(yàn)證過(guò)程,則判斷進(jìn)行廣播的節(jié)點(diǎn)為欺騙節(jié)點(diǎn)。
進(jìn)一步地,增加區(qū)塊以使待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)加入到所述移動(dòng)終端網(wǎng)絡(luò)。
進(jìn)一步地,具體步驟為:s1:對(duì)區(qū)塊鏈中的前導(dǎo)節(jié)點(diǎn)進(jìn)行驗(yàn)證,以確認(rèn)所述前導(dǎo)節(jié)點(diǎn)的身份是否真實(shí);s2:如果驗(yàn)證通過(guò),根據(jù)自組織網(wǎng)絡(luò)定位系統(tǒng),獲取所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)的相對(duì)位置信息;s3:不斷嘗試隨機(jī)數(shù)使得區(qū)塊雜湊值由若干個(gè)前導(dǎo)零組成;s4:如果嘗試成功,對(duì)所述雜湊值進(jìn)行私鑰簽名,并建立一個(gè)臨時(shí)數(shù)據(jù)塊;s5:面向所述區(qū)塊鏈廣播所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)所述臨時(shí)數(shù)據(jù)塊的信息;s6:接收所述區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)的驗(yàn)證;s7:如果驗(yàn)證通過(guò),則使得所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)加入到所述區(qū)塊鏈,如果驗(yàn)證不通過(guò),則實(shí)行懲罰機(jī)制,將所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)加入到黑名單中,并將所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)中的相關(guān)信息丟棄。
進(jìn)一步地,步驟s5:存儲(chǔ)所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)廣播所述臨時(shí)數(shù)據(jù)塊的信息。
進(jìn)一步地,步驟s6中的驗(yàn)證主要包括位置信息是否存在欺騙,是否重復(fù)處理。
進(jìn)一步地,所述黑名單在所述前導(dǎo)節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)中。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
附圖說(shuō)明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法的流程圖;
圖2是根據(jù)本發(fā)明另一個(gè)實(shí)施例的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法的流程圖;
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的使用歐幾里得方法的aps(adhocpositioningsystem,基于自組織網(wǎng)絡(luò)定位系統(tǒng))方案定位示意圖;
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的區(qū)塊鏈結(jié)構(gòu)圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
以下結(jié)合附圖描述根據(jù)本發(fā)明實(shí)施例的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法的流程圖。
如圖1所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法,包括:
其中,移動(dòng)終端網(wǎng)絡(luò)包括多個(gè)節(jié)點(diǎn),在進(jìn)行自組織網(wǎng)絡(luò)時(shí),采用區(qū)塊鏈技術(shù),一個(gè)節(jié)點(diǎn)均對(duì)應(yīng)有一個(gè)區(qū)塊,節(jié)點(diǎn)的節(jié)點(diǎn)信息以區(qū)塊的形式進(jìn)行存儲(chǔ),多個(gè)區(qū)塊組成一個(gè)區(qū)塊鏈,區(qū)塊鏈中的區(qū)塊數(shù)據(jù)為對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)的信息,結(jié)合圖4所示,節(jié)點(diǎn)信息包括但不限于位置信息,其中,節(jié)點(diǎn)信息還包括序列號(hào),序列號(hào)為每個(gè)節(jié)點(diǎn)在加入移動(dòng)終端自組織網(wǎng)絡(luò)時(shí)根據(jù)可信公鑰基礎(chǔ)設(shè)施發(fā)布創(chuàng)建的,自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)與節(jié)點(diǎn)通信時(shí),將通信信息保存在相應(yīng)區(qū)塊中。
再結(jié)合圖4所示,所述節(jié)點(diǎn)信息包括但不限于公共會(huì)話密鑰、簽名、前一塊的雜湊值、序列號(hào)、黑名單、礦工候選等等。
其中,礦工是具有許多鄰節(jié)點(diǎn)的節(jié)點(diǎn),并且只有在與該節(jié)點(diǎn)相連的節(jié)點(diǎn)一半以上稱為礦工之后,該節(jié)點(diǎn)才可以二次成為礦工。礦工由系統(tǒng)分配。
為了避免被分配為下一個(gè)礦工,節(jié)點(diǎn)可以轉(zhuǎn)為離線或拒絕計(jì)算和推出新塊,系統(tǒng)將在系統(tǒng)參數(shù)(param)中設(shè)置礦工候選編號(hào)(cannum)。在每個(gè)塊中依據(jù)它們的鄰節(jié)點(diǎn)數(shù)進(jìn)行排序,所統(tǒng)計(jì)的鄰節(jié)點(diǎn)數(shù)量不會(huì)被欺騙,因?yàn)榫嚯x也會(huì)在同一塊中公布,因此,所有節(jié)點(diǎn)可以驗(yàn)證正確性。礦工將根據(jù)順序分配候選者,并確保候選者不是節(jié)點(diǎn)總數(shù)的一半內(nèi)的礦工。候選中的第一個(gè)應(yīng)該是下一個(gè)塊的礦工,而如果第一個(gè)候選者變?yōu)殡x線或拒絕在多個(gè)時(shí)期內(nèi)發(fā)布下一個(gè)塊,則第二候選將充當(dāng)?shù)V工并在下一個(gè)時(shí)期中發(fā)布新塊。
黑名單(blacklist):與比特幣的激勵(lì)機(jī)制不同,假設(shè)兩個(gè)相鄰節(jié)點(diǎn)之間沒(méi)有多跳連接且同時(shí)拒絕生成新塊的現(xiàn)象是罕見(jiàn)的。為了懲罰分配的拒絕發(fā)布新塊的礦工,接下來(lái)的礦工將創(chuàng)建一個(gè)包含新塊中的前候選者的黑名單blacklist。所有節(jié)點(diǎn)將拒絕與黑名單中的節(jié)點(diǎn)通信,除非它移除blacklist塊,之后重新申請(qǐng)加入網(wǎng)絡(luò)。如果移動(dòng)終端網(wǎng)絡(luò)在一個(gè)時(shí)期內(nèi)獲得由候選列表中的兩個(gè)礦工發(fā)布的兩個(gè)不同塊,則將接受由前候選者發(fā)布的塊,因?yàn)樗赡馨l(fā)生網(wǎng)絡(luò)延遲。當(dāng)假設(shè)所有候選人將在同一時(shí)期變?yōu)殡x線或拒絕發(fā)布新塊的概率將是可忽略的,這個(gè)規(guī)則將適用于候選人,若離線或者拒絕發(fā)布新塊這樣的事故發(fā)生,系統(tǒng)將會(huì)進(jìn)行重新組織。此外,所有的欺騙節(jié)點(diǎn)將被添加到含blacknum(表示受處罰節(jié)點(diǎn)處于黑名單中的塊數(shù))的黑名單blacklist中。
區(qū)塊鏈:新塊由礦工創(chuàng)建,包含前一塊的雜湊值。由礦工接收的所有記錄將被包含在塊中,其中包括公鑰更新、公共會(huì)話密鑰、定位信息和由相關(guān)節(jié)點(diǎn)簽名的簽名。礦工將收集移動(dòng)終端網(wǎng)絡(luò)中所有節(jié)點(diǎn)的定位信息,并計(jì)算相對(duì)位置以生成所有節(jié)點(diǎn)的坐標(biāo),其中礦工是坐標(biāo)原點(diǎn)。最新的blacknum中的欺騙節(jié)點(diǎn)的黑名單也包含在塊中。礦工將根據(jù)規(guī)則分配候選人。為了縮減塊的大小,所有節(jié)點(diǎn)將在merkle樹(shù)中進(jìn)行雜湊,并且根包含在塊中,因此過(guò)時(shí)的記錄將被丟棄,其驗(yàn)證與簡(jiǎn)化的比特幣支付驗(yàn)證相同。
綜上所述,本發(fā)明的區(qū)塊鏈中區(qū)塊數(shù)據(jù)包括位置信息塊以及新的參數(shù)子塊:黑名單塊、礦工后選塊、merkle樹(shù)的根節(jié)點(diǎn)雜湊值塊等。
具體包括如下步驟:
s110:搜索區(qū)塊鏈中的相鄰節(jié)點(diǎn)的相對(duì)位置信息。
因?yàn)樵诠?jié)點(diǎn)均存儲(chǔ)著節(jié)點(diǎn)與相連節(jié)點(diǎn)的相對(duì)位置信息,基于區(qū)塊鏈特征,區(qū)塊鏈中的節(jié)點(diǎn)可以向移動(dòng)終端網(wǎng)絡(luò)進(jìn)行廣播,獲取自己與相連節(jié)點(diǎn)的相對(duì)位置信息。
s120:根據(jù)區(qū)塊鏈中的相鄰節(jié)點(diǎn)的相對(duì)位置信息,獲取節(jié)點(diǎn)之間的相對(duì)位置和在區(qū)塊鏈中的相對(duì)位置。
根據(jù)本發(fā)明的基于區(qū)塊鏈的移動(dòng)終端網(wǎng)絡(luò)定位方法,可以將區(qū)塊鏈視為共識(shí)機(jī)制的可信節(jié)點(diǎn),根據(jù)區(qū)塊鏈的特點(diǎn),使得移動(dòng)終端網(wǎng)絡(luò)中的用戶在不依靠可信第三方的情況下,并在無(wú)gps信號(hào)或弱gps信號(hào)情況下進(jìn)行準(zhǔn)確定位自己在通信網(wǎng)絡(luò)中的位置信息。
在一些實(shí)施例中,還包括:接受區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)互相進(jìn)行位置驗(yàn)證,并對(duì)未通過(guò)驗(yàn)證的節(jié)點(diǎn)實(shí)行懲罰機(jī)制。進(jìn)一步地,接受區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)互相進(jìn)行位置驗(yàn)證具體包括:獲取gps發(fā)出的位置信息,并向移動(dòng)終端網(wǎng)絡(luò)進(jìn)行廣播;與進(jìn)行廣播的節(jié)點(diǎn)相連的節(jié)點(diǎn)驗(yàn)證是否在自己的節(jié)點(diǎn)信息中包括進(jìn)行廣播的節(jié)點(diǎn)的位置;如果無(wú)法通過(guò)節(jié)點(diǎn)間的相互驗(yàn)證過(guò)程,則判斷進(jìn)行廣播的節(jié)點(diǎn)為欺騙節(jié)點(diǎn)。
具體來(lái)說(shuō),結(jié)合圖3所示,a廣播其聲明從gps接收的位置,其接近b,c和d。然而,由b,c和d廣播的記錄不包含與a的距離,因此網(wǎng)絡(luò)可以推斷出a的位置可能被欺騙。
其中,a的廣播內(nèi)容為:
在一些實(shí)施例中,增加區(qū)塊以使待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)加入到移動(dòng)終端網(wǎng)絡(luò)。
結(jié)合圖2所示,具體步驟為:
s1:對(duì)區(qū)塊鏈中的前導(dǎo)節(jié)點(diǎn)進(jìn)行驗(yàn)證,以確認(rèn)前導(dǎo)節(jié)點(diǎn)的身份是否真實(shí)。
具體來(lái)說(shuō),以待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)為節(jié)點(diǎn)usr1,區(qū)塊鏈中的前導(dǎo)節(jié)點(diǎn)為usr0為例,其中,前導(dǎo)節(jié)點(diǎn)是指在usr1之前加入到移動(dòng)網(wǎng)絡(luò)的節(jié)點(diǎn),usr1使用公鑰對(duì)usr0的信息內(nèi)容進(jìn)行驗(yàn)證。在usr0的位置信息塊處讀取位置信息,在這里,以節(jié)點(diǎn)usr0發(fā)布的信息作為參照標(biāo)準(zhǔn),并將之稱為地標(biāo)信息。
s2:如果驗(yàn)證通過(guò),根據(jù)自組織網(wǎng)絡(luò)定位系統(tǒng),獲取所述待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)的相對(duì)位置信息。
具體來(lái)說(shuō),在aps定位方案基礎(chǔ)上可以了解,任意節(jié)點(diǎn)可以通過(guò)測(cè)試無(wú)線電信息號(hào)的信號(hào)強(qiáng)度來(lái)獲得與其緊鄰節(jié)點(diǎn)的距離,如果該任意節(jié)點(diǎn)可以至少獲得三個(gè)節(jié)點(diǎn)的距離,則可以確認(rèn)相對(duì)位置。于是,通過(guò)直接相鄰節(jié)點(diǎn)位置信息可以獲得該節(jié)點(diǎn)usr1的相對(duì)位置信息。
作為一個(gè)示例,如圖3所示,節(jié)點(diǎn)usr1(以a表示)可以通過(guò)測(cè)試無(wú)線電信號(hào)的信號(hào)強(qiáng)度來(lái)獲得與其緊鄰節(jié)點(diǎn)的距離ab、ac,前導(dǎo)節(jié)點(diǎn)usr0(以o表示)。經(jīng)過(guò)步驟s1之后,usr1讀取到usr0創(chuàng)建的塊中的ob,oc距離。也就是說(shuō),四邊形abco的四邊現(xiàn)已知,且假設(shè)從usr0前導(dǎo)區(qū)塊中bc距離也已知,則計(jì)算ol距離實(shí)際是求a到o歐氏距離。但是a可能在bc左側(cè)、也可能在右側(cè),當(dāng)a和o具有共同的幾對(duì)鄰節(jié)點(diǎn)的時(shí)候,或者測(cè)量與b和c的相同鄰居來(lái)在a點(diǎn)進(jìn)行投票判斷,是位置a或者位置a’。當(dāng)做出選擇后,通過(guò)三角形△acb、△bco和△aco以及畢達(dá)哥拉廣義定理得到ao的距離。
四個(gè)節(jié)點(diǎn)知道彼此的之間的距離,即ab,bc,co,oa,ac,則確認(rèn)這四個(gè)節(jié)點(diǎn)的相對(duì)位置。當(dāng)然這些節(jié)點(diǎn)還具有其他附近的節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)廣播包含與其緊鄰節(jié)點(diǎn)的距離的記錄,并一個(gè)節(jié)點(diǎn)鏈接所有節(jié)點(diǎn),因此將確認(rèn)整個(gè)終端網(wǎng)絡(luò)的相對(duì)位置。
綜上所述,節(jié)點(diǎn)可以通過(guò)aps獲得相對(duì)位置,并且如果有一半以上的移動(dòng)終端網(wǎng)絡(luò)節(jié)點(diǎn)接收到弱gps信號(hào),則所有節(jié)點(diǎn)將獲得確切的位置。
s3:不斷嘗試隨機(jī)數(shù)使得區(qū)塊的雜湊值由若干個(gè)前導(dǎo)零組成。
具體來(lái)說(shuō),節(jié)點(diǎn)usr1計(jì)算節(jié)點(diǎn)usr0的雜湊值,接收被廣播但未放入?yún)^(qū)塊鏈中的塊,檢驗(yàn)usr1構(gòu)成的區(qū)塊的有效性,并進(jìn)行工作量證明。
其中,雜湊值計(jì)算是對(duì)已經(jīng)創(chuàng)建好的數(shù)據(jù)鏈中的最后一個(gè)數(shù)據(jù)塊進(jìn)行雜湊計(jì)算。工作量證明:區(qū)塊鏈中存在一個(gè)關(guān)鍵數(shù)據(jù)nonce,稱作區(qū)塊的答案,這個(gè)答案對(duì)于每一個(gè)區(qū)塊是唯一,同時(shí)答案有以下特點(diǎn)1)這個(gè)答案很難獲得;2)有效答案有很多個(gè),但只需找到一個(gè)答案即可;3)其他區(qū)塊對(duì)有效答案的驗(yàn)證很容易。然而問(wèn)題很難解答且沒(méi)有固定算法,所以唯一的辦法就是不斷的嘗試,這個(gè)過(guò)程就叫做“挖礦”。計(jì)算
hash(nonce||prev_block||positon||tx||…||tx)<bits
合法的區(qū)塊雜湊值含有若干個(gè)前導(dǎo)零,零的個(gè)數(shù)由網(wǎng)絡(luò)的難度值決定,如果上述雜湊值與工作量證明難度比較,具有合法的若干個(gè)前導(dǎo)零,則工作量證明結(jié)束。
s4:如果嘗試成功,對(duì)雜湊值進(jìn)行私鑰簽名,并建立一個(gè)臨時(shí)數(shù)據(jù)塊。
具體來(lái)說(shuō),節(jié)點(diǎn)usr1對(duì)所計(jì)算出來(lái)的雜湊值進(jìn)行私鑰簽名,并在工作量證明結(jié)束后對(duì)所有信息打包成臨時(shí)數(shù)據(jù)塊,其中,臨時(shí)數(shù)據(jù)塊為:
s5:面向區(qū)塊鏈廣播待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)臨時(shí)數(shù)據(jù)塊的信息。
具體來(lái)說(shuō),臨時(shí)數(shù)據(jù)塊從節(jié)點(diǎn)usr1傳到節(jié)點(diǎn)usr2的同時(shí),面向全移動(dòng)終端網(wǎng)絡(luò)將區(qū)塊內(nèi)容進(jìn)行廣播,方便各用戶節(jié)點(diǎn)進(jìn)行驗(yàn)證。
其中,區(qū)塊鏈中的節(jié)點(diǎn)存儲(chǔ)待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)廣播臨時(shí)數(shù)據(jù)塊的信息。
s6:接收區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)的驗(yàn)證。
具體來(lái)說(shuō),數(shù)據(jù)塊分支判斷,接收其他用戶節(jié)點(diǎn)的驗(yàn)證,檢驗(yàn)是否存在欺騙節(jié)點(diǎn)以及塊的合法性。
其中,驗(yàn)證前導(dǎo)節(jié)點(diǎn)的合法性。同時(shí),驗(yàn)證主要包括位置信息是否存在欺騙,是否重復(fù)處理。因?yàn)閰^(qū)塊鏈數(shù)據(jù)以交易單形式存在,所以該種情況亦稱重復(fù)支付或雙重消費(fèi)問(wèn)題。
s7:如果驗(yàn)證通過(guò),則使得待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)加入到區(qū)塊鏈,如果驗(yàn)證不通過(guò),則實(shí)行懲罰機(jī)制,將待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)加入到黑名單中,并將待加入移動(dòng)終端網(wǎng)絡(luò)的節(jié)點(diǎn)中的相關(guān)信息丟棄。
黑名單在前導(dǎo)節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)中。
懲罰機(jī)制是與比特幣的激勵(lì)機(jī)制不同的,意味系統(tǒng)中區(qū)塊鏈中節(jié)點(diǎn)是誠(chéng)實(shí)的,并且礦工一旦拒絕生成一個(gè)新塊將會(huì)被放入黑名單并隔離,所有節(jié)點(diǎn)都具有系統(tǒng)應(yīng)該是穩(wěn)定的安全的共識(shí),如果所有礦工罷工,將會(huì)花費(fèi)更多的能量來(lái)重新組織系統(tǒng),提高了安全性。
根據(jù)本發(fā)明的基于區(qū)塊鏈的移動(dòng)終端自組織網(wǎng)絡(luò)定位方法,可以將區(qū)塊鏈中的區(qū)塊視為共識(shí)機(jī)制的可信節(jié)點(diǎn),根據(jù)區(qū)塊鏈的特點(diǎn),使得移動(dòng)終端網(wǎng)絡(luò)中的用戶在不依靠可信第三方的情況下,并在無(wú)gps信號(hào)或弱gps信號(hào)情況下進(jìn)行準(zhǔn)確定位自己在通信網(wǎng)絡(luò)中的位置信息。
此外,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”、“固定”等術(shù)語(yǔ)應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通或兩個(gè)元件的相互作用關(guān)系,除非另有明確的限定。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。