999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

區塊鏈測試技術研究

2020-09-02 07:00:23周鳴愛
網絡空間安全 2020年7期
關鍵詞:安全

摘? ?要:區塊鏈技術作為金融領域甚至整個互聯網領域技術上的重大創新,因其具有去中心化、公開透明、不可篡改等特點,除應用于加密貨幣外,還被廣泛用于解決各個領域的發展難題。為保障各領域應用區塊鏈技術系統的質量,區塊鏈測試技術受到各國政府、科研機構和企業公司的高度重視。文章從區塊鏈的架構、特點、安全角度進行分析,以區塊鏈測試為研究方向,目的是研究區塊鏈測試的難點,尋求有效的區塊鏈測試方法,希望能為區塊鏈測試技術的發展提供參考。

關鍵詞:區塊鏈;安全;測試

中圖分類號: TP399? ? ? ? ? 文獻標識碼:J

Abstract: Block chain technology, as a major technology innovation in the financial field and even the entire internet field. Because of its characteristics of decentralization, openness, transparency and non-tampering, it is widely used to solve problems in various fields besides cryptocurrency.In order to ensure the quality of the system that blockchain applied in various fields, blockchain testing technology has been highly valued by governments, research institutions and enterprises. The paper analyzes the block chain from the perspective of architecture, characteristics and security. Taking block chain testing as the research direction and the purpose is to study the difficulties of block chain testing and seek for effective block chain testing methods, hoping to provide reference for the development of block chain testing technology.

Key words: block chain; safety; testing

1 引言

2008年10月31日,Satoshi Nakamoto(中本聰)在一個密碼學郵件組上發表了一篇研究報告《Bitcoin:A Peer-to-Peer Electronic Cash System》,報告表明他對電子貨幣的新想法,闡述創建一種去中心化、Peer-to-Peer(P2P)新型交易系統的方法[1]。2009年1月比特幣誕生。此后,作為比特幣底層基礎架構和數據加密傳輸的核心技術—區塊鏈技術,因其具有去中心化、集體維護、信息不可篡改、高度透明和匿名等特點得到各國政府、大型企業及金融集團的密切關注,目前已應用于物聯網、金融等多個領域,未來將成為被廣泛使用的底層核心技術。

區塊鏈技術作為隨著比特幣及其他加密數字貨幣的日益普及而逐漸興起的重要技術,在給世界帶來新機遇的同時,也帶來了嚴峻挑戰。全球區塊鏈安全事件時有發生,區塊鏈技術相關的系統性能、安全和質量等問題引發了熱議,成為學術界和產業界所關注的焦點。因此,對區塊鏈測試技術的研究,具有非常重要的實際意義,能夠進一步推動區塊鏈技術在各行業的應用,并為區塊鏈測評實施提供參考。

2 區塊鏈

區塊鏈是一種分布式、去中心化的計算與存儲架構[2],一種由共識機制、P2P的傳輸技術、分布式技術及密碼學等信息技術組成的創新型應用模式。

狹義定義:區塊鏈是一種多個由密碼學技術產生的數據區塊按照一定的時間順序組合連接成的鏈狀數據結構,是一種不可偽造、不可修改的分布式數據賬本。

廣義定義:區塊鏈是利用塊鏈式數據結構驗證與存儲數據,利用分布式節點共識算法生成和更新數據,利用密碼學技術保證數據傳輸和訪問安全,利用由自動化腳本代碼組成的智能合約編程來操作數據的一種全新的分布式基礎架構與計算范式[3]。

區塊鏈按照準入規則可分為公有鏈、私有鏈和聯盟鏈;根據權限可分為許可鏈和非許可鏈,其中公有鏈屬于非許可鏈,私有鏈和聯盟鏈屬于許可鏈。

區塊鏈的架構可以分六層,從下至上依次是數據層、網絡層、共識層、激勵層、合約層和應用層,架構模型[4]如圖1所示。

