国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

區(qū)塊鏈與可信數(shù)據(jù)管理:問題與方法

2018-02-08 08:59錢衛(wèi)寧邵奇峰朱燕超金澈清周傲英
中國學術(shù)期刊文摘 2018年20期
關(guān)鍵詞:可信性數(shù)據(jù)管理合約

錢衛(wèi)寧 邵奇峰 朱燕超 金澈清 周傲英

區(qū)塊鏈(blockchain或 block chain)是指通過數(shù)據(jù)加密、數(shù)據(jù)鏈式鉤稽、多副本存儲和分布式共識等機制,實現(xiàn)去中心化的分布式數(shù)據(jù)管理技術(shù)。它最早是由中本聰提出,并在比特幣(bitcoin)中加以實現(xiàn)和應用。隨著比特幣應用的快速發(fā)展,區(qū)塊鏈技術(shù)所具有的防篡改、不可抵賴、強一致和完整性等特性,特別是它的對等網(wǎng)絡(peer-to-peer network)去中心化本質(zhì),得到了工業(yè)界和學術(shù)界的廣泛關(guān)注。在加密貨幣、分布式賬本、單據(jù)管理、首次代幣發(fā)售(ICO)和眾籌、慈善等領(lǐng)域,區(qū)塊鏈技術(shù)得到了廣泛的探索和應用。

另一方面,最早的區(qū)塊鏈技術(shù)被設計用于比特幣這一特殊的虛擬貨幣應用。它與應用緊密結(jié)合,所能提供的數(shù)據(jù)管理功能簡單,同時基于工作量證明(proof-of-work,簡稱 PoW)的共識機制的計算量耗費巨大,導致極低的系統(tǒng)吞吐率和很長的系統(tǒng)延遲。如何提供豐富的數(shù)據(jù)管理和數(shù)據(jù)處理功能,提高系統(tǒng)性能,成為區(qū)塊鏈研究、開發(fā)和應用所關(guān)心的熱點。以以太坊(Ethereum和 Hyperledger等為代表的開源項目則提供了相對完善的區(qū)塊鏈的開發(fā)與應用基礎,推動了區(qū)塊鏈普及、應用的快速增長,以及新問題的發(fā)現(xiàn)與研究。

從數(shù)據(jù)管理角度看,區(qū)塊鏈的本質(zhì)是一個構(gòu)建在對等網(wǎng)絡上、提供了可信數(shù)據(jù)管理功能的數(shù)據(jù)庫系統(tǒng)。一個可信數(shù)據(jù)庫管理系統(tǒng)從 3個層面確保系統(tǒng)的可信性,即存儲的可信性、處理的可信性以及外部訪問的可信性。

存儲可信性是指數(shù)據(jù)處理結(jié)果一旦被確認,不會丟失或被篡改。它要求系統(tǒng)提供傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng)和事務處理中所要求的事務持久性(durability),但同時也要求系統(tǒng)在存儲、通信故障,甚至在蓄意攻擊時,仍能確保數(shù)據(jù)存儲的正確性。

處理可信性一方面是指數(shù)據(jù)處理的正確性,另一方面是指處理過程和結(jié)果可審計與可溯源。前者要求事務的并發(fā)控制,而后者則要求系統(tǒng)不僅保存數(shù)據(jù)的最終狀態(tài),還要保存數(shù)據(jù)處理的過程。數(shù)據(jù)處理的正確性是對傳統(tǒng)數(shù)據(jù)管理系統(tǒng)的基本要求。但是,傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)是集中式的,保持事務的ACID屬性已有成熟并相對高效的技術(shù)。對等網(wǎng)絡環(huán)境中的數(shù)據(jù)管理,大都專注于查詢處理的性能。雖然已有大量關(guān)于分布式系統(tǒng)中的共識(consensus)機制研究,但在數(shù)據(jù)管理系統(tǒng)中,由于性能問題,共識機制和跨節(jié)點的協(xié)調(diào)通常只被用于選舉主控節(jié)點,而較少被直接應用于事務處理或被盡量避免。因此,在區(qū)塊鏈這樣的去中心化對等網(wǎng)絡環(huán)境中,如何在確保系統(tǒng)“正確”的同時,實現(xiàn)高效事務處理,就成為一個突出的問題。

