亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈的智能物聯(lián)網(wǎng)系統(tǒng)設計

        2022-07-05 21:13:37蘇晨陳梅趙靜雅高震宇
        電腦知識與技術(shù) 2022年14期

        蘇晨 陳梅 趙靜雅 高震宇

        摘要:在大規(guī)模物聯(lián)網(wǎng)設備接入的環(huán)境下,當前的C/S物聯(lián)網(wǎng)架構(gòu)存在可靠性、安全性、隱私性等方面的問題。區(qū)塊鏈技術(shù)作為一種新興的分布式賬本技術(shù),具有安全、可靠、匿名等特點,適用于物聯(lián)網(wǎng)。文章提出了一種基于區(qū)塊鏈的物聯(lián)網(wǎng)系統(tǒng),該系統(tǒng)選擇Ethereum作為區(qū)塊鏈平臺,通過智能合約配置和控制物聯(lián)網(wǎng)設備,并使用RSA公鑰密碼系統(tǒng)管理密鑰。

        關(guān)鍵詞:區(qū)塊鏈;智能物聯(lián)網(wǎng);智能合約;網(wǎng)絡信息安全

        中圖分類號:TP311? ? ? 文獻標識碼:A

        文章編號:1009-3044(2022)14-0028-03

        1引言

        隨著信息社會的發(fā)展,物聯(lián)網(wǎng)(也稱為“互聯(lián)設備集合網(wǎng)絡”)也在快速發(fā)展,物聯(lián)網(wǎng)設備數(shù)據(jù)在未來幾年內(nèi)也將出現(xiàn)爆發(fā)式增長,這些數(shù)據(jù)增長大多來自消費者設備,意味著物聯(lián)網(wǎng)數(shù)據(jù)需要更高的安全性及可靠性為其保駕護航,當前的物聯(lián)網(wǎng)最突出的幾個問題就是過于中心化及不能自制,使各個物聯(lián)網(wǎng)上的設備不能充分發(fā)揮其自主能動性,還有一個突出的問題是安全性,如果到了智能互聯(lián)的時代出現(xiàn)安全問題,將會造成巨大的災難。而區(qū)塊鏈的高安全性、高可靠性、匿名性正適合物聯(lián)網(wǎng)將來成長的需求。區(qū)塊鏈的新興觀點逐漸進入人們的視線。顧名思義,區(qū)塊鏈就是一個智能的點對點網(wǎng)絡,用于在分布式數(shù)據(jù)庫中識別、分播和記錄信息。

        區(qū)塊鏈的主要應用是比特幣。隨著比特幣的盛行,許多其他類似數(shù)字貨幣也隨之出現(xiàn),然而這些貨幣也是建立在區(qū)塊鏈技術(shù)之上的。此刻已不只是數(shù)字錢幣范疇獨有區(qū)塊鏈了,很多其他的范疇也在引入?yún)^(qū)塊鏈。雖然比特幣技術(shù)十分成功,但它其中的局限性也十分明顯,比如區(qū)塊產(chǎn)生時間大概為10分鐘,這將會極大限制單位時間內(nèi)交易完成數(shù)量。也就是說,當要追蹤需要驗證的未生成交易,并且提供腳本信息時,這不能夠使用循環(huán),將會使未生成交易的生成時間變長。因此12秒的生成時間對于以太坊開發(fā)者運行智能合約是非常必要的。換言之,開發(fā)者可以在一個以太坊框架之上對區(qū)塊鏈應用進行開發(fā),開發(fā)者和使用者可以假想它沒有許可證不能被修改,甚至可以說整個交易在以太坊平臺上都是透明的,本文可以認為以太坊是一個巨大的分享式計算機系統(tǒng)。

        同時,隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,數(shù)量龐大、種類繁多、分布廣泛的物聯(lián)網(wǎng)設備不斷連接到物聯(lián)網(wǎng)絡。目前大規(guī)模、多種類、廣分布的物聯(lián)網(wǎng)設備的同步和更新對現(xiàn)有的基于服務器-物聯(lián)網(wǎng)的物聯(lián)網(wǎng)設備,將提出更高的性能方面要求。同時,如果物聯(lián)網(wǎng)中心服務器受到攻擊,那么所有依賴于其服務的物聯(lián)網(wǎng)設備也將會受到安全威脅。所以,基于服務器-客戶端的物聯(lián)網(wǎng)系統(tǒng)已不再能滿足日益壯大的物聯(lián)網(wǎng)網(wǎng)絡。本文提出了一種基于區(qū)塊鏈的智能物聯(lián)網(wǎng)系統(tǒng),構(gòu)建了一個安全可信的分布式物聯(lián)網(wǎng)網(wǎng)絡。

        區(qū)塊鏈作為比特幣的核心技術(shù)也引起了人們的廣泛關(guān)注,雖然區(qū)塊鏈技術(shù)起源于比特幣,但其應用場景并不局限于區(qū)塊鏈。還很多場景應用,比如金融領(lǐng)域、物聯(lián)網(wǎng)領(lǐng)域、社會科學領(lǐng)域等。以太坊平臺的出現(xiàn)使區(qū)塊鏈技術(shù)得到空前發(fā)展,作為區(qū)塊鏈技術(shù)2.0的代表,以太坊支持用戶拓展開發(fā)其他應用。所以把區(qū)塊鏈的相關(guān)技術(shù)引用到物聯(lián)網(wǎng)體系中去,把RSA公鑰系統(tǒng)引進密碼系統(tǒng),公鑰存在于以太坊網(wǎng)上,私鑰存在于各個設備之中。通過智能合約,可以重設當前設備的許多參數(shù),并將修改記錄保存在以太坊鏈上,以便后續(xù)查詢。為了證明這一設想的可行性,構(gòu)建出一些賬戶節(jié)點,每一個賬戶代表一個設備。依此,希望后續(xù)可以搭建一個完整的智能物聯(lián)網(wǎng)系統(tǒng),連接更多可用設備。

        2系統(tǒng)搭建

        本設計要完成的目標是在Linux平臺搭建私有鏈,創(chuàng)建私有網(wǎng)絡,建立集點結(jié)群,安裝truffle框架,安裝remix本地編譯器,利用本地編譯器編譯調(diào)試智能合約,安裝geth客戶端,利用geth客戶端完成簡單合約的編譯、部署、調(diào)用,再使用Etherum-wallet客戶端完成整個合約的編譯、部署、調(diào)用,并得出仿真結(jié)果。

        2.1 Geth客戶端的原理及特性

        Geth是以太坊的官方客戶端,它是Go-Ethereum開源項目的簡稱,是一個簡略的命令行工具,在此提供了許多的選項和命令。它主要是使用Go語言進行編寫的,是目前用戶數(shù)最多、使用最廣泛的客戶端。應用Geth,需先啟動以太坊節(jié)點,建立新用戶、新賬戶,在主賬戶下可以建立副賬戶、建立節(jié)點集群、成功搭建私有鏈網(wǎng)絡,并啟動私有鏈網(wǎng)絡進行挖礦,獲得以太幣。

        2.2 節(jié)點集群的搭建及網(wǎng)絡測試

        如上所述,現(xiàn)已知的搭建以太坊私有鏈網(wǎng)絡的方法目前主要是運用Geth客戶端進行搭建,在安裝Geth客戶端前需要安裝Go環(huán)境,安裝Ethereum,安裝Solc編譯器,安裝命令行如下所示:

        sudo apt-get update

        sudo apt-get install software-properties-common

        sudo add-apt-repository –y ppa:ethereum/ethereum

        sudo add-apt-repository –y ppa:ethereum/ethereum-dev

        sudo apt-get update

        sudo apt-get install ethereum

        執(zhí)行完以上命令后,可以啟動以太坊客戶端,此中主要有g(shù)eth、evm、bootnode、disasm、ethtest、rlpdump,輸入geth,則以太坊就可以啟動了。

        但在搭建以太坊私鏈節(jié)點前,必須先建立創(chuàng)世區(qū)塊,之所以要先建立創(chuàng)世區(qū)塊,是因為只要在同一個網(wǎng)絡內(nèi),創(chuàng)世區(qū)塊文件一定是相同的,且創(chuàng)世區(qū)塊的json文件,文件內(nèi)容如圖1所示,具體參數(shù)的意義可見表1所示。

        接下來,用geth命令創(chuàng)建創(chuàng)世區(qū)塊,命令行輸入如下:253BDD9C-134C-42E8-A3C6-BDB324C66E0A

        由圖2可以看出創(chuàng)世區(qū)塊的文件內(nèi)容已被寫入data0文件夾中,數(shù)據(jù)存儲路徑為/usr/local/privatechain/data0/geth/chaindata。

        由圖3和表2可知私鏈數(shù)據(jù)存在data0中,網(wǎng)絡監(jiān)聽端口為61910(默認為30303),HTTP-RPC服務器監(jiān)聽端口為8200(默認為8545),設置所需調(diào)用HTTP-RPC接口,在默認基礎上加了db,其次還設置了當前區(qū)塊鏈的網(wǎng)絡ID為1108。

        由啟動頁的最后一行可知geth包括了一些方法,此中admin主要包括與管理節(jié)點有關(guān)的方法,eth包括和操作區(qū)塊鏈有關(guān)方法,miner包括挖礦啟動&終止方法,net包括檢查P2P網(wǎng)絡狀況方法,personal包括管理賬戶方法,txpool包括檢查交易內(nèi)存池的方法,web3包括以上且還包含單位換算方法。

        命令eth.accounts可以檢查當前存在賬戶及賬戶地址,personal.newAccount()可新增賬戶,增加賬戶的時可設置賬戶密碼,eth.getBalance(eth.accounts[0])可查看eth.accounts[0]內(nèi)的賬戶余額,為之后查看賬戶及余額方便,還可自己添加查看方法,這里添加了function checkAllBalances(),具體函數(shù)如圖4,還可通過命令eth.coinbase查看主賬戶,也可通過miner.setEtherbase(eth.accounts[1])重新設置主賬戶為eth.accounts[1],通過命令web3.fromWei(eth.getBalance(eth.accounts[0]),ether)可將賬戶余額的單位換成ether,通過命令eth.blockNumber可獲取當前區(qū)塊數(shù)。

        實施節(jié)點內(nèi)轉(zhuǎn)賬需要提前解鎖賬戶,解鎖賬戶后,可通過命令eth.sendTransaction({from: eth.accounts[0],to: eth.accounts[2],value: amount}),其中 amount= web3. toWei(5,ether),也就是轉(zhuǎn)賬5ether,通過txpool. status可以查看當前待處理交易,由圖5可知當前可驗證交易為一條,需要主賬戶啟動挖礦使得交易生效,挖礦命令為miner. start(1),若想要結(jié)束使用miner. stop(),當前需要驗證交易,故設置為挖到一個區(qū)塊則停止,命令為:miner.start(1); admin.sleepBlocks(1); miner.stop(),其結(jié)果如圖5所示,通過查看eth. accounts[2]的余額可知交易生效,您還可以通過查看其事務哈希值獲取事務詳細信息,命令為:eth.getTransaction(交易區(qū)塊哈希),也可通過交易區(qū)塊號查看交易詳情,命令為:eth.getBlock(區(qū)塊號)。

        網(wǎng)絡監(jiān)聽端口需要改變,HTTP-RPC服務器監(jiān)聽端口需要改變,網(wǎng)絡ID不能變(如果想連接節(jié)點一)。

        可通過admin.addPeer(節(jié)點哈希)在節(jié)點一的console命令下添加節(jié)點,節(jié)點哈??蓮墓?jié)點二中獲得,也可在節(jié)點二下輸入命令admin.node.info獲得,添加節(jié)點成功后可通過admin.peers查看節(jié)點連接具體信息。同時還可通過輸入net.peerCount得到節(jié)點數(shù)。以同樣方法添加節(jié)點三,如圖6。再次輸入admin.peers可看到三節(jié)點連接信息。

        3智能合約在鏈上的編譯、部署、調(diào)用

        3.1智能合約的編譯

        Geth中也可完成智能合約的編譯,但因Geth是命令行編譯,許多操作包括邊編譯、邊改錯的操作無法同時進行,非常不方便,因此以太坊的官網(wǎng)推薦使用remix編譯器,當然也可以選擇其他編譯器,這里主要推薦官方編譯器,為方便在鏈上直接進行編譯,本文下載安裝了本地編譯器,優(yōu)點是本地編譯器在網(wǎng)絡不穩(wěn)定情況下,也不會出現(xiàn)大問題,且許多存儲修改結(jié)果都可在本地找到。命令行打開本地remix,右選compile,勾選auto在編寫的時也會自動編譯,編譯結(jié)果在右下顯示,錯誤和警示都有。environment可以選擇web3,輸入http://localost:8200可以連接本地私有鏈,這里的RPC接口與之前設置私鏈節(jié)點的接口一樣,也可連接模擬私鏈環(huán)境進行測試,接口為8545,因此可以輸入http://localhost:8545。這里的模擬私網(wǎng)有賬號10個,還有相應的密鑰,可以部署相應的合約在其進行測試。

        3.2智能合約的部署

        當智能合約編譯不出錯的情況下,還需將智能合約部署在所搭建的私有鏈上,在這里選擇官方推薦的ethereum-wallet,在使用ethereum-wallet時,需要配置附屬環(huán)境,打開Meteor,使App運行在3000接口上。通過命令行打開Ethereum-wallet,在etherum-wallet上的所有操作信息都會顯示在下面,可按出錯提示尋找解決辦法。

        編譯無錯的合約放在左下框中,選擇部署主賬戶,保證該賬戶中有足夠的以太幣部署合約(因部署合約會消耗以太幣),接下來在右下選擇部署合約的主函數(shù),填入需預設的構(gòu)造參數(shù),接下來點擊部署,若要使得部署合約生效,需要再次進行挖礦,合約部署成功后可進行合約調(diào)用,結(jié)果如圖7所示。

        合約部署成功后,可在首頁查看部署消息,對合約的操作記錄都會存在鏈上,部署合約記錄。同時點擊首頁的contract,可看到曾部署過的所有合約,同樣也可查看合約Token。

        3.3智能合約的調(diào)用

        在成功部署合約后,開始進行合約的調(diào)用,本合約模擬家居用電情況監(jiān)測,每一個賬戶代表一件家電,監(jiān)測家電使用情況,家電把用電量通過P2P的形式傳到以太坊網(wǎng)中,合約收到所有家電的用電量情況。253BDD9C-134C-42E8-A3C6-BDB324C66E0A

        若要查看各個賬戶發(fā)送情況,可看到各賬戶左上角有合約調(diào)用記錄。若要細看,只需點開各個賬戶查看。

        打開合約調(diào)用界面,在沒收到兩賬戶的電量使用情況下,沒調(diào)用Check Target Reached方法前,目標完成情況是NO。

        調(diào)用Check Target Reached方法,結(jié)束調(diào)用后,查看目標完成情況,變?yōu)閅ES,此時只需把這一結(jié)果輸出到電器中做觸發(fā)電平,啟動節(jié)能模式,即可使電器轉(zhuǎn)換為節(jié)能模式。

        4結(jié)語

        本文主要介紹了如何搭建以太坊私鏈網(wǎng)以及搭建原理,并在此基礎上在私鏈上部署所需的智能合約。除此之外,還講述了智能合約怎樣編譯,智能合約怎樣部署在以太網(wǎng)私鏈上,在智能合約成功部署后,講解了智能合約的調(diào)用,成功完成了實驗的仿真,實現(xiàn)了對家電的用電量的監(jiān)測,當其用電量達到一定值時,各電器轉(zhuǎn)而變成節(jié)能模式。

        參考文獻:

        [1] Xu L D,He W,Li S C.Internet of Things in industries:a survey[J].IEEE Transactions on Industrial Informatics,2014,10(4):2233-2243.

        [2] Al-Fuqaha A,Guizani M,Mohammadi M,et al.Internet of Things:a survey on enabling technologies,protocols,and applications[J].IEEE Communications Surveys & Tutorials,2015,17(4):2347-2376.

        [3] Singh J,Pasquier T,Bacon J,et al.Twenty security considerations for cloud-supported Internet of Things[J].IEEE Internet of Things Journal,2016,3(3):269-284.

        [4] Ferrer E C.The Blockchain:a New Framework for Robotic Swarm Systems[EB/OL].(2016-08-02).[2021-11-20].https://xueshu.baidu.com/usercenter/paper/show?paperid=1w0c0rt093 690840t72n0ej0ex033896.

        [5] Sharples M,Domingue J.The blockchain and kudos:a distributed system for educational record,reputation and reward[C]//Adaptive and Adaptable Learning,2016.

        收稿日期:2021-12-30

        基金項目:北京電子科技職業(yè)學院科技一般項目(基金號:2021Z031-KXY)

        作者簡介:蘇晨(1973—),女,山東萊蕪人,講師,碩士,主要研究方向為網(wǎng)絡技術(shù)、計算機應用、視頻圖像處理等。253BDD9C-134C-42E8-A3C6-BDB324C66E0A

        久久久成人av毛片免费观看| 夫妇交换刺激做爰视频| 亚洲国产精品自拍一区| 无码流畅无码福利午夜| 91精品人妻一区二区三区水蜜桃| 国产99视频精品免视看7| 人妻少妇被猛烈进入中文字幕| 在线精品日韩一区二区三区| 激情视频国产在线观看| 一个少妇的淫片免费看| 亚洲国色天香卡2卡3卡4| 欧美高清国产在线播放| 少妇被搞高潮在线免费观看| 亚洲婷婷久悠悠色悠在线播放| 偷偷色噜狠狠狠狠的777米奇| 91国视频| 成人性生交大片免费看7| 亚洲综合av大全色婷婷| 国产激情久久久久影院老熟女| 国产99re在线观看只有精品| 男女视频网站免费精品播放 | 国产美女黄性色av网站| 中文字幕av永久免费在线| 内射欧美老妇wbb| 麻豆91免费视频| 人妻精品人妻一区二区三区四五| 久久一本日韩精品中文字幕屁孩| 香蕉人人超人人超碰超国产| 久久se精品一区精品二区国产| 久久精品国产亚洲av蜜臀久久| 大桥未久av一区二区三区| 图片区小说区激情区偷拍区| av深夜福利在线| 亚洲国产精品日韩av专区| 国产综合久久久久久鬼色| 国产91中文| 日韩精品有码中文字幕| 亚洲av无码一区二区三区鸳鸯影院| 少妇对白露脸打电话系列| 国产成人AⅤ| 亚洲天堂二区三区三州|