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

區(qū)塊鏈關鍵技術中的數(shù)據(jù)一致性研究

2018-09-21 10:03:32翟社平李兆兆段宏宇
計算機技術與發(fā)展 2018年9期
關鍵詞:一致性

翟社平,李兆兆,段宏宇,高 山

(西安郵電大學 計算機學院,陜西 西安 710121)

0 引 言

區(qū)塊鏈技術是一種新型計算模式,是經(jīng)單主機計算、分布式計算和網(wǎng)絡計算三種計算模式之后的新型創(chuàng)新應用模式[1]。它將分布式數(shù)據(jù)存儲、點對點傳輸、共識機制和加密算法等計算技術與互聯(lián)網(wǎng)技術相結合,構建了一個高容錯高可用的分布式網(wǎng)絡,其去中心化、可追溯、不可篡改、安全可信等技術特點有效地保障了區(qū)塊鏈的實用性以及區(qū)塊鏈中數(shù)據(jù)的一致性,對區(qū)塊鏈的推廣有著決定性的作用。區(qū)塊鏈最初是為了實現(xiàn)去中心化交易提出的技術,發(fā)展至今,區(qū)塊鏈已經(jīng)不單局限于數(shù)字貨幣應用,其與人工智能、云計算、大數(shù)據(jù)等技術的結合應用已經(jīng)在物聯(lián)網(wǎng)、健康醫(yī)療、知識產(chǎn)權保護等領域展現(xiàn)出了獨特的應用價值和市場前景。

國外針對區(qū)塊鏈技術的研究開展較早,目前已經(jīng)有一些成熟的系統(tǒng)應用。美國以太坊平臺Ethereum基于區(qū)塊鏈為用戶提供可編程智能合約開發(fā)服務,微軟公司在Azure云計算平臺的基礎上推出了BaaS(Blockchain as a service,區(qū)塊鏈即服務)服務等。雖然國內(nèi)區(qū)塊鏈起步比國外晚2~3年,但熱度爆發(fā)的速度更快。2016年《“十三五”國家信息化規(guī)劃》首次提到支持區(qū)塊鏈技術發(fā)展,強調(diào)加強人工智能、區(qū)塊鏈、大數(shù)據(jù)認知分析等新技術基礎研發(fā)和前沿布局。2016年10月工業(yè)和信息化部發(fā)布《中國區(qū)塊鏈技術和應用發(fā)展白皮書》。2017年5月,國內(nèi)首個區(qū)塊鏈標準《區(qū)塊鏈參考架構》正式發(fā)布[2],區(qū)塊鏈基礎性標準確立。同時,在數(shù)字版權保護領域,蔡維德教授等針對公信力和隱私性要求較高的場景提出一種雙鏈設計架構[3]。朱巖等針對區(qū)塊鏈中數(shù)據(jù)安全問題提出了使用基于屬性的密碼訪問控制技術的設想[4]。目前,區(qū)塊鏈技術已經(jīng)引起了很多專家學者的重視,隨著大數(shù)據(jù)的發(fā)展,在政府大力扶持、高校院所助力、企業(yè)應用落地的形勢下,區(qū)塊鏈底層技術及其在場景中的應用將深刻顛覆人們的傳統(tǒng)生活方式,成為研究的熱點問題。

本質(zhì)來看區(qū)塊鏈是一種分布式數(shù)據(jù)庫,與傳統(tǒng)數(shù)據(jù)庫操作不同,區(qū)塊鏈利用一種新型塊鏈式數(shù)據(jù)結構驗證和存儲數(shù)據(jù),數(shù)據(jù)的生成和更新采用一種工作量證明的分布式共識算法,區(qū)塊鏈中數(shù)據(jù)傳輸和訪問的安全性則利用密碼學原理來保障,同時區(qū)塊鏈以智能合約的形式提供數(shù)據(jù)的編程操作[5]。從數(shù)據(jù)去中心化的角度來看,區(qū)塊鏈上的數(shù)據(jù)不存儲在某一個特定的服務器或安全節(jié)點上,而是分布地存儲于網(wǎng)絡中所有的完整節(jié)點上,同時網(wǎng)絡中每一個節(jié)點都保證數(shù)據(jù)信息的完整性和一致性[6]。然而從技術角度分析,當區(qū)塊鏈中每個數(shù)據(jù)對象存在多個副本時,必然會導致眾多問題的出現(xiàn),如數(shù)據(jù)副本負載不平衡、數(shù)據(jù)沖突、數(shù)據(jù)篡改和破壞等問題[7]。區(qū)塊鏈采用去中心化的思想,使用對等網(wǎng)絡中所有節(jié)點集體運作的方式,構建了一個沒有中央控制節(jié)點的自組織網(wǎng)絡,作為一個分布式、多中心的存儲架構,數(shù)據(jù)一致性問題尤為重要。

