信息技術(shù)基礎(chǔ)(拓展模塊) -課后答案 汪曉璐_第1頁
信息技術(shù)基礎(chǔ)(拓展模塊) -課后答案 汪曉璐_第2頁
信息技術(shù)基礎(chǔ)(拓展模塊) -課后答案 汪曉璐_第3頁
信息技術(shù)基礎(chǔ)(拓展模塊) -課后答案 汪曉璐_第4頁
信息技術(shù)基礎(chǔ)(拓展模塊) -課后答案 汪曉璐_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

學(xué)習(xí)單元11.選擇題(1)能夠鑒別傳輸數(shù)據(jù)是否被篡改的信息安全要素是(B)。A保密性 B完整性C可用性 D可控性(2)根據(jù)網(wǎng)絡(luò)安全法,信息安全等級保護(hù)的第三級是(C)A自主保護(hù)級 B指導(dǎo)保護(hù)級C監(jiān)督保護(hù)級 D強(qiáng)制保護(hù)級(3)有能力過濾和阻止對Web網(wǎng)站滲透攻擊流量的安全設(shè)備是(B)。A包過濾防火墻 BWAFC交換機(jī) D路由器2.簡答題(1)信息安全必須滿足哪些要素,實(shí)現(xiàn)手段有哪些?需要滿足信息的保密性、完整性、可用性、可控性和不可否認(rèn)性5個要素。實(shí)現(xiàn)手段有數(shù)據(jù)加密、身份認(rèn)證、授權(quán)訪問和行為審計(jì)等。(2)信息安全面臨的常見攻擊有哪些?掃描、監(jiān)聽、遠(yuǎn)控、木馬植入、痕跡清除偽裝等等。(3)WAF和普通包過濾防火墻的區(qū)別是什么?都是防火墻,包過濾防火墻只能看到數(shù)據(jù)包的網(wǎng)絡(luò)層IP地址和傳輸層端口,看不到類似SQL注入的應(yīng)用層Web攻擊特征無法防護(hù);WAF防火墻能看到數(shù)據(jù)包更高層次的內(nèi)容,包括應(yīng)用層Web滲透攻擊的流量,所以有防護(hù)對Web網(wǎng)站攻擊的功能。學(xué)習(xí)單元21.選擇題1.創(chuàng)建WBS工作分解結(jié)構(gòu)的主要作用包括(ABCD)。A.使進(jìn)度計(jì)劃、成本計(jì)劃、質(zhì)量計(jì)劃更準(zhǔn)確。B.展現(xiàn)出整個項(xiàng)目所要進(jìn)行的全部工作,以及工作順序,防止遺漏項(xiàng)目的可交付成果。C.清晰明了項(xiàng)目可交付成果,以便分配工作任務(wù),指定責(zé)任人。D.為項(xiàng)目實(shí)施、績效測量和項(xiàng)目控制提供依據(jù)2.項(xiàng)目采購管理是指在項(xiàng)目執(zhí)行的全過程對項(xiàng)目從外部尋求和采購的(ABC)等各種所需資源的管理過程。A.材料 B.器械C.勞務(wù) D.項(xiàng)目管理信息系統(tǒng)2.填空題2填空題1.項(xiàng)目管理的五大過程組包括啟動過程組、規(guī)劃過程組、執(zhí)行過程組、監(jiān)控過程組和收尾過程組。2.風(fēng)險(xiǎn)應(yīng)對策略有:風(fēng)險(xiǎn)回避:指改變計(jì)劃,使項(xiàng)目目標(biāo)不受某個風(fēng)險(xiǎn)的影響。風(fēng)險(xiǎn)減輕:指采取措施降低風(fēng)險(xiǎn)發(fā)生的概率或/和后果。風(fēng)險(xiǎn)轉(zhuǎn)移:指支付一定的費(fèi)用把風(fēng)險(xiǎn)的后果轉(zhuǎn)移給其他方。風(fēng)險(xiǎn)接受:指不采取主動管理措施或者根本無法采取主動管理措施。主動接受:指為風(fēng)險(xiǎn)準(zhǔn)備不可預(yù)見費(fèi),在風(fēng)險(xiǎn)萬一發(fā)生時使用。被動接受:指不做任何事情,等風(fēng)險(xiǎn)萬一發(fā)生后再采取權(quán)變措施。3.項(xiàng)目溝通管理包括為確保項(xiàng)目信息及時且恰當(dāng)?shù)兀ㄉ?、收集、發(fā)布、存儲、調(diào)用)并最終處置所需的各個過程。4.項(xiàng)目成本管理主要內(nèi)容包括:估算成本、制定預(yù)算和控制成本。學(xué)習(xí)單元3答案:二維碼內(nèi)容:1選擇題(1)RPA的全稱是(B)。A.RationalProcessAutomation B.RoboticProcessAutomationC.RoboticPerformingAutomation D.RationalPerformingAutomation(2)下列哪個不是RPA的特點(diǎn)?(D)A.是基于計(jì)算機(jī)操作系統(tǒng)的工作桌面 B.能自動操作整個業(yè)務(wù)流程C.代替人力完成高重復(fù)的手工操作 D.是具有實(shí)體的機(jī)器人(3)下列(D)是國際知名的RPA廠商。A.微軟 B.IBMC.ORACL D.Uipath(4)下列(B)不是國內(nèi)知名的RPA廠商。A.華為 B.騰訊C.藝賽旗 D.科大訊飛(5)下列(A)是RPA對外常用的接口。A.WebService B.flash C.軟盤 D.CD-ROM2填空題(1)軟件機(jī)器人通過模仿用戶手動操作的過程,自動執(zhí)行大量(重復(fù)的、規(guī)則的)的任務(wù)。(2)成熟的RPA框架包含三個方面:機(jī)器人設(shè)計(jì)器、(機(jī)器人控制平臺)和機(jī)器人。(3)RPA平臺中,(控制中心)主要用于軟件機(jī)器人的部署與管理。(4)RPA實(shí)施的納稅申報(bào)過程被細(xì)分為三大子過程,即:數(shù)據(jù)采集與處理過程,數(shù)據(jù)提交過程和(財(cái)務(wù)處理過程)。(5)(錄制器)是UiPathStudio的重要組成部分,可以幫助您在自動化業(yè)務(wù)流程時節(jié)省大量時間。3實(shí)訓(xùn)題參考視頻講解:UiPath自動下載郵件中的表格和文本:/video/BV1jB4y1g7ds學(xué)習(xí)單元4答案:二維碼內(nèi)容:1選擇題1.C語言是(C)A.機(jī)器語言B.匯編語言C.高級語言D.目標(biāo)語言2.計(jì)算機(jī)能直接執(zhí)行的語言是(A)A.機(jī)器語言B.匯編語言C.高級語言D.目標(biāo)語言3.程序的邏輯結(jié)構(gòu)包括(ABC)。A.順序結(jié)構(gòu)B.分支結(jié)構(gòu)C.循環(huán)結(jié)構(gòu)D.非線性結(jié)構(gòu)4.以下哪種不是Java語言規(guī)定的基本數(shù)據(jù)類型(D)A.intB.booleanC.doubleD.String2填空題1.現(xiàn)代電子計(jì)算機(jī)的結(jié)構(gòu)模型包含運(yùn)算器、控制器、(存儲器)、輸入設(shè)備和輸出設(shè)備。2.計(jì)算機(jī)程序語言一般分為三類:機(jī)器語言、匯編語言和(高級語言)。3.程序設(shè)計(jì)的過程應(yīng)當(dāng)包括分析、設(shè)計(jì)、(編碼)、測試、排錯等不同階段。3實(shí)訓(xùn)題參考代碼:學(xué)習(xí)單元51選擇題1.下列哪個不是大數(shù)據(jù)的4v特點(diǎn)?(C)。A.Velocity(高速) B.Volume(大量)C.Veracity(準(zhǔn)確) D.Value(價值)2.下列(D)是大數(shù)據(jù)的核心特征。A.規(guī)模性 B.多樣性C.高速性 D.價值性3.下列哪項(xiàng)不屬于Hadoop可以運(yùn)行的模式?(D)。A.單機(jī)模式 B.偽分布模式C.全分布式模式 D.互聯(lián)模式4.下列關(guān)于MapReduce說法不正確的是(C)。A.MapReduce是一種計(jì)算框架 B.MapReduce程序只能由java編寫C.MapReduce來源于google的學(xué)術(shù)論文D.MapReduce隱藏了并行計(jì)算的細(xì)節(jié)5.Hbase依賴(B)提供計(jì)算能力。A.zookeeper B.MapReduce C.RPC D.chubby2填空題1.Hadoop的安裝部署的模式一共有三種,分別是(單機(jī)模式)、(全分布模式)、(偽分布模式)。2.Datanode是以塊的形式存儲數(shù)據(jù),默認(rèn)為(128)M。3.格式化NameNode的命令是(hdfsnamenode-format)。4.配置Hadoop時,JAVA_HOME包含在(hadoop-env.sh)配置文件中。學(xué)習(xí)單元6(1)聚類屬于(A)。A無監(jiān)督學(xué)習(xí) B有監(jiān)督學(xué)習(xí)C半監(jiān)督學(xué)習(xí) D以上都不對(2)典型的機(jī)器學(xué)習(xí)應(yīng)用流程包括數(shù)據(jù)采集、____、模型建立和模型使用四個階段。(B)A降維工程 B特征工程C清洗工程 D標(biāo)準(zhǔn)工程(3)下列不屬于深度學(xué)習(xí)框架的是(B)。ATensorFlow BJupyterNotebookCMindSpore DPaddlePaddle2簡答題(1)什么是人工智能?人工智能是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。(2)說明人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的關(guān)系。機(jī)器學(xué)習(xí)是人工智能的子集,深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的子集。(3)簡述機(jī)器學(xué)習(xí)應(yīng)用開發(fā)流程。數(shù)據(jù)采集、特征工程、模型建立和模型使用四個階段。學(xué)習(xí)單元71選擇題1.云計(jì)算是對(D)技術(shù)的發(fā)展與運(yùn)用。A.并行計(jì)算 B.網(wǎng)格計(jì)算C.分布式計(jì)D.以上全部2.下列(C)不屬于云計(jì)算的特點(diǎn)。A.動態(tài)可擴(kuò)展 B.性價比高C.高速性 D.可擴(kuò)展性3.將基礎(chǔ)設(shè)施作為服務(wù)的云計(jì)算服務(wù)類型是(C)。A.laaS B.PaaSC.SaaS D.以上都不是4.云計(jì)算服務(wù)模型中的IaaS是指(B)。A.InformationasaService B.InfrastructureasaServiceC.InfluenceasaServiceD.InstructionasaService5.亞馬遜AWS提供的云計(jì)算服務(wù)類型(D)。A.laaS B.SaaS C.PaaS D.以上都是2填空題1.(基于平臺服務(wù))與SaaS不同的,這種“云”計(jì)算形式把開發(fā)環(huán)境或者運(yùn)行平臺也作為一種服務(wù)給用戶提供。2.WindowsAzure屬于(PaaS)模式,平臺包括一個云計(jì)算操作系統(tǒng)和一系列為開發(fā)者提供的服務(wù)。3.云計(jì)算是對(并行計(jì)算)、網(wǎng)格計(jì)算和分布式計(jì)算技術(shù)的發(fā)展與運(yùn)用。4.大多數(shù)學(xué)者以及工程技術(shù)人員將云計(jì)算的3層體系架構(gòu)多分為(基礎(chǔ)設(shè)施服務(wù)層)、(平臺服務(wù)層)、(軟件服務(wù)層)。學(xué)習(xí)單元81選擇題1.光纖主要由(ABC)構(gòu)成A.纖芯 C.涂敷層B.包層 D.玻璃2.ZigBee是一種(A)、(C)的新興無線組網(wǎng)通信技術(shù)。A.低速率 C.短距離B.高速率 D.長距離3.1G通信網(wǎng)采用(B)信號傳輸。A.?dāng)?shù)字 C.寬帶B.模擬 D.均有4.中國于2009年的1月7日頒發(fā)了3張3G牌照,分別是(ABC)。A.中國移動的TD-SCDMA B.中國聯(lián)通的WCDMAC.中國電信的WCDMA2000 D.中國鐵通的TD-SCDMA5.5G的主要特點(diǎn)有(ABCDE)。A.高速度 C.泛在網(wǎng) E.低功耗B.低時延 D.萬物聯(lián)網(wǎng) F.重構(gòu)完全體系6.5G的關(guān)鍵技術(shù)包含(ABCD)A.先進(jìn)的多址接入技術(shù) C.編碼調(diào)制技術(shù)B.多天線技術(shù) D.新的波形設(shè)計(jì)技術(shù)2填空題1.通信系統(tǒng)大體有三部分組成:(發(fā)送端)、(信道接收設(shè)備)、(噪聲源)。2.未來通信技術(shù)的發(fā)展將具備以下特點(diǎn):(數(shù)字化)、(綜合化)、(融合化)、(寬帶化)、(智能化)、(個人化)。3.5G網(wǎng)絡(luò)架構(gòu)包含3朵云,分別為:(接入云)、(控制云)、(轉(zhuǎn)發(fā)云)。4.5G的主要應(yīng)用的三種場景有(增強(qiáng)型移動帶寬)、(海量連接)、(高可靠低時延)。5.5G網(wǎng)絡(luò)規(guī)劃流程包含(需求分析)、(網(wǎng)絡(luò)規(guī)模估算)、(站址規(guī)劃)、(無線網(wǎng)絡(luò)仿真)、(無線參數(shù)規(guī)劃)。3判斷題1.在通信過程中,噪聲是可以完全去除的。(×)2.帶寬可以表示為鏈路上每秒實(shí)際能傳輸?shù)谋忍財(cái)?shù)。(×)3.在光發(fā)送機(jī)中,光源是整個系統(tǒng)的核心器件。(√)4.“藍(lán)牙”是一種短距離的無線連接技術(shù)標(biāo)準(zhǔn)的代稱。(√)5.只有當(dāng)接收電平低于自由空間傳播的電平時才叫電波的衰落現(xiàn)象。(√)4問答題簡述點(diǎn)對點(diǎn)通信系統(tǒng)模型中的各組成部分及其功能。答:點(diǎn)對點(diǎn)通信的基本模型包括:信息源、發(fā)送設(shè)備、信道、接收設(shè)備、受信者。信息源:把代傳輸?shù)南⑥D(zhuǎn)換成原始電信號;發(fā)送設(shè)備:將信源發(fā)出的信息變換成適合在信道中傳輸?shù)男盘枺恍诺溃簜鬟f信息的通道;接收設(shè)備:把從信道上接收到的信號轉(zhuǎn)換成信息接收者可以接收的信息;受信者:將復(fù)原的原始信號轉(zhuǎn)換成相應(yīng)的消息。學(xué)習(xí)單元91選擇題1.“智慧地球”是(B)提出的概念。A.德國 B.美國 C.中國 D.日本2.物聯(lián)網(wǎng)是一種復(fù)雜多樣的系統(tǒng)技術(shù),根據(jù)信息生成、傳輸、處理和應(yīng)用的分層原則,不包括下面哪一層(D)。A.感知識別層 B.網(wǎng)絡(luò)構(gòu)建層C.管理服務(wù)層 D.安全層3.自動識別系統(tǒng)負(fù)責(zé)完成系統(tǒng)的(A)。A.采集和存儲 B.?dāng)?shù)據(jù)應(yīng)用處理C.?dāng)?shù)據(jù)傳輸 D.?dāng)?shù)據(jù)識別4.要獲取物體的實(shí)時狀態(tài)信息,就需要(D)。A.計(jì)算技術(shù) B.通信技術(shù)C.識別技術(shù) D.傳感技術(shù)5.在物聯(lián)網(wǎng)云平臺中,(B)平臺即服務(wù)。A.IaaS B.PaaS C.SaaS D.QaaS2填空題1.互聯(lián)網(wǎng)一般可以劃分為(應(yīng)用層)、(傳輸層)、(數(shù)據(jù)鏈路層)、(物理層)、(應(yīng)用層)五層結(jié)構(gòu)。2.全球各國均已將物聯(lián)網(wǎng)作為“第三次信息革命”的戰(zhàn)略產(chǎn)業(yè),中國提出了(“感知中國”)物聯(lián)網(wǎng)戰(zhàn)略構(gòu)想。3.(互聯(lián)網(wǎng))、(無線個域網(wǎng))、(無線寬帶網(wǎng))、(移動通信網(wǎng))、(低功耗廣域網(wǎng))和(衛(wèi)星物聯(lián)網(wǎng))形成了物聯(lián)網(wǎng)的網(wǎng)絡(luò)構(gòu)建層。4.(傳感技術(shù))、(計(jì)算機(jī)技術(shù))和(通信技術(shù))被稱為信息技術(shù)的三大支柱。5.物聯(lián)網(wǎng)產(chǎn)業(yè)鏈可以細(xì)分為(標(biāo)識)、(感知)、(處理)和(信息傳送)等環(huán)節(jié)。學(xué)習(xí)單元10習(xí)題答案:選擇題(1)以下那個不是數(shù)字媒體技術(shù)的特點(diǎn)(C)。A數(shù)字化 B交互性C唯一性 D集成性(2)光學(xué)字符識別技術(shù)的簡稱(C)AOAR BOBRCOCR DOKR(3)下列(C)可以制作3D動畫。APhotoshop BflashCMAYA DWPS(4)虛擬現(xiàn)實(shí)技術(shù)的英文名稱是什么?(A)AVirtualRealityBAugmentedRealityCMixedRealityDExtendedReality(5)以下那個是矢量圖的格式?(D)A*.gifB*.bmpC*.psdD*.svg2.簡答題(1)擴(kuò)展現(xiàn)實(shí)技術(shù)包括哪些具體的技術(shù)?XR(ExtendedReality拓展現(xiàn)實(shí)技術(shù))包括:VR(VirtualReality虛擬現(xiàn)實(shí)技術(shù))、AR(AugmentedReality增強(qiáng)現(xiàn)實(shí)技術(shù))和MR(MixedReality混合現(xiàn)實(shí)技術(shù))。(2)我們都知道網(wǎng)頁是多種數(shù)字媒體的集合,請問網(wǎng)頁可以集合哪些數(shù)字媒體形式?可以集合文字、圖像、音頻、視頻、動畫等數(shù)字媒體形式。(3)簡述制作3DPPT的具體步驟。有六個步驟:新建3DPPT、選擇虛擬空間、導(dǎo)入3D模型、編輯平面部分、編輯交互與動畫,完成并導(dǎo)出。3.實(shí)訓(xùn)題應(yīng)用本單元知識,使用3DPPT軟件制作一張3D賀卡。二維碼:微信掃碼,了解更多3DPPT使用教程:鏈接:/s/1bRjHPNpY3E0eDr3g0bjVg