處理過程和結(jié)果的可審計及可追溯也是重要的研究問題。在傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)中,數(shù)據(jù)庫中存儲、維護的是當前的數(shù)據(jù)狀態(tài),處理過程和數(shù)據(jù)的歷史信息通常存儲在數(shù)據(jù)庫日志中,僅被用于故障恢復,并不直接提供查詢服務;在系統(tǒng)無故障正常運行的情況下,也不參與查詢的處理。在節(jié)點不可信的對等網(wǎng)絡環(huán)境中,一些查詢和事務在處理時需要驗證數(shù)據(jù)的歷史狀態(tài),以確保當前狀態(tài)的正確性。因此,傳統(tǒng)的數(shù)據(jù)管理技術(shù)無法被直接應用于這一場景。

數(shù)據(jù)溯源(data provenance)是數(shù)據(jù)管理中的一項重要技術(shù),在科學數(shù)據(jù)管理和數(shù)據(jù)倉庫中有著廣泛的應用。然而,很多數(shù)據(jù)溯源技術(shù)僅針對集中式數(shù)據(jù)庫或節(jié)點可信的分布式環(huán)境,在區(qū)塊鏈的應用場景下無法直接應用。

外部訪問可信性是指對用戶訪問的認證。在實現(xiàn)機制上,它依賴于分布式身份認證等技術(shù),也與具體的應用場景和業(yè)務緊密相關(guān)。本文的綜述不涉及外部訪問可信性。

與己有的從數(shù)字貨幣、安全、協(xié)議、系統(tǒng)架構(gòu)、私有鏈和研究挑戰(zhàn)角度所進行的區(qū)塊鏈技術(shù)綜述不同,本文從可信數(shù)據(jù)管理的角度梳理區(qū)塊鏈與相關(guān)數(shù)據(jù)管理技術(shù)的關(guān)聯(lián),介紹在不完全可信的對等網(wǎng)絡環(huán)境中的數(shù)據(jù)管理問題和相關(guān)技術(shù),并分析它們在新型應用場景中的適用性。由于外部可信性一方面與應用的具體模式緊密關(guān)聯(lián),另一方面又可以部分地依賴于分布式認證技術(shù)解決,因此,本文聚焦于存儲可信性和處理可信性技術(shù)。

本文第 1節(jié)簡單介紹區(qū)塊鏈的基本數(shù)據(jù)結(jié)構(gòu)和概念。第 2節(jié)從分布式共識的角度介紹存儲可信性保障技術(shù)。第3節(jié)介紹處理可信性,包括智能合約及其問題、數(shù)據(jù)溯源技術(shù)以及可認證查詢處理。第4節(jié)簡要介紹主要的區(qū)塊鏈系統(tǒng)和應用。最后,第5節(jié)對可信數(shù)據(jù)管理技術(shù)所面臨的研究挑戰(zhàn)進行分析。

1 區(qū)塊鏈基礎

區(qū)塊鏈的基本數(shù)據(jù)結(jié)構(gòu)包括兩部分,即區(qū)塊內(nèi)結(jié)構(gòu)與區(qū)塊間鏈式結(jié)構(gòu)。一個區(qū)塊包含頭信息和體信息。頭信息是區(qū)塊的元數(shù)據(jù),用于驗證區(qū)塊,并與其前驅(qū)和后繼區(qū)塊建立關(guān)聯(lián)。通常,頭信息包含自身時間戳、前驅(qū)區(qū)塊的簽名值、一個特殊值(稱為 nonce)、驗證要求(如難度目標)。體信息則是交易的序列。

只有當一個區(qū)塊的簽名結(jié)果滿足驗證要求時,一個區(qū)塊才能通過驗證。例如,在比特幣中,區(qū)塊散列(簽名)后的結(jié)果值必須小于某個特定值(該值由難度目標決定,隨著時間的變化,難度逐漸增加)。當一個區(qū)塊需要與其前驅(qū)建立關(guān)聯(lián)時,其體信息、前驅(qū)區(qū)塊簽名值、自身時間戳、驗證要求等信息都已經(jīng)確定,唯一能調(diào)整以獲得不同自身簽名值的變量就是nonce值。只有當獲得了合法的nonce值后,區(qū)塊才能通過驗證,與前驅(qū)區(qū)塊進行鏈接。