針對上述問題,文中提出一種基于區(qū)塊鏈關鍵技術的數(shù)據(jù)一致性維護體系架構。在數(shù)據(jù)一致性維護方面,從存儲層、網(wǎng)絡層、共識層和數(shù)字加密四個關鍵技術層面進行研究,闡述了如何通過分布式數(shù)據(jù)存儲技術、數(shù)據(jù)傳輸協(xié)議技術、共識機制技術、非對稱加密技術來維護數(shù)據(jù)的一致性。

1 分布式數(shù)據(jù)存儲技術

由于數(shù)據(jù)一致性問題涉及到區(qū)塊的結構以及區(qū)塊不可篡改的重要特性,區(qū)塊鏈中的數(shù)據(jù)可以從兩方面描述,一方面是“區(qū)塊+鏈”,另一方面是“交易+鏈”。區(qū)塊鏈可描述為一個由多個節(jié)點組成的分布式數(shù)據(jù)存儲系統(tǒng),它將一段時間內(nèi)的交易以Merkle樹形式組織,將數(shù)據(jù)和代碼封裝形成區(qū)塊,按照時間順序組織區(qū)塊,同時利用密碼學原理保證數(shù)據(jù)不可篡改和偽造[8]。

區(qū)塊是包含了區(qū)塊鏈全網(wǎng)中數(shù)據(jù)信息的一種數(shù)據(jù)結構,由包含元數(shù)據(jù)的數(shù)據(jù)頭和包含所有交易數(shù)據(jù)構成的區(qū)塊體組成。區(qū)塊頭由前一區(qū)塊哈希、隨機數(shù)、時間戳、難度目標以及Merkle根等關鍵字段構成。每個區(qū)塊都有指向前一個區(qū)塊的鏈接,一直到最初創(chuàng)建的區(qū)塊,在區(qū)塊鏈系統(tǒng)中發(fā)生的每一筆交易都會存在于某一個區(qū)塊中并永久保存,如圖1所示。例如,“區(qū)塊25”中包含前一區(qū)塊哈希值鏈接到“區(qū)塊24”,“區(qū)塊24”中則包含“區(qū)塊23”的哈希值鏈接至“區(qū)塊23”,以此類推,可追溯至最初的一個數(shù)據(jù)區(qū)塊即創(chuàng)世區(qū)塊。

圖1 區(qū)塊鏈式結構

其中“前一區(qū)塊哈希值”字段是對其前一區(qū)塊頭的所有數(shù)據(jù)進行SHA256運算得到的結果,該字段使得各個區(qū)塊之間可以連接起來,是保證區(qū)塊連接成為區(qū)塊鏈的關鍵字段。隨機數(shù)、時間戳、難度目標字段與新區(qū)塊的形成有關,分布在區(qū)塊鏈網(wǎng)絡中的各個節(jié)點貢獻大量的算力資源競爭解決一個密碼學安全的SHA256數(shù)學難題以生成新區(qū)塊。隨機數(shù)記錄解密該區(qū)塊相關數(shù)學難題的答案的值,時間戳是區(qū)塊產(chǎn)生的精確時間,難度目標可動態(tài)調(diào)整以改變新區(qū)塊形成的難易程度。Merkle根是快速歸納和校驗區(qū)塊大規(guī)模數(shù)據(jù)完整性和一致性的重要數(shù)據(jù)字段,Merkle樹自底向上構建,首先將區(qū)塊中的所有數(shù)據(jù)進行哈希運算得到哈希序列,將哈希序列存儲至相應的葉子節(jié)點,對相鄰葉子節(jié)點的哈希值進行哈希運算,如此遞歸操作直至只剩頂部的一個節(jié)點,即Merkle根計入?yún)^(qū)塊頭中。區(qū)塊體主要記錄所有交易的具體信息,包括交易的輸入和輸出、交易值等具體的數(shù)據(jù)信息。