學(xué)習(xí)單元11二維碼內(nèi)容:習(xí)題答案1選擇題請從下列選項(xiàng)中,不是虛擬現(xiàn)實(shí)系統(tǒng)的組成(D)。A輸入設(shè)備B演示設(shè)備C軟件系統(tǒng)D手柄請從下列選項(xiàng)中不是虛擬現(xiàn)實(shí)常用的數(shù)據(jù)圖標(biāo)類型(A)。A甘特圖B折線圖C餅狀圖D散點(diǎn)圖請從下列選項(xiàng)中選出不是常用的虛擬現(xiàn)實(shí)開發(fā)引擎(D)。AUnityBVRC-EditorCUnrealEngineDPhotoshop請從下列選項(xiàng)中選出VRC-Editor引擎的特色(D)。A采用C#開發(fā)語言,具有高效的運(yùn)行效率B邏輯編輯就是藍(lán)圖C開發(fā)人員需要具備扎實(shí)的編程基礎(chǔ)才可入門上手D具有一次功能開發(fā),一鍵多終端發(fā)布的特色下列哪個不是虛擬現(xiàn)實(shí)建模軟件(D)。A3DMaxBMayaCCreatorDExcel2填空題虛擬現(xiàn)實(shí)的本質(zhì)特點(diǎn)__交互性__、__沉浸感__和__構(gòu)想性__。虛擬現(xiàn)實(shí)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)系統(tǒng),能夠模擬人在自然環(huán)境中視覺、聽覺、觸覺等行為的高度逼真的人機(jī)交互技術(shù)。虛擬現(xiàn)實(shí)的三個要素為___圖像__、__交互_和___行為___。_1997_年美國標(biāo)準(zhǔn)與技術(shù)研究院“使用VRML的制造系統(tǒng)建模”,探討了虛擬現(xiàn)實(shí)技術(shù)及在網(wǎng)絡(luò)上的應(yīng)用。請列舉四個虛擬現(xiàn)實(shí)的應(yīng)用領(lǐng)域___教育領(lǐng)域__、___醫(yī)療衛(wèi)生領(lǐng)域___、___娛樂領(lǐng)域___和軍事領(lǐng)域。3實(shí)訓(xùn)題二維碼內(nèi)容:實(shí)訓(xùn)題參考視頻參考視頻:/video/BV1z84y1H79e/學(xué)習(xí)單元121選擇題1.關(guān)于區(qū)塊鏈技術(shù)的,以下描述正確的有(ABCD)。A.去中心化 B.去中介化C.信息公開不可篡改 D.集體維護(hù)2.以下關(guān)于區(qū)塊鏈的功能,描述正確的的有(ABC)。A.增加信任 B.成本降低C.效率提高 D.無需上鏈3.智能合約,描述正確的的有(ABC)。A.增加信任 B.成本降低C.效率提高 D.無需上鏈4.共享機(jī)制,描述正確的的有(ABC)。A.增加信任 B.成本降低C.效率提高 D.無需上鏈5.密碼學(xué),描述正確的的有(ABC)。A.增加信任 B.成本降低C.效率提高 D.無需上鏈6.去中心化,描述正確的的有(ABC)。A.增加信任 B.成本降低C.效率提高 D.無需上鏈2填空題1.區(qū)塊鏈?zhǔn)欠植际綌?shù)據(jù)存儲、(點(diǎn)對點(diǎn)傳輸)、(共識機(jī)制)、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式。2.區(qū)塊鏈上內(nèi)容都是公開的,包括區(qū)塊的(地址)、(轉(zhuǎn)賬的金額)。3.比特幣是虛擬貨幣又被稱為(加密貨幣crypto-currency)。4.比特幣主要用到了密碼學(xué)中的兩個功能:(1.哈希)、(2.簽名)。5.以太坊(英文Ethereum)是一個開源的有(智能合約)功能的公共區(qū)塊鏈平臺,通過其專用加密貨幣以太幣(Ether,簡稱“ETH”)提供去中心化的以太虛擬機(jī)(EthereumVirtualMachine)來處理點(diǎn)對點(diǎn)合約。)。3實(shí)訓(xùn)題1.存儲事務(wù)理解json是一種數(shù)據(jù)類型,本身代表是一串字符串,類似于數(shù)組形式摘自:百度/p/61998985這里我們使用比較通用的格式來將數(shù)據(jù)存儲在區(qū)塊鏈中:json{"author":"作者名","content":"交易內(nèi)容","timestamp":"交易發(fā)生時間"}2.防止區(qū)塊被篡改我們希望檢測出對區(qū)塊內(nèi)存儲的數(shù)據(jù)的任何篡改。在區(qū)塊鏈中,這是使用一個哈希函數(shù)來實(shí)現(xiàn)的。哈希函數(shù)接受任何大小的數(shù)據(jù)并生成固定大小的數(shù)據(jù),該結(jié)果通常用于識別輸入。哈希函數(shù)特征它應(yīng)該很容易計(jì)算。哪怕只更改數(shù)據(jù)中的一個位,哈希值也應(yīng)該完全發(fā)生變化。應(yīng)該無法根據(jù)輸出哈希值猜出輸入。生成Hash指紋publicfunctioncompute_hash(){returnsha1(json_encode($this->toArray()));}3.鏈接區(qū)塊我們在設(shè)置好區(qū)塊之后還不夠,因?yàn)閰^(qū)塊鏈?zhǔn)且粋€區(qū)塊集合。我們這里是把所有的區(qū)塊都放到了數(shù)組中。但是為了防止有人故意替換數(shù)組中的一個區(qū)塊,我們必須保證區(qū)塊及順序不可更改。這里我們通過類似鏈表的形式來實(shí)現(xiàn)從區(qū)塊鏈的整體結(jié)構(gòu)可以看到除了創(chuàng)始區(qū)塊外每個區(qū)塊都有一個previous_hash用于鏈接到前一個區(qū)塊的。Block類初始結(jié)構(gòu)classBlock{public$index;public$transactions;public$timestamp;public$previous_hash;public$hash;public$nonce;publicfunction__construct($index,$transactions,$timestamp,$previous_hash){$this->index=$index;$this->transactions=$transactions;$this->timestamp=$timestamp;$this->previous_hash=$previous_hash;}publicfunctioncompute_hash(){returnsha1(json_encode($this->toArray()));}publicfunctiontoArray(){return['index'=>$this->index,'transactions'=>$this->transactions,'timestamp'=>$this->timestamp,'previous_hash'=>$this->previous_hash,'nonce'=>$this->nonce,'hash'=>$this->hash,];}}Blockchain類classBlockChain{publicstatic$unconfirmed_transactions=[];publicstatic$chain=[];/***初始化第一個節(jié)點(diǎn)*/publicstaticfunctioninit(){self::$unconfirmed_transactions=[];self::$chain=[];self::create_genesis_block();}/***創(chuàng)建創(chuàng)世區(qū)塊第一個節(jié)點(diǎn)傳入--init參數(shù)生成*/privatestaticfunctioncreate_genesis_block(){$genesis_block=newBlock(0,[],time(),"0");$genesis_block->hash=$genesis_block->compute_hash();self::$chain[]=$genesis_block;}/***@returnBlock*/publicstaticfunctionget_last_block(){returnself::$chain[count(self::$chain)-1];}}4.工作量證明現(xiàn)在存在一個問題就是如果我們修改了前一個區(qū)塊,也可以非常容易的重新計(jì)算后續(xù)所有區(qū)塊的哈希值,并創(chuàng)建不同的有效區(qū)塊鏈。為此我們必須讓計(jì)算哈希值的任務(wù)變得困難和隨機(jī)化,在此我們通過對生成的哈希值添加約束,必須已有兩個零作為前綴的才可以使用,由于哈希值只會在區(qū)塊內(nèi)容發(fā)生變更后才會改變,所以我們引入一個新字段:nonce(隨機(jī)數(shù)字)。隨機(jī)數(shù)會不斷變化直到獲得滿足約束條件的哈希值。前綴0的數(shù)量決定了工作量證明算法的難度。工作量證明很難計(jì)算,但是驗(yàn)證卻很容易,只需要運(yùn)行一次哈希函數(shù)即可。工作量證明算法classBlockChain{/*......*/publicstaticfunctionproof_of_work(Block$block){$block->nonce=0;$hash=$block->compute_hash();$prefix=self::getPrefix();while(strpos($hash,$prefix)!==0){$block->nonce+=1;$hash=$block->compute_hash();}return$hash;}/***獲取前綴,前綴長度決定了工作量證明算法難度*/privatestaticfunctiongetPrefix(){return'00';}}此處的隨機(jī)數(shù)無法快速確定,只能暴力破解5.添加區(qū)塊到鏈中添加區(qū)塊到鏈中,首先要驗(yàn)證所提供的工作量證明是否正確,以及所添加區(qū)塊的previous_hash字段是否指向鏈中最新區(qū)塊的哈希值。以下為添加區(qū)塊到鏈中的代碼classBlockChain{publicstaticfunctionadd_block(Block$block,$proof,$broadcast=true){$last_block=self::get_last_block();$previous_hash=$last_block->hash;if($previous_hash!=$block->previous_hash){returnfalse;}if(!self::is_valid_proof($block,$proof)){returnfalse;}$block->hash=$proof;self::$chain[]=$block;returntrue;}privatestaticfunctionis_valid_proof(Block$block,$hash){returnstrpos($hash,self::getPrefix())===0&&$hash==$block->compute_hash();}6.創(chuàng)建接口為了方便與其它對等節(jié)點(diǎn)進(jìn)行交互,我們在項(xiàng)目中使用fastroute來創(chuàng)建路由及對應(yīng)的控制層。classBaseController{private$_request;private$_response;publicfunctionsetRequest($request){$this->_request=$request;}/***@returnmixed*/publicfunctiongetRequest(){return$this->_request;}/***@parammixed$response*/publicfunctionsetResponse($response){$this->_response=$response;}publicfunctionresponse(string$data,$status=200,$headers=['Content-Type'=>'application/json']){$this->_response->status=$status;foreach($headersas$key=>$header){$this->_response->header($key,$header);}$this->_response->end($data);returntrue;}protectedfunctionget_json(){if(!$this->getRequest()->rawContent()){returnnull;}$ret=json_decode($this->getRequest()->rawContent(),true);return$ret;}}7.提交新事務(wù)useApp\Block;useApp\BlockChain;useApp\Peer;classIndexControllerextendsBaseController{publicfunctionnew_transaction(){$data=$this->get_json();$required=['author','content'];foreach($requiredas$field){if(!array_key_exists($field,$data)){$this->response("Invlaidtransactiondata",404);}}$data['timestamp']=time();BlockChain::add_new_transaction($data);$this->response('Success');}}獲取節(jié)點(diǎn)鏈副本列表。應(yīng)用程序中可用來查詢要顯示的所有內(nèi)容publicfunctionget_chain(){$data=["length"=>count(BlockChain::$chain),"chain"=>BlockChain::$chain,];$this->response(json_encode($data));}請求節(jié)點(diǎn)挖掘未確認(rèn)事務(wù)接口。8.添加路由/***@return\FastRoute\Dispatcher*/functiongetRouter(){$dispatcher=\FastRoute\simpleDispatcher(function(\FastRoute\RouteCollector$route){$route->addRoute('POST','/new_transaction','Controller\\IndexController@new_transaction');$route->addRoute('GET','/chain','Controller\\IndexController@get_chain');$route->addRoute('GET','/mine','Controller\\IndexController@mine_unconfirmed_transactions');$route->addRoute('GET','/pending_tx','Controller\\IndexController@get_pending_tx');$route->addRoute('POST','/add_nodes','Controller\\IndexController@add_nodes');$route->addRoute('POST','/add_block','Controller\\IndexController@add_block');});return$dispatcher;}9.建立共識和去中心化當(dāng)前的代碼只能在單個計(jì)算機(jī)上運(yùn)行。即使通過哈希值鏈接了區(qū)塊,仍然不能信任單個實(shí)體。我們需要多個節(jié)點(diǎn)來維護(hù),所以我們創(chuàng)建一個接口來讓一個節(jié)點(diǎn)可獲取網(wǎng)絡(luò)中其它對等節(jié)點(diǎn)信息。Peer類classPeer{publicstatic$peers=[];publicstaticfunctionadd($node){echo"addNode$node\n";$peer_num=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論