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

區(qū)塊鏈技術基礎及應用

2018-06-15 01:18:16楊宇光
信息安全研究 2018年6期

張 舒 楊宇光

(北京工業(yè)大學信息學部 北京 100124) (1005377563@qq.com)

1 區(qū)塊鏈介紹

1.1 簡 介

區(qū)塊鏈是一種去中心化、去信任、點對點傳輸?shù)墓蚕碣~本技術[1-3].區(qū)塊鏈按照交易的時間順序,將該時間段內的交易封裝到一個區(qū)塊中,并與上一個生成的區(qū)塊相連,區(qū)塊鏈基于密碼學基礎,使用智能合約來對數(shù)據(jù)進行編程和操縱,使用私鑰、公鑰和地址完成相應的交易[4],并由區(qū)塊上的全部節(jié)點進行記錄和維護,區(qū)塊上的每個用戶都有權力去翻閱和查看區(qū)塊鏈上所有的交易記錄,保證了區(qū)塊鏈數(shù)據(jù)和信息的不可篡改和不可偽造.區(qū)塊鏈這項技術徹底改變了現(xiàn)有技術中心化的特點,使信息與數(shù)據(jù)減少對中央服務器的依賴,形成分布式存儲.

在一定時間內,區(qū)塊鏈系統(tǒng)會選擇其中記賬最快最好的人,讓他進行進賬,將該段時間的交易記錄在區(qū)塊中,由系統(tǒng)確認后,鏈接在當前區(qū)塊的末端,該記賬者便可以獲得系統(tǒng)賦予的一定的獎勵.周而復始,系統(tǒng)不斷地選出記賬人進行記賬,區(qū)塊鏈也隨之逐步增長.

1.2 區(qū)塊鏈工作原理

在一筆交易中客戶端發(fā)起一個交易請求,在該交易尾部附上自己的簽名并向全網(wǎng)廣播,待網(wǎng)絡中其他的節(jié)點確認后將這筆交易封裝到區(qū)塊中.該網(wǎng)絡上的接受節(jié)點執(zhí)行共識算法.例如,比特幣中使用POW(proof of work)方法[5],想獲得一個合理的BLOCK散列值則需經(jīng)過大量的計算,當其中一個節(jié)點找到合理的BLOCK HASH,由其他節(jié)點進行驗證,驗證通過后由該節(jié)點將這筆交易封裝到區(qū)塊中,通過該過程形成永久透明并且不斷延伸的區(qū)塊鏈.

1.3 區(qū)塊鏈技術特點

1) 去中心化與集體維護.區(qū)塊鏈運行在分布式的網(wǎng)絡環(huán)境下,賬本并不依賴于某一特定的服務器,也不由某個第三方服務平臺進行維護,而是分布地存儲在網(wǎng)絡的各個節(jié)點中.每個節(jié)點都有同樣的權力與義務,每個節(jié)點都有賬本的副本.同時,它們也會共同去維護交易和整個鏈,任一節(jié)點的損壞都不會對區(qū)塊鏈的運行產(chǎn)生威脅.

2) 信任機制.區(qū)塊鏈基于密碼學,采用對稱加密、非對稱加密、散列算法以及數(shù)字簽名等方式[6-7],使得區(qū)塊鏈的信任機制不依賴于第三方的背書.整個區(qū)塊鏈系統(tǒng)運行機制公開透明,具有拜占庭容錯,可以容忍少于13的惡意節(jié)點.

3) 不可篡改性.交易記錄只要被添加到區(qū)塊鏈中便具有不可篡改性.交易進入?yún)^(qū)塊鏈中就會被永久地存儲,單個節(jié)點是無法對交易進行修改的,這是由區(qū)塊鏈的內置機制決定的,除非可以控制超過一半的節(jié)點,目前來看這種情況是不存在的.

4) 可追溯性.通過密碼學,每筆交易與它相鄰的區(qū)塊相鏈接.所以,可以對該區(qū)塊之前和之后的區(qū)塊進行訪問具有可追溯性.

1.4 分 類

區(qū)塊鏈被分為公有鏈、私有鏈和聯(lián)盟鏈3類[8].