交易數(shù)據(jù)是區(qū)塊鏈中最重要的組成部分。區(qū)塊鏈綜合應用多重技術都是為了確保新交易數(shù)據(jù)的快速生成、安全傳播和有效驗證,并且最終添加至整個分布式總賬即區(qū)塊鏈中,全網(wǎng)每個節(jié)點都擁有總賬的副本以確保交易數(shù)據(jù)一致可靠不可篡改。同區(qū)塊成鏈一致,區(qū)塊鏈中所有交易也構成了一組鏈式結構來保證數(shù)據(jù)的一致性。在區(qū)塊鏈交易系統(tǒng)中,交易的基本單位被定義成UTXO(unspent transaction output,未花費交易輸出),指記錄于區(qū)塊鏈系統(tǒng)中的無法再細分、被所有者“鎖住”并被整個網(wǎng)絡識別成貨幣單位的一定量的貨幣。每一個交易又可以分為交易輸入(input)和交易輸出(output)兩個字段。交易輸入由指向被花費的UTXO所在的交易的交易哈希值、表示被花費的UTXO的索引號的輸出索引、滿足UTXO解鎖條件的解鎖腳本等字段構成,交易輸出則主要包含一個定義了支付輸出所需要條件的鎖定腳本。

按照交易的輸入和輸出的個數(shù)可以將交易可以分為三種類型,擁有一個輸入和一個輸出的一般交易、擁有一個輸入和多個輸出的用來分配資金的分散型交易與擁有多個輸入和一個輸出的用于清理支付過程中收到的小數(shù)額找零的集合型交易。每一筆交易的輸出都鏈接到下一筆交易的輸入,因此全網(wǎng)所有合法交易都可以通過這種方式追溯到之前的一筆或者多筆交易的輸出,交易鏈的源頭是生成新區(qū)塊的系統(tǒng)獎勵(又稱Coinbase交易),交易鏈的末尾則是許多UTXO。交易輸入和交易輸出同時包含兩個用來驗證交易合法性的腳本。輸出腳本位于交易輸出,明確了下一筆交易取得當前UTXO使用權的條件,又稱鎖定腳本。輸入腳本位于交易輸入,是滿足被鎖定腳本在其交易輸出上所設定的花費UTXO的花費條件,又稱解鎖腳本,通常含有一個由用戶私鑰生成的數(shù)字簽名,允許交易輸出被消費。在交易驗證階段,需要將兩個腳本組合在一起,以堆棧執(zhí)行引擎形式進行驗證,只有組合腳本驗證通過,包含在交易中的UTXO才可以被使用,才可以證明交易有效,從而保證了全網(wǎng)中所有數(shù)據(jù)一致可信。

2 對等網(wǎng)絡可靠性傳輸技術

區(qū)塊鏈系統(tǒng)自誕生至今一直保持著高穩(wěn)定性,這與其采用基于國際互聯(lián)網(wǎng)的P2P(peer to peer,對等網(wǎng)絡)架構密不可分。P2P指位于同一網(wǎng)絡中的每臺計算機都彼此對等,各個節(jié)點共同提供網(wǎng)絡服務,不存在任何服務端、中央化的服務與層級結構[9]。相較于傳統(tǒng)C/S(client/server,客戶/服務器)模式的信息系統(tǒng),采用P2P網(wǎng)絡結構的系統(tǒng)具有去中心、高容錯、隱私保護和負載均衡等特點。系統(tǒng)中各個節(jié)點地位平等,每個節(jié)點都可以獨立完成系統(tǒng)服務功能,因此網(wǎng)絡中部分節(jié)點或者網(wǎng)絡遭到惡意攻擊時并不影響系統(tǒng)性能。區(qū)塊鏈系統(tǒng)的每個節(jié)點承擔了網(wǎng)絡路由、驗證區(qū)塊數(shù)據(jù)、傳播區(qū)塊數(shù)據(jù)、發(fā)現(xiàn)新節(jié)點等功能且具有動態(tài)變更的特性,任一區(qū)塊數(shù)據(jù)生成后,將由生成該數(shù)據(jù)的節(jié)點廣播到全網(wǎng)其他所有節(jié)點來加以驗證。區(qū)塊鏈系統(tǒng)的交易數(shù)據(jù)傳播協(xié)議包括以下步驟,如圖2所示。