區塊鏈本質上是一種分布式數據存儲技術,它的核心部分是數據層,數據層封裝了數據區塊、Merkle樹、密碼學、Hash函數、時間戳和數字簽名技術。區塊頭和區塊體組成一個數據區塊,其中區塊頭中包含前一個區塊的Hash值,可用于唯一標識該區塊,同時還包含Merkle根和時間戳等,而相關交易信息則包含在區塊體部分。Merkle樹數據結構是區塊體中交易信息的存儲方式。密碼學技術可以確保區塊鏈中數據傳輸的安全。Hash函數在區塊鏈中可用于快速驗證、防止篡改和用于POW共識算法工作量證明等。時間戳保證了區塊鏈中數據的不可篡改。數字簽名使用了數字摘要和密碼學技術,確保了傳輸過程中數據的完整性和交易雙方身份的真實性。

區塊鏈中數據傳輸的基礎——網絡層,該層使用P2P網絡架構,通過特定的傳輸機制和驗證機制,使鏈上每個節點都可公平參與記賬和共識。共識層是通過共識算法使區塊鏈中各個節點快速達成共識。激勵層是將經濟因素引入到區塊鏈中的一層,該層主要作用是獎勵記賬節點,懲罰破環活動的節點,使整個鏈健康的運轉下去。合約層體現了區塊鏈的可編程性,包括封裝腳本代碼、智能合約和編程算法。應用層則主要用于部署區塊鏈的各種應用。

區塊鏈技術作為互聯網行業的一個重大創新,在功能、性能、可靠性和安全性等各個方面都需要得到保障,目前區塊鏈安全問題在業界備受關注。

3 區塊鏈安全問題分析

區塊鏈安全事件時有發生,根據PeckShield提供的數據和BCSEC網站數據的統計,2018年因區塊鏈安全事件導致的經濟損失高達22.38億美元;據Odaily 星球日報與 PeckShield 聯合發布研報顯示僅2019年就發生了177件區塊鏈安全事件,造成的經濟損失為76.79億美元。因此,區塊鏈安全問題需得到高度重視。從業界研究來看,區塊鏈安全問題主要包括五個方面。

(1)代碼安全問題

區塊鏈項目為了使更多對區塊鏈感興趣的開發者參與,其代碼均具有開源特性,但這會降低黑客攻擊區塊鏈的難度。例如,XVG因其代碼層面的漏洞,在很短的時間內被黑客攻擊損失175萬美元數字貨幣[5]。EOS因為合約代碼安全性薄弱,導致黑客多次發起DAPP攻擊[6]。

(2)密碼技術安全問題

區塊鏈技術離不開密碼學,但隨著量子計算技術[7]的發展,在理論上,該技術可以攻克使用ECDSA、DSA、RSA等加密算法保存的信息,將會使區塊鏈面臨著很大的安全風險。

(3)智能合約安全問題

對于智能合約[8]人工干預的可能性很小,但如果編寫的智能合約本身就存在問題,則受到黑客攻擊的概率就會增加,可能造成不可估量的損失。此外,智能合約運行環境的安全性也會對區塊鏈安全產生影響。由于智能合約安全問題造成重大損失的事件有很多,例如2018年4~5月,發生了BEC/SMT/EDU智能合約安全漏洞事件[9],原因是某些以太坊ERC-20智能合約存在BUG(溢出或必要校驗),黑客利用該缺陷對智能合約發起攻擊,導致某互聯網公司損失了近9億美元,使得BEC代幣的價值幾乎歸零。

(4)協議安全問題

協議安全問題主要包括共識機制、區塊鏈網絡等方面的安全問題,目前常用的共識機制有PoW、PoS、DPoS及PBFT等。對于PoW當攻擊者擁有全網51%以上的算力時,就可以撤銷自己的交易記錄,進行雙重支付。對于PoS共識機制,當攻擊者擁有全網51%以上的Token時,便可發生攻擊,對區塊鏈造成破環。對于PBFT,正常節點占全網2/3以上時,整個鏈才是安全的。由此可見,任何共識機制的安全性都是有條件的。由于協議安全問題也發生過安全事件,例如Ethereum Classic,作為全球市值最大的分叉鏈。分叉后ETC使用的算法一直是POW,但是全網的算力水平一直比較低,由此導致2019年1月6日出現了51%的雙花攻擊,共損失219500ETC,約110萬美元[10]。

