張桂剛 李 超 毛湘科 郝瀠婷 李雯晴 張 健 蔚 欣 邢春曉,3
(1.清華大學信息國家研究中心 北京 100084)(2.清華大學計算機系 北京 100084)(3.清華大學互聯(lián)網(wǎng)產(chǎn)業(yè)研究院 北京 100084)(4.中國科學院自動化研究所 北京 100190)
區(qū)塊鏈[1]經(jīng)過幾年的發(fā)展,已經(jīng)初步開始實現(xiàn)從理論研究階段向具體應用階段的轉(zhuǎn)變。區(qū)塊鏈最早從比特幣為代表的交易,逐步在全球各國以及各個行業(yè)掀起了應用的熱潮。不僅在金融科技[2],在物流[3]、貿(mào)易[4]、制造[5]等各個領(lǐng)域均開始了研究和應用。隨著各種公鏈和各種私鏈以及聯(lián)盟鏈的逐漸增加,成千上萬的區(qū)塊鏈會進行交易的交互。如何實現(xiàn)所有的區(qū)塊鏈之間的互聯(lián)互通,如何實現(xiàn)AML、KYC等分析挖掘越來越成為制約未來區(qū)塊鏈發(fā)展的障礙。且隨著區(qū)塊鏈應用范圍的逐步推廣,越來越多的企業(yè)和個人把數(shù)據(jù)存儲在鏈上,這就使得區(qū)塊鏈的隱私保護問題愈發(fā)凸顯。賬本數(shù)據(jù)在鏈上公開存儲造成的直接隱私泄露以及交易數(shù)據(jù)分析帶來的被動隱私泄露成為限制區(qū)塊鏈進一步發(fā)展的重要因素,因此有必要研究全面的區(qū)塊鏈隱私保護與評估方法。區(qū)塊鏈數(shù)據(jù)湖中存儲著多種不同類型的區(qū)塊鏈。從所涉及到的領(lǐng)域劃分,包含的區(qū)塊鏈可能涉及到金融、醫(yī)療健康、法律等多個不同的領(lǐng)域;從區(qū)塊鏈本身進行劃分,可以分為公鏈、聯(lián)盟鏈和私有鏈。同時,不同的區(qū)塊鏈,其存儲的交易數(shù)據(jù)結(jié)構(gòu)和交易模式也存在著較大的差異。為了更好地對區(qū)塊鏈數(shù)據(jù)湖中各區(qū)塊鏈存儲的信息進行有效的利用,對各種類型的區(qū)塊鏈及其交易進行有效管理是區(qū)塊鏈數(shù)據(jù)湖的基礎(chǔ)。
本文提出了一種區(qū)塊鏈數(shù)據(jù)湖架構(gòu)研究,通過該架構(gòu)可以匯聚成千上萬的區(qū)塊鏈,并匯聚它們各自的原始數(shù)據(jù),供大數(shù)據(jù)挖掘分析之用。
根據(jù)賽迪全球公有鏈評估指數(shù),僅作為評估對象的全球主流公鏈平臺已超過30 個。實際上,全球公有鏈[6]項目遠超過這個數(shù)目,而且數(shù)量上還在不斷增加。不同區(qū)塊鏈平臺之間在設(shè)計理念和實現(xiàn)方面不盡相同,在區(qū)塊鏈底層架構(gòu)的標準尚未達成共識之前,區(qū)塊鏈平臺技術(shù)與應用的競爭日趨激烈。公有鏈方面,以以太坊、EOS 為代表的區(qū)塊鏈平臺在全球范圍內(nèi)具有極強的影響力,其技術(shù)與應用生態(tài)正得到市場的認同。國內(nèi)NEO、公信寶、星云鏈等公有鏈項目提出了各自基礎(chǔ)架構(gòu)設(shè)計理念并予以實現(xiàn),同時積極推進開源社區(qū)建設(shè)和應用生態(tài)完善。但相比國外優(yōu)秀公鏈項目,國內(nèi)公有鏈平臺仍處于跟隨狀態(tài)。聯(lián)盟鏈平臺方面,IBM 的Fab?ric 已經(jīng)成為聯(lián)盟鏈技術(shù)平臺的典范?;贔abric的行業(yè)解決方案已經(jīng)在金融、供應鏈、存證、物流等諸多領(lǐng)域得到廣泛應用。國內(nèi)微眾銀行、萬向區(qū)塊鏈及矩陣元三方共同開發(fā)了BCOS 區(qū)塊鏈開源平臺,提供企業(yè)級應用服務。區(qū)塊鏈BaaS(區(qū)塊鏈即服務)平臺方面,國內(nèi)互聯(lián)網(wǎng)巨頭紛紛戰(zhàn)略布局。2017年4月,騰訊發(fā)布區(qū)塊鏈白皮書并推出可信區(qū)塊鏈Trust SQL;2018 年3 月,京東全面啟動了區(qū)塊鏈技術(shù)在業(yè)務場景中的應用探索與研發(fā)實踐;2018年8 月,阿里云宣布發(fā)布企業(yè)級BaaS 平臺,支持一鍵快速部署區(qū)塊鏈環(huán)境,實現(xiàn)跨企業(yè)、跨區(qū)域的區(qū)塊鏈應用。據(jù)不完全統(tǒng)計,截止2018年11月,已有9 家大型互聯(lián)網(wǎng)企業(yè)發(fā)布BaaS 平臺。 2019 年,區(qū)塊鏈底層平臺發(fā)展百花齊放,區(qū)塊鏈底層平臺研發(fā)、應用推廣、生態(tài)培育的競爭愈發(fā)激烈。
微軟的BlockchainDB系統(tǒng)采用部分共識(僅參與交易的節(jié)點進行共識),目的在于提高效率,但同時也降低了安全性。IBM 區(qū)塊鏈數(shù)據(jù)庫實際上是中心化設(shè)計,將排序服務放在了中心化的服務器進行交易順序的排序。針對被動型隱私泄露問題,現(xiàn)有的區(qū)塊鏈系主要使用同態(tài)加密、零知識證明、安全多方計算等密碼學原語來進行隱私信息隱藏;針對主動型隱私泄露問題,主要使用地址混淆機制來防止攻擊者對賬本交易數(shù)據(jù)進行關(guān)聯(lián)分析,例如Mixcoin、Blindcoi、CoinShuffle 等。此外,在通信過程中還可使用閃電網(wǎng)絡(luò)、洋蔥路由等技術(shù),實現(xiàn)隱私信息的鏈下計算和匿名通信。
區(qū)塊鏈數(shù)據(jù)湖的研究尚在起步階段,目前國內(nèi)外沒有太多的文獻。主要有蔡維德教授在他的著作《互聯(lián)網(wǎng)》中提到了區(qū)塊鏈數(shù)據(jù)湖BDL 的設(shè)計理念。圖1展示了區(qū)塊鏈數(shù)據(jù)湖BDL的架構(gòu)。
圖1 區(qū)塊鏈數(shù)據(jù)湖BDL架構(gòu)[7~8]
一種基于區(qū)塊鏈的BDL系統(tǒng),使原本互相隔離的區(qū)塊鏈實現(xiàn)了區(qū)塊鏈的互聯(lián)互通,并可支持復雜查詢、數(shù)據(jù)挖掘、數(shù)據(jù)分析功能,提升了數(shù)據(jù)利用效率。如圖1 所示,BDL 與其他抽象節(jié)點的區(qū)塊鏈數(shù)據(jù)可以互相持有,BDL負責利用大數(shù)據(jù)平臺處理從各個區(qū)塊鏈匯集而來的數(shù)據(jù),同樣可以將處理結(jié)果存入BDL存證區(qū)塊鏈以及其他抽象節(jié)點,BDL系統(tǒng)架構(gòu),還可以打通各種同構(gòu)或異構(gòu)區(qū)塊鏈,實現(xiàn)區(qū)塊鏈數(shù)據(jù)相互融合和協(xié)同。
清華華鼎區(qū)塊鏈數(shù)據(jù)湖架構(gòu)如圖2所示。
圖2 清華華鼎區(qū)塊鏈數(shù)據(jù)湖架構(gòu)
清華華鼎區(qū)塊鏈數(shù)據(jù)湖架構(gòu)面向可信交易場景。其核心設(shè)計思想包括如下幾條。
1)清華華鼎區(qū)塊鏈數(shù)據(jù)湖有成千上萬甚至未來幾十萬的大規(guī)模的區(qū)塊鏈需要在產(chǎn)業(yè)互聯(lián)網(wǎng)(包括互鏈網(wǎng))上進行交易或者結(jié)算,下面舉例說明。
(1)中央銀行區(qū)塊鏈數(shù)據(jù)湖監(jiān)管中心需要對工商銀行、農(nóng)業(yè)銀行、建設(shè)銀行、交通銀行以及其它所有的股份制銀行的區(qū)塊鏈數(shù)據(jù)湖進行交易查詢、交易監(jiān)管、交易溯源、AML 以及KYC 的大數(shù)據(jù)分析等。
(2)商務部區(qū)塊鏈數(shù)據(jù)湖需要對國內(nèi)外的所有企業(yè)區(qū)塊鏈的交易和結(jié)算進行交易查詢、交易監(jiān)管、交易溯源、AML以及KYC的大數(shù)據(jù)分析等。
(3)海關(guān)總署區(qū)塊鏈數(shù)據(jù)湖需要對所有跨境貿(mào)易區(qū)塊鏈數(shù)據(jù)湖、疫情防控區(qū)塊鏈數(shù)據(jù)湖、象牙等瀕危動物走私數(shù)據(jù)湖進行交易查詢、交易監(jiān)管、交易溯源、AML以及KYC的大數(shù)據(jù)分析等。
(4)住建部的區(qū)塊鏈數(shù)據(jù)總湖需要對全國各地比如上海的住建委區(qū)塊鏈數(shù)據(jù)分湖、湖南的住建廳的區(qū)塊鏈數(shù)據(jù)分湖、四川的住建廳區(qū)塊鏈數(shù)據(jù)分湖等進行監(jiān)管和查詢,數(shù)據(jù)的下載和上傳等。
2)成千上萬的區(qū)塊鏈匯聚到數(shù)據(jù)湖時,需要通過某種協(xié)議或者算法(比如雙鎖定)確保數(shù)據(jù)湖和各分數(shù)據(jù)湖以及各分支區(qū)塊鏈的數(shù)據(jù)一致性。
3)清華華鼎區(qū)塊鏈數(shù)據(jù)湖除了存儲來自成千上萬的區(qū)塊鏈的上鏈數(shù)據(jù),還需要提取成千上萬的區(qū)塊鏈的非上鏈數(shù)據(jù)匯聚到區(qū)塊鏈數(shù)據(jù)湖中,以供后面的大數(shù)據(jù)分析使用。
4)清華華鼎區(qū)塊鏈數(shù)據(jù)湖還引入外部數(shù)據(jù)庫的數(shù)據(jù)到數(shù)據(jù)湖中,供未來的可信交易等的大數(shù)據(jù)分析之用。
5)所有在區(qū)塊鏈數(shù)據(jù)湖的任何動作(包括查詢、溯源、交易、結(jié)算、清算等)都會單獨在區(qū)塊鏈數(shù)據(jù)湖中進行記錄并放到區(qū)塊鏈數(shù)據(jù)湖存證區(qū)塊鏈(BDL存證區(qū)塊鏈)上。
主要研究以密碼為核心的新型區(qū)塊鏈數(shù)據(jù)湖自主可控關(guān)鍵技術(shù),滿足高性能、高可信、高可用以及高智能。包括五個方面:1)區(qū)塊鏈數(shù)據(jù)湖存儲與治理研究;2)事務處理和密態(tài)數(shù)據(jù)查詢;3)密態(tài)數(shù)據(jù)智能分析和管理;4)可信智能合約[9~12]機制研究;5)區(qū)塊鏈數(shù)據(jù)湖軟件評測體系??偟乃悸窞榻⒚艽a為核心的新型區(qū)塊鏈數(shù)據(jù)湖軟件基礎(chǔ)設(shè)施,研究高可信存儲體系;建立區(qū)塊鏈事務處理和數(shù)據(jù)處理機制,滿足事務和數(shù)據(jù)處理的高性能、高可信要求;建立智能分析和管理平臺,建立智能合約機制,滿足管理和分析的高可用和高智能要求,確保底層區(qū)塊鏈數(shù)據(jù)軟件體系的可信存儲、高效處理、智能管控、安全驗證。
圖3 清華區(qū)塊鏈數(shù)據(jù)湖研究內(nèi)容邏輯關(guān)系
清華區(qū)塊鏈數(shù)據(jù)湖關(guān)鍵技術(shù)主要包括如下七點。
3.2.1 區(qū)塊鏈數(shù)據(jù)總湖與子湖共建共享關(guān)鍵技術(shù)
未來的區(qū)塊鏈湖會形成分布式的湖,會有總湖和眾多的子湖,如何實現(xiàn)總湖和子湖的數(shù)據(jù)的共建(包括各自分別創(chuàng)立數(shù)據(jù)上鏈到各自的湖中)與共享(總湖和子湖之間、子湖和子湖之間的數(shù)據(jù)共享等),將是一個關(guān)鍵的研究問題?;跀?shù)據(jù)湖的區(qū)塊鏈可信存儲技術(shù)借助數(shù)據(jù)湖數(shù)據(jù)共享的優(yōu)勢,在其上進行多鏈存儲、訪問,打造基于數(shù)據(jù)湖的高效、高可用、可信、智能存儲[13]和高效交互的區(qū)塊鏈基礎(chǔ)設(shè)施。具體需要研究如下幾個方面:1)易查詢存儲方式:突破現(xiàn)有的區(qū)塊鏈系統(tǒng)不能直接查詢交易內(nèi)數(shù)據(jù)字段的具體細節(jié)。2)存儲可信保證:數(shù)據(jù)湖是一種可以存儲任意格式海量數(shù)據(jù)的共享數(shù)據(jù)庫。在實現(xiàn)數(shù)據(jù)共享的同時,要求增加和修改數(shù)據(jù)時保障其安全性。3)多鏈存儲及跨鏈訪問:為了能夠?qū)崿F(xiàn)數(shù)據(jù)共享,要求數(shù)據(jù)湖具備多鏈存儲和跨鏈訪問功能。
3.2.2 基于語義的異構(gòu)區(qū)塊鏈融合關(guān)鍵技術(shù)
區(qū)塊鏈數(shù)據(jù)湖需要匯聚成千上萬甚至上十萬百萬的區(qū)塊鏈,這些區(qū)塊鏈各自采用不同的協(xié)議和共識算法等,形成了一個巨大的異構(gòu)現(xiàn)狀。如何通過語義計算技術(shù)實現(xiàn)這些海量的異構(gòu)區(qū)塊鏈本身的融合以及存儲在它們各自鏈上的數(shù)據(jù)融合是一個巨大的挑戰(zhàn),也是關(guān)系到清華華鼎區(qū)塊鏈能否成功的核心關(guān)鍵技術(shù)。
3.2.3 區(qū)塊鏈數(shù)據(jù)湖查詢關(guān)鍵技術(shù)
對區(qū)塊鏈數(shù)據(jù)湖中多條鏈進行有效管理的基礎(chǔ)是能夠進行高效的交易數(shù)據(jù)查詢[14~16]。受限于區(qū)塊鏈采用鏈式結(jié)構(gòu)來存儲交易數(shù)據(jù)實現(xiàn)防篡改的設(shè)計,現(xiàn)有的許多區(qū)塊鏈僅提供一些簡單的交易查詢方法。在面對溯源、區(qū)間等復雜類型的查詢時,往往需要通過回放交易的方式進行實現(xiàn),這樣的做法顯然是低效的。尤其是考慮到區(qū)塊鏈數(shù)據(jù)湖中區(qū)塊鏈的多樣性、交易的多樣性和查詢的復雜性等因素時,目前許多區(qū)塊鏈本身的查詢算法難以滿足區(qū)塊鏈數(shù)據(jù)湖中高效管理交易數(shù)據(jù)的需求。因此,考慮區(qū)塊鏈數(shù)據(jù)湖中區(qū)塊鏈的特點設(shè)計高效的查詢方法是十分必要的。
考慮到區(qū)塊鏈數(shù)據(jù)湖中多條區(qū)塊鏈的復雜性,整個區(qū)塊鏈數(shù)據(jù)湖將從交易索引、區(qū)塊索引和鏈索引三個不同層次進行索引構(gòu)建。根據(jù)交易所包含的內(nèi)容,可以為每條交易賦予一個或多個標簽,以實現(xiàn)對具有同類型標簽的交易數(shù)據(jù)進行管理,這也將傳統(tǒng)的索引構(gòu)建轉(zhuǎn)換為對交易標簽的生成和管理。交易索引是根據(jù)區(qū)塊鏈上的每條交易的標簽進行構(gòu)建的。交易標簽的生成方法,可以是在用戶發(fā)起交易時,鼓勵用戶給出每條交易的標簽,或利用類似于眾包的方式給予每條交易一個或多個標簽。等區(qū)塊鏈上的交易數(shù)量達到一定規(guī)模時,可以根據(jù)交易和人工給出的標簽信息進行模型的訓練,從而為交易推薦標簽信息。區(qū)塊的索引是基于區(qū)塊內(nèi)所有的交易進行構(gòu)建的,根據(jù)交易的標簽信息,生成對整個區(qū)塊中的交易信息的總體描述作為區(qū)塊的標簽。鏈的索引是根據(jù)區(qū)塊的索引構(gòu)建的,鏈標簽是為了更好地對各鏈所屬的領(lǐng)域,包含的交易類型等進行區(qū)分,是對整條鏈的交易和區(qū)塊更高層次的抽象,同時,隨著區(qū)塊鏈上區(qū)塊數(shù)量的增加,鏈索引也會隨之更改。在根據(jù)用戶的查詢條件進行交易信息查詢時,可以先根據(jù)用戶的查詢條件在鏈級別過濾掉一些與查詢條件不相關(guān)的區(qū)塊鏈,縮小查詢的范圍。然后在余下的鏈中,根據(jù)區(qū)塊索引確定滿足查詢條件的區(qū)塊。最后根據(jù)區(qū)塊內(nèi)的交易索引獲取最終的查詢結(jié)果。如果在查詢中涉及到的鏈過多,可以采用并行查詢的方式增快查詢的速度。
區(qū)塊鏈經(jīng)常被用于存證溯源等任務,例如在商品的加工供應、版權(quán)更替、物流運輸?shù)葮I(yè)務領(lǐng)域。對于溯源類型的查詢?nèi)蝿?,其查詢的交易之間通常具有依賴關(guān)系。為了提高溯源的效率,可以采用圖數(shù)據(jù)結(jié)構(gòu)對交易之間的依賴關(guān)系進行重構(gòu)。涉及到具體的查詢時,只需要利用在重構(gòu)的圖上執(zhí)行廣度優(yōu)先搜索或者深度優(yōu)先搜索算法即可獲得溯源的完整路徑。由于使用區(qū)塊鏈之外的數(shù)據(jù)結(jié)構(gòu)對交易進行重構(gòu),加快了溯源查詢的速度。但是,區(qū)塊鏈之外的數(shù)據(jù)結(jié)構(gòu)并不具備防篡改性,因此只有確保圖中重構(gòu)的的交易與區(qū)塊鏈上的交易是一致的,才能夠確保圖上溯源結(jié)構(gòu)的完整性和可信性。為解決圖中的數(shù)據(jù)和鏈上的數(shù)據(jù)的一致性,可以采用智能合約將區(qū)塊鏈上的交易重構(gòu)成圖,然后將存儲圖文件的Hash 值重新存儲在一條特殊的鏈上。每當從文件中加載圖至內(nèi)存中時,先驗證存儲圖文件的Hash 值是否與之前鏈上存儲的Hash 值一致,如果一致則可信,否則需要對圖進行更新。
對于區(qū)間查詢,通常是根據(jù)區(qū)塊鏈中交易本身的屬性進行查詢,例如查詢某段時間內(nèi)的交易信息,可以根據(jù)交易的時間戳屬性進行查詢。鑒于關(guān)系數(shù)據(jù)庫中屬性查詢的高效性,可以將交易所包含的屬性值存儲至數(shù)據(jù)庫的表中,將原本區(qū)塊鏈上的查詢轉(zhuǎn)換成數(shù)據(jù)庫表中的屬性查詢。同樣,外置的數(shù)據(jù)庫表并不具備數(shù)據(jù)防篡改的機制,為了確保查詢結(jié)果的可信性和完整性,需要設(shè)置跟溯源查詢方案中類似的一致性校驗機制。
除了上述常見的應用場景,面對不同的業(yè)務需求,區(qū)塊鏈數(shù)據(jù)湖可以提供特殊的查詢解決方案來支持對交易數(shù)據(jù)的高效管理。
3.2.4 異構(gòu)數(shù)據(jù)湖大圖壓縮、劃分、并行處理關(guān)鍵技術(shù)
異構(gòu)區(qū)塊鏈數(shù)據(jù)湖會形成各種巨大的圖數(shù)據(jù)庫,例如AML 的大圖數(shù)據(jù)庫、KYC 的大圖數(shù)據(jù)庫、智能合約網(wǎng)的大圖數(shù)據(jù)庫。這些大圖數(shù)據(jù)庫甚至有幾千萬上億甚至幾十億個節(jié)點,幾億甚至上十億百億條關(guān)系邊,如何處理這些異構(gòu)的數(shù)據(jù)湖大圖并提高其性能,這些圖的壓縮、劃分、并行處理技術(shù)顯得尤其重要。
3.2.5 區(qū)塊鏈數(shù)據(jù)湖大數(shù)據(jù)挖掘分析技術(shù)
清華華鼎區(qū)塊鏈數(shù)據(jù)湖不僅匯聚了來自成千上萬的區(qū)塊鏈上的上鏈數(shù)據(jù),更多包括了這些區(qū)塊鏈的全量數(shù)據(jù)以及來自外部的數(shù)據(jù)庫數(shù)據(jù)。全量的數(shù)據(jù)為區(qū)塊鏈大數(shù)據(jù)湖的分析提供了充足的原材料。如何在上鏈數(shù)據(jù)和非上鏈數(shù)據(jù)進行大數(shù)據(jù)的挖掘和分析,是未來亟需解決的關(guān)鍵核心技術(shù)。尤其需要實現(xiàn)高質(zhì)量的分區(qū)策略,構(gòu)造適合基于同態(tài)加密的加密機器學習算法的協(xié)議,實現(xiàn)智能優(yōu)化、學習型優(yōu)化器和學習型索引等。未來需要研究:1)基于數(shù)據(jù)湖的聯(lián)邦學習和計算。通過技術(shù)手段將機構(gòu)之間的建模過程聯(lián)系在一起,同時又保持機構(gòu)之間的數(shù)據(jù)獨立,解決傳統(tǒng)手段下數(shù)據(jù)安全防控的問題。2)基于借助同態(tài)加密的加密機器學習的分析與調(diào)優(yōu)。3)數(shù)據(jù)智能分片,智能組件設(shè)計。
3.2.6 區(qū)塊鏈數(shù)據(jù)湖監(jiān)管、安全、隱私保護等關(guān)鍵技術(shù)
區(qū)塊鏈數(shù)據(jù)湖,尤其是面向交易和結(jié)算的區(qū)塊鏈數(shù)據(jù)湖,會存在大量的查詢、監(jiān)管、安全、隱私等需求,如何解決它們,是清華華鼎區(qū)塊鏈數(shù)據(jù)湖面臨的關(guān)鍵技術(shù)。區(qū)塊鏈數(shù)據(jù)湖中存儲有大量的交易數(shù)據(jù),其中包含用戶的隱私信息,且傳統(tǒng)的隱私保護技術(shù)無法直接適用于區(qū)塊鏈數(shù)據(jù)湖的架構(gòu),因此其隱私泄露問題尤為突出。研究適用于區(qū)塊鏈的主流隱私保護技術(shù),并結(jié)合區(qū)塊鏈數(shù)據(jù)湖的特性和需求加以改進,對區(qū)塊鏈數(shù)據(jù)湖應用得以推廣使用有著重要的意義。
3.2.7 可信監(jiān)管下的智能合約關(guān)鍵技術(shù)
清華華鼎區(qū)塊鏈數(shù)據(jù)湖需要實現(xiàn)在可監(jiān)管的智能合約框架下,設(shè)計全新的合約語言,并實現(xiàn)合約的形式化驗證工具及合約引擎,構(gòu)建具有獨立性和擴展性的面向監(jiān)管的智能合約基礎(chǔ)設(shè)施,并通過同態(tài)加密技術(shù)保證合約的安全性和隱私性。具體未來需要研究如下內(nèi)容。1)研究區(qū)塊鏈的可監(jiān)管性。即實現(xiàn)賬本與交易分離,數(shù)據(jù)與算法分離,構(gòu)建可監(jiān)管的區(qū)塊鏈系統(tǒng)架構(gòu);并通過合約模型標準化、合約功能專門化等手段,來保證區(qū)塊鏈基礎(chǔ)設(shè)施的獨立性和擴展性。2)構(gòu)建可監(jiān)管的區(qū)塊鏈架構(gòu),重構(gòu)合約語言框架,包括源語言的文法、編譯過程中的詞法語法語義分析、目標語言引擎的數(shù)學模型等。
數(shù)字時代,傳統(tǒng)的知識共享服務已向“互聯(lián)網(wǎng)+”數(shù)字知識共享服務轉(zhuǎn)型。一直以來,數(shù)字知識共享平臺存在“各自為政、條塊分割、信息孤島”等問題。如何利用區(qū)塊鏈技術(shù)所具有的不可篡改性、可溯源性這些原生特性,對數(shù)據(jù)知識進行存儲、授權(quán)、處理、使用和監(jiān)管,以保證數(shù)據(jù)知識的真實性和安全性、加工處理和授權(quán)可追溯、并支持高效監(jiān)管。課題組在基于清華華鼎區(qū)塊鏈數(shù)據(jù)架構(gòu)的基礎(chǔ)上,在數(shù)據(jù)共享和存儲上面已經(jīng)初步研發(fā)了一個基于區(qū)塊鏈數(shù)據(jù)湖的文件共享系統(tǒng)。基于區(qū)塊鏈的知識共享科技服務平臺功能介紹,包括登錄、數(shù)據(jù)上傳者、數(shù)據(jù)標注者/加工者、數(shù)據(jù)利用者,數(shù)據(jù)監(jiān)管者。該系統(tǒng):1)硬件設(shè)施為Ubuntu 服務器;2)操作系統(tǒng):Ubuntu 18.04;3)開發(fā)軟件為Visual Stu?dio 2017。主要包括如下幾個模塊。
用戶通過輸入用戶名和密碼,進入服務平臺。如圖4所示。
圖4 登錄頁
數(shù)據(jù)提供者為服務平臺提供結(jié)構(gòu)/非結(jié)構(gòu)的數(shù)據(jù),并有權(quán)利上傳數(shù)據(jù)到服務平臺。數(shù)據(jù)是以json文件的格式上傳,可以選擇是否加密。上傳的數(shù)據(jù)類型包括金融、政務、電子存證、醫(yī)療、物聯(lián)網(wǎng)、商品防偽溯源等方面。如圖5所示。
圖5 數(shù)據(jù)提供者
數(shù)據(jù)標注者/加工者有權(quán)利從服務平臺讀取數(shù)據(jù)并進行數(shù)據(jù)加工,數(shù)據(jù)加工可手動標注,也可通過自動化工具進行標注。如圖6所示。
圖6 數(shù)據(jù)標注者/加工者
數(shù)據(jù)利用者可以根據(jù)各自的需求,從服務平臺下載所需的數(shù)據(jù),存儲到本地。如圖7所示。
圖7 數(shù)據(jù)利用者
數(shù)據(jù)監(jiān)管者對服務平臺的專家、專家操作記錄進行管理,如圖8~9所示。
圖8 專家列表
圖9 專家操作記錄
本文研究一種區(qū)塊鏈數(shù)據(jù)湖架構(gòu),通過該架構(gòu)成千上萬的區(qū)塊鏈會匯聚成區(qū)塊鏈數(shù)據(jù)湖,通過區(qū)塊鏈數(shù)據(jù)湖不僅實現(xiàn)成千上萬的區(qū)塊鏈本身的共享,也實現(xiàn)區(qū)塊鏈數(shù)據(jù)以及區(qū)塊鏈的各種原始數(shù)據(jù)的共享,從而為未來全量區(qū)塊鏈大數(shù)據(jù)的分析提供了一種可行的架構(gòu)和機制。