圖2 區(qū)塊數(shù)據(jù)傳輸

(1)新的交易通過對等網(wǎng)絡傳輸協(xié)議廣播給P2P網(wǎng)絡上的所有節(jié)點。

(2)每個節(jié)點首先對交易數(shù)據(jù)進行有效性驗證,即利用非對稱加密機制驗證交易的簽名和交易數(shù)據(jù)信息,如果驗證無效則丟棄該筆交易數(shù)據(jù)。如果驗證通過,節(jié)點將交易數(shù)據(jù)以Merkle樹的形式進行組織,并且記錄區(qū)塊頭的有效字段,蓋上時間戳,填入?yún)^(qū)塊頭其他字段,封裝產(chǎn)生區(qū)塊。現(xiàn)有區(qū)塊鏈網(wǎng)絡規(guī)定新區(qū)塊生成的時間是10分鐘。

(3)為了競爭記賬權,每個節(jié)點競爭自身算力解決SHA256難題以提交工作量證明。

(4)如果一個礦工節(jié)點解開了這10分鐘的SHA256難題,就找到了工作量證明,獲得該區(qū)塊的記賬權,該節(jié)點將數(shù)據(jù)打包封裝成新區(qū)塊,通過對等網(wǎng)絡傳輸協(xié)議向全網(wǎng)各個節(jié)點廣播該新區(qū)塊。網(wǎng)絡中其他節(jié)點接受到新區(qū)塊將首先驗證工作量證明是否有效,即每個節(jié)點計算區(qū)塊頭的雙重哈希值,并與已知的難度目標作比較。

(5)所有參與記錄的節(jié)點通過Merkle根共同驗證交易記錄數(shù)據(jù)的正確性,驗證通過則節(jié)點接收這個區(qū)塊,該區(qū)塊被鏈接到區(qū)塊鏈的尾部。一般來說,每一筆交易,必須經(jīng)過6次區(qū)塊確認,即6個10分鐘記賬,才能最終在區(qū)塊鏈上被承認是合法交易。6次確認使得惡意節(jié)點攻擊需要耗費巨大算力,增加了區(qū)塊數(shù)據(jù)攻擊的難度,使得全網(wǎng)可以保證抵御51%攻擊,同時也降低了雙花問題出現(xiàn)的概率,有效維護了區(qū)塊數(shù)據(jù)一致性。

(6)所有節(jié)點轉(zhuǎn)向創(chuàng)造下一個區(qū)塊,并將剛剛接受的區(qū)塊的哈希散列作為父區(qū)塊的哈希值記錄在下一個區(qū)塊的區(qū)塊頭中。

針對P2P網(wǎng)絡中單個或者部分節(jié)點故障問題,區(qū)塊鏈采用數(shù)據(jù)同步的思想來解決[10]。區(qū)塊鏈設置一套通信消息原語來進行數(shù)據(jù)同步。首先,網(wǎng)絡中對等節(jié)點(節(jié)點A和節(jié)點B)交換包含BestHeight(區(qū)塊鏈高度)字段的version消息,比較自身區(qū)塊鏈所擁有的區(qū)塊數(shù)量。然后,對等節(jié)點再交換一個包含本地區(qū)塊鏈的頂端區(qū)塊哈希值的getblocks消息。節(jié)點通過比較頂端區(qū)塊哈希值來判斷本地區(qū)塊鏈與其他對等節(jié)點的區(qū)塊鏈長度差異,擁有較長區(qū)塊的節(jié)點(如節(jié)點B)可識別出需要進行區(qū)塊補充操作的其他節(jié)點,之后使用inv消息把這些區(qū)塊的哈希值傳播出去。區(qū)塊信息不完整的節(jié)點(節(jié)點A)發(fā)送getdata消息向節(jié)點B請求得到完整區(qū)塊鏈的區(qū)塊數(shù)據(jù)信息,之后發(fā)送inv消息,此inv消息包含了區(qū)塊的哈希值,節(jié)點A判斷所返回的哈希值來確認信息是否為被請求區(qū)塊,從而選擇性讀取缺失區(qū)塊,實現(xiàn)節(jié)點間區(qū)塊數(shù)據(jù)的同步。這種對等網(wǎng)絡的數(shù)據(jù)傳輸機制,保證了在節(jié)點動態(tài)加入、退出的情況下,維護整個網(wǎng)絡的穩(wěn)定性,進而保證了區(qū)塊鏈中數(shù)據(jù)的完整性和一致性。