區(qū)塊內(nèi)的交易序列常通過特殊的數(shù)據(jù)結(jié)構(gòu),如 Merkle-tree,進行組織。Merkle-tree是一種樹型數(shù)據(jù)結(jié)構(gòu),最初提出時為二叉樹,但可被拓展為多叉樹,其葉子節(jié)點為數(shù)據(jù)項或數(shù)據(jù)項的散列值,每一個內(nèi)部節(jié)點的值為其所有子節(jié)點的散列值,從而根節(jié)點的值可被視為整棵樹的簽名。利用這一性質(zhì),Merkle-tree可被方便地用來實現(xiàn)數(shù)據(jù)集相等測試、定位修改以及零知識證明。因此,Merkle-tree在區(qū)塊鏈中被用于檢測區(qū)塊副本是否相同。

區(qū)塊鏈的邏輯結(jié)構(gòu)確保區(qū)塊間的關(guān)系可驗證。在系統(tǒng)中,一個區(qū)塊存儲于多個節(jié)點,以應對由于節(jié)點或網(wǎng)絡故障所引起的區(qū)塊副本丟失問題。

需要注意的是,對于區(qū)塊(k-1),可能存在多個區(qū)塊k1,k2, …,kp,都能通過驗證,成為(k-1)的后繼。如何讓參與區(qū)塊鏈的所有節(jié)點對區(qū)塊鏈結(jié)構(gòu)達成一致,其本質(zhì)是分布式共識(consensus)問題。通常,區(qū)塊鏈僅承認鏈最長的那條鏈。下一節(jié)將對區(qū)塊鏈中的分布式共識機制進行介紹。

區(qū)塊鏈系統(tǒng)的另一個重要方面是其提供服務的接口。在比特幣應用中,區(qū)塊鏈僅提供轉(zhuǎn)賬,即事務的執(zhí)行與查詢。而隨著應用需求以及以太坊和 HyperLedger等系統(tǒng)的發(fā)展,新的區(qū)塊鏈平臺提供了稱為“智能合約”(smartcontract)的用戶代碼執(zhí)行機制。從可信性角度看,智能合約不僅可被執(zhí)行,且其執(zhí)行歷史將被記錄,執(zhí)行過程和結(jié)果可審計、可追溯。第3.1節(jié)將介紹區(qū)塊鏈中的智能合約處理機制,而對于數(shù)據(jù)溯源這一特殊問題則在第 3.2節(jié)中加以介紹。

2 存儲可信性

2.1 工作量證明機制

如前所述,存儲可信性解決區(qū)塊的容錯一致問題,其本質(zhì)是分布式共識問題。比特幣中的區(qū)塊鏈采用了被稱為工作量證明(proof of work,簡稱 PoW)的機制來解決這一問題。PoW基于如下技術(shù)和假設:根據(jù)bk,t和hk-1計算使心滿足驗證要求的nonce需要耗費算力,每次計算nonce所需的算力在一定時間段內(nèi)相當。這一計算過程被稱為“挖礦”因此,如果需要篡改或偽造記錄,則需要構(gòu)造一條比當前被公認的區(qū)塊鏈(主鏈)更長的鏈,因此需要的算力需要超過整個區(qū)塊鏈中的其他(正在進行正常挖礦運算的)算力?;蛘撸鼫蚀_地說,在考慮網(wǎng)絡延遲時,攻擊者的算力接近50%就會破壞比特幣區(qū)塊鏈的正確性。而當考慮“自私挖礦(selfish mining)”——也就是當自身“挖礦”所獲得的鏈比別人的鏈長時,不發(fā)布自己的鏈,在自己的鏈上繼續(xù)挖;當自身的鏈和別人己發(fā)布的鏈相比等長或者更短時,立即發(fā)布自己的鏈,并在別人已發(fā)布的鏈上繼續(xù)“挖礦”,那么,攻擊者接近1/4算力即會危及比特幣的正確性。