公有鏈:任何人可以訪問區(qū)塊鏈上的任一節(jié)點,也可以參與到區(qū)塊鏈的挖礦,同時可以訪問到區(qū)塊鏈上的全部賬本.公有鏈完全中心化不需借助任何的第三方平臺,通過密碼學技術保障整個系統(tǒng)的安全性.公有鏈的應用范圍極廣,比特幣類似的虛擬貨幣都是采用公有鏈技術.

私有鏈:在一些情況下并不希望所有人都可以訪問所有數(shù)據(jù),也不希望所有人都可以進行挖礦.系統(tǒng)只希望一部分有權限的人可以訪問所有數(shù)據(jù).私有鏈只允許特定的人對鏈有讀寫權限.私有鏈部分中心化,如今越來越多的大型金融機構更偏重采用私有鏈.

聯(lián)盟鏈:系統(tǒng)中的一部分被選中節(jié)點,每個節(jié)點權限完全相同,這些節(jié)點間在不需要建立互信的條件下就可以直接進行可信交易.其他所有未被選中的節(jié)點也可以參與交易,但沒有記賬的權限,可以對區(qū)塊鏈上開放的API進行限定的查詢.聯(lián)盟鏈采用共識機制的信任機制,具有較高的可擴展性.

2 各區(qū)塊鏈平臺

本文中我們著重介紹比特幣、以太坊和由Linux基金會宣布創(chuàng)立的企業(yè)級區(qū)塊鏈解決方案Hyperledger項目.

2.1 比特幣

比特幣是最早應用區(qū)塊鏈技術、并且影響最大的一項應用,用在數(shù)字貨幣方面.

2.1.1比特幣區(qū)塊結構

比特幣采用Level DB來存儲區(qū)塊,不同于以往的關系數(shù)據(jù)庫,Level DB是一種鍵值型的數(shù)據(jù)庫,由谷歌進行維護.其中每個區(qū)塊由區(qū)塊頭和區(qū)塊體構成(如圖1所示),頭信息主要包括版本號、前面區(qū)塊的散列值、默克爾樹根、時間戳、難度值、隨機數(shù)等.其中默克爾樹根根據(jù)當前區(qū)塊中所有交易的隨機散列值產(chǎn)生,保證了存儲在該區(qū)塊交易的不可篡改性和一致性,其路徑方便檢驗交易是否存在于區(qū)塊中[9].而區(qū)塊體部分則主要是用來存放交易信息.一個完整區(qū)塊鏈節(jié)點有如下功能.錢包:隨機生成私鑰,通過私鑰生成公鑰再轉換成相應地址,錢包負責構建新的交易.挖礦:具有網(wǎng)絡和計算下一個區(qū)塊的能力,將交易放到內存池中,包裝成區(qū)塊,系統(tǒng)認證后即可獲得相應的獎勵.完全區(qū)塊鏈節(jié)點:記錄鏈上發(fā)生的所有交易信息,可以快速得到UTXO結果,認證交易.網(wǎng)絡路由:把其他節(jié)點的交易信息傳送給更多的節(jié)點.

圖1 區(qū)塊頭信息

2.1.2比特幣中的交易

比特幣應用區(qū)塊鏈技術,整個系統(tǒng)主要是依靠一個個時間順序構成的區(qū)塊,每個區(qū)塊又記錄了一定時間內的一系列交易.在一筆交易中用戶可以創(chuàng)建一個比特幣錢包,通過錢包與另一方進行貨幣交易. 每個錢包對應一個私鑰,在交易時進行簽名,并附上接收方地址.網(wǎng)絡中礦工通過不斷計算來尋找下一個區(qū)塊,將內存池中所有未經(jīng)校驗交易打包成一個區(qū)塊,通過區(qū)塊頭計算散列值,找到符合條件的新區(qū)塊就向全網(wǎng)廣播.網(wǎng)絡對當前區(qū)塊達成共識之后,將新生成的區(qū)塊鏈接到區(qū)塊鏈鏈條的最后面.比特幣包含很多網(wǎng)絡協(xié)議,比如P2P協(xié)議、Stratum協(xié)議、挖礦協(xié)議等.作為一個新啟動的節(jié)點該如何找到其他的節(jié)點呢,可以通過默認的種子服務器,或者通過已知的Bootstrap服務器,手動指定IP進入到比特幣的P2P網(wǎng)絡中.與找到的節(jié)點通過握手進行一個TCP的連接,連接成功后就可以進行后續(xù)的信息交換.