3 共識機制

任何分布式系統(tǒng)都會面臨網(wǎng)絡延遲、傳輸錯誤、軟件錯誤、安全漏洞以及黑客入侵等問題[11]。為了防范這些潛在的錯誤,區(qū)塊鏈系統(tǒng)需要一個高效的共識機制來確保每一個節(jié)點都有一個唯一公認的全局賬本。隨著人們對這種分布式賬本一致性問題的不斷探索,很多適合區(qū)塊鏈的共識算法被提出。

早期的區(qū)塊鏈采用PoW(proof of work,工作量證明)機制來解決存儲時的分布式一致性問題,核心思想是各節(jié)點基于算力競爭來共同解決一個SHA256數(shù)學難題,最快解決該難題的節(jié)點將獲得區(qū)塊記賬權和系統(tǒng)獎勵,從而引入分布式節(jié)點的算力競爭來保證數(shù)據(jù)一致性和共識的安全性[12]。PoS(proof of stake,權益證明)機制是為解決PoW共識的資源浪費和安全性缺陷而提出的替代方案,它采用權益證明來代替PoW中的基于哈希算力的工作量證明,由系統(tǒng)中具有最高權益而非最高算力的節(jié)點獲得區(qū)塊記賬權[13]。PoS機制僅依靠內(nèi)部幣齡和權益而不需要消耗外部算力和資源,從根本上解決了PoW共識算力浪費的問題,但同時丟棄了PoW的一些優(yōu)勢,因此更容易分叉,一筆交易需要等待更多確認才能確保安全,鏈中數(shù)據(jù)有極大可能被篡改,存在一定的安全隱患。DPoS(delegated proof of stake,股份授權證明)機制實質(zhì)上是一種“受約束的中心化”決策機制,它引入了“受托人”的角色以降低中心化帶來的負面影響。在DPoS中新區(qū)塊的生成過程是通過101位經(jīng)由網(wǎng)絡上所有分散節(jié)點投票產(chǎn)生的受托人來完成的,受托人負責新區(qū)塊的生產(chǎn)和廣播以此獲取新區(qū)塊生成的Coinbase獎勵[14],但也需要提前繳納一定量的保證金,同時也需要付出強大的算力資源。DPoS通過這種方式使得全網(wǎng)算力集中在101位受托人中,大幅縮小了負責生成新區(qū)塊的節(jié)點數(shù)量,可以承載更多的交易量,同時可以達到秒級的共識驗證。

上述三個共識機制雖然可以維護區(qū)塊數(shù)據(jù)一致性,但均存在不同程度的算力資源浪費和安全隱患問題。PBFT(practical Byzantine fault tolerance,實用拜占庭容錯)算法提出在異步網(wǎng)絡環(huán)境下使用狀態(tài)機副本復制協(xié)議來解決上述問題。PBFT是一種基于消息傳遞的已執(zhí)行算法,它的執(zhí)行過程包括5個步驟,如圖3所示。

(1)從全網(wǎng)節(jié)點選舉出一個主節(jié)點(leader),新區(qū)塊由主節(jié)點負責生成。

圖3 PBFT算法執(zhí)行流程

(2)每個節(jié)點把客戶端發(fā)來的交易向全網(wǎng)廣播,主節(jié)點將從網(wǎng)絡收集到需放在新區(qū)塊內(nèi)的多個交易排序后存入列表,并將該列表向全網(wǎng)廣播。

(3)每個節(jié)點接收到交易列表后,根據(jù)排序模擬執(zhí)行這些交易。所有交易執(zhí)行完后,基于交易結果計算新區(qū)塊的哈希摘要,并向全網(wǎng)廣播。

(4)如果一個節(jié)點收到的2f(f為可容忍的拜占庭節(jié)點數(shù))個其他節(jié)點發(fā)來的摘要都和自己相等,就向全網(wǎng)廣播一條commit消息。