PoW 共識機制的另一個問題是其性能問題。如Vukolic和Tseng對PoW 和傳統(tǒng)的拜占庭容錯問題進行了詳細的對比分析所述,由于比特幣區(qū)塊鏈為“公有鏈”,即其參與讀取、交易以及共識機制的用戶是開放的,其用戶規(guī)模是動態(tài)的,參與者是匿名的。這直接導致了 PoW機制的低吐率和高延遲。但從另一個角度看,PoW 機制實現(xiàn)了系統(tǒng)的高可擴展性,支持從數(shù)千到數(shù)十萬個參與者,這一網(wǎng)絡規(guī)模遠遠大于絕大多數(shù)金融機構(gòu)信息系統(tǒng)的規(guī)模。

2.2 實用拜占庭容錯機制

并非所有區(qū)塊鏈應用的需求和對環(huán)境的假設都與比特幣相同。例如,在私有鏈(private blockchain或permissioned blockchain)或聯(lián)盟鏈(consortium blockchain)中,節(jié)點(參與者)就不再是匿名的,節(jié)點規(guī)模遠小于公有鏈,且可信程度也遠比在公有鏈中要高。實用拜占庭容錯機制(practical Byzantine fault tolerance,簡稱 PBFT)可被用于該場景。與PoW不同,采用PBFT時,區(qū)塊僅有被選舉出的唯一主控節(jié)點生成。PBFT由請求、預準備、準備、提交這 4個階段構(gòu)成。預準備由主控節(jié)點發(fā)起,準備階段各節(jié)點分別驗證主控節(jié)點發(fā)起的共識請求的正確性,并將驗證結(jié)果返回給主控節(jié)點,并由主控節(jié)點匯總后在提交階段確定是否提交。與PoW相比,PBFT適用于節(jié)點數(shù)少于 20個的場景,可拜占庭容錯少于1/3的節(jié)點的攻擊,即有少于1/3的節(jié)點存在漏發(fā)、錯發(fā)或選擇性錯發(fā)消息情況,主要開銷在于網(wǎng)絡消息傳輸帶寬,吞吐率可達數(shù)千,并將延遲降到毫秒級。此外,PBFT可確保系統(tǒng)的最終一致性。由于具有這些特性,PBFT被應用于HyperLedger Fabric。

2.3 Paxos和BVP

PoW 和 PBFT考慮的都是拜占庭容錯問題。在私有鏈的場景下,若假設節(jié)點或參與者不進行攻擊,則可進一步放寬假設。Paxos是重要的非拜占庭場景下的共識機制,可被用于私有鏈場景。與PBFT相比,Paxos的吞吐率可進一步提升到超過4萬tps。

Paxos的改進版本也能處理拜占庭容錯場景,被稱為拜占庭Paxos。Abraham 和 Malkhi提出了BVP,用以利用 TPM(trusted platform module)加密處理器提供高性能的拜占庭容錯。

2.4 其他面向區(qū)塊鏈的共識機制

PoW、PBFT和Paxos分別是3個典型的可用于區(qū)塊鏈的共識機制。除此以外,不同的區(qū)塊鏈項目也采用它們的改進版本或其他機制。PPCoin采用權(quán)益證明(proof of stake,簡稱PoS),面向公有鏈,避免了PoW導致的算力消耗和能源消耗。PoS通過獎勵機制鼓勵參與節(jié)點成為驗證者節(jié)點,區(qū)塊的產(chǎn)生由隨機選取的驗證者節(jié)點或驗證者節(jié)點集合驗證獲批。PoS避免了PoW導致的大量算力和電力消耗。Ripple為另一個公有鏈平臺,采用其自身的RPCA機制實現(xiàn)共識。RPCA首先將共識問題歸結(jié)到系統(tǒng)中的一組“受信任”節(jié)點,然后采用類似于PBFT的投票選取主控節(jié)點方式,實現(xiàn)共識。

此外,還有Proof-of-Luck、Raft等共識機制被應用于區(qū)塊鏈系統(tǒng)或應用。

3 處理可信性