(5)使用時的安全問題

使用時的安全問題主要是指數字錢包及軟件等可能存在的安全問題。區塊鏈服務器也可能存在一些成為黑客攻擊點的安全漏洞。例如,2018年10月26日,EosRoyale錢包遭到黑客攻擊,被黑客盜取了約11000個EOS(約6萬美金)[11]。

區塊鏈安全問題可能存在于各個方面,因此對于區塊鏈測試技術的研究迫在眉睫。

4 區塊鏈測試

區塊鏈在金融、物聯網、供應鏈等領域有廣闊的應用前景,但是在技術實現、標準規范等方面還存在一些不完善的地方,需進行深度研究和探索。區塊鏈安全問題可能是目前業界最為關注的問題,但在實際各種應用場景中,區塊鏈的功能、性能及可靠性等方面也都需得到保障,因此需加快對區塊鏈測試技術的研究。

4.1 區塊鏈測試的難點

區塊鏈測試與普通系統或軟件測試有很大差別,在對其研究中發現區塊鏈測試存在三方面測試難點。

4.1.1不同類型區塊鏈測試考慮的重點不同

區塊鏈按準入規則目前可分為公有鏈、私有鏈和聯盟鏈。鑒于不同類型區塊鏈具有不同的特性,因此測試重點會有所不同。

公有鏈是任何用戶都可接入,沒有任何限制,可能包含一些具有破壞性的節點,公有鏈對用戶身份也沒有任何限制,因此測試時不必考慮對用戶身份的驗證。對于共識機制,不同的公有鏈共識機制不同,且均為多塊確認,交易處理時間可能會比較長。測試時要考慮共識機制的效率和安全性,以及在某些特定的應用場景下,交易確認時間是否能夠滿足需求。

而對于聯盟鏈和私有鏈,鏈上用戶身份均經過認證,因此不存在惡意成員節點。在測試時需考慮對用戶身份及權限的驗證。對于聯盟鏈和私有鏈,共識機制也會根據鏈的不同而不同,但是確認時間都會比較短,有的幾秒就可以完成確認。一般應用于銀行轉賬、證券交易等場景。在對其測試時需考慮共識機制的安全性,同時還需要考慮交易確認時間是否能夠滿足實際業務需求,私有鏈和聯盟鏈一般是由單個或多個機構組成的鏈來完成某些特定業務,對交易確認時間要求較高。

由此可見,不同類型的區塊鏈測試的重點不同,因此測試方案的復雜性會比較高。

4.1.2區塊鏈故障種類多且復雜

(1)節點宕機故障

節點宕機故障區塊鏈節點位于不同的物理環境中,可能會出現一個或幾個節點宕機的情況,這種情況下需測試節點宕機對整條鏈的影響及其恢復后再加入到鏈中信息同步的問題。而普通的系統或軟件節點宕機故障測試則考慮的是備機能否及時替換的問題。

(2)共識機制故障

共識機制故障問題是傳統系統測試不會出現的問題。在區塊鏈中不同的鏈會采用不同的共識機制,而針對不同的共識機制需要制定不同的測試方案。例如,POW當算力超過全網50%時,就會對鏈造成破壞。大部分的共識機制不出現故障都是有條件的。而共識機制故障,會導致鏈的服務失效,嚴重的將造成重大經濟損失。因此測試時,需根據不同的共識機制設計不同的測試方案。

(3)安全方面的故障

安全方面的故障是最為嚴重,也是最為復雜的故障,有和普通系統相一致的底層代碼安全性、密碼算法安全性,也有普通系統測試未涉及到的共識機制安全性、智能合約安全性、數字錢包安全性等。

