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

        ?

        針對區(qū)塊鏈可擴展性的雙子鏈模型設計

        2019-03-29 11:54:42肖堯閆帥蔣遂平
        物聯(lián)網(wǎng)技術 2019年2期
        關鍵詞:可擴展性數(shù)據(jù)結構區(qū)塊鏈

        肖堯 閆帥 蔣遂平

        摘 要:區(qū)塊鏈技術在物聯(lián)網(wǎng)等大交易量場景中的應用面臨的突出問題之一是可擴展性。文中分析了區(qū)塊鏈可擴展性問題的來源、影響與主要解決方案。針對區(qū)塊鏈的可擴展性,引入?yún)^(qū)塊指針和狀態(tài)更新池的概念,提出了區(qū)塊數(shù)據(jù)的雙子鏈模型,并對雙子鏈模型解決可擴展性問題的可能性和安全性進行了討論。

        關鍵詞:區(qū)塊鏈;可擴展性;數(shù)據(jù)結構;數(shù)據(jù)庫

        中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2019)02-00-04

        0 引 言

        近年來,區(qū)塊鏈作為從比特幣[1]中提煉出來的技術,引起了科技企業(yè)、資本市場、金融機構及政府部門的巨大關

        注[2]。作為最成功的區(qū)塊鏈應用,比特幣在資本領域獲得了巨大成功,截至2018年8月,比特幣市場已達千億美元。目前,區(qū)塊鏈已經(jīng)從單純的數(shù)字貨幣應用擴展到物聯(lián)網(wǎng)、金融、醫(yī)療、保險等領域。

        作為一種去中心化的分布式存儲技術,區(qū)塊鏈擁有巨大的發(fā)展前景,但仍面臨著眾多挑戰(zhàn)[3-4]。其中一個突出問題是可擴展性,尤其是在物聯(lián)網(wǎng)背景下,存在海量存儲和計算資源受限的小型節(jié)點,當把感知數(shù)據(jù)作為一種資產(chǎn)進行交易時,這些節(jié)點需要處理巨大的交易量,以區(qū)塊鏈規(guī)模為中心的可擴展性問題尤其嚴峻。

        本文首先分析了可擴展性問題的原因及影響,介紹現(xiàn)有的相關工作,然后提出了新的解決方案模型,最后就模型的相關問題進行討論。

        1 可擴展性問題分析

        1.1 存在原因

        可擴展性問題的關鍵在于區(qū)塊鏈規(guī)模的不斷增長,區(qū)塊鏈規(guī)模不斷增長的根本原因在于區(qū)塊數(shù)據(jù)結構和組鏈的方式。

        區(qū)塊鏈中的數(shù)據(jù)以一個個區(qū)塊的形式存在,每個區(qū)塊包含區(qū)塊頭和區(qū)塊體兩部分。區(qū)塊頭封裝了前塊Hash、時間戳、隨機數(shù)、Merkle樹根值等信息,區(qū)塊體中則主要包含交易事務的完整信息。前塊Hash字段為前一區(qū)塊的摘要信息,可以防止前一區(qū)塊被任意篡改,并唯一指向了前一個區(qū)塊。通過前塊Hash字段,一個個獨立的區(qū)塊從邏輯上串聯(lián)成一條鏈,任何中間區(qū)塊的缺失或被篡改都會使后續(xù)區(qū)塊失效。

        取得記賬權的節(jié)點需要利用所有歷史區(qū)塊的信息確認收到的交易信息,以構建新區(qū)塊,并通過前塊Hash字段鏈接到時間上最近的區(qū)塊,其他節(jié)點通過本地保有的完整區(qū)塊鏈對新區(qū)塊加以驗證,如果驗證成功就將其加入本地區(qū)塊鏈,形成新的區(qū)塊主鏈。從創(chuàng)世區(qū)塊(區(qū)塊鏈的第一個區(qū)塊)到當前區(qū)塊形成的一條最長主鏈記錄了區(qū)塊鏈的完整歷史。作為一種分布式數(shù)據(jù)庫,區(qū)塊鏈網(wǎng)絡中的每個節(jié)點都保留一份完整的區(qū)塊鏈,并以此作為新區(qū)塊的接收依據(jù)。

        由此,區(qū)塊鏈的規(guī)模不斷增長,越來越龐大。對區(qū)塊鏈網(wǎng)絡中的節(jié)點而言,如果丟失中間任意區(qū)塊,就難以進行工作。由于節(jié)點需要保存完整的不斷增長的區(qū)塊鏈,因此導致了可擴展性問題的出現(xiàn)。

        1.2 可擴展性問題影響

        區(qū)塊鏈規(guī)模的增長速度與交易量密切相關,在比特幣每秒只記錄7筆交易的小交易量條件下,目前完整的比特幣區(qū)塊鏈占用存儲空間已達到180 GB,并且還在不斷增長。在物聯(lián)網(wǎng)、證券、發(fā)電權管理、智慧城市等大交易量場景下,單個節(jié)點的區(qū)塊數(shù)據(jù)存儲量將很快達到TB級。

        區(qū)塊鏈規(guī)模的不斷增長使得節(jié)點初始化下載數(shù)據(jù)耗時較長,新節(jié)點的加入極為困難。此外,節(jié)點在挖礦和執(zhí)行共識算法時也需要較多的算力與存儲能力,挖礦節(jié)點資源越來越多,導致算力分布愈加集中,威脅到系統(tǒng)的安全。對于大部分節(jié)點來說,保存業(yè)務上不需要的交易記錄會造成大量資源浪費[5]。物聯(lián)網(wǎng)區(qū)塊鏈網(wǎng)絡中大部分節(jié)點的存儲、算力及能源受到較大限制,即使作為輕型節(jié)點,只處理傳統(tǒng)區(qū)塊鏈的一小部分工作都難以完成。

        由于可擴展性問題極大地影響了區(qū)塊鏈技術的應用與發(fā)展,因此迫切需要一種切實可行的解決方案。

        2 相關工作

        目前針對可擴展性問題,主要采用區(qū)塊鏈存儲優(yōu)化和重新設計區(qū)塊鏈等方法。

        2.1 區(qū)塊鏈存儲優(yōu)化

        2.1.1 全網(wǎng)節(jié)點放棄對全部歷史信息的保留

        鑒于節(jié)點執(zhí)行完整賬本相關功能的難度不斷加大,Bruce提出一個小型鏈(mini-blockchain)加密貨幣體系[6],結點可以不斷移除或遺忘舊的交易記錄,并通過一個名為“賬戶樹”的本地數(shù)據(jù)庫保存所有非空賬戶的余額。這樣,交易無需永遠存儲在區(qū)塊鏈中,只需要存儲最近的交易事務和賬戶樹即可。這種方法大大減少了區(qū)塊鏈網(wǎng)絡的存儲規(guī)模,大幅提高了可擴展性,并在氪石幣中得到應用。但是賬戶樹的更新較為復雜,節(jié)點間賬戶樹的同步同樣需要耗費資源。

        2.1.2 通過輕量級節(jié)點減輕部分節(jié)點的存儲、計算壓力

        中本聰在比特幣白皮書中指出:輕型節(jié)點可以只保留區(qū)塊頭,通過簡單支付驗證(SPV)的方式工作。每個比特幣區(qū)塊頭部固定為80 B,一年總增長為4.2 MB,需要時再向完整節(jié)點獲取相應的數(shù)據(jù),極大地降低了節(jié)點存儲要求。

        Hooff等人提出一種名為VerSUM的輕量級客戶端[7]。VerSUM允許輕量級客戶端將過大的計算量外包給其他服務器,通過比較多個服務器返回的結果以保證計算結果的正確性。

        這類方法的本質(zhì)是通過存儲或算力的外包,把負載轉移至其他節(jié)點。在這種模式下,擁有更多資源的節(jié)點會擁有更多話語權,強化了區(qū)塊鏈網(wǎng)絡的中心化程度,背離了去中心化的初衷,增加了系統(tǒng)風險。

        2.1.3 通過鏈下離線交易來減輕網(wǎng)絡壓力

        Lombrozo,Lau和Wuille提出見證隔離技術[8],將簽名數(shù)據(jù)從交易中分離出來,組成新的結構另行存儲。Poon和Dryja提出閃電網(wǎng)絡方案[9],通過離鏈進行頻繁的小額支付,以避免區(qū)塊鏈容量被大量小額交易占用。在此基礎上,文獻[10]提出雙向小額支付的通道協(xié)議,在保證安全的前提下,節(jié)點可以利用自建的離線通道實現(xiàn)無延遲實時支付。

        以上利用鏈下離線交易來擴容的主要思路是盡可能把更多的信息放到鏈下存儲,緩解單個區(qū)塊數(shù)據(jù)量不夠、數(shù)據(jù)冗余以及鏈上數(shù)據(jù)過多的問題。

        2.2 重新設計區(qū)塊鏈

        文獻[11]提出下一代比特幣(比特幣NG)的思想。比特幣NG將傳統(tǒng)區(qū)塊分解為兩部分:領導者選舉的關鍵區(qū)塊和存儲交易的微區(qū)塊。該協(xié)議將時間劃分為不同時段。 在每個時段,節(jié)點必須散列以生成關鍵區(qū)塊。一旦生成關鍵區(qū)塊,該節(jié)點就成為負責生成微區(qū)塊的領導者。比特幣NG還擴展了最長鏈條策略,在這個策略中微區(qū)塊沒有權值。通過這種方式重新設計區(qū)塊鏈,并且已經(jīng)解決了塊大小和網(wǎng)絡安全性之間的權衡問題。

        對于大交易量的場景,以上多數(shù)方案并不能很好地解決區(qū)塊鏈規(guī)模不斷增大的問題,沒有從根本上解決可擴展性問題。文獻[6]把傳統(tǒng)的區(qū)塊鏈分為三個部分,但在更新賬戶樹時操作較為復雜,不易整體實現(xiàn)。

        本文從數(shù)據(jù)層著手,改進區(qū)塊數(shù)據(jù)結構,引入狀態(tài)更新池的概念,提出新的區(qū)塊鏈數(shù)據(jù)模型,提供一種能使區(qū)塊鏈系統(tǒng)保持特定規(guī)模的解決方案。

        3 雙子鏈模型

        3.1 區(qū)塊指針

        區(qū)塊鏈規(guī)模不斷增長的根本原因在于數(shù)據(jù)層的區(qū)塊數(shù)據(jù)結構和組鏈方式。僅有的前塊Hash字段使得區(qū)塊的組鏈方式較單一,只能抽象地組成一條拓撲結構簡單的區(qū)塊鏈,無法對區(qū)塊鏈本身進行操作,區(qū)塊鏈系統(tǒng)只能不斷增大規(guī)模,最多以鏈下存儲和只保留區(qū)塊頭的方式緩解這一問題。

        為解決這一問題,本文將前塊Hash字段改進為區(qū)塊指針,如圖1所示。區(qū)塊指針包括指向區(qū)塊高度和指向區(qū)塊摘要兩個字段,分別表示區(qū)塊指針指向區(qū)塊的高度序號和哈希摘要。與傳統(tǒng)區(qū)塊鏈中的前塊Hash字段不同,區(qū)塊指針并不固定指向前一區(qū)塊,而是可以根據(jù)需要指向任意已存在的區(qū)塊。通過一個或多個區(qū)塊指針,區(qū)塊可組成更復雜的拓撲結構,使得區(qū)塊鏈的結構更加豐富、靈活。

        3.2 狀態(tài)更新池

        除了引入?yún)^(qū)塊指針外,還需要在區(qū)塊體中引入狀態(tài)更新池的概念,以便在業(yè)務邏輯上支持對新的區(qū)塊鏈結構進行相關操作,滿足新功能。

        目前大部分區(qū)塊鏈系統(tǒng)的核心為交易數(shù)據(jù),每個區(qū)塊中包含了以地址賬戶為主體的交易信息,節(jié)點依靠所有歷史信息判斷每筆新的交易是否合法,是否存在雙花等問題。這種檢查實質(zhì)上是對輸出地址賬戶所持有通證(token)狀態(tài)的判定,即在時刻t相關賬戶的余額狀態(tài),在區(qū)塊鏈中,就是截至前一區(qū)塊該賬戶的余額狀態(tài)。只要能安全得到這一條件,該賬戶的歷史交易信息便可丟棄,達到減少區(qū)塊鏈數(shù)據(jù)量的目的。

        為此,本文引入狀態(tài)更新池的相關概念,如圖2所示。區(qū)塊體內(nèi)加入?yún)^(qū)塊狀態(tài)更新子池,區(qū)塊頭部增加子池摘要,每份子池內(nèi)包含一定數(shù)量的賬戶狀態(tài)信息,一份完整的狀態(tài)更新池由若干個存在于連續(xù)不間斷區(qū)塊中的狀態(tài)更新子池組成。

        如在區(qū)塊Bm至區(qū)塊Bn這一串連續(xù)有限區(qū)塊中,包含一份狀態(tài)更新池,每個區(qū)塊內(nèi)的子池均包含部分賬戶截至區(qū)塊Bm之前的狀態(tài)信息,整個狀態(tài)更新池中包含截至區(qū)塊Bm之前所有余額不為空的賬戶信息。這樣,區(qū)塊Bn之后節(jié)點驗證賬戶的余額只需要該狀態(tài)更新池和Bm到當前的區(qū)塊即可,Bm之前的區(qū)塊可以丟棄。

        3.3 雙子鏈模型工作原理

        利用區(qū)塊指針和狀態(tài)更新池的概念,本文提出一種雙子鏈模型。

        雙子鏈模型的區(qū)塊結構如圖3(a)所示,區(qū)塊頭中加入兩個區(qū)塊指針和子池摘要,區(qū)塊體中加入狀態(tài)更新子池。簡單表示如圖3(b)所示。

        雙子鏈模型的鏈結構如圖4所示。

        圖4中,每個區(qū)塊的區(qū)塊指針1同傳統(tǒng)區(qū)塊鏈中的前塊Hash字段一致,唯一標定節(jié)點承認的前一個區(qū)塊,通過指針1各區(qū)塊在邏輯上依然構成一條傳統(tǒng)的不斷增長的鏈,如圖5所示。

        通過區(qū)塊指針2,組成并維持雙子鏈結構。每條子鏈第一個區(qū)塊的區(qū)塊指針2固定指向創(chuàng)世區(qū)塊,后面的區(qū)塊同指針1依次指向前一區(qū)塊,形成一條子鏈。當子鏈達到約定長度后,則停止生長,新的區(qū)塊作為新子鏈第一個區(qū)塊連接向創(chuàng)世區(qū)塊,同時,丟棄最舊的子鏈,如圖6(a)所示。然后新的區(qū)塊在新子鏈上生長,如圖6(b)所示,直到新的子鏈到達最大高度,開始生成下一條子鏈。

        這樣,區(qū)塊鏈網(wǎng)絡共同維護的數(shù)據(jù)規(guī)模不會超過創(chuàng)世區(qū)塊加兩條子鏈,從區(qū)塊拓撲結構上達到了控制總長度以及數(shù)據(jù)規(guī)模的目的。

        為保證區(qū)塊鏈網(wǎng)絡的正常運行,丟棄部分區(qū)塊前需要把必需的歷史信息留下來。在雙子鏈模型中,通過每條子鏈包含的狀態(tài)更新池來完成。狀態(tài)更新池中記錄所在子鏈之前所有非空賬戶的狀態(tài)結果。其生成過程如下:

        假定當前所在子鏈為C鏈,前一條子鏈為B鏈。遍歷B鏈中更新池信息交易信息,得到截至B鏈結束時存在的所有n個非空賬戶,即C鏈狀態(tài)更新池待記錄賬戶。約定C鏈長度為m,已存在t個有效區(qū)塊,其中已記錄更新s個非空賬戶的狀態(tài)。

        節(jié)點生成新區(qū)塊,即C鏈上第t+1個、倒數(shù)第m-t個,B鏈中有n-s個賬戶需要被記錄。節(jié)點只需遍歷B鏈,從中找出未被記錄的前[(t-s)/(m-t)]個賬戶,計算得出B鏈結束時的狀態(tài),記錄在區(qū)塊子池中并計算子池摘要即可。

        這樣,每條子鏈的狀態(tài)更新池可包括上一條子鏈所有賬戶的結果狀態(tài),子鏈上的交易信息則是本子鏈生成時間內(nèi)產(chǎn)生的新的交易。每筆交易在驗證時無需對歷史上所有區(qū)塊遍歷,只需遍歷上一條子鏈的狀態(tài)更新池和交易信息,以及當前子鏈已產(chǎn)生的交易即可判斷賬戶的當前狀態(tài)。另外,若當前子鏈的狀態(tài)更新池中已更新賬戶狀態(tài),又可省去遍歷上一子鏈的過程。

        4 討 論

        4.1 雙子鏈模型的數(shù)據(jù)規(guī)模

        雙子鏈模型為可擴展性問題提供了一種解決方案,通過對數(shù)據(jù)結構的改進使得鏈上冗余信息被安全丟棄,將超過一定時間的歷史交易信息轉化為賬戶余額狀態(tài),最終達到最大限度控制數(shù)據(jù)規(guī)模的目的。

        以比特幣為例,當前的數(shù)據(jù)規(guī)模已達180 GB,共有3億多筆交易,而獨立地址賬戶只有40萬。因此,特定地址的所有歷史交易信息量遠大于只記錄地址和余額。丟棄歷史信息可極大地降低節(jié)點的存儲負載,進而解決區(qū)塊鏈的可擴展性問題。

        4.2 分叉、安全性

        對雙子鏈結構的組織和舊鏈的丟棄是節(jié)點基于區(qū)塊指針2視角的操作。從區(qū)塊指針1視角看,依然是傳統(tǒng)的單鏈結構,因此繼承了傳統(tǒng)區(qū)塊鏈結構的相關特性。分叉時主鏈的選擇方法、安全性分析等可以繼續(xù)使用現(xiàn)有方法[12]?,F(xiàn)行區(qū)塊鏈應用中區(qū)塊確認長度[1]通常不超過100,只要雙子鏈模型中子鏈的長度超過該確認長度,即可認為本模型擁有不低于普通區(qū)塊鏈的安全性。

        5 結 語

        本文從區(qū)塊鏈的數(shù)據(jù)層著手,引入?yún)^(qū)塊指針和狀態(tài)更新池的概念,提出區(qū)塊數(shù)據(jù)的雙子鏈模型,形成新的區(qū)塊數(shù)據(jù)結構和組鏈形式,支持新的區(qū)塊間拓撲結構,使得區(qū)塊鏈系統(tǒng)對區(qū)塊鏈的操作變得可行。由于雙子鏈模型限制了區(qū)塊鏈的規(guī)模,并允許安全丟棄歷史區(qū)塊,可以有效緩解區(qū)塊鏈的可擴展性問題。

        當然,本文提出的模型也有其適用范圍,要求使用場景對歷史數(shù)據(jù)不全部保存,只需明確相關賬戶當前狀態(tài),對于嚴格要求完整歷史信息的業(yè)務場景還需進一步尋找可擴展性問題的解決方案。

        參 考 文 獻

        [1] NAKAMOTO S. Bitcoin: A peer-to-peer electronic cash system[Z].Consulted,2008.

        [2]何蒲,于戈,張巖峰,等.區(qū)塊鏈技術與應用前瞻綜述[J].計算機科學,2017,44(4):1-7.

        [3] ZHENG Z,XIE S,DAI H,et al. An overview of blockchain technology: architecture,consensus,and future trends[C]// IEEE International Congress on Big Data.IEEE,2017.

        [4]邵奇峰,金澈清,張召,等.區(qū)塊鏈技術:架構及進展[J].計算機學報,2018,41(5):969-988.

        [5] FERN?NDEZ-CARAM?S T M,F(xiàn)RAGA-LAMAS P. A review on the use of blockchain for the internet of things[J].IEEE access,2018(99):1.

        [6] BRUCE J.The mini-blockchain scheme[EB/OL]. http://cryptonite.info/files/mbc-scheme-rev3.pdf.

        [7] VAN DEN HOOFF J,KAASHOEK M F,ZELDOVICH N. Versum:verifiable computations over large public logs[C]// In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security New York,NY,USA,2014:1304-1316.

        [8] LOMBROZO E,LAU J,WUILLE P. BIP141:segregated witness(Consensus layer)[OL]. [2016-11-15]. https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki.

        [9] POON J,DRYJA T. The bitcoin lightning network:scalable off-chain instant payments[OL].[2016-12-17]. https://lightning.network/lightning-network-paper.pdf.

        [10] DECKER C,WATTENHOFER R. A fast and scalable payment network with bitcoin duplex micropayment channels[M].Stabilization,safety,and security of distributed systems. springer international publishing,2015:3-18.

        [11] EYAL I,GENCER A E,SIRER E G,et al. Bitcoinng:a scalable block chain protocol[C]// In Proceedings of 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16),Santa Clara,CA,USA,2016:45–59.

        [12] GERVAIS A,KARAME G O,GLYKANTZIS V,et al. On the security and performance of proof of work blockchains[C]// ACM Sigsac Conference on Computer and Communications Security.ACM,2016:3-16.

        猜你喜歡
        可擴展性數(shù)據(jù)結構區(qū)塊鏈
        恩智浦推出全新i.MX 8X 處理器,為工業(yè)應用帶來更高的安全性、可靠性和可擴展性
        汽車零部件(2017年3期)2017-07-12 17:03:58
        電力監(jiān)控軟件的可擴展性設計
        自動化博覽(2017年2期)2017-06-05 11:40:39
        區(qū)塊鏈技術的應用價值分析
        商情(2016年40期)2016-11-28 11:24:12
        “區(qū)塊鏈”的茍且、詩和遠方
        基于區(qū)塊鏈技術的數(shù)字貨幣與傳統(tǒng)貨幣辨析
        “翻轉課堂”教學模式的探討——以《數(shù)據(jù)結構》課程教學為例
        基于微軟技術的高可擴展性中小企業(yè)系統(tǒng)解決方案研究
        構建高可擴展性的物流裝備管理系統(tǒng)
        高職高專數(shù)據(jù)結構教學改革探討
        中國市場(2016年45期)2016-05-17 05:15:48
        用“區(qū)塊鏈”助推中企走出去
        免费无码av片在线观看| 就爱射视频在线视频在线| 久久影院午夜理论片无码| 久久精品国产69国产精品亚洲| 久久久久成人亚洲综合精品 | 国产精品高潮av有码久久| 在线观看视频国产一区二区三区| 欧美精品无码一区二区三区 | 亚洲色一区二区三区四区| 欧美日韩一区二区综合| 久久精品国产免费观看99| 久久精品日韩免费视频| 国产精品久久久久久久久久红粉 | 国产女主播福利一区在线观看| 久久国产精品婷婷激情| 日韩丰满少妇无码内射| 国产成人午夜福利在线观看者| 国产精品综合色区av| 国产av精品一区二区三区久久| 激情航班h版在线观看| 亚洲欧洲精品国产二码| 风流少妇一区二区三区91| 国产猛烈高潮尖叫视频免费| 亚洲av无码一区二区三区系列| 亚洲成AV人片在一线观看| 视频女同久久久一区二区| 亚洲精品一品区二品区三品区| 最新国产一区二区精品久久| 天堂a版一区二区av| 色吧噜噜一区二区三区| 日本爽快片18禁免费看| 一区二区三区放荡人妻| 免费人妻精品一区二区三区| 国产精品亚洲lv粉色| 亚洲欲色欲香天天综合网| 激情视频在线观看免费播放| 色欲色香天天天综合网www| 国产超碰人人做人人爱ⅴa| 中国免费一级毛片| 风韵犹存丰满熟妇大屁股啪啪| 久久久久国产一区二区|