比特幣區(qū)塊鏈僅支持“挖礦”和轉(zhuǎn)賬,功能上僅適用于數(shù)字貨幣,具有很大的局限性。在傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)中,用戶通過提交事務來處理數(shù)據(jù)。事務常由過程型語言與SQL語句組合共同構(gòu)成,事務執(zhí)行的過程或結(jié)果通過日志進行記錄。以太坊首先采用智能合約實現(xiàn)區(qū)塊鏈中的數(shù)據(jù)處理,而區(qū)塊鏈的邏輯結(jié)構(gòu)本身就和日志具有相似之處。

3.1 智能合約

智能合約是指通過信息技術(shù)手段實現(xiàn)的可自動執(zhí)行的任務合約,其概念出現(xiàn)遠早于區(qū)塊鏈技術(shù)。智能合約包含執(zhí)行條件和執(zhí)行邏輯。當條件滿足時,執(zhí)行邏輯會被自動執(zhí)行。從數(shù)據(jù)管理角度看,智能合約與數(shù)據(jù)管理系統(tǒng)中的觸發(fā)器和存儲過程具有相似性。另一方面,與傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng)中的事務不同,不僅智能合約所做的處理結(jié)果需要在區(qū)塊鏈中保存,智能合約本身也需要被保存在區(qū)塊鏈中,并在系統(tǒng)的各個節(jié)點間同步,以確保不同節(jié)點和用戶所看到的智能合約的一致性。

比特幣區(qū)塊鏈僅提供非常簡單的腳本語言,用以實現(xiàn)智能合約;Ripple不提供智能合約;以太坊提供圖靈完備的智能合約腳本語言;而HyperLedger Fabric則提供Go和Java撰寫智能合約的功能。

智能合約擴展了區(qū)塊鏈處理數(shù)據(jù)的能力,但同時也對其使用者以及系統(tǒng)的安全性提出了更高的要求。以太坊智能合約曾發(fā)生TheDAO攻擊。Maurice Herlihy對區(qū)塊鏈中由并發(fā)控制等因素導致的智能合約問題進行了系統(tǒng)的梳理。

3.2 數(shù)據(jù)溯源

類似于數(shù)據(jù)庫日志,區(qū)塊鏈維護了區(qū)塊鏈上所有操作和處理的記錄。但區(qū)塊鏈所提供的數(shù)據(jù)查詢及分析處理功能較為簡單。作為一種可信數(shù)據(jù)管理系統(tǒng),對區(qū)塊鏈上的數(shù)據(jù)進行溯源,是一個重要的問題。雖然理論上,在像比特幣這樣的區(qū)塊鏈平臺上,每一筆交易都能夠回溯到“挖礦”所獲得的原始比特幣,但是如何在引入更為復雜的智能合約以后,在區(qū)塊鏈平臺所管理的數(shù)據(jù)隨著應用增多、規(guī)模擴大以后越來越多時,高效處理數(shù)據(jù)溯源查詢,是區(qū)塊鏈技術(shù)發(fā)展及在更多應用中推廣使用所面臨的研究題目。

數(shù)據(jù)溯源(data provenance)是指對于數(shù)據(jù)處理流程的管理,解決回答數(shù)據(jù)為什么是該狀態(tài)(why)、數(shù)據(jù)從哪兒來(where)以及如何獲得(how)的問題。數(shù)據(jù)溯源的研究在科學數(shù)據(jù)管理、數(shù)據(jù)倉庫、數(shù)據(jù)資產(chǎn)管理(datacuration)的背景下進行。

數(shù)據(jù)溯源方法可分成兩大類,即基于批注(annotation-based)的方法和非批注(non-annotation-based)的方法。對于非批注的方法,在處理數(shù)據(jù)的過程中,不需要對源數(shù)據(jù)和目標數(shù)據(jù)(處理的結(jié)果)附加額外的信息。但是,此時需要了解存儲、維護數(shù)據(jù)進行了何種處理。當處理是可逆的時候,通過目標數(shù)據(jù),就能反推得到源數(shù)據(jù)。需要注意的是,雖然如 SPJbelect-project-join)這樣的查詢,數(shù)據(jù)處理是可逆的,但是很多數(shù)據(jù)庫常用查詢是不可逆的。例如,很多聚集函數(shù)是不可逆的。非標注的數(shù)據(jù)溯源可用于數(shù)據(jù)變換、數(shù)據(jù)集成過程的調(diào)試。當源數(shù)據(jù)與目標數(shù)據(jù)之間的數(shù)據(jù)模式改變時,這類方法尤為有用。