在比特幣交易過程中,地址轉換機制對比特幣安全性起著極為重要的作用.首先會通過隨機算法得到一個256 b的私鑰,通過ECDSA算法得到512 b公鑰,比特幣用SHA-256和RIPEM實現(xiàn)轉換,生成160 b的公鑰散列,再通過Base 58編碼生成一串更短的地址.其中Base 58中還包含校驗碼,通過校驗碼可以檢驗地址是否合法. 同樣,私鑰通過Base 58生成WIF格式的私鑰.

2.1.3共識攻擊

比特幣最基本的攻擊方式為51%攻擊,即區(qū)塊鏈的構成是一個依照時間順序不可逆的過程,修改區(qū)塊鏈中的某一區(qū)塊是基本不可能的,因為如果該區(qū)塊被改變,則它的后續(xù)區(qū)塊也需要更改,需要很強大的計算量.然而如果攻擊者具有很強大的算力,比如控制超過51%大的計算能力,可以達到強行扭轉最長鏈,還可能造成雙重支付[10].

2.1.4比特幣問題

交易時間過長:在可靠情況下,一般需要至少6個確認才能對一筆交易進行確認,時間大約在0.5 h~1 h,時間過長.PoW的挖礦方式浪費計算資源,不停計算散列,浪費電力,浪費CPU.ASIC礦機的出現(xiàn)使得全民參與性降低:一般使用CPU和顯卡挖礦的可能性極低,使比特幣流通性變差.不支持復雜的腳本語言,只支持逆波蘭表達式堆棧式語言.

2.2 以太坊

以太坊是一個可編程的平臺,除了提供一些列預定義的操作外還可以用戶自己編寫操作.俠義來講,以太坊是一系列協(xié)議的集合,它提供有一個以太坊虛擬機,可以執(zhí)行任何復雜的代碼,用戶可以通過虛擬機使用JavaScript或者python來編寫相關的應用.

以太坊包含了許多區(qū)塊鏈的技術,但也在區(qū)塊鏈的基礎上增加了許多新的技術.比如第1個提出智能合約概念的就是以太坊.智能合約被稱作是自動執(zhí)行的合約、區(qū)塊鏈合約或者數(shù)字合約[11].在這種格式下,合約被轉化成一段計算機代碼,在系統(tǒng)中被存儲和復制,并由運行計算機組成的網(wǎng)絡監(jiān)督執(zhí)行.通俗來說,智能合約是在計算機系統(tǒng)上滿足一定條件時自動執(zhí)行的一段代碼. 以太坊還提出了token機制[12].

以太坊也采用工作量證明機制挖礦,以太坊的工作量證明機制被稱為EtHAash.EtHash算法中存在一個種子,用來產(chǎn)生隨機數(shù),種子可以通過區(qū)塊頭直接計算出來.通過種子可以獲得一個16 MB的偽隨機緩存,輕量客戶端負責存儲緩存.再通過緩存可以生成1 GB的數(shù)據(jù)集,數(shù)據(jù)集由客戶和礦工存儲,數(shù)據(jù)集隨時間線性增長.挖掘過程通過抓取數(shù)據(jù)集的隨機切片將它們混合在一起.通過使用緩存重新生成所需數(shù)據(jù)集的特定片段,令僅保存緩存的低內存的輕客戶端完成驗證.

以太坊在區(qū)塊鏈基礎上實現(xiàn)的一系列改進,完善了腳本系統(tǒng),使智能合約也能應用到非金融領域;平衡賬目實現(xiàn)更加精細的賬目控制.

圖2 Hyperledger架構

2.3 Hyperledger

在區(qū)塊鏈中有這樣的說法,如果以比特幣為代表的貨幣技術作為區(qū)塊鏈1.0典型應用,那么以太坊為代表的智能合約技術代表著區(qū)塊鏈2.0應用,實現(xiàn)完備的權限控制和安全保障的Hyperledger項目代表3.0技術.

