2024-2025年度安徽省職業(yè)院校技能大賽(中職組)競賽規(guī)程-區(qū)塊鏈技術(shù)與應(yīng)用(師生同賽)_第1頁
2024-2025年度安徽省職業(yè)院校技能大賽(中職組)競賽規(guī)程-區(qū)塊鏈技術(shù)與應(yīng)用(師生同賽)_第2頁
2024-2025年度安徽省職業(yè)院校技能大賽(中職組)競賽規(guī)程-區(qū)塊鏈技術(shù)與應(yīng)用(師生同賽)_第3頁
2024-2025年度安徽省職業(yè)院校技能大賽(中職組)競賽規(guī)程-區(qū)塊鏈技術(shù)與應(yīng)用(師生同賽)_第4頁
2024-2025年度安徽省職業(yè)院校技能大賽(中職組)競賽規(guī)程-區(qū)塊鏈技術(shù)與應(yīng)用(師生同賽)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

安徽省職業(yè)院校技能大賽賽項(xiàng)名稱:區(qū)塊鏈技術(shù)應(yīng)用與維護(hù)(師生同賽)一、賽項(xiàng)信息賽項(xiàng)類別賽項(xiàng)組別(對(duì)應(yīng)每個(gè)專業(yè),明確涉及的專業(yè)核心課程)電子與信息大類(51)區(qū)塊鏈技術(shù)應(yīng)用程序設(shè)計(jì)高級(jí)應(yīng)用、區(qū)塊鏈核心技術(shù)、虛擬化及容器技術(shù)、區(qū)塊鏈部署與運(yùn)維、區(qū)塊鏈應(yīng)用設(shè)計(jì)與開發(fā)、智能合約開發(fā)、區(qū)塊鏈項(xiàng)目綜合實(shí)踐。電子與信息大類(71)計(jì)算機(jī)應(yīng)用頁設(shè)計(jì)與制作、數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析、礎(chǔ)、路由交換技術(shù)、服務(wù)器配置與管理、綜合布線設(shè)計(jì)與施工、Web前端開發(fā)技術(shù)基礎(chǔ)、Linux操作系統(tǒng)應(yīng)用基礎(chǔ)、無線局域網(wǎng)技術(shù)。軟件與信息服務(wù)計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)、操作系統(tǒng)基礎(chǔ)、數(shù)據(jù)庫應(yīng)用技術(shù)、Web前端開發(fā)技術(shù)基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)、信息服務(wù)業(yè)務(wù)技能、軟件測試。大數(shù)據(jù)技術(shù)應(yīng)用據(jù)分析、數(shù)據(jù)采集與處理技術(shù)應(yīng)用、數(shù)據(jù)可視化技術(shù)應(yīng)用、Web前端開發(fā)技術(shù)基礎(chǔ)、大數(shù)據(jù)編程基礎(chǔ)。移動(dòng)應(yīng)用技術(shù)與應(yīng)用、移動(dòng)應(yīng)用程序設(shè)計(jì)、移動(dòng)應(yīng)用測試、數(shù)據(jù)庫應(yīng)用與數(shù)據(jù)分析、Web前端開發(fā)技術(shù)基礎(chǔ)、移動(dòng)應(yīng)用部署與服務(wù)。網(wǎng)絡(luò)信息安全網(wǎng)絡(luò)組建與安全維護(hù)、系統(tǒng)安全加固、網(wǎng)站建設(shè)與安全管理、數(shù)據(jù)庫管理與安全維護(hù)、網(wǎng)絡(luò)安全產(chǎn)品部署與調(diào)試、滲核心能力(對(duì)應(yīng)每個(gè)崗位(群),明確核心能力要求)業(yè)面向區(qū)塊鏈應(yīng)用操作員、區(qū)塊鏈工程技術(shù)人員等職業(yè)。1.具有區(qū)塊鏈產(chǎn)品需求分析與方案設(shè)計(jì)的能2.具有區(qū)塊鏈應(yīng)用及智能合約設(shè)計(jì)與開發(fā)的3.具有區(qū)塊鏈系統(tǒng)測試設(shè)計(jì)、執(zhí)行與分析的4.具有區(qū)塊鏈系統(tǒng)部署、維護(hù)和監(jiān)控的能力;5.具有計(jì)算機(jī)軟件前端與后端代碼編寫和調(diào)試的能力;6.具有計(jì)算機(jī)軟件需求文檔和設(shè)計(jì)文檔撰寫的能力;7.具有數(shù)字化技能,具備適應(yīng)區(qū)塊鏈產(chǎn)業(yè)發(fā)展新要求的能力;8.具有探究學(xué)習(xí)、終身學(xué)習(xí)和可持續(xù)發(fā)展的面向計(jì)算機(jī)維修工等職術(shù)等崗位(群)。1.具備熟練操作計(jì)算機(jī)和應(yīng)用辦公軟件的能2.具備網(wǎng)絡(luò)技術(shù)應(yīng)用技能;3.具備數(shù)字媒體素材處理、簡單的動(dòng)畫設(shè)計(jì)4.具備制作網(wǎng)頁、管理網(wǎng)站的能力;5.具備一定的程序設(shè)計(jì)和利用數(shù)據(jù)庫等工具進(jìn)行數(shù)據(jù)分析的能力;護(hù)的能力;理、計(jì)算機(jī)和辦公設(shè)備維修等職業(yè),網(wǎng)絡(luò)產(chǎn)品與維護(hù)、網(wǎng)站運(yùn)行與維1.具備應(yīng)用計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、計(jì)算機(jī)硬件、程序設(shè)計(jì)、綜合布線、網(wǎng)絡(luò)信息安全相關(guān)專業(yè)知識(shí)的能力;2.具備常用中小型網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)、中小型網(wǎng)絡(luò)布線施工、網(wǎng)絡(luò)設(shè)備安裝及調(diào)試、服務(wù)器配置的能力;3.具備網(wǎng)絡(luò)工程建設(shè)、網(wǎng)絡(luò)系統(tǒng)集成、網(wǎng)絡(luò)管理和維護(hù)等能力;4.具備網(wǎng)站及前端設(shè)計(jì)、網(wǎng)站運(yùn)維能力,以及簡單應(yīng)用程序開發(fā)能力;的能力;面向計(jì)算機(jī)辦公操作、數(shù)據(jù)處理、軟件開發(fā)與崗位(群)。1.具備常用軟件工具的使用能力;2.具備圖形圖像處理、網(wǎng)頁設(shè)計(jì)與制作的能3.具備信息技術(shù)咨詢服務(wù)、信息技術(shù)產(chǎn)品銷售的能力;5.具備信息處理和存儲(chǔ)支持服務(wù)的能力;6.具備初級(jí)軟件開發(fā)、測試的能力;7.具備軟件實(shí)施、運(yùn)維服務(wù)的能力;面向數(shù)據(jù)采集與標(biāo)注、數(shù)據(jù)處理與可視化等崗1.具備計(jì)算機(jī)組網(wǎng)的基本技能和網(wǎng)頁制作的2.具備開發(fā)簡單應(yīng)用程序的能力;分析的能力;5.具備簡單數(shù)據(jù)分析與可視化的能力;1.具備數(shù)據(jù)庫應(yīng)用和數(shù)據(jù)分析的能力;2.具備移動(dòng)應(yīng)用素材處理的能力;3.具備設(shè)計(jì)與制作移動(dòng)終端網(wǎng)頁、應(yīng)用界面等的能力;4.具備初級(jí)移動(dòng)應(yīng)用程序設(shè)計(jì)和前端開發(fā)的5.具備移動(dòng)應(yīng)用系統(tǒng)部署、測試與運(yùn)維的能6.具備移動(dòng)應(yīng)用產(chǎn)品營銷與推廣的能力;維護(hù)、網(wǎng)絡(luò)安全產(chǎn)品技1.具備中小型網(wǎng)絡(luò)互聯(lián)與網(wǎng)絡(luò)設(shè)備基礎(chǔ)安全配置的能力;2.具備初步系統(tǒng)及應(yīng)用服務(wù)基礎(chǔ)安全配置與防護(hù)的能力;3.具備網(wǎng)站搭建和基礎(chǔ)安全防護(hù)的能力;4.具備常用數(shù)據(jù)庫系統(tǒng)搭建及基礎(chǔ)安全防護(hù)的能力;的能力;6.具備使用工具對(duì)網(wǎng)絡(luò)系統(tǒng)和應(yīng)用服務(wù)進(jìn)行初步滲透測試的能力;二、競賽目標(biāo)安徽省職業(yè)院校技能大賽區(qū)塊鏈技術(shù)應(yīng)用與維護(hù)賽項(xiàng)是緊密圍繞發(fā)展的指導(dǎo)意見》核心要求,聚焦于“加強(qiáng)區(qū)塊鏈職業(yè)技術(shù)教育,培教育大會(huì)精神,以推進(jìn)“以賽促教、以賽促學(xué)、以賽促改、以賽促建”全面提高技術(shù)技能人才培養(yǎng)質(zhì)量等重要文件展需求。踐操作能力,新技術(shù)運(yùn)用能力和就業(yè)競爭力。其次,賽事的舉辦也能夠?yàn)槿÷殬I(yè)教育師生提供交流平臺(tái),起到檢驗(yàn)職業(yè)院校教學(xué)改革成果的作用,有利于提升安徽省職業(yè)教育水平,為數(shù)字經(jīng)濟(jì)創(chuàng)新提供強(qiáng)有力的三、競賽內(nèi)容在數(shù)字經(jīng)濟(jì)快速發(fā)展的時(shí)代背景下,區(qū)塊鏈技術(shù)以其去中心化、不可篡改、透明可追溯等特性,正逐步成為推動(dòng)社會(huì)各行各業(yè)轉(zhuǎn)型升級(jí)的關(guān)鍵力量。本賽項(xiàng)以區(qū)塊鏈基礎(chǔ)與應(yīng)用為主題,參照我國區(qū)塊鏈工程技術(shù)人員崗位要求所具備的能力與知識(shí)進(jìn)行設(shè)計(jì),競賽內(nèi)容以行業(yè)實(shí)際業(yè)務(wù)為基礎(chǔ),包括工作任務(wù)展示和實(shí)操技能考核兩大部分。在工作任務(wù)展示部分,參賽選手圍繞“技能水平、職業(yè)素養(yǎng)、應(yīng)用價(jià)值、團(tuán)隊(duì)合作、創(chuàng)新創(chuàng)意”要素,自主進(jìn)行內(nèi)容設(shè)計(jì),假定在1小時(shí)內(nèi)2-4人團(tuán)隊(duì)可以完成的工作任務(wù),主要介紹總體思路、技能要點(diǎn)、主要成果、項(xiàng)目創(chuàng)新等方面,介紹通過PPT展示。在實(shí)操技能考核部分,涵蓋了共識(shí)算法、數(shù)字簽名、數(shù)據(jù)結(jié)構(gòu)和鏈上身份等四大模塊內(nèi)容。(一)共識(shí)算法是指在分布式場景中,多個(gè)節(jié)點(diǎn)為了達(dá)成相同的數(shù)據(jù)狀態(tài)而運(yùn)行的一種分布式算法。在分布式系統(tǒng)中,由于網(wǎng)絡(luò)延遲、節(jié)點(diǎn)故障等原因,節(jié)點(diǎn)之間的數(shù)據(jù)狀態(tài)可能會(huì)不一致。共識(shí)算法通過特定的規(guī)則和機(jī)制,使得節(jié)點(diǎn)在通信和協(xié)作的過程中能夠達(dá)成共識(shí),從而保證數(shù)據(jù)的一致性。區(qū)塊鏈中的共識(shí)算法是一個(gè)核心內(nèi)容,它在確保區(qū)塊鏈網(wǎng)絡(luò)的穩(wěn)定運(yùn)行和數(shù)據(jù)一致性方面發(fā)揮著至關(guān)重要的作用。例如,政務(wù)領(lǐng)域中的電子證照管理,通過共識(shí)算法可以確保電子證照的唯一性、真實(shí)性和不可篡改性,實(shí)現(xiàn)快速辦證、安全存證,提高政務(wù)效率。實(shí)操技能考核中共識(shí)算法重點(diǎn)考察PoS、PBFT等主要共識(shí)算法的核心思想與(二)數(shù)字簽名是一種類似寫在紙上的普通的物理簽名,但是使用塊鏈中ECDSA等數(shù)字簽名技術(shù)確保了交易的不可否認(rèn)性和不可篡改性。止了雙重支付攻擊。實(shí)操技能考核中數(shù)字簽名重點(diǎn)考察ECDSA等主要數(shù)(三)區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)是一種分布式、去中心化的鏈?zhǔn)浇Y(jié)構(gòu),它以著至關(guān)重要的作用,它提高了區(qū)塊鏈的數(shù)據(jù)驗(yàn)證效率、操技能考核中數(shù)據(jù)結(jié)構(gòu)重點(diǎn)考察默克爾樹等數(shù)據(jù)結(jié)構(gòu)的基本原理及其(四)鏈上身份是通過區(qū)塊鏈技術(shù)實(shí)現(xiàn)的一種新型身份驗(yàn)證方式。與傳統(tǒng)的身份驗(yàn)證方式不同,鏈上身份不依賴于中心化的機(jī)構(gòu)或數(shù)據(jù)用都需要進(jìn)行身份驗(yàn)證和授權(quán),而鏈上身份可以為用戶提供一種安全、自主研發(fā)的密碼雜湊算法,它是對(duì)SHA-256等國際標(biāo)準(zhǔn)算法的一種改進(jìn)通過工作任務(wù)展示和實(shí)操技能兩個(gè)部分的考核可以判斷參賽選手原理應(yīng)用系統(tǒng)評(píng)分?jǐn)?shù)字簽名用數(shù)據(jù)結(jié)構(gòu)默克爾樹等數(shù)據(jù)結(jié)構(gòu)的基本原理及其在區(qū)塊鏈中的應(yīng)用SM2、SM3等國密算法在區(qū)塊鏈身份標(biāo)識(shí)方面的應(yīng)用圍繞"技能水平、職業(yè)素養(yǎng)、應(yīng)用價(jià)值、說明:賽項(xiàng)整體時(shí)長為180分鐘,其中實(shí)操技能考核模塊160分鐘,工作任務(wù)展示模塊20分鐘。(一)本賽項(xiàng)為團(tuán)隊(duì)賽,每參賽隊(duì)參賽選手為教師1名,學(xué)生2名,(二)競賽以院校為單位組隊(duì)參賽,不得跨校。(三)賽項(xiàng)整體時(shí)長為180分鐘,其中實(shí)操技能考核模塊160分鐘,(四)參賽選手須為職業(yè)院校教齡2年以上(含)的在職教師,參賽學(xué)生須為中職全日制在籍學(xué)生。更多競賽方式以正式比賽通知為準(zhǔn)。競賽日程規(guī)劃比賽限定在1天內(nèi)進(jìn)行,比賽場次為1場,競賽時(shí)間為2.5小時(shí),具體安排如下:日期時(shí)間內(nèi)容檢查并封閉賽場參賽隊(duì)返回酒店競賽場地檢查、信息加密備區(qū)塊鏈實(shí)操技能考核競賽成績?cè)u(píng)定、匯總閉幕式比賽比賽選手報(bào)名賽前1、參賽隊(duì)伍(選手)使用報(bào)到時(shí)抽簽的賽位號(hào),入場時(shí)依據(jù)賽位號(hào)(賽位號(hào)由1位字母和2位數(shù)字組成)進(jìn)行檢錄、查詢賽場的位置,2、參賽選手須提前15分鐘入場,入場必須佩戴參賽證并出示身份證等證件。不得私自攜帶任何軟硬件工具(各種便攜式電腦、各種移動(dòng)存儲(chǔ)設(shè)備等)、技術(shù)資源、通信工具。按賽位號(hào)入座,檢查比賽所需競始后,各參賽隊(duì)伍(選手)通過賽位號(hào)找到比賽位,進(jìn)行競賽,按照競作人員的幫助下進(jìn)行處理。(注:競賽過程中如果出現(xiàn)設(shè)備故障時(shí),參身故障而耽誤的時(shí)間,由大賽裁判組將該參賽隊(duì)的比賽時(shí)間酌情增補(bǔ));如非設(shè)備自身故障,則不予考慮。競賽結(jié)束(或提前完成)后,參賽隊(duì)4、本次大賽參賽作品的知識(shí)產(chǎn)權(quán)歸參賽團(tuán)隊(duì)所有,大賽組委會(huì)有七、技術(shù)規(guī)范(一)技術(shù)規(guī)范遵循以下國際相關(guān)標(biāo)準(zhǔn)、國家相關(guān)標(biāo)準(zhǔn)和行業(yè)相關(guān)標(biāo)準(zhǔn):序號(hào)標(biāo)準(zhǔn)號(hào)中文標(biāo)準(zhǔn)名稱1質(zhì)量管理體系2計(jì)算機(jī)軟件文檔編制規(guī)范3計(jì)算機(jī)軟件測試編制規(guī)范4區(qū)塊鏈技術(shù)人才培養(yǎng)標(biāo)準(zhǔn)5區(qū)塊鏈工程技術(shù)人員國家職業(yè)技術(shù)技能標(biāo)準(zhǔn)6區(qū)塊鏈應(yīng)用操作員國家職業(yè)技能標(biāo)準(zhǔn)(二)設(shè)備使用與操作規(guī)范(1)計(jì)算機(jī)電源應(yīng)保持良好,插座不得松動(dòng),發(fā)現(xiàn)有漏電現(xiàn)象應(yīng)立即切斷電源。(2)開機(jī)前應(yīng)檢查有無異常情況。(3)開機(jī)前先接電源、開外設(shè),最后開主機(jī)。(4)不能帶電插拔外設(shè)及主機(jī)。(5)如發(fā)現(xiàn)計(jì)算機(jī)有不正?,F(xiàn)象時(shí)應(yīng)立即停止操作,請(qǐng)裁判員(6)做好數(shù)據(jù)資料的保密工作。八、技術(shù)環(huán)境(一)競賽環(huán)境(二)技術(shù)平臺(tái)介紹1Linux操作系統(tǒng)2區(qū)塊鏈賽教融合平臺(tái)(師生同賽)軟件競賽服務(wù)器2CPU:40核心,2.7MHz內(nèi)存:196GB數(shù)據(jù)盤:4TB網(wǎng)卡:千兆及以上1九、競賽樣題(1)區(qū)塊頭中的數(shù)據(jù)是對(duì)整個(gè)區(qū)塊內(nèi)容的概括。你需要使用Go語言,完善VSCode工作空間中(2)對(duì)任意給定的struct類型的Blo使用Go語言內(nèi)置的crypto/sha256包中的SHA256哈希算法計(jì)算BlockHeader的數(shù)字指紋hash,作為(3)設(shè)計(jì)一個(gè)簡單的PoW工作量證明的方法。假設(shè)目標(biāo)target難度值為int類型的count,數(shù)據(jù)為string類型的data,根據(jù)指定的nonce初始值,要求計(jì)算hash值前count位為0。請(qǐng)完善CalculatePow()方法內(nèi)部的實(shí)現(xiàn),直到滿足要求的hash值,返回滿足該條1.在計(jì)算哈希值時(shí),需要先將字符串轉(zhuǎn)換為字節(jié)數(shù)組,使用SHA256算法計(jì)算哈希值后,返回長|度為32的字節(jié)數(shù)組。2.在計(jì)算哈希值時(shí),區(qū)塊頭中的各字段轉(zhuǎn)換成二進(jìn)制表示時(shí),需要以小端(LittleEndian)形3.參賽選手無需通過代碼在控制臺(tái)打印任何信息,判題腳本僅會(huì)檢驗(yàn)CalculateBlockHash()和CalculatePow()方法的正確性,從而判定選手得分。4.在編寫go語言代碼時(shí),可使用如下的import語句導(dǎo)入相應(yīng)的庫:)二、版權(quán)交易合約的編寫、部署和調(diào)用你需要編寫一個(gè)智能合約,用于記錄版權(quán)信息并實(shí)現(xiàn)版權(quán)所有者的轉(zhuǎn)移。請(qǐng)?jiān)赩SCode工作空間中JavaScript語言編寫deploy.js文件,完成copyright.sol合約的部署和調(diào)用,滿足以下要求:(1)你需要編寫deploy.js文件和deplpy.sh腳本來部署并調(diào)用合約,實(shí)現(xiàn)相應(yīng)功能,包括添加作品、轉(zhuǎn)移所有權(quán)等。在編寫中,系統(tǒng)可以幫助創(chuàng)建兩個(gè)(2)將合約部署后的地址寫入VSCode工作空間中的contract_address文件中。提示:腳本來啟動(dòng)該區(qū)塊鏈節(jié)點(diǎn)。3.合約的編譯生成ABI和bytecode是通過solc現(xiàn),本說明已經(jīng)提供了deploy.sh腳本的參考,具體實(shí)現(xiàn)時(shí)注5.在JavaScript代碼中可以使用如下的方式導(dǎo)入相應(yīng)的依賴npxsolc--bin--abi-obui里的部分方法,實(shí)現(xiàn)以下任務(wù):(1)對(duì)任意給定的string類型的privStr,請(qǐng)完善PrivateKeyFromString()方法內(nèi)部的實(shí)現(xiàn),過橢圓曲線中的ScalarBaseMult方法從私鑰計(jì)算公鑰,并將[]byte類型的公鑰作為publicKeyFromPrivateKey()的返回值。的比特幣地址作為publicKeyFromPrivateKey()的返回值。注意:1.本題涉及的橢圓曲線可用elliptic.P256()獲得其實(shí)例。2.本題中,公鑰PublicKey是由橢圓曲線點(diǎn)X坐標(biāo)和Y坐標(biāo)的[]byte類型拼接而來,可使用append(pkX.Bytes(),pkY.Bytes()...)來3.BitcoinKeys結(jié)構(gòu)體的描述如下:PrivateKey*ecdsa.Pri}4.參賽選手無需通過代碼在控制臺(tái)打印任何信息,判題腳本僅會(huì)檢驗(yàn)PrivateKeyF5.在編寫go語言代碼時(shí),可使用如下的import語句導(dǎo)入相應(yīng)的)學(xué)生需要在pow.go中補(bǔ)充下面的代碼//CalculateBlockHashbinary.Write(buf,binary.LittleEndian,header.Vbuf.Write(header.PrevBlobuf.Write(header.Merkbinary.Write(buf,binary.LittleEndian,header.Timestamp.binary.Write(buf,binary.LittleEndian,headebinary.Write(buf,binary.LittleEndian,header}//計(jì)算PoW的方法funcCalculatePow(datastring,targets//進(jìn)行PoW挖礦//組裝待哈希數(shù)據(jù)hashData:=fmt.Sprintf("%s%d",data,//計(jì)算哈希值hash:=sha256.Sum256([]byte(hashD//將哈希值轉(zhuǎn)換為16進(jìn)制字符串hexHash:=hex.EncodeToString(has//判斷是否滿足難度值要求ifhexHash[:count]==target{fmt.Printf("PoW挖礦成功,nonce為:%d,哈希值為:%s\n",noncebreak}//嘗試下一個(gè)nonce值//Readbinandabifiletoobject;namesofthesolcjs-generatedficonstbytecode=fs.readFileSync('build/Copyright_sol_Copyright.bin').toString();JSON.parse(fs.readFileSync('build/Copyright_sol_Copyright.abi').tconstkey=fs.readFileSync("/opt/geth/data/keystoreconstname=fs.readFileSync("/opt/geth/naconstauthor=fs.readFileSync("/opt/getconstprovider=newethers.IpcSocketProvider("/opt/geth/dataconstwallet=ethers.Wallet.fromEncryptedJsonSync(key,"");constaccount=wallet.connect(proviconstmyContract=newethers.ContractFactory(abi,bytecode,account);//Ussingasync-awaitfordeploymethod//Ifyourcontractrequiresconsconstcontract=awaitmyCoconsole.log(awaitcontract.getAddress());console.log(awaitcontract.deploymentTransaction().getTransaction());awaitcontract.waitForDeployconstindex=res.funcPrivateKeyFromString(privStrstresult,err:=hex.DecodeString(pr}}//從私鑰生成公鑰funcpublicKeyFromPrivateKvarkeyNew=new(ecdsa.PkeyNew.PublicKey.Curve=elliptic.keyNew.D=new(big.Int).SetBytes(prvarpkX,pkY=keyNew.ScalarBaseMult(privKey)PublicKey:=append(pkX.B//計(jì)算比特幣地址func(b*BitcoinKeys)GetAddress()[]byte//1.ripemd160(sha256(publickeripPubKey:=Generat//2.最前面添加一個(gè)字節(jié)的版本信息獲得versionPublickeyHashversionPublickeyHash:=append([]byte{VERSION},ripPubKey[:]...)//3.sha256(sha256(versionPublickeyHash))取最后四個(gè)字節(jié)的值tailHash:=CheckSumHash(versionPublickeyHash)//4.拼接最終hashversionPublickeyHash+checksumfinalHash:=append(versionPu//進(jìn)行base58加密樣題二(1)對(duì)任意給定的struct類型的BlockHeader,請(qǐng)完善CalculateBlockHash()方法內(nèi)部的實(shí)現(xiàn),使用Go語言內(nèi)置的crypto/sha256包中的SHA256哈希算法計(jì)算BlockHeader的數(shù)字指紋hash,(2)設(shè)計(jì)一個(gè)簡單的PoW工作量證明的方法。假設(shè)目標(biāo)target難度值為int類型的count,數(shù)據(jù)為string類型的data,根據(jù)指定的nonce初始值,要求計(jì)算hash值前count位為0。請(qǐng)完善CalculatePow()方法內(nèi)部的實(shí)現(xiàn),直到滿足要求的hash值,返回滿足該條件的int類型的nonce。1.在計(jì)算哈希值時(shí),需要先將字符串轉(zhuǎn)換為字節(jié)數(shù)組,使用SHA256算法計(jì)算哈希值后,返回長|度為32的字節(jié)數(shù)組。3.參賽選手無需通過代碼在控制臺(tái)打印任何信息,判題腳本僅會(huì)檢驗(yàn)CalculateBlockHash()和CalculatePow()方法的正確性,從而判定選手得分。4.在編寫go語言代碼時(shí),可使用如下的import語句導(dǎo)入相應(yīng)的庫:)你需要編寫一個(gè)智能合約,用于記錄版權(quán)信息并實(shí)現(xiàn)版權(quán)所有者的轉(zhuǎn)移。請(qǐng)?jiān)赩SCode工作空間中JavaScript語言編寫deploy.js文件,使用solidity語言編寫copyright.sol合約,完成合約的(1)在copyright合約中,你需要定義一個(gè)名為Work的結(jié)構(gòu)體,包括三個(gè)變量:name:字符串類型,記錄版權(quán)作品名稱author:字符串類型,記錄作品作者信息owner:地址類型,記錄版權(quán)持有人的以太坊地址該合約應(yīng)包括一個(gè)數(shù)組,用于記錄所有的版權(quán)作品。該數(shù)組的訪問權(quán)限應(yīng)設(shè)置為PaddWork:用于添加一個(gè)新的版權(quán)作品。這個(gè)函數(shù)應(yīng)接受兩個(gè)參它應(yīng)創(chuàng)建一個(gè)新的Work結(jié)構(gòu)體,并將其添加到版本作品數(shù)組中。這個(gè)函數(shù)應(yīng)該回一個(gè)uint類型的workIndex作為作品的序號(hào)。transferOwnership:用于轉(zhuǎn)移版權(quán)所有權(quán)。這個(gè)函數(shù)應(yīng)接受兩個(gè)參數(shù),分別表示新的所有者地當(dāng)前所有者,則應(yīng)更改作品結(jié)構(gòu)體中的owner變量。這個(gè)函數(shù)應(yīng)該設(shè)置為Public。getOwner:用于獲取一個(gè)版權(quán)作品的所有者。這個(gè)函數(shù)應(yīng)接受一個(gè)參數(shù),表示作品的索引。它應(yīng)返回作品結(jié)構(gòu)體中的owner變量。這個(gè)函數(shù)應(yīng)該設(shè)置為Public可讀。(4)將合約部署后的地址寫入VSCode工作空間中的contract_address文件中。提示:1.系統(tǒng)已經(jīng)提供了一個(gè)本地啟動(dòng)的geth以太坊區(qū)塊鏈單節(jié)點(diǎn),在VSCode加載時(shí)自動(dòng)啟動(dòng)。2.本說明提供了deploy.js部分代碼的參考,其中已經(jīng)包含了如何使用geth節(jié)點(diǎn)、并獲取私鑰和待存證數(shù)據(jù)的方法。3.合約的編譯生成ABI和bytecode是通過solc編譯器進(jìn)行的,此過程可在deploy.sh腳本中實(shí)現(xiàn),本說明已經(jīng)提供了deploy.sh腳本的參考,具體實(shí)現(xiàn)時(shí)注意調(diào)用文件的路徑。4.本說明已經(jīng)提供了合約Copyright.s5.本說明已經(jīng)提供了合約ABI接口的參考6.在JavaScript代碼中可以使用如下的方式導(dǎo)入相應(yīng)的依賴{{}node/deployjs(3)對(duì)一個(gè)任意給定的(*big.Int,*big.Int)類型的公鑰X坐標(biāo)和Y坐標(biāo),請(qǐng)完善樣題二答案//CalculateBlockHashbinary.Write(buf,binary.LittleEndian,header.Vbuf.Write(header.PrevBlobuf.Write(header.Merkbinary.Write(buf,binary.LittleEndian,header.Timestamp.binary.Write(buf,binary.LittleEndian,headebinary.Write(buf,binary.LittleEndian,header}funcCalculatePow(da//組裝待哈希數(shù)據(jù)//將哈希值轉(zhuǎn)換為16進(jìn)制字符串fmt.Printf("PoW挖礦成功,nonce為:%d,哈希值為:%s\n",nonce,hexHash)}}}合約源碼Copyright.sol//SPDX-License-Identifiestringname;//作品名稱stringauthor;//作者名稱}//添加一個(gè)版權(quán)作品WorkmemorynewWork=Work(_name,_author,msg.sender);uintworkIndex=works.length-1;}functiongetOwner(uint_workIndex)publicviewreturns(address){returnworks[_workIndex]}functiontransferOwnership(address_newOwner,uint_workIndex)public{emitOwnershipTransfer(works[_workIndex].ownerworks[_workIndex].owner=_}部署調(diào)用的deploy.jsJSON.parse(fs.readFileSync('build/Copyright_sol_Copyright.abi').toSconstkey=fs.readFileSync("/opt/geth/datconstname=fs.readFileSync("constauthor=fs.readFileSync(constprovider=newethers.IpcSocketProvider("/opt/geth/data/geth.ipc");constwallet=ethers.Wallet.fromEncrconstmyContract=newethers.ContractFactory(abi,bytecode,account);constcontract=awaitmyContract.console.log(awaitcontract.deploymentTransconstres=awaitcontract.addWork}學(xué)生需要在addr.go中補(bǔ)充以下代碼//從指定字符串中生成私鑰}}//入?yún)?byte類型的私鑰,入?yún)⒏袷剑?/從字節(jié)數(shù)組中恢復(fù)私鑰keyNew.PublicKey.Curve=skeyNew.D=new(big.Int).SetBytes(varpkX,pkY=keyNew.ScalarBa}//入?yún)⒏袷?bigInt形式的公鑰X,Y坐標(biāo),出參格式,addressaddr:=crypto.Instance.PubKeyToAddr九、賽項(xiàng)安全1、賽場的布置,賽場內(nèi)的器材、設(shè)備符合國家有關(guān)安全規(guī)定,競2、每組競賽設(shè)備使用獨(dú)立的電源,保障安全。競賽選手在進(jìn)行計(jì)算機(jī)編程或文檔編輯時(shí)要及時(shí)保存,避免突然停電造3、按防火安全要求配置滅火器,并指定賽場安全責(zé)任人在緊急時(shí)候使用。4、賽場周圍設(shè)立警戒線,防止無關(guān)人員進(jìn)入,發(fā)生意外事件。5、場地布置劃分區(qū)域,按安全要求設(shè)定疏散通道,并在墻面顯著6、比賽期間所有進(jìn)入賽區(qū)的車輛、人員需憑證入內(nèi),并主動(dòng)向工7、賽項(xiàng)組委會(huì)在賽場人員密集、車流人流交錯(cuò)的區(qū)域,設(shè)置齊全(一)評(píng)分標(biāo)準(zhǔn)區(qū)塊鏈實(shí)操技能考核(80分)實(shí)操技能考核模塊PoS、PBFT等主要共識(shí)算法的核心思想與原理應(yīng)用數(shù)字簽名ECDSA等主要數(shù)字簽名方案等原理及應(yīng)用數(shù)據(jù)結(jié)構(gòu)默克爾樹等數(shù)據(jù)結(jié)構(gòu)的基本原理及其在區(qū)塊鏈中的應(yīng)用SM2、SM3等國密算法在區(qū)塊鏈身份標(biāo)識(shí)方面的應(yīng)用工作任務(wù)展示(20分)3.具備較高的技能操作水平及解決復(fù)雜問題2.展現(xiàn)學(xué)校對(duì)學(xué)生全面培養(yǎng)、基本素養(yǎng)培育和成長發(fā)展的3.展現(xiàn)職業(yè)教育育人成果,體現(xiàn)產(chǎn)教融合223.對(duì)推動(dòng)產(chǎn)業(yè)轉(zhuǎn)型升級(jí)、區(qū)域經(jīng)濟(jì)發(fā)展、鄉(xiāng)村振興、城市團(tuán)隊(duì)合作1.團(tuán)隊(duì)成員能夠準(zhǔn)確理解共同目標(biāo)和任務(wù),清楚自己的角2創(chuàng)新創(chuàng)意2.體現(xiàn)面向職業(yè)和崗位的創(chuàng)意及創(chuàng)新,側(cè)重于工作流程創(chuàng)2(二)評(píng)分方法總成績采用100分制,實(shí)操技能考核成績占總成績的80%,工作任務(wù)展示占總成績的20%,總成績?yōu)閮烧咧汀?三)評(píng)分細(xì)則答完成后系統(tǒng)提供題目的驗(yàn)證功能,可以對(duì)題目中的若干步驟進(jìn)行驗(yàn)價(jià)值、團(tuán)隊(duì)合作、創(chuàng)新創(chuàng)意”要素,自主進(jìn)行內(nèi)容設(shè)計(jì),假定在1小時(shí)內(nèi)1-3人團(tuán)隊(duì)可以完成的工作任務(wù),主要介紹總體思路、技能要點(diǎn)、主要成果、項(xiàng)目創(chuàng)新等方面,介紹通過PPT展示。由現(xiàn)場評(píng)委老師進(jìn)行現(xiàn)場打分。團(tuán)隊(duì)總分計(jì)算細(xì)則:每支參賽隊(duì)伍中有教師1人、學(xué)生2人。師生需要共同參賽,完成答題。團(tuán)隊(duì)成績由隊(duì)伍的實(shí)操考核部分與工作任務(wù)展示模塊加和求得。實(shí)操技能考核部分教師可以依據(jù)團(tuán)隊(duì)成員的特點(diǎn)和優(yōu)勢(shì)進(jìn)行題目的分配,教師參與答題并且可以在答題過程中給予學(xué)生指導(dǎo),三人共同完成實(shí)操部分的考核。團(tuán)隊(duì)在實(shí)操技能考核部分的得分由每人所答題部分的得分加和計(jì)算得出。例如實(shí)操技能考核部分共有6道大題,記為題1-題6,團(tuán)隊(duì)內(nèi)協(xié)商分配教師答題1和題2,學(xué)生A答題3和題4,學(xué)生B答題5和題6,則實(shí)操技能考核部分的得分為教師和學(xué)生A、學(xué)生B所得分之和計(jì)算得到。當(dāng)團(tuán)隊(duì)得分出現(xiàn)同分時(shí),按照答題時(shí)間先后順序進(jìn)行排列,答題時(shí)間較短者排名靠前。本賽項(xiàng)設(shè)團(tuán)體獎(jiǎng)。以參賽隊(duì)總數(shù)為基數(shù),分設(shè)一、二、三等獎(jiǎng)獲獎(jiǎng)比例分別為10%、20%、30%(四舍五入的形式保留小數(shù)點(diǎn)后兩位),獲得團(tuán)體獎(jiǎng)的參賽隊(duì)隊(duì)員獲相應(yīng)等級(jí)的獎(jiǎng)項(xiàng)。1、競賽期間如發(fā)生設(shè)備斷電、故障等意外情況,發(fā)現(xiàn)者需第一時(shí)間報(bào)告現(xiàn)場裁判,現(xiàn)場裁判需及時(shí)確認(rèn)情況并安排技術(shù)支持人員進(jìn)行處理,同時(shí)登記詳細(xì)信息,報(bào)裁判長批準(zhǔn)后,可根據(jù)實(shí)際情況安排延長補(bǔ)足相應(yīng)選手的比賽時(shí)間。2、競賽現(xiàn)場預(yù)留足夠的備份設(shè)備,當(dāng)出現(xiàn)設(shè)備故障等情況時(shí),經(jīng)現(xiàn)場裁判和裁判長確認(rèn)后由賽場技術(shù)支持人員予以及時(shí)更換。3、競賽期間如發(fā)生重大意外傷害、重大疾病等重大事故,裁判長1、參賽隊(duì)須知(1)參賽隊(duì)名稱統(tǒng)一使用各校代表隊(duì)名稱,不得使用其他組織或(2)參賽隊(duì)按照大賽賽程安排,憑賽項(xiàng)組委會(huì)頒發(fā)的相關(guān)證件參(3)參賽隊(duì)須為參賽師生購買人身意外傷害保險(xiǎn)和醫(yī)療保險(xiǎn)。(1)領(lǐng)隊(duì)、指導(dǎo)教師須認(rèn)真閱讀相關(guān)文件精神,對(duì)選手競賽進(jìn)行(2)領(lǐng)隊(duì)、指導(dǎo)教師須嚴(yán)格遵守賽場紀(jì)律,服從裁判,文明競賽;(3)競賽期間,指導(dǎo)教師不得進(jìn)入候賽室、備賽室或賽場內(nèi)進(jìn)行(4)正式報(bào)名的領(lǐng)隊(duì)、指導(dǎo)教師原則上不得更換;(5)競賽期間各參賽隊(duì)不得以任何形式向裁判透露參賽信息或溝(1)參賽選手需在報(bào)到時(shí)提供學(xué)生證明及身份證明;(2)參賽選手憑參賽證進(jìn)入競賽場地,競賽期間應(yīng)始終佩戴參賽(3)參賽選手不允許攜帶任何紙質(zhì)資料、通訊工具和電子設(shè)備進(jìn)入競賽場地;(4)參賽選手在候賽室、備賽室和賽場內(nèi)須服從工作人員調(diào)度,遵守賽場紀(jì)律,不得擅自離開指定區(qū)域;(5)在競賽過程中,如有疑問,參賽選手應(yīng)舉手示意,裁判人員應(yīng)予以解答,但選手不得對(duì)業(yè)務(wù)技能相關(guān)知識(shí)和操作詢問裁判人員。確因計(jì)算機(jī)軟件或硬件及競賽用具故障,致使操作無法繼續(xù)的,經(jīng)裁判人員確認(rèn)同意后,予以啟用備用設(shè)備;(6)每一項(xiàng)競賽環(huán)節(jié),未經(jīng)裁判員許可,參賽選手不得中途離場;比賽時(shí)間到,參賽選手應(yīng)立即停止比賽?,F(xiàn)場裁判可根據(jù)違規(guī)實(shí)際情況采取處罰措施;(8)參賽選手應(yīng)尊重裁判,尊重對(duì)手,應(yīng)服從裁判組的評(píng)判。對(duì)競賽過程或結(jié)果如有異議,應(yīng)由領(lǐng)隊(duì)按規(guī)范程序和方式向賽項(xiàng)仲裁工作(9)參賽選手在競賽期間未經(jīng)賽項(xiàng)組委會(huì)批準(zhǔn),

溫馨提示

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

評(píng)論

0/150

提交評(píng)論