基于批注的方法將每個數(shù)據(jù)項變換為三元組標簽,其中s表示數(shù)據(jù)項源,d表示目標數(shù)據(jù)(當前數(shù)據(jù)),而i則表示中間數(shù)據(jù)結(jié)果。通過在數(shù)據(jù)處理過程中進行標簽傳播,實現(xiàn)數(shù)據(jù)的勾連,以支持數(shù)據(jù)溯源?;谂⒌臄?shù)據(jù)溯源系統(tǒng)包括 DBNotes和 Mondrian。

數(shù)據(jù)溯源的查詢表達具有嚴格的代數(shù)學基礎,可在關(guān)系數(shù)據(jù)庫上實現(xiàn)。CuratedDB和 Trio是兩個重要的數(shù)據(jù)溯源原型系統(tǒng)。

會計信息體統(tǒng)以計算機為基礎,對當前的數(shù)據(jù)分析更加的快捷、便利。傳統(tǒng)的管理模式無法適應當前信息系統(tǒng)的發(fā)展,阻礙了其加快的步伐。而云計算的優(yōu)勢便由此日益凸顯。在提高管理信息時效性的同時,節(jié)省了大量的空間,縮小了內(nèi)存,提高了信息的安全性能。不可避免的是,網(wǎng)絡時代的發(fā)展使得眾多資源共享。由此,不良商家為了顧及個人的利益,通過一些非法的手段以謀取個人利益。后果不堪設想。綜上而言,要積極的定期對此類事件進行排查,可以在一定晨讀上保障信息的安全狀況,同時,完善健全監(jiān)督機制,實現(xiàn)信息安全化的發(fā)展。

數(shù)據(jù)溯源的理論和技術(shù)與數(shù)據(jù)的結(jié)構(gòu)化模式之間關(guān)聯(lián)緊密。雖然在當前的區(qū)塊鏈應用中,數(shù)據(jù)未必一定是結(jié)構(gòu)化的,但是,隨著應用的發(fā)展,區(qū)塊鏈數(shù)據(jù)管理中數(shù)據(jù)模式的管理將成為一個重要的問題,也將是現(xiàn)有數(shù)據(jù)溯源方法能否被成功應用的關(guān)鍵問題。

3.3 可認證數(shù)據(jù)查詢與處理

在查詢區(qū)塊鏈中的數(shù)據(jù)時,確保每個區(qū)塊中數(shù)據(jù)的正確性是確保最終結(jié)果可信的前提,該問題類似于外包數(shù)據(jù)庫中的可認證查詢處理。與可認證查詢處理類似,區(qū)塊鏈也常用基于 Merkle-tree的結(jié)構(gòu)來維護一個區(qū)塊內(nèi)的事務之間的關(guān)系。

隨著區(qū)塊鏈上查詢需求的增長,在鏈式日志結(jié)構(gòu)上的索引技術(shù)也正在成為重要的研究問題。

除了查詢處理,近年來在如云計算平臺這樣的硬件和操作系統(tǒng)不可信的非可信計算平臺上,提供可信的數(shù)據(jù)處理,也成為了研究熱點。例如,Haven系統(tǒng)原型通過在飛地(enclave)中利用Intel SGX芯片和Linux LibOS實現(xiàn)屏蔽模塊(shield module),提供包括線程、虛存、調(diào)度與文件系統(tǒng)的抽象,提供了無需進行修改的應用程序與Windows操作系統(tǒng)間的相互調(diào)用。

VC3是由微軟研究院研發(fā)的另一個原型系統(tǒng),用以在Hadoop平臺上運行MapReduce程序,確保數(shù)據(jù)與處理是可信的。與 Haven不同,VC3并不在 SGX中加載操作系統(tǒng)庫,而只在其中加載Map/Reduce程序與處理的數(shù)據(jù)。程序與數(shù)據(jù)僅在處理器上運行時是解密的。

