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

        ?

        基于以太坊的智能合約評估系統(tǒng)設(shè)計與實現(xiàn)

        2021-07-03 07:52:26上海計算機軟件技術(shù)開發(fā)中心陶平
        區(qū)域治理 2021年5期
        關(guān)鍵詞:以太后臺調(diào)用

        上海計算機軟件技術(shù)開發(fā)中心 陶平

        一、引言

        隨著區(qū)塊鏈技術(shù)的蓬勃發(fā)展以及不斷推出的鼓勵發(fā)展并使用區(qū)塊鏈技術(shù)的國家政策,越來越多的傳統(tǒng)企業(yè)和互聯(lián)網(wǎng)企業(yè)也逐漸開始嘗試將現(xiàn)有的業(yè)務(wù)與區(qū)塊鏈技術(shù)相融合。通過區(qū)塊鏈的獨有的特性來補足或是完善現(xiàn)有業(yè)務(wù)的不足。最常見的方式便是通過使用智能合約來實現(xiàn)并代替原有的業(yè)務(wù)處理系統(tǒng)。以太坊中為用戶提供了一種名為EVM(Ethereum Virtual Machinecode)的腳本語言來構(gòu)建智能合約。智能合約是以太坊中核心的核心。我們通常將智能合約看作是區(qū)塊鏈上的一段代碼,與以太坊賬戶類似,它同樣在以太坊中擁有自己唯一的地址。當(dāng)用戶向合約的地址里發(fā)起一筆交易后,該合約就被執(zhí)行,然后根據(jù)合約中事先定義好的代碼及交易發(fā)起時攜帶的信息,最終返回執(zhí)行結(jié)果。本研究通過將以太坊智能合約驗證工具Mythx與傳統(tǒng)的基于Springboot架構(gòu)的系統(tǒng)相結(jié)合以此提供操作便捷、便于查看的基于以太坊的智能合約評估系統(tǒng)。

        二、開發(fā)技術(shù)與工具

        開發(fā)環(huán)境:Windows10,JAVA JDK1.8,Node v10, Go。

        服務(wù)器環(huán)境:CentOS 7.3。

        WEB服務(wù)器:前端Nginx,后端Tomcat。

        數(shù)據(jù)庫服務(wù)器:MySQL 5.7。

        開發(fā)工具:IntelliJ IDEA 2020.3,Visual Studio Code。

        開發(fā)技術(shù):Springboot 3.2、MyBatis、Vuejs、ElementUI、Mythx。

        三、關(guān)鍵技術(shù)研究

        (一)Springboot框架研究

        Springboot框架是Java平臺上的一個開源應(yīng)用框架,它提供了一整套的技術(shù)解決方案,比如通過利用控制反轉(zhuǎn)(IOC)的核心特性結(jié)合依賴注入的方式實現(xiàn)控制反轉(zhuǎn),來達到管理對象生命周期容器化的目的;又比如通過面向切面編程(AOP)的方式進行聲明式的事務(wù)管理,同時整合多種數(shù)據(jù)持久化的方式對赤計劃數(shù)據(jù)訪問進行管控;它的數(shù)據(jù)訪問框架解決了開發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫時遇到的常見困難,同時還可以與原Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問提供了靈活的抽象方式。

        在SpringBoot框架中有兩個非常重要的宗旨:一是開箱即用,二是約定優(yōu)于配置。所謂開箱即用,就是指在研發(fā)中,開發(fā)人員可以在項目的pom定義文件中增加所需要的依賴包,之后使用對應(yīng)的注解方式來取代原先復(fù)雜的配置文件。這一特性使得開發(fā)人員極大程度地丟掉了復(fù)雜的配置工作以及依賴的管理工作的包袱,更加專注于實際的業(yè)務(wù)功能。而約定優(yōu)于配置,是一種由SpringBoot本身來配置目標(biāo)結(jié)構(gòu),由開發(fā)者在結(jié)構(gòu)中添加信息的軟件設(shè)計的方式。這一特性盡管降低了程序開發(fā)過程中的靈活性,也增加了不少故障定位的難度,但總體來說還是利大于弊,減少了開發(fā)人員需要做出決定的數(shù)量,同時極大地減少了的XML文件的配置及管理,而且還將代碼編譯、測試和打包等環(huán)節(jié)工作實現(xiàn)了自動化。

        (二)Mythx智能合約驗證工具

        Mythx是一個基于符號執(zhí)行技術(shù)的以太坊智能合約安全工具,其預(yù)置的檢測模塊對于以太坊和其他基于EVM的區(qū)塊鏈智能合約中的一些SWC(Smart Contract Weakness Classification)安全漏洞能夠有效地檢測出來,為智能合約的安全性提供了安全保障及深入的分析報告。

        符號執(zhí)行使用不執(zhí)行程序使用符號值來代替具體變量,來模擬每個路徑來產(chǎn)生每一個執(zhí)行的可能性,將執(zhí)行語句的結(jié)果整合成若干條數(shù)學(xué)表達式。對某結(jié)果的數(shù)學(xué)表達式進行求解,就能獲得到達該結(jié)果的路徑。將產(chǎn)生漏洞的條件設(shè)置為程序執(zhí)行的結(jié)果,降低分析程序的難度。

        四、系統(tǒng)設(shè)計

        (一)系統(tǒng)架構(gòu)圖

        基于以太坊的智能合約評估系統(tǒng)主要分為前臺、后臺以及數(shù)據(jù)三個層面。在后臺系統(tǒng)中角色又主要分為了管理員及用戶,兩種不同的角色分別對應(yīng)不同功能。系統(tǒng)架構(gòu)圖如圖1所示。

        圖1 系統(tǒng)架構(gòu)圖

        其中合約審計模塊的功能模塊包括了:

        合約審計:以太坊Solidity智能合約的安全審計。

        TPS測試:針對以太坊公鏈的TPS進行測試。

        (二)合約審計模塊設(shè)計

        合約審計模塊作為該系統(tǒng)中核心的功能模塊,通過基于Springboot所構(gòu)建的后臺主系統(tǒng)與基于Go語言及Mythx驗證工具所構(gòu)建的HTTP服務(wù)進行內(nèi)部通信調(diào)用。

        合約審計流程如下:

        (1)后臺系統(tǒng)通過前端頁面?zhèn)魅氲腟olidity智能合約文本或者是文件,創(chuàng)建審計記錄并保存在MySQL中,同時調(diào)用Go服務(wù)將所需審計的智能合約內(nèi)容交由其進行處理。

        (2)Go服務(wù)通過調(diào)用CMD命令使用Mythx命令行工具對進行智能合約的安全監(jiān)測,同時Go服務(wù)會將Mythx工具輸出的結(jié)果保存至Redis中。并將保存驗證結(jié)果所使用的Redis Key提前返回給后臺主系統(tǒng)。

        (3)后臺系統(tǒng)會定時輪詢Redis,根據(jù)Go服務(wù)返回的Redis Key查看當(dāng)前Mythx驗證是否已經(jīng)完成。

        合約設(shè)計流程圖如圖2所示。

        圖2 合約審計流程圖

        (三)數(shù)據(jù)庫的設(shè)計

        本系統(tǒng)的所使用的數(shù)據(jù)庫分別是關(guān)系型數(shù)據(jù)庫MySQL和Redis緩存數(shù)據(jù)庫。其中MySQL數(shù)據(jù)庫作為后臺系統(tǒng)的核心數(shù)據(jù)庫,保存所有業(yè)務(wù)實體數(shù)據(jù)。Redis保存臨時的合約檢測結(jié)果。

        為了實現(xiàn)該系統(tǒng)各類數(shù)據(jù)的持久化存儲,設(shè)計MySQL數(shù)據(jù)庫主要包括了:評估維度表、評估類型表、評估標(biāo)準(zhǔn)表、評估范疇表、評估范疇與評估維度關(guān)聯(lián)關(guān)系表、評估文件表、評估報告表、評估報告詳情表、合約審計表。

        五、系統(tǒng)實現(xiàn)

        (1)前后端數(shù)據(jù)通信實現(xiàn)。本系統(tǒng)采用Ajax請求的形式作為前后端數(shù)據(jù)通信的主要方式。數(shù)據(jù)傳輸?shù)母袷浇y(tǒng)一采用json格式,便于前后端處理。前端Vuejs構(gòu)建的頁面通過調(diào)用axios組件,并對其進行一定程度的封裝處理,以滿足對后端系統(tǒng)接口返回的數(shù)據(jù)進行業(yè)務(wù)處理和異常處理。后端系統(tǒng)通過內(nèi)置Tomcat服務(wù)器進行部署,并結(jié)合Servlet實現(xiàn)Http的數(shù)據(jù)接口請求調(diào)用。

        (2)Go服務(wù)功能實現(xiàn)。合約審計功能作為相對獨立的業(yè)務(wù)功能,主要通過命令行形式對Mythx工具進行調(diào)用,由于Mythx工具對于Linux系統(tǒng)環(huán)境的依賴,為了便于系統(tǒng)整體的部署,避免不必要的沖突,將合約審計功能單獨通過Go服務(wù)部署在Linux環(huán)境下。Go服務(wù)同樣提供Http形式的接口,便于后臺系統(tǒng)進行調(diào)用,同時調(diào)用本地的Mythx命令,傳入相關(guān)參數(shù),完成智能合約的審計功能。

        調(diào)用Mythx代碼如下:

        六、結(jié)語

        針對目前現(xiàn)有的智能合約驗證工具的使用便捷性存在的不足,本文通過研究Springboot框架以及Mythx智能合約驗證工具設(shè)計并開發(fā)了基于Web的以太坊智能合約評估系統(tǒng),詳細(xì)討論了如何將Springboot框架技術(shù)、Go服務(wù)、Mythx工具、MySQL數(shù)據(jù)庫、Redis緩存數(shù)據(jù)庫和Vuejs等技術(shù)進行融合構(gòu)建、設(shè)計并實現(xiàn)一個操作便捷并且便于查看的智能合約評估系統(tǒng)。后續(xù)系統(tǒng)還可以進行改進:增加其他更多類型的智能合約驗證工具,如基于形式化驗證,靜態(tài)分析等,完善智能合約的審計全面性及可靠性。

        猜你喜歡
        以太后臺調(diào)用
        以太極為旗,開啟新時代“黃河大合唱”
        少林與太極(2023年7期)2023-08-25 05:27:52
        核電項目物項調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        車易鏈:做汽車業(yè)的“以太坊”
        汽車觀察(2018年9期)2018-10-23 05:46:24
        后臺暗戀
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        前臺、后臺精彩花絮停不了
        百通推出入門級快速工業(yè)以太網(wǎng)絡(luò)交換器系列
        以太互聯(lián) 高效便捷 經(jīng)濟、可靠、易用的小型可編程控制器
        自動化博覽(2014年6期)2014-05-29 09:40:16
        電力調(diào)度中后臺監(jiān)控系統(tǒng)的應(yīng)用
        河南科技(2014年11期)2014-02-27 14:10:03
        国产乱妇无码大片在线观看 | 国产日韩精品中文字幕| 蕾丝女同一区二区三区 | 无码视频在线观看| 亚洲综合一区无码精品| 无码AⅤ最新av无码专区| 手机在线免费观看的av| 精品国产免费一区二区三区香蕉 | 久久夜色撩人精品国产小说| 国产乱人伦偷精品视频免| 亚洲黑寡妇黄色一级片| 中文字幕亚洲乱码熟女1区| 欧美黑人性暴力猛交喷水| 亚洲国产精品自拍一区| 91青青草免费在线视频| 中文字幕av高清人妻| 精品无码日韩一区二区三区不卡 | 国产色xx群视频射精| 伊人久久综合影院首页| 亚洲中文字幕在线一区二区三区| 日韩女同一区二区三区久久 | 国产偷拍自拍在线观看| 色综合久久网| 久久九九久精品国产| 亚洲激情成人| 一个人的视频免费播放在线观看 | 四虎影院在线观看| 亚洲一区二区观看网站| 熟女中文字幕一区二区三区 | 四月婷婷丁香七月色综合高清国产裸聊在线 | 亚洲综合免费| 亚洲一区二区三区av天堂| 狠狠色噜噜狠狠狠8888米奇| 亚洲人成无码www久久久| 亚洲国产成人无码电影| 91色区在线免费观看国产| 日射精情感性色视频| 久久精品人妻一区二区三区| 精品无码久久久久久久久粉色| 色婷婷久色国产成人免费| 日日噜噜夜夜狠狠va视频v|