Hyperledger是由Linux基金委創(chuàng)立的項目,于2017年7月發(fā)布1.0版本.其提供一個開源社區(qū),目標在于提高基于區(qū)塊鏈系統(tǒng)的性能和可靠性,力造一個企業(yè)級區(qū)塊鏈解決方案,定制企業(yè)級區(qū)塊鏈標準,為技術公司、財務公司和供應鏈公司等提供商業(yè)交易平臺.它采用模塊化設計框架,提供插件式的算法,插件式即可替換的,為用戶提供身份識別服務、強大的訪問控制功能以及智能合約等.

2.3.1Hyperledger構架

在Hyperledger fabric架構上,提供單獨Fabric CA項目,加強身份證書的管理服務,實現(xiàn)自動申請和簽發(fā)證書.同時也支持多通道的特性,參與方可以建立單獨的通道,實現(xiàn)與其他通道之間的隔離,保證不同通道間彼此數(shù)據(jù)的隔離,保障了企業(yè)間的隱私性和隱秘性.Hyperledger架構做成可插拔式,用戶或者組織可以編寫替換的插件.并且在1.0版本后加入系統(tǒng)鏈碼來實現(xiàn)對區(qū)塊鏈系統(tǒng)的處理.

Hyperledger架構有幾個主要部分構成(如圖2所示),包括成員管理、區(qū)塊服務、ChainCode和Event.成員管理(Membership)在Hyperledger Fabrics中是很重要的一部分,主要是一個認證過程,驗證成員身份的合法性,為平臺安全性提供第1層保障.中間部分即區(qū)塊服務是整個區(qū)塊鏈的核心部分.區(qū)塊服務主要是負責節(jié)點之間的共識管理、賬本的分布式計算、賬本的存儲以及各個節(jié)點間P2P協(xié)議的實現(xiàn).在這部分中也會有交易的執(zhí)行.ChainCode部分主要是智能合約的執(zhí)行,即約定在這個區(qū)塊鏈上真正執(zhí)行的代碼.在Hyperledger中區(qū)塊鏈上的所有機制都是以事件的形式觸發(fā)的,事件貫穿于各個組件中.

2.3.2Hyperledger中的交易流

下面是Hyperledger一次交易的過程(如圖3所示).

1) CA是成員管理中的一部分,用來申請證書.Application端與Peer進行交互,發(fā)送Proposal(包括交易通道ID、運行的智能合約、輸入?yún)?shù)、簽名).

2) Peer端在接收Proposal后進行校驗,校驗Proposal簽名,驗證證書的合法性,屬于成員管理的范疇,也會對是否滿足通道規(guī)則進行校驗.校驗后Peer端會模擬交易的執(zhí)行并對結果簽名,將讀寫集、背書以及簽名回復給Application端.

3) SDK端在接收到回復后,經(jīng)過校驗再次提交交易給Peer端并轉發(fā)給Orders端.

4) Orders端是整個交易流中的核心部分,對交易排序進行區(qū)塊構造工作.封裝成區(qū)塊,Orders會負責將區(qū)塊廣播給Peer.

5) Peer端進行最后的校驗,包括簽名、讀寫集的一致性等.完成校驗,執(zhí)行區(qū)塊中的合法交易,更新賬本狀態(tài).

圖3 Hyperledger交易流圖

3 區(qū)塊鏈應用場景

區(qū)塊鏈以其分布式、無需第三方、不可更改等技術優(yōu)勢,在很多領域都有廣泛的應用.

3.1 區(qū)塊鏈與數(shù)據(jù)存儲

區(qū)塊鏈是一個分布式賬本,具有不可更改的特性,很適用于數(shù)據(jù)存儲,可以滿足用戶個人對數(shù)據(jù)存儲的需要.目前,有很多公司在基于區(qū)塊鏈技術做數(shù)據(jù)存儲.例如:Tieron公司致力于使用區(qū)塊鏈構造數(shù)據(jù)存儲和驗證平臺;Peemova公司致力于開發(fā)用于商業(yè)領域的不可更改存儲系統(tǒng);Filecoin公司打造共享存儲系統(tǒng),把挖礦和滿足其他用戶的存儲需求結合起來.

3.2 區(qū)塊鏈與物聯(lián)網(wǎng)