Haven和VC3都可以運行未經(jīng)修改的代碼,并處理數(shù)據(jù)。針對機器學習問題,如決策樹、SVM、神經(jīng)元網(wǎng)絡、矩陣分解、k-means聚類等算法,Ohrimenko等人提出了運行于SGX的保護隱私的機器學習方法,他們通過使用實現(xiàn)了 oblivious原語的 libO庫,重寫機器學習算法,達到了可驗證的安全機器學習的目的。

類似地,Sinha等人提出,通過將代碼分為包含程序邏輯的用戶程序和包含內(nèi)存管理和加密通信原語的運行時庫兩部分,當運行時庫滿足信息發(fā)布約束(information release confinement,簡稱IRC)時,系統(tǒng)的數(shù)據(jù)處理的安全性是可驗證的。

4 區(qū)塊鏈數(shù)據(jù)管理系統(tǒng)與應用

除比特幣、以太坊和HyperLedger以外,近年來還出現(xiàn)了一大批區(qū)塊鏈相關(guān)的系統(tǒng)。

BigChainDB試圖同時實現(xiàn)傳統(tǒng)數(shù)據(jù)庫管理系統(tǒng)的高性能和區(qū)塊鏈系統(tǒng)的可伸縮性。它采用兩層架構(gòu)。底層依賴于MongoDB,實現(xiàn)事務和故障恢復,高層利用基于權(quán)威的區(qū)塊鏈協(xié)議應對攻擊情況下的容錯。由于沒有采用拜占庭容錯機制,BigChainDB具有較高的性能。BigChianDB的目標應用為數(shù)字資產(chǎn)管理。

Bitcoin-NG的設計目標為“下一代”比特幣,以具備更好的可伸縮性。與其他同類系統(tǒng)相似,它也采用兩層協(xié)議,一層選主。選舉得到的主控節(jié)點負責事務的串行化執(zhí)行。由于避免了事務執(zhí)行中的PoW,Bitcoin-NG可實現(xiàn)其更好的可伸縮性的目標。

Blockstack為普林斯頓大學研發(fā)的基于區(qū)塊鏈的命名和存儲服務。BloCkStack將用于控制的元數(shù)據(jù)管理與數(shù)據(jù)存儲分開管理,并用skip-list管理區(qū)塊,以避免大規(guī)模地掃描區(qū)塊鏈。實驗結(jié)果表明,它能極大地減少計算資源的消耗。

在應用方面,CrowdBC為基于以太坊的去中心化的眾包平臺。眾包中的任務分發(fā)、回收等操作都采用智能合約實現(xiàn)。通過采用區(qū)塊鏈技術(shù),與集中式眾包平臺相比,CrowdBC可以更好地保護用戶的隱私。ProvChain則通過采用區(qū)塊鏈技術(shù),在云計算服務中提供數(shù)據(jù)溯源和數(shù)據(jù)驗證服務。

與以上系統(tǒng)和應用不同,Weaver是一個圖數(shù)據(jù)庫,提供了對于區(qū)塊鏈結(jié)構(gòu)的高效查詢。

Quoram(https://www.jpmorgan.com/global/Quoram)是Morgan基于以太坊開發(fā)的面向企業(yè)的區(qū)塊鏈平臺,與以太坊相比,Quorum實現(xiàn)了拜占庭容錯的共識算法,其事務吞吐率可達到近千事務/秒。而 Corda(https://www.corda.net)則是R3公司主導研發(fā)的開源分布式賬本平臺。Corda面向金融應用,與其他區(qū)塊鏈平臺不同,它并不在所有節(jié)點上維護所有數(shù)據(jù)的副本,并且,在分布式共識機制的基礎上提供了便利的業(yè)務邏輯編寫機制。

5 小結(jié)與展望

通過分析可見,PoW共識機制、智能合約等區(qū)塊鏈技術(shù)是面向金融應用,特別是數(shù)字加密貨幣而設計的。它們在確保對等網(wǎng)絡中數(shù)據(jù)和處理的可信性方面,具有很好的特性,可伸縮性尤其突出。但同時,現(xiàn)有的區(qū)塊鏈技術(shù)在如下 3個方面仍然存在著缺陷。首先,現(xiàn)有區(qū)塊鏈系統(tǒng)和平臺的服務接口通常是過程性的,需要用戶撰寫復雜的智能合約,與數(shù)據(jù)庫系統(tǒng)聲明性的數(shù)據(jù)操縱相比,容易導致錯誤和漏洞產(chǎn)生。第二,現(xiàn)有區(qū)塊鏈系統(tǒng)大都不支持復雜模式數(shù)據(jù)管理,不能提供通用的數(shù)據(jù)建模和模式管理功能,導致系統(tǒng)及平臺與應用耦合度高、應用開發(fā)難度大。第三,由于部分區(qū)塊鏈平臺,特別是公有鏈系統(tǒng),為了保障系統(tǒng)可伸縮性,采用了PoW 共識機制,在性能上,特別是延遲和吞吐率方面,無法與傳統(tǒng)的可信數(shù)據(jù)管理系統(tǒng)相比,無法滿足大多數(shù)關(guān)鍵任務應用的需要。

當考慮更復雜場景下的可信數(shù)據(jù)管理問題時,現(xiàn)有的區(qū)塊鏈技術(shù)和系統(tǒng)無法被直接應用另一方面,信息技術(shù)發(fā)展是國家政策和新興商業(yè)模式落實應用的前提:可信數(shù)據(jù)管理對于構(gòu)建社會信用體系,從機制上提供信用保障,至關(guān)重要。

例如,在共享經(jīng)濟、大宗商品交易、數(shù)字資產(chǎn)增值利用開發(fā)、安全監(jiān)督、政府治理等應用中,業(yè)務可能涉及雙方或多方,業(yè)務間關(guān)聯(lián)模式各不相同,數(shù)據(jù)的結(jié)構(gòu)化程度不同,事務的復雜程度和并發(fā)數(shù)不同,數(shù)據(jù)處理的及時性響應要求也不相同,借鑒區(qū)塊鏈在數(shù)字加密貨幣應用中的成功經(jīng)驗,特別是其在系統(tǒng)可伸縮性、完全去中心化、靈活的智能合約撰寫、驗證以及可信執(zhí)行上的特點,在對現(xiàn)有區(qū)塊鏈和相關(guān)技術(shù)進行梳理和分析的基礎上,探索大規(guī)模分布式環(huán)境下的可信數(shù)據(jù)管理基礎理論,設計針對特定應用的可信數(shù)據(jù)管理系統(tǒng),或稱其為“分享型數(shù)據(jù)庫”(sharing database)系統(tǒng),提出安全、高效的可信數(shù)據(jù)管理系統(tǒng)實現(xiàn)方法,是研究的重要問題。

當前所直接面臨的研究問題包括:在特定場景下的高性能分布式共識機制、區(qū)塊鏈上的結(jié)構(gòu)化數(shù)據(jù)管理方法、區(qū)塊鏈上的分布式數(shù)據(jù)索引構(gòu)造和維護方法、鏈式結(jié)構(gòu)或日志結(jié)構(gòu)上的高效查詢處理和優(yōu)化技術(shù)等。

(摘自《軟件學報》2018年第1期)

猜你喜歡
可信性數(shù)據(jù)管理合約
企業(yè)級BOM數(shù)據(jù)管理概要
基于可信性的鍋爐安全質(zhì)量綜合評價研究
定制化汽車制造的數(shù)據(jù)管理分析
海洋環(huán)境數(shù)據(jù)管理優(yōu)化與實踐
CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
一種面向第三方測試的裝備軟件可信性評估方法
Five golden rules for meeting management
基于可信性理論的風電場電能質(zhì)量模糊綜合評估
高雄市| 平武县| 繁昌县| 永嘉县| 巴林右旗| 枣强县| 小金县| 河西区| 光山县| 土默特右旗| 通化市| 惠来县| 太湖县| 孝感市| 彭州市| 九寨沟县| 永寿县| 太保市| 报价| 万年县| 景洪市| 志丹县| 井研县| 内乡县| 巩义市| 凤城市| 延安市| 沁阳市| 南昌县| 黎城县| 云南省| 七台河市| 湾仔区| 商丘市| 元朗区| 福州市| 汉寿县| 浪卡子县| 离岛区| 嘉峪关市| 汾西县|