4.1.3 系統邊界不明確

普通軟件,不論是客戶端/服務器模式的系統,還是獨立的應用程序,系統邊界都很明確。可通過瀏覽器直接測試。然而,區塊鏈完全是一個去中心化的分布式網絡,可能會跨越多個不同國家、數據中心、運營商,無明確系統邊界。因此,區塊鏈測試不僅要測試某個API、某個DAPP,還需考慮節點間的測試,在實施測試時難度系數增加。

4.2 區塊鏈測試類型的選擇

在實際測試中,可根據對區塊鏈產品測試目的不同,選擇不同類型的區塊鏈測試。

(1)若目的是對區塊鏈產品進行評估、檢測,則需進行系統測試。

(2)若目的是對區塊鏈產品進行成果鑒定、基金申請,做鑒定測試即可。

(3)若目的通過對比,選出一條各方面指標都比較好的區塊鏈產品,則需做對比測試。

(4)若目的是為檢測區塊鏈產品是否達成某種預期的效果則需進行驗收測試。

4.3 區塊鏈測試重點

區塊鏈測試點較多,經調研分析,測試重點主要包括八個部分。

(1)數據處理基本功能測試:查詢總區塊數、區塊的平均生成時間、對某個區塊的業務數量進行查詢、某個區塊上業務的詳細信息及業務溯源等信息的查詢。

(2)節點管理功能測試:節點的增加、刪除、節點間數據同步、節點及其接口的訪問權限管理。

(3)用戶的身份認證:注冊、修改及凍結等。

(4)共識機制有效性測試:是否會發生雙花、是否達成相互信任的共識等。

(5)加密算法的測試:區塊鏈對加密算法的支持,以及鏈上信息的存儲和加密傳輸。

(6)容錯性的測試:新增節點對整條區塊鏈的影響,某個節點宕機對整條區塊鏈的影響或者調整某個節點對整條區塊鏈的影響。

(7)對于支持智能合約的區塊鏈,需要對其智能合約進行測試:測試智能合約對查詢、更新、凍結等功能的支持,

(8)性能方面的測試:包括吞吐率的測試、TPS、交易確認時延、節點宕機恢復效率等。

4.4 區塊鏈測試工具

4.4.1 Caliper性能測試工具

Caliper是一款區塊鏈性能測試工具,可實現對不同區塊鏈性能的實時跟蹤,得到一系列的測試結果,并生成測試報告。目前,支持的測試指標有交易成功率、交易吞吐量TPS、交易延遲及CPU、內存、網絡IO的資源消耗。用戶可使用事先定義好的測試用例測試不同區塊鏈的性能,包括交易成功率以及在進行一些操作時CPU等資源的消耗情況。該測試工具的應用層(Application Layer)中包含對典型區塊鏈方案實施的測試,對于測試的配置文件,用來對后端區塊鏈網絡和測試參數進行定義,這些可直接用于對區塊鏈系統性能進行測試。適配層(Adaptation Layer)可實現和不同區塊鏈的集成,將區塊鏈系統集成到Caliper框架中,每個適配器都可通過相應的區塊鏈SDK或RESTful API實現相應的‘Caliper Blockchain NBIs。接口和核心層(Interface & Core Layer)包括了Caliper核心函數,并為Up-applications提供了NBI(North Bound Interfaces),包括四種NBIs:區塊鏈操作接口、資源監控器、性能分析器、報告生成器。

目前,Caliper支持對 Hyperledger Iroha、Hylerledger Sawtooth和Hyperleger Fabric的分析,后續會提供對更多區塊鏈測試分析的支持。

4.4.2 JMeter壓力測試工具