(5)如果一個節(jié)點收到2f+1條commit消息,即可提交新區(qū)塊及其交易到本地的區(qū)塊鏈和狀態(tài)數(shù)據(jù)庫。圖3展示了客戶端發(fā)起請求,經(jīng)過預準備、準備、確認和回復四個階段,最終達成有效共識的執(zhí)行流程,其中C是客戶端,副本0至副本3都是網(wǎng)絡節(jié)點,0是主節(jié)點,3是網(wǎng)絡中的失效節(jié)點。

區(qū)塊鏈系統(tǒng)中的PBFT共識算法使得交易確認速度顯著提高,交易吞吐量也可以滿足現(xiàn)有的數(shù)據(jù)交易規(guī)模,可以解決數(shù)據(jù)丟失、損壞、延遲的問題,同時對于任何網(wǎng)絡環(huán)境都具有較好的容錯能力,更為高效地保障了系統(tǒng)數(shù)據(jù)一致性。

4 非對稱加密機制

非對稱加密技術是保證區(qū)塊鏈安全的關鍵,最初是由美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題所提出的一種密鑰交換協(xié)議,指使用公鑰和私鑰對數(shù)據(jù)存儲和傳輸進行加密和解密[15]。常見的非對稱加密算法包括RSA、Elgamal、背包算法、Rabin、D-H、ECC(elliptic curve cryptography,橢圓曲線加密算法)等。區(qū)塊鏈使用非對稱加密的公私鑰對來構建節(jié)點間信任,為數(shù)據(jù)一致性提供重要保障[16]。

非對稱加密機制在區(qū)塊鏈中的應用如圖4所示。

圖4 區(qū)塊鏈非對稱加密機制

系統(tǒng)首先使用隨機數(shù)生成器生成一個256位二進制隨機數(shù)作為私鑰,該私鑰不直接提供給用戶,對其進行SHA256哈希運算生成256位哈希序列,之后經(jīng)由區(qū)塊鏈自定義方案即Base58Check編碼方案將哈希值和校驗和數(shù)據(jù)轉(zhuǎn)換為一種“字母-數(shù)字”表示,形成50字符長度的易識別字符提供給用戶。二進制公鑰經(jīng)過Secp256k1橢圓曲線加密算法生成65字節(jié)的非壓縮公鑰,該非壓縮公鑰被定義成一個點:K=(x,y),其生成過程是K=k*G,其中,k是二進制私鑰,G是橢圓曲線中被稱生成點的一個常數(shù)點,定義為G*=0279BE667EF9DCBBAC55A06295CE870B07029BFCD B2DCE28D959F2815B16F81798,其中K代表所得公鑰,*是橢圓曲線乘運算。該公鑰用來生成區(qū)塊鏈系統(tǒng)的交易賬戶地址標識,對其進行兩次SHA256哈希運算,取運算結果的前4字節(jié)作為公鑰哈希的校驗值鏈接在其尾部,最后經(jīng)由Base58編碼轉(zhuǎn)化,最終形成33字符的地址標識。

區(qū)塊鏈中的數(shù)據(jù)加密和數(shù)字簽名也是非對稱加密機制的應用體現(xiàn)。信息發(fā)送者A采用信息接收者B的公鑰對待發(fā)送的信息加密,將加密信息發(fā)送給B,B使用自己的私鑰對接收到的信息解密以獲得原始信息,這一過程稱為數(shù)據(jù)加密。數(shù)字簽名則是信息發(fā)送者A使用其自身私鑰將信息加密之后發(fā)送給B,B收到信息之后采用A對應的公鑰解密信息,以確認信息來源于A[17]。

區(qū)塊鏈的交易應用了上述加密機制,如圖5所示。

圖5 交易的簽名和驗證