區(qū)塊鏈的技術優(yōu)勢很適合與物聯(lián)網(wǎng)結合使用.使用分布式賬本記錄某個設備與其他設備、Web服務或者與用戶之間的數(shù)據(jù)交換,就可以跟蹤設備的歷史狀態(tài).德國的Slock.it公司提出了一款基于區(qū)塊鏈的智能鎖,使用智能合約對其進行控制.用在像Airbnb這樣的租房平臺可以將鎖連接到互聯(lián)網(wǎng),由于所有交易都是通過區(qū)塊鏈的,對交易進行確認后,戶主便可以決定在某段時間把房屋使用權賦給這個用戶,戶主可以發(fā)放一把或多把私鑰.戶主也可以通過平臺查看鎖狀態(tài),不需第三方介入.對于共享經(jīng)濟的今天,區(qū)塊鏈與物聯(lián)網(wǎng)的結合將會產(chǎn)生不一樣的效應.

3.3 區(qū)塊鏈與投票系統(tǒng)

區(qū)塊鏈很好解決了不需第三方的信任問題,所以很適合用在投票系統(tǒng).Follow my Vote:基于Grepheme平臺,改變了原有的投票方式,成為世界上第1個基于區(qū)塊鏈的、開源的、安全的在線投票系統(tǒng).滿足匿名性,任何人都可以發(fā)起投票.

3.4 區(qū)塊鏈與預測平臺

利用區(qū)塊鏈全民參與性質以及智能合約可以創(chuàng)建新型的預測平臺.Augar公司將市場預測與去中心化網(wǎng)絡結合起來,平臺上用戶可以自行地發(fā)起投票事件,比如預測體育賽事等.

當然,截至目前,區(qū)塊鏈在某些方面的技術還不夠成熟.充分利用區(qū)塊鏈的技術優(yōu)勢,與現(xiàn)有技術結合,相信未來的區(qū)塊鏈技術可以在更多的應用領域大放異彩.

4 安全性分析

4.1 區(qū)塊鏈自身安全性分析

區(qū)塊鏈是一種去中心化、由多方節(jié)點共同驗證交易、共同維護賬本的分布式技術.

所有節(jié)點都是對等的,系統(tǒng)中每個節(jié)點都可以獲得總賬本的副本.即使部分節(jié)點遭受到惡意攻擊和損壞,也不會對其他節(jié)點和整個系統(tǒng)造成威脅.

區(qū)塊鏈采用散列函數(shù)、數(shù)字簽名等密碼學基礎對交易信息的安全性進行保障,保障其不可篡改性.使用工作量證明機制來鼓勵節(jié)點記錄交易信息,記錄的節(jié)點可以獲得一定的報酬.這種競爭機制下參與的節(jié)點數(shù)目越多,區(qū)塊鏈自身的安全性能就會越高.當然,這種機制本身也存在一定的安全隱患,51%攻擊就是一個需要考慮的問題,掌握了超過全網(wǎng)一半以上的算力就可能會控制新區(qū)塊生成,造成雙重支付等問題.

4.2 區(qū)塊鏈應用安全性分析

除了考慮區(qū)塊鏈底層技術和協(xié)議的安全性外,其應用的安全性也需要列入我們的考慮范圍內.區(qū)塊鏈底層技術支撐和規(guī)則協(xié)議的安全性相對較高,但這并不能表示其應用方面同其他軟件一樣,比特幣在運行過程中,同樣也會存在安全漏洞并需要及時進行修復.以太坊開發(fā)的TheDao應用就曾遭受過攻擊,造成了大量資金的竊取,損失嚴重.所以,區(qū)塊鏈應用的安全并不是只依靠自身底層技術.在應用安全方面我們也應該加強重視.

[1]馬昂, 潘曉, 吳雷, 等. 區(qū)塊鏈技術基礎及應用研究綜述[J]. 信息安全研究, 2017, 3(11): 968-980

[2]趙闊, 邢永恒. 區(qū)塊鏈技術驅動下的物聯(lián)網(wǎng)安全研究綜述[J]. 信息網(wǎng)絡安全, 2017(5): 1-6

[3]Sidhu J. Syscoin: A peer-to-peer electronic cash system with blockchain-based services for E-business[C]Proc of

Int Conf on Computer Communication and Network. Piscataway, NJ: IEEE, 2017: 1-6

[4]Merkle R C. Protocols for public key cryptosystems[C]Proc of IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2014: 122-122

[6]Merkle R C. A Digital Signature Based on a Conventional Encryption Function[G]Advances in Cryptology—CRYPTO’87. Berlin: Springer, 1988: 369-378

[7]Carter J L, Wegman M N. Universal classes of hash functions (extended abstract)[J]. Journal of Computer & System Sciences, 1977, 18(2): 106-112

[8]Buterin V. On public and private blockchains[OL]. [2018-03-15]. https:blog ethereum.org20150807on-public-and-private-blockchains.2015

[9]Szydlo M. Merkle tree traversal in log space and time[G]Advances in Cryptology-EUROCRYPT 2004. Berlin: Springer, 2004: 541-554

[10]程麗辰, 劉吉強. 區(qū)塊鏈技術及其安全問題[J]. 信息通信技術, 2017 (3): 39-45

[11]Watanabe H, Fujimura S, Nakadaira A, et al. Blockchain contract: A complete consensus using blockchain[C]Proc of IEEE Consumer Electronics. Piscataway, NJ: IEEE, 2016: 577-578

[12]Wood G. Ethereum: A secure decentralised generalised transaction ledger[OL]. [2018-03-15]. https:doi.org10.1017CB09781107415324.004

主站蜘蛛池模板: 国产成人高清精品免费| 久久综合九九亚洲一区| 欧美伊人色综合久久天天| 亚洲第一视频免费在线| 婷婷在线网站| 亚洲第一页在线观看| 亚洲无码电影| 免费看av在线网站网址| 久久久久亚洲精品成人网| 亚洲人成成无码网WWW| 国产人成乱码视频免费观看| 无码啪啪精品天堂浪潮av| 成年看免费观看视频拍拍| 91精品国产自产在线观看| 中文无码精品A∨在线观看不卡| 永久毛片在线播| 免费无遮挡AV| 91亚洲精选| 亚洲日韩每日更新| 国产一区二区三区在线观看免费| 高清欧美性猛交XXXX黑人猛交| 久久女人网| 免费毛片视频| 久久99蜜桃精品久久久久小说| 亚洲一级毛片在线观播放| 亚洲国模精品一区| 国产区网址| 国产精品30p| 亚洲日韩AV无码精品| 一区二区偷拍美女撒尿视频| 国产精品毛片一区视频播 | 国产浮力第一页永久地址 | 无码国产偷倩在线播放老年人| 日本中文字幕久久网站| 在线看片免费人成视久网下载| 国产va免费精品| 伊人久久大线影院首页| 亚洲丝袜中文字幕| 亚洲午夜福利精品无码不卡 | 97在线观看视频免费| 日本a级免费| 少妇露出福利视频| 成人在线第一页| 欧美特黄一级大黄录像| 久草网视频在线| 一级福利视频| 91探花国产综合在线精品| 中文天堂在线视频| 国产亚洲精品在天天在线麻豆 | 亚洲制服丝袜第一页| 国产欧美精品专区一区二区| 日韩欧美视频第一区在线观看| 亚洲首页在线观看| 国产91视频免费观看| 青青操国产| 亚州AV秘 一区二区三区| 欧美日韩一区二区在线免费观看 | 欧日韩在线不卡视频| 国产成人91精品免费网址在线| 国产啪在线91| 国产91丝袜| 亚洲最猛黑人xxxx黑人猛交| 天天做天天爱夜夜爽毛片毛片| 波多野衣结在线精品二区| 欧美激情网址| 亚洲福利一区二区三区| 伊人福利视频| 国产女人18毛片水真多1| 性激烈欧美三级在线播放| 丰满人妻一区二区三区视频| 四虎亚洲精品| 亚洲va视频| 欧美在线网| 视频一本大道香蕉久在线播放| 中文字幕乱码中文乱码51精品| 国产一级毛片网站| 国产高清无码第一十页在线观看| 色135综合网| 在线观看91精品国产剧情免费| 午夜福利无码一区二区| 亚洲精品福利网站| 色悠久久久|