JMeter是由Apache組織開發的壓力測試工具,最初只是用于對Web應用測試,之后逐漸擴展到其他測試領域,可用來測試動態和靜態資源,例如數據庫、服務器、CGI腳本和小程序等。此外,還可對網絡、服務器或模擬高負載的情況。對于區塊鏈的壓力測試,可以利用JMeter測試不同壓力下,區塊鏈TPS、節點故障恢復效率、交易確認時延等性能。另外,JMeter還可以做功能或回歸測試,通過創建設有斷言的腳本,返回期望的結果。

JMeter組件主要由測試計劃、模擬并發請求的線程組、收集測試結果的監聽器、定義JMeter發送請求行為邏輯的邏輯控制器、判斷請求結果是否為所期望結果的斷言、維護Sampler的配置原件、處理生成請求之前和之后工作的前置處理器和后置處理器、定義請求延時間隔的定時器組成。

Jmeter支持的腳本生成方式有直接導入通過Badboy錄制的腳本、手動編寫測試用例和直接使用JMeter錄制腳本。

4.4.3 NMap端口掃描工具

NMap即Network Mapper,是一款Linux下的網絡嗅探和掃描工具包。NMap通常用于掃描開放端口、發現網絡服務、探測主機是否在線、管理服務升級計劃等。Nmap作為使用原始IP數據包工具,能夠快速地準確檢測網絡中有哪些主機,主機上有哪些服務,什么版本的包過濾防火墻正在被使用等。在區塊鏈網絡中,NMap用于檢測鏈上節點是否正常運行,所在網絡是否安全,敏感端口是關閉等問題,一旦出現安全問題,可通過路由進行故障排查。

4.4.4 Wireshark抓包分析工具

Wireshark是一款跨平臺的網絡封包分析工具,主要用于分析、排查網絡問題和網絡入侵。Wireshark利用WinPCAP作為接口,直接與網卡數據報文交互。一般用于解析網絡鏈接、數據發送結果、流量統統計和一些常見的應用層問題。在區塊鏈測試中可用于對共識算法分析測試、交易分析測試等數據包分析。如在某個節點發起交易,形成區塊,使用Wireshark對其他節點的IP地址進行抓包,通過分析數據包,分析交易過程與使用的共識算法對比,以檢測其實際流程與共識算法流程是否相一致。

5 結束語

本文首先介紹了區塊鏈相關概念,分析了區塊鏈目前存在的問題,研究了區塊鏈測試的難點、重點、測試類型的選擇及目前可用的幾款區塊鏈測試工具,希望能為區塊鏈測評技術的發展提供參考。區塊鏈技術目前仍處在發展初期,區塊鏈測試技術也是在探索中發展,測試方法及測試工具還需不斷完善,以提高區塊鏈產品質量,進而推動區塊鏈行業的健康快速發展。

參考文獻

[1] 楊保華,陳昌.區塊鏈原理、設計與應用[M].北京:機械工業出版社,2018.5-7.

[2] 閆鶯,鄭凱,郭眾鑫.以太坊技術詳解與實戰[M].北京:機械工業出版社,2018.

[3] 工信部.中國區塊鏈技術和應用發展白皮書(2016)[EB/OL]. https://www.jianshu.com/p/6ac84516a4c5 2018.05.22/2019.05.20

[4] 袁勇,王飛躍.區塊鏈技術發展現狀與展望[J].自動化學報,2016.42(4):481-494.

[5] 超級盾.Verge再遭黑客攻擊,損失近175萬美元[EL/OB]. https://kuaibao.qq.com/s/20180528A1KGTC00?refer=cp_1026 2018.05.28/2019.05.30

[6] 火星財經.2019年區塊鏈安全時間總結,全球損失超60億美元[EL/OB]. https://baijiahao.baidu.com/s?id=1653256084343427367&wfr=spider&for=pc.2019.12.28/2020.02.10

[7] 楊保華,陳昌.區塊鏈原理、設計與應用[M].北京:機械工業出版社,2018.70-71.

[8] 黃連金,等.區塊鏈安全技術指南[M]. 北京:機械工業出版社,2018.52-90.

[9] 區塊鏈兄弟.ERC20合約整數溢出安全流動案例技術分析[EL/OB]. https://baijiahao.baidu.com/s?id=1598863813860238774&wfr=spider&for=pc.2018.04.27/2019.05.30

[10] 星球日報.一二月區塊鏈安全事件盤點[EL/OB]. https://baijiahao.baidu.com/s?id=1626069087170114827&wfr=spider&for=pc 2019.02.21/2019.05.30.

[11] Apatheticco.基于EOS的dApp EosRoyale遭到攻擊,被盜1.1萬枚EOS[EL/OB]. https://www.8btc.com/article/300799 2018.10.31/2019.06.04

[12] 王繼輝.區塊鏈與智能合約圖譜分析[J].網絡空間安全, 2019,10(11):1-6+25.

作者簡介:

周鳴愛(1988-),女,漢族,河北張家口人,河北工程大學,碩士,賽迪研究院網絡安全研究所,工程師;主要研究方向和關注領域:區塊鏈、計算機軟件、網絡安全。

猜你喜歡
安全
智能家居安全分析
熱電公司發電機勵磁系統改造
科技視界(2016年21期)2016-10-17 20:00:16
淺談計算機硬件實驗室管理
科技視界(2016年20期)2016-09-29 11:59:36
中國民航HUD的應用和發展淺析
科技視界(2016年20期)2016-09-29 10:54:27
主站蜘蛛池模板: 色综合五月婷婷| 黄色网站在线观看无码| 欧美视频免费一区二区三区| 操美女免费网站| 波多野结衣AV无码久久一区| 亚洲另类国产欧美一区二区| 国产美女无遮挡免费视频网站| 国产性精品| 亚洲天堂久久| 91在线播放国产| 婷婷色一二三区波多野衣| 亚洲欧美不卡视频| 尤物特级无码毛片免费| 欧美人与性动交a欧美精品| 精品人妻一区无码视频| 欧美一级高清片欧美国产欧美| 激情午夜婷婷| 极品国产一区二区三区| 国产毛片基地| 亚洲成人黄色在线观看| 国产毛片基地| 成年A级毛片| 毛片久久网站小视频| 高清免费毛片| 99久视频| 久久精品视频一| 538国产在线| 亚洲色婷婷一区二区| 亚洲国产天堂久久九九九| www亚洲天堂| 亚洲一区二区约美女探花| 成人免费视频一区| 亚洲精品777| 97视频在线观看免费视频| 久久黄色一级视频| 国产精品自在在线午夜区app| 国产第二十一页| 精品视频91| 免费毛片网站在线观看| 在线观看亚洲精品福利片| 天堂在线视频精品| 欧美一区中文字幕| 日韩中文字幕亚洲无线码| 成人精品午夜福利在线播放| 99精品福利视频| 日韩毛片基地| 99国产精品免费观看视频| 免费毛片a| 欧美在线天堂| 波多野结衣无码中文字幕在线观看一区二区 | 国产麻豆精品手机在线观看| 韩日免费小视频| 亚洲高清日韩heyzo| www亚洲天堂| 本亚洲精品网站| 色呦呦手机在线精品| 在线观看视频99| 99re视频在线| 久久久91人妻无码精品蜜桃HD| 99草精品视频| 她的性爱视频| 日韩欧美中文字幕一本| 免费高清毛片| 免费无遮挡AV| 香蕉eeww99国产精选播放| 亚洲永久视频| 国产欧美精品专区一区二区| 日韩AV手机在线观看蜜芽| AV不卡国产在线观看| 免费一级毛片完整版在线看| 99re这里只有国产中文精品国产精品 | 久久综合色视频| 18禁黄无遮挡网站| 男人天堂伊人网| 国产正在播放| 无码中文AⅤ在线观看| 亚洲人精品亚洲人成在线| 欧美成a人片在线观看| 国产人成午夜免费看| 黄片在线永久| 欧美日韩第三页| 中文字幕乱码中文乱码51精品|