在交易認證過程中,交易2的簽名過程主要由付款方(用戶1)來完成,本次交易的發(fā)送方(用戶1)首先對上一筆交易(交易1)的交易數(shù)據(jù)信息進行哈希運算得到一串哈希序列,用戶1使用自己的私鑰對所得序列加密,加密后的摘要將作為交易1數(shù)據(jù)信息的數(shù)字簽名與交易1數(shù)據(jù)一起發(fā)送給接收方。用戶2收到信息之后,將對交易2的合法性進行驗證,用戶2使用與上一步相同的哈希函數(shù)從接收的交易數(shù)據(jù)信息得到哈希摘要,之后利用用戶1的公鑰對上一步附加的數(shù)字簽名進行解密得到另一哈希摘要。接受方(用戶2)將兩個摘要進行對比,若二者內(nèi)容相同,接受方(用戶2)就能確認該數(shù)字簽名是發(fā)送方的,即確認交易單有效。非對稱加密技術的應用保證了交易數(shù)據(jù)一致,確保了數(shù)據(jù)的真實和安全。

5 數(shù)據(jù)一致性維護體系架構

基于以上研究,文中提出了區(qū)塊鏈數(shù)據(jù)一致性體系架構,如圖6所示。該架構構建了面向區(qū)塊鏈數(shù)據(jù)一致性關鍵技術研究的新模型,形成了一種新的數(shù)據(jù)記錄、存儲和展現(xiàn)的方式。

圖6 區(qū)塊鏈數(shù)據(jù)一致性體系架構

該體系架構分為存儲層、網(wǎng)絡層、共識層和數(shù)字加密四個關鍵部分。存儲層主要利用塊數(shù)據(jù)結構保障數(shù)據(jù)存儲的完整性,每個數(shù)據(jù)塊將一段時間內(nèi)接收到的數(shù)據(jù)交易封裝到一個帶有時間戳的數(shù)據(jù)區(qū)塊中,并鏈接到當前最長的主區(qū)塊鏈上存儲,形成最新的區(qū)塊。該層涉及區(qū)塊存儲、鏈式結構、哈希算法、Merkle樹、時間戳等主要技術。網(wǎng)絡層封裝了區(qū)塊鏈系統(tǒng)的組網(wǎng)方式、消息傳輸協(xié)議、數(shù)據(jù)驗證機制等要素。結合實際應用需求,存儲層上傳新區(qū)塊數(shù)據(jù)至網(wǎng)絡層,網(wǎng)絡層通過設計特定的傳播協(xié)議和數(shù)據(jù)驗證機制能夠使每一個節(jié)點都參與新區(qū)塊數(shù)據(jù)的傳輸和校驗,當數(shù)據(jù)區(qū)塊通過全網(wǎng)大部分節(jié)點驗證后,新區(qū)塊數(shù)據(jù)將被節(jié)點確認并存儲在區(qū)塊鏈中。共識層能夠在決策權高度分散的去中心化系統(tǒng)中使得各節(jié)點高效地針對區(qū)塊數(shù)據(jù)的有效性達成共識,PoW、PoS、DPoS和PBFT可以適應不同場景下共識的一致性需求。網(wǎng)絡層節(jié)點數(shù)據(jù)上傳至共識層,共識層中一系列共識算法可以確定新區(qū)塊生成的方式,并且確認交易數(shù)據(jù)的一致性,保證全網(wǎng)數(shù)據(jù)保持同步。數(shù)字加密是保證區(qū)塊數(shù)據(jù)安全的基礎技術,其貫穿數(shù)據(jù)一致性維護的整個底層架構。一方面,數(shù)字加密對數(shù)據(jù)進行簽名認證、確認數(shù)據(jù)所有權、使用權和流通路徑;另一方面,數(shù)字加密技術可以通過多種加密方法保障數(shù)據(jù)不被泄露,使得區(qū)塊數(shù)據(jù)是全網(wǎng)認可的、透明的和可追溯的。

6 結束語

區(qū)塊鏈所存儲數(shù)據(jù)的一致性直接關系到系統(tǒng)的高可用性和高可擴展性,只有分布式系統(tǒng)中各節(jié)點數(shù)據(jù)保持一致,區(qū)塊鏈系統(tǒng)中數(shù)據(jù)才真實可信。文中依托工業(yè)和信息化部通信軟科學項目的支持,對區(qū)塊鏈底層進行深入研究,詳細闡述了區(qū)塊鏈是如何通過分布式數(shù)據(jù)存儲技術、數(shù)據(jù)傳輸協(xié)議技術、共識機制技術、非對稱加密技術等技術來保證數(shù)據(jù)一致性的。

區(qū)塊鏈中數(shù)據(jù)一致性維護研究的技術成果必將促使越來越多的研究人員將區(qū)塊鏈技術的關注重點由區(qū)塊鏈的數(shù)字貨幣應用轉(zhuǎn)移到區(qū)塊鏈的底層數(shù)據(jù)一致性維護的共識算法和可靠性傳輸協(xié)議研究方面來。文中的研究成果可以為現(xiàn)實應用場景中數(shù)據(jù)一致性維護提供參考,為國內(nèi)區(qū)塊鏈技術發(fā)展與應用場景落地提供理論依據(jù)和技術支持,也會為區(qū)塊鏈技術將物理世界的實體資產(chǎn)轉(zhuǎn)移改變?yōu)殒溕现悄苜Y產(chǎn)的合約化轉(zhuǎn)換的平行社會架構奠定技術基礎。

猜你喜歡
一致性
注重整體設計 凸顯數(shù)與運算的一致性
遼寧教育(2022年19期)2022-11-18 07:20:42
關注減污降碳協(xié)同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
商用車CCC認證一致性控制計劃應用
注重教、學、評一致性 提高一輪復習效率
對歷史課堂教、學、評一體化(一致性)的幾點探討
IOl-master 700和Pentacam測量Kappa角一致性分析
基于CFD仿真分析的各缸渦流比一致性研究
ONVIF的全新主張:一致性及最訪問控制的Profile A
方形截面Rogowski線圈的一致性分析
電測與儀表(2016年7期)2016-04-12 00:22:18
基于事件觸發(fā)的多智能體輸入飽和一致性控制
主站蜘蛛池模板: 国产福利免费视频| 国产一级无码不卡视频| 中文字幕第1页在线播| 99九九成人免费视频精品| 91视频99| 国产一区二区人大臿蕉香蕉| 91小视频在线播放| 最新国产精品鲁鲁免费视频| 成人伊人色一区二区三区| 国产在线八区| 色综合久久88色综合天天提莫| 国产永久免费视频m3u8| 国产一区三区二区中文在线| 日韩专区欧美| 久久这里只有精品2| 91视频首页| 在线观看热码亚洲av每日更新| 91亚洲精选| 综合五月天网| 精品国产成人av免费| 色AV色 综合网站| 国产成人AV男人的天堂| 波多野结衣一区二区三视频 | 成人午夜视频在线| 啦啦啦网站在线观看a毛片| 亚洲欧美成aⅴ人在线观看| 久久永久精品免费视频| 久久综合色天堂av| 无码AV高清毛片中国一级毛片| 97超爽成人免费视频在线播放| 久久99国产精品成人欧美| 久久综合九色综合97婷婷| 国产一区二区三区免费| 亚洲综合片| 久久久久人妻一区精品| 亚洲精品中文字幕午夜| 综合社区亚洲熟妇p| 看看一级毛片| 中文字幕调教一区二区视频| www.91中文字幕| 男人天堂亚洲天堂| 极品av一区二区| 丰满人妻一区二区三区视频| 国内熟女少妇一线天| 日韩国产一区二区三区无码| 国产精品一老牛影视频| 亚洲色偷偷偷鲁综合| jijzzizz老师出水喷水喷出| 国产在线自乱拍播放| 国产女同自拍视频| 国产精品区网红主播在线观看| 国产成人盗摄精品| 日韩欧美成人高清在线观看| 国产精品第一区| 高清视频一区| 中文字幕在线永久在线视频2020| 99视频在线免费| 日韩欧美国产中文| 欧美亚洲国产精品久久蜜芽| 人妻精品久久无码区| 亚洲精品无码av中文字幕| 蜜芽国产尤物av尤物在线看| 欧美人与性动交a欧美精品| 中文字幕免费视频| 久久亚洲AⅤ无码精品午夜麻豆| 国产农村1级毛片| 欧美 国产 人人视频| 国产微拍一区二区三区四区| 日韩在线播放中文字幕| 国产99视频免费精品是看6| 日本在线免费网站| 久久婷婷五月综合97色| 国产一线在线| 好吊色妇女免费视频免费| a亚洲天堂| 亚洲视频一区| 亚洲毛片一级带毛片基地| 97在线免费| 国产网站黄| 欧美在线网| 91精品日韩人妻无码久久| 99视频精品全国免费品|