錢衛(wèi)寧,金澈清,邵奇峰,周傲英
華東師范大學(xué)數(shù)據(jù)科學(xué)與工程學(xué)院,上海 200062
自2008年10月31日署名為“中本聰”的比特幣(Bitcoin)文章①https://www.bitcoin.org/bitcoin.pdf發(fā)布以來,加密數(shù)字貨幣已經(jīng)展示了構(gòu)建一個大型、去中心的分布式賬本的可能性。2014年10月22日,在大英圖書館舉辦的盛寶銀行研討會中,多位發(fā)言人都認(rèn)為在比特幣風(fēng)潮的背后,區(qū)塊鏈(blockchain)是真正有趣的技術(shù)②https://www.coindesk.com/saxo-bankevent-panelblock-chainintriguingbitcoin-fad/。幾乎同時(shí),相對于比特幣的“區(qū)塊鏈1.0”技術(shù),被認(rèn)為是“區(qū)塊鏈2.0”技術(shù)代表的以太坊[1]項(xiàng)目發(fā)布,而Hyperledger項(xiàng)目③https://www.zurich.ibm.com/dccl/papers/cachin_dccl.pdf也隨后在2015年發(fā)布。時(shí)至今日,區(qū)塊鏈已成為一大批應(yīng)用的支撐技術(shù)。
雖然區(qū)塊鏈技術(shù)發(fā)展迅速,區(qū)塊鏈系統(tǒng)、平臺、應(yīng)用層出不窮,但是它們大都具備以下5個特點(diǎn)。
首先,它們都具有鏈?zhǔn)浇Y(jié)構(gòu),如圖1所示。數(shù)據(jù)或交易信息被組織成區(qū)塊;一系列區(qū)塊構(gòu)成鏈;通過對前趨區(qū)塊進(jìn)行數(shù)字簽名,并將簽名放入后繼區(qū)塊,構(gòu)造、維護(hù)區(qū)塊間的鏈接關(guān)系。區(qū)塊內(nèi)交易信息的順序組織以及區(qū)塊間的鏈?zhǔn)浇Y(jié)構(gòu)能夠準(zhǔn)確記錄交易流水,實(shí)現(xiàn)賬本的功能。
圖1 區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)
其次,區(qū)塊鏈?zhǔn)欠来鄹牡摹^(qū)塊內(nèi)常用Merkle-tree[2]或其變種生成區(qū)塊的摘要信息,用于區(qū)塊內(nèi)容正確性校驗(yàn),而因?yàn)榍摆厖^(qū)塊的簽名是后繼區(qū)塊的一部分,所以一個區(qū)塊其實(shí)包含了自鏈?zhǔn)组_始的全部信息的摘要,可用于之前信息是否篡改的校驗(yàn)。換言之,要修改一個已記錄在區(qū)塊鏈中的交易,需要修改其所在區(qū)塊后的所有區(qū)塊內(nèi)容,這往往需要極大的計(jì)算量或系統(tǒng)中大量節(jié)點(diǎn)的配合,因此通常難以實(shí)現(xiàn),從而實(shí)現(xiàn)了防篡改。
第三,區(qū)塊鏈的存儲是分布式、去中心的,不依賴于單一中心節(jié)點(diǎn)。區(qū)塊鏈被多副本地存放在多個節(jié)點(diǎn)上。區(qū)塊鏈的更新需保持副本的同步更新。根據(jù)需要,節(jié)點(diǎn)間的分布式共識協(xié)議可以采用工作量證明(proof of work,POW)、實(shí)用拜占庭容錯(practical Byzantine fault tolerance,PBFT)[3]、拜占庭容錯Paxos[4,5]或權(quán)益證明(proof of stake,POS)④http://peerco.in/assets/paper/peercoin-paper.pdf等。雖然去中心的架構(gòu)擺脫了單點(diǎn)故障的問題,提升了系統(tǒng)的頑健性和防篡改的能力,但同時(shí)分布式共識協(xié)議也導(dǎo)致了較大的數(shù)據(jù)修改時(shí)延和很低的系統(tǒng)吞吐率。
第四,雖然支撐比特幣的區(qū)塊鏈只能支持簡單的交易記錄和查詢,但是新的區(qū)塊鏈平臺大都支持智能合約。智能合約指“以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議”⑤http://www.alamut.com/subj/economics/nick_szabo/smartContracts.html。它常用圖靈完備的通用編程語言或?qū)S谜Z言實(shí)現(xiàn),用以定義區(qū)塊鏈平臺中復(fù)雜的商業(yè)邏輯。錯誤的智能合約實(shí)現(xiàn)可能引發(fā)嚴(yán)重的系統(tǒng)安全問題[6]⑥https://blog.ethereum.org/2016/07/20/hard-forkcompleted/2016。
第五,當(dāng)前區(qū)塊鏈技術(shù)和系統(tǒng)的另一個重要特點(diǎn)是它們常和金融應(yīng)用(如加密貨幣、分布式賬本[7]、單據(jù)管理⑦h(yuǎn)ttp://xueshu.baidu.com/s?wd=paperuri%3A%289d1982f072 597f8b455f83fb eaf92d59%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fwww.freepa tentsonline.com%2F9679276.html&ie=utf-8&sc_us=15324929 70719900596、首次代幣發(fā)售和眾籌[8]、慈善⑧https://www.technologyreview.com/s/604144/how-blockchain-can-lift-up-the-worlds-poor/等)緊密關(guān)聯(lián)。區(qū)塊鏈技術(shù)以分布式、點(diǎn)對點(diǎn)的方式,提供了可信的賬本管理功能。
目前已有大量工作探索區(qū)塊鏈的基礎(chǔ)理論、實(shí)現(xiàn)方法、應(yīng)用模型。本文試圖從數(shù)據(jù)管理的角度梳理區(qū)塊鏈技術(shù),并從3個區(qū)塊鏈應(yīng)用出發(fā),討論區(qū)塊鏈技術(shù)研究的需求與挑戰(zhàn)。
在討論區(qū)塊鏈的數(shù)據(jù)管理問題之前,首先簡要介紹數(shù)據(jù)管理的核心問題。
廣義的數(shù)據(jù)管理包含數(shù)據(jù)的獲取、存儲、處理、利用等各個方面的問題。數(shù)據(jù)管理任務(wù)通常由數(shù)據(jù)庫管理系統(tǒng)(database management system,DBMS)和相關(guān)工具承擔(dān)。自20世紀(jì)70年代關(guān)系數(shù)據(jù)庫理論誕生以來,關(guān)系數(shù)據(jù)庫管理系統(tǒng)(relational database management system,RDBMS)由于其在各類數(shù)據(jù)管理應(yīng)用,特別是“關(guān)鍵任務(wù)(missioncritical)”應(yīng)用中表現(xiàn)出的良好易用性、通用性和性能,成為大量數(shù)據(jù)管理任務(wù)的首要甚至是唯一選擇。伴隨著RDBMS產(chǎn)業(yè)的壯大,數(shù)據(jù)庫理論以及存儲、索引、查詢執(zhí)行、查詢優(yōu)化、事務(wù)處理、并發(fā)控制等一系列數(shù)據(jù)庫技術(shù)發(fā)展迅速[9-11]。
數(shù)據(jù)管理的核心問題包括數(shù)據(jù)及其處理方法的建模、數(shù)據(jù)管理任務(wù)實(shí)施和管理、系統(tǒng)性能優(yōu)化及其實(shí)現(xiàn)、系統(tǒng)的運(yùn)維等多個方面。
數(shù)據(jù)模型的管理是數(shù)據(jù)管理的重要任務(wù)。數(shù)據(jù)模型包括數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)的完整性約束。正是由于提供了數(shù)據(jù)模型的抽象,數(shù)據(jù)管理系統(tǒng)才能服務(wù)于不同應(yīng)用,以統(tǒng)一的形式實(shí)現(xiàn)數(shù)據(jù)的增、刪、改、查功能。
應(yīng)用最廣的數(shù)據(jù)模型是關(guān)系模型(relational model)。它將集合論和數(shù)理邏輯作為理論基礎(chǔ),將被廣泛接受和使用的SQL語言用于數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制和事務(wù)控制。SQL語言是聲明型語言,與過程型的語言相比,簡化了開發(fā)者編寫數(shù)據(jù)庫應(yīng)用的過程。
由于關(guān)系數(shù)據(jù)庫管理系統(tǒng)的巨大成功,很多時(shí)候,談?wù)摂?shù)據(jù)管理時(shí)就是指采用RDBMS進(jìn)行數(shù)據(jù)管理。實(shí)際數(shù)據(jù)管理系統(tǒng)中采用的數(shù)據(jù)模型常是關(guān)系模型的擴(kuò)展,如對象—關(guān)系模型(object-relational model),它在關(guān)系模型的基礎(chǔ)上添加了用戶定義類型(UDT)、用戶定義函數(shù)(UDF)、觸發(fā)器(trigger)等功能[12]。
數(shù)據(jù)模型是對數(shù)據(jù)的抽象,而事務(wù)則是對數(shù)據(jù)處理流程的抽象。在RDBMS中,事務(wù)同樣由SQL語言實(shí)現(xiàn)。事務(wù)需要滿足事務(wù)語義,即“ACID”性質(zhì),指事務(wù)的原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持久性(durability)。正是由于有了事務(wù)處理,數(shù)據(jù)管理系統(tǒng)才可以實(shí)現(xiàn)以記賬和訂票為代表的關(guān)鍵任務(wù)應(yīng)用中的數(shù)據(jù)管理,在充分利用系統(tǒng)硬件資源的同時(shí),實(shí)現(xiàn)正確且高效(低時(shí)延、高通量)的數(shù)據(jù)處理[11]。
為了實(shí)現(xiàn)事務(wù)處理,DBMS提供了并發(fā)控制和恢復(fù)機(jī)制,前者主要用以保障事務(wù)的一致性和隔離性,而后者則主要保障原子性和持久性。DBMS中常需要維護(hù)數(shù)據(jù)在系統(tǒng)內(nèi)多個副本之間的一致性,如多個存儲節(jié)點(diǎn)之間或磁盤與緩存之間的一致性。這些副本存在于一個相對可信的系統(tǒng)環(huán)境內(nèi)部,因此其一致性維護(hù)需求不同于區(qū)塊鏈中分布式共識機(jī)制面對的需求。
在恢復(fù)機(jī)制中,常采用數(shù)據(jù)庫日志記錄對數(shù)據(jù)進(jìn)行的操作和事務(wù)的提交、終止操作。數(shù)據(jù)庫日志從形式上與區(qū)塊鏈中順序記錄的交易流水類似。它們的不同點(diǎn)在于,DBMS中的日志存儲介質(zhì)是可信的,一般并不采用簽名對整個日志序列進(jìn)行防篡改保護(hù)。另外,DBMS中的日志通常只在數(shù)據(jù)庫恢復(fù)時(shí)使用,而在很多區(qū)塊鏈平臺中,交易流水記錄是唯一的數(shù)據(jù),因此也是數(shù)據(jù)查詢的對象。
DBMS提供多種形式的事務(wù)接口。存儲過程是一種常用的事務(wù)形式,它是預(yù)先編寫好的事務(wù)程序,存儲于服務(wù)器,被客戶端調(diào)用后執(zhí)行,并在執(zhí)行結(jié)束后將執(zhí)行結(jié)果返回給客戶端。
為了解決客戶端用過程型語言編寫的程序和數(shù)據(jù)庫服務(wù)器聲明型語言的集合數(shù)據(jù)訪問之間的“阻抗失配(impedance mismatch)”問題,DBMS通常提供游標(biāo)(cursor)功能,供客戶端程序以逐行記錄為單位與數(shù)據(jù)庫服務(wù)器進(jìn)行交互。
DBMS提供的接口是聲明型的,其由系統(tǒng)自身實(shí)現(xiàn)。在實(shí)現(xiàn)時(shí),系統(tǒng)提供了三層視圖和兩層映射,即視圖(外模式)—概念模式(模式)—物理模式(內(nèi)模式)三者之間的映射,如圖2所示[10]。這樣,當(dāng)數(shù)據(jù)的存儲組織變化或應(yīng)用需求變化時(shí),只需要修改相應(yīng)的模式映射關(guān)系,不用修改系統(tǒng)的其他部分,從而節(jié)約了系統(tǒng)和應(yīng)用的開發(fā)和維護(hù)成本。
圖2 數(shù)據(jù)管理的三層視圖、兩層映射
提供數(shù)據(jù)管理獨(dú)立性與透明性的同時(shí),DBMS將應(yīng)用開發(fā)者隔離在查詢執(zhí)行和事務(wù)執(zhí)行的具體細(xì)節(jié)之外,承擔(dān)了大部分的性能優(yōu)化問題。而性能是DBMS數(shù)據(jù)管理的關(guān)鍵問題。最早的RDBMS——System R的主要開發(fā)者之一Bruce Lindsay認(rèn)為數(shù)據(jù)庫世界最重要的事情就是系統(tǒng)性能[13]?,F(xiàn)代DBMS通過緩存、索引、查詢執(zhí)行、查詢優(yōu)化、并發(fā)控制等技術(shù),實(shí)現(xiàn)查詢和事務(wù)的計(jì)劃優(yōu)化和執(zhí)行優(yōu)化,如圖3所示。近年來,隨著大容量內(nèi)存、高速網(wǎng)絡(luò)、多核/眾核處理機(jī)技術(shù)的快速進(jìn)步,現(xiàn)代DBMS也常通過內(nèi)存數(shù)據(jù)庫、分布式數(shù)據(jù)存儲、查詢和事務(wù)的并行執(zhí)行等技術(shù)提升系統(tǒng)性能。
圖3 數(shù)據(jù)管理系統(tǒng)功能體系結(jié)構(gòu)概覽
除數(shù)據(jù)模式管理、查詢和事務(wù)處理以外,DBMS的管理、運(yùn)維工具也是數(shù)據(jù)管理中的重要方面。1998年圖靈獎獲得者Jim Gray認(rèn)為,易用、易管理是數(shù)據(jù)管理系統(tǒng)要實(shí)現(xiàn)的重要目標(biāo)[14]。此外,隨著近年來互聯(lián)網(wǎng)技術(shù)的發(fā)展,應(yīng)用的規(guī)模越來越大,涉及的子系統(tǒng)、數(shù)據(jù)源數(shù)目也逐步增加,因此數(shù)據(jù)集成也是數(shù)據(jù)管理的重要方面,需要專門的工具配合DBMS使用[15]。
從數(shù)據(jù)管理角度看,區(qū)塊鏈?zhǔn)且粋€構(gòu)建在對等網(wǎng)絡(luò)上、采用鏈?zhǔn)酱鎯Φ目尚艛?shù)據(jù)管理系統(tǒng)。將區(qū)塊鏈與傳統(tǒng)的數(shù)據(jù)管理系統(tǒng)進(jìn)行對比,有助于發(fā)現(xiàn)區(qū)塊鏈數(shù)據(jù)管理系統(tǒng)的基礎(chǔ)理論、實(shí)現(xiàn)方法的新研究問題,也有助于為這種新的數(shù)據(jù)管理系統(tǒng)尋找新應(yīng)用,為改造現(xiàn)有的技術(shù)和系統(tǒng)、適配新型應(yīng)用提供啟發(fā)。
表1 區(qū)塊鏈與DBMS對比
表1列舉了區(qū)塊鏈與傳統(tǒng)RDBMS的主要相似點(diǎn)和區(qū)別。首先,兩者都有順序組織的鏈?zhǔn)浇Y(jié)構(gòu),區(qū)別只在于其作用不同,區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)就是數(shù)據(jù)的存儲組織形式,而RDBMS的日志則主要用于數(shù)據(jù)恢復(fù)。區(qū)塊鏈中并不單獨(dú)存儲數(shù)據(jù)庫的當(dāng)前狀態(tài),而數(shù)據(jù)庫的快照是RDBMS中支撐索引、查詢等優(yōu)化技術(shù)的基礎(chǔ)。
其次,RDBMS通常只提供一定程度的硬件容錯,但并不支持防篡改。防篡改是區(qū)塊鏈在對等網(wǎng)絡(luò)中確保數(shù)據(jù)可信的最重要特性。
第三,區(qū)塊鏈,特別是公有鏈,是完全去中心化的,構(gòu)建于對等網(wǎng)絡(luò)。即使是聯(lián)盟鏈,雖然有些系統(tǒng)采用主鏈—支鏈的形式組織節(jié)點(diǎn),但是區(qū)塊鏈的各項(xiàng)實(shí)現(xiàn)機(jī)制都假設(shè)無中心節(jié)點(diǎn)存在。與之相反,傳統(tǒng)數(shù)據(jù)管理系統(tǒng)都是強(qiáng)中心的,且認(rèn)為中心節(jié)點(diǎn)是可信的。這直接導(dǎo)致了在確保數(shù)據(jù)一致性時(shí),區(qū)塊鏈系統(tǒng)采用的分布式共識算法通常只在分布式數(shù)據(jù)庫管理系統(tǒng)中用以維護(hù)元數(shù)據(jù)。這是兩者性能差異巨大的最主要原因。
第四,當(dāng)前的主要區(qū)塊鏈平臺并不提供所管理數(shù)據(jù)的模式管理。因此數(shù)據(jù)訪問方式也相應(yīng)地只提供過程型的應(yīng)用程序編程接口(application programming interface,API)。缺乏聲明型的接口為復(fù)雜數(shù)據(jù)管理任務(wù)應(yīng)用的開發(fā)制造了困難,也成了區(qū)塊鏈系統(tǒng)與現(xiàn)有數(shù)據(jù)管理系統(tǒng)交互和銜接的屏障。
此外,智能合約與RDBMS中的觸發(fā)器和存儲過程具有相似性。值得注意的是,在很多大型的關(guān)鍵任務(wù)應(yīng)用中,為了保持高性能以及遺留代碼的可維護(hù)性,常避免采用觸發(fā)器和存儲過程。
最后,區(qū)塊鏈和傳統(tǒng)RDBMS面向的應(yīng)用不同,區(qū)塊鏈正在承擔(dān)越來越多的金融領(lǐng)域跨部門、跨機(jī)構(gòu)、跨組織甚至跨行業(yè)的可信數(shù)據(jù)管理任務(wù)。
區(qū)塊鏈和RDBMS的區(qū)別不僅體現(xiàn)在架構(gòu)、功能和實(shí)現(xiàn)技術(shù)上,還體現(xiàn)在性能上。當(dāng)前性能較好的區(qū)塊鏈平臺的數(shù)據(jù)訪問吞吐率見表2[16]。而根據(jù)事務(wù)處理性能委員會(TPC)的數(shù)據(jù),在TPC-C基準(zhǔn)評測下,吞吐率能達(dá)到近5萬TPS(transaction per second)⑨http://www.tpc.org/tpcc/results/tpcc_advanced_sort.asp。需要注意的是,TPC-C的負(fù)載復(fù)雜度遠(yuǎn)遠(yuǎn)超出當(dāng)前區(qū)塊鏈平臺能支持的查詢和事務(wù)處理復(fù)雜度。和RDBMS相比,區(qū)塊鏈的性能劣勢限制了它在很多需要承受高負(fù)載壓力的關(guān)鍵任務(wù)應(yīng)用中的推廣和使用。
傳統(tǒng)數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)、實(shí)施、應(yīng)用開發(fā)邏輯是“一體適用(one-size-fitsall)”的,即DBMS是通用的,適用于任何領(lǐng)域的任何(結(jié)構(gòu)化)數(shù)據(jù)管理任務(wù)。關(guān)系數(shù)據(jù)庫管理系統(tǒng)產(chǎn)業(yè)的興起和發(fā)展也依賴于這一指導(dǎo)思想。2005年,Stonebraker M[17]對這一指導(dǎo)思想提出了疑問。10年以后,獲得2014年度圖靈獎的Stonebraker M則很明確地宣告?zhèn)鹘y(tǒng)DBMS不再適用于任何應(yīng)用場合[18]。這既是由于新硬件的快速發(fā)展顛覆了傳統(tǒng)DBMS研發(fā)時(shí)基于的假設(shè),也是因?yàn)閼?yīng)用的多樣性導(dǎo)致一個系統(tǒng)優(yōu)化、平衡所有功能和性能指標(biāo)是不可能的。
表2 部分區(qū)塊鏈系統(tǒng)性能
隨后,另一位重要的數(shù)據(jù)庫學(xué)者Carey M[19]提出了更具建設(shè)性的指導(dǎo)思想,即“分類適用(one size fits a bunch)”,針對一個特定領(lǐng)域的特定需求,設(shè)計(jì)專用的數(shù)據(jù)管理系統(tǒng),例如高通量事務(wù)處理需要NewSQL系統(tǒng)、聯(lián)機(jī)分析處理(online analytical processing,OLAP)需要列存儲的數(shù)據(jù)庫、文本搜索需要檢索系統(tǒng)、海量和流數(shù)據(jù)處理需要流數(shù)據(jù)處理系統(tǒng)、信息網(wǎng)絡(luò)的數(shù)據(jù)管理和處理需要圖數(shù)據(jù)庫,不一而足[20]。
區(qū)塊鏈正是滿足加密貨幣應(yīng)用的可信記賬需求而生的專用數(shù)據(jù)管理系統(tǒng)。于是,有兩個問題:區(qū)塊鏈?zhǔn)欠褚策m用于其他可信數(shù)據(jù)管理任務(wù)?如何借鑒區(qū)塊鏈技術(shù)解決更廣泛或其他領(lǐng)域的可信數(shù)據(jù)管理問題?
2016年,針對鋼鐵商品倉單抵押常見的虛假倉單、重復(fù)抵押等問題,研發(fā)了基于區(qū)塊鏈的智能倉單管理系統(tǒng),提供倉單生成、流通、交易等各環(huán)節(jié)的可信管理,其應(yīng)用架構(gòu)如圖4所示[21]。這是一個典型的聯(lián)盟鏈應(yīng)用,相互協(xié)作的多個節(jié)點(diǎn)(機(jī)構(gòu))通過區(qū)塊鏈共同管理倉單數(shù)據(jù)和倉單的交易、流通信息。與比特幣不同,鏈上的節(jié)點(diǎn)對信息的操作和使用方式不同。鏈上有倉單的擁有者(貨主)、管理者(倉庫)、監(jiān)管者(監(jiān)管公司)、查詢者(金融機(jī)構(gòu))以及倉單抵押、流通、交易過程中涉及的扮演各種角色的節(jié)點(diǎn)。
圖4 區(qū)塊鏈的智能倉單管理系統(tǒng)應(yīng)用架構(gòu)
針對倉單數(shù)據(jù)的結(jié)構(gòu)化特點(diǎn),系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)模式管理。參與單位常需要同時(shí)對鏈上的倉單信息和本地?cái)?shù)據(jù)庫信息進(jìn)行關(guān)聯(lián),進(jìn)而進(jìn)行分析處理。系統(tǒng)在區(qū)塊鏈的基礎(chǔ)上,實(shí)現(xiàn)了鏈上、鏈下數(shù)據(jù)的一體化查詢處理。
安全屋是上海優(yōu)刻得信息科技有限公司的數(shù)據(jù)流通云服務(wù)平臺⑩https://www.ucloud.cn/site/safehouse.html。數(shù)據(jù)在安全屋內(nèi)共享,進(jìn)行分析處理。在安全屋內(nèi),一切數(shù)據(jù)訪問、數(shù)據(jù)處理行為都被監(jiān)管與審計(jì),只有數(shù)據(jù)處理結(jié)果可被“帶出”安全屋。系統(tǒng)中進(jìn)出的數(shù)據(jù)與處理過程都使用區(qū)塊鏈進(jìn)行記錄,供后續(xù)審計(jì)和分析使用。
當(dāng)前的區(qū)塊鏈技術(shù)不足以支撐安全屋的所有記錄和監(jiān)管需求。一方面,數(shù)據(jù)分析包含大量機(jī)器學(xué)習(xí)和人工智能算法處理,比單純的交易記錄和事務(wù)處理要復(fù)雜很多,數(shù)據(jù)處理的記錄方式以及后續(xù)的審計(jì)方法都需要進(jìn)一步探索。另一方面,安全屋內(nèi)數(shù)據(jù)處理流程審計(jì)的本質(zhì)是對數(shù)據(jù)項(xiàng)處理過程的回溯查詢[22],當(dāng)前的區(qū)塊鏈平臺對于回溯查詢支持仍較弱。
政府擁有大量高質(zhì)量的數(shù)據(jù)。依賴這些數(shù)據(jù),可進(jìn)行精確、及時(shí)的政府治理。近年來,在我國的一些大中型城市,已經(jīng)出現(xiàn)一批利用交通監(jiān)控、社交媒體、行人騎行等各種數(shù)據(jù)進(jìn)行城市規(guī)劃、城市管理的成功案例。
政府治理不僅依賴自身各職能部門的數(shù)據(jù),也使用來自于企業(yè)和社會的數(shù)據(jù)。這些數(shù)據(jù)的分享、使用需要在一個統(tǒng)一、有監(jiān)管的平臺上進(jìn)行,區(qū)塊鏈?zhǔn)菍?shí)現(xiàn)平臺的自然選擇11https://ssrn.com/abstract=2709713 or http://dx.doi.org/10.2139/ssrn.2709713。與加密貨幣的去中心化不同,政府治理可能是多中心或者弱中心的,節(jié)點(diǎn)在一定程度上可被認(rèn)為是可信的。區(qū)塊鏈的架構(gòu)、共識機(jī)制設(shè)計(jì),乃至數(shù)據(jù)的存儲方式、模型管理、查詢和事務(wù)處理技術(shù)都需要面向政府治理進(jìn)行裁剪和定制。
秉持“分類適用”的思想,可以看到,當(dāng)前面向金融應(yīng)用的區(qū)塊鏈系統(tǒng)并非適用于所有領(lǐng)域。筆者認(rèn)為,區(qū)塊鏈技術(shù)在以下3方面值得進(jìn)一步深入探索。
首先,面向弱可信的弱中心或多中心的應(yīng)用環(huán)境,可信數(shù)據(jù)管理系統(tǒng)架構(gòu)是一個重要問題。很多關(guān)鍵任務(wù)應(yīng)用都處在這樣的環(huán)境中,且社會的組織架構(gòu)本身以及政府職能部門監(jiān)管要求,共同決定了絕對的去中心化系統(tǒng)的適用范圍并不大。這就需要重新審視區(qū)塊鏈本身的結(jié)構(gòu),研發(fā)更適合場景的系統(tǒng)。
在多中心的架構(gòu)下,華盛頓大學(xué)研發(fā)的對等網(wǎng)絡(luò)[23]上的數(shù)據(jù)管理原型系統(tǒng)Piazza[24]是一個有益的參考。Piazza系統(tǒng)中,每個節(jié)點(diǎn)維護(hù)自身的數(shù)據(jù);節(jié)點(diǎn)間數(shù)據(jù)模式可能不同;節(jié)點(diǎn)與鄰居節(jié)點(diǎn)的數(shù)據(jù)庫間維護(hù)著數(shù)據(jù)模式的映射;一個節(jié)點(diǎn)上的查詢利用模式映射翻譯后可在對等網(wǎng)絡(luò)上傳播,從而訪問其他節(jié)點(diǎn)的數(shù)據(jù)。這一組織方式比當(dāng)前區(qū)塊鏈的節(jié)點(diǎn)數(shù)據(jù)全量備份更靈活。當(dāng)然,Piazza的數(shù)據(jù)管理機(jī)制欠缺對于防篡改和事務(wù)處理的支持也很薄弱,還有大量工作值得探索和嘗試。
其次是系統(tǒng)的性能[16]。無論是分布式共識機(jī)制、事務(wù)處理,還是數(shù)據(jù)的存儲組織、索引、查詢乃至分析處理,區(qū)塊鏈系統(tǒng)都有極大的性能優(yōu)化和提升空間。而且?guī)缀跛袘?yīng)用都對區(qū)塊鏈的性能有較高的要求。
最后,鏈?zhǔn)浇Y(jié)構(gòu)天然地保留了數(shù)據(jù)的歷史記錄,然而當(dāng)前的區(qū)塊鏈系統(tǒng)對回溯查詢[22]的支持仍然薄弱,而回溯查詢對于審計(jì)、監(jiān)管等區(qū)塊鏈應(yīng)用而言又是必需的。因此,筆者認(rèn)為實(shí)現(xiàn)高效、靈活的回溯查詢機(jī)制對于拓展區(qū)塊鏈應(yīng)用場景具有重要意義。此時(shí),回溯不僅指對交易歷史記錄的回溯,也包括對機(jī)器學(xué)習(xí)等數(shù)據(jù)分析處理過程的回溯。
區(qū)塊鏈部分地解決了金融應(yīng)用中無中心的信任問題。在更廣泛的應(yīng)用場景中,如何在不依賴信用的前提下建立信任,是重要的研究問題。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的領(lǐng)域首先通過線上(online)數(shù)據(jù)共享,進(jìn)而實(shí)現(xiàn)線下(offline)虛擬或物質(zhì)物品的分享,以實(shí)現(xiàn)資源的合理利用和價(jià)值提升。這一過程在共享單車的迅速崛起并隨之暴露大量的企業(yè)管理、政府治理、用戶行為問題的歷程中得到了充分的體現(xiàn)。共享單車等互聯(lián)網(wǎng)應(yīng)用的蓬勃發(fā)展說明我國在商業(yè)模式創(chuàng)新方面已經(jīng)走到了世界的前沿,商業(yè)模式的創(chuàng)新能否轉(zhuǎn)化為科技創(chuàng)新的驅(qū)動力則是一個國家創(chuàng)新能力的標(biāo)志。需要發(fā)展新的數(shù)據(jù)管理技術(shù)來為企業(yè)的日常運(yùn)營、城市的有效治理提供有力的支撐。
能支撐新的數(shù)據(jù)管理需求的系統(tǒng)可以稱為“分享型數(shù)據(jù)庫(sharing d a t a b a s e)”,它應(yīng)能支持核心業(yè)務(wù)(mission-critical application),支撐分享經(jīng)濟(jì)業(yè)務(wù)模式(business model),甚至本身也是以分享經(jīng)濟(jì)的方式實(shí)現(xiàn)的分享經(jīng)濟(jì)時(shí)代的數(shù)據(jù)庫。區(qū)塊鏈已經(jīng)展示了面向特定領(lǐng)域應(yīng)用,設(shè)計(jì)實(shí)現(xiàn)這樣的系統(tǒng)的可能性。但在更多的領(lǐng)域,需要類似區(qū)塊鏈的分享型數(shù)據(jù)庫系統(tǒng)解決可信數(shù)據(jù)管理的問題。
分享型數(shù)據(jù)庫應(yīng)秉承“分類適用”的理念,與領(lǐng)域和應(yīng)用緊密結(jié)合。與傳統(tǒng)的數(shù)據(jù)管理系統(tǒng)不同,分享型數(shù)據(jù)庫的系統(tǒng)形態(tài)將是多樣的:對于涉及“人—財(cái)—物”的應(yīng)用,提供完善的事務(wù)處理機(jī)制以及一體化的數(shù)據(jù)獲取和管理;對于復(fù)雜數(shù)據(jù)的管理,提供結(jié)構(gòu)化數(shù)據(jù)模型和模式的管理;對于涉及數(shù)據(jù)分析的應(yīng)用,提供豐富的時(shí)序和回溯查詢支持;對于涉及數(shù)據(jù)處理審計(jì)的應(yīng)用,則在日志的基礎(chǔ)上,實(shí)現(xiàn)事務(wù)、統(tǒng)計(jì)乃至機(jī)器學(xué)習(xí)算法處理流程和結(jié)果的理解和記錄;分享型數(shù)據(jù)庫的架構(gòu)也與應(yīng)用相對應(yīng),可能是去中心的,也可能是弱中心或者多中心的。
信息化是業(yè)務(wù)發(fā)展和改革的基礎(chǔ),很多時(shí)候也是改革的先鋒,甚至引領(lǐng)應(yīng)用創(chuàng)新。筆者相信,與區(qū)塊鏈促進(jìn)了金融技術(shù)(FinTech)的演進(jìn)一樣,分享型數(shù)據(jù)庫將伴隨分享經(jīng)濟(jì)而快速發(fā)展。
[1] W O O D G. E t h e r e u m: a s e c u r e decentralisedgeneralised transaction ledger[R]. 2014.
[2] MERKLE R C. A digital signature based on a conventional encryption function[C]//The Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology, August 16-20, 1987,Santa Barbara, USA. London: Springer-Verlag, 1987: 369-378.
[3] C A S T R O M, L I S K O V B. P r a c t i c a l Byzantine fault tolerance and proactive recover y[J]. ACM Transactions on Computer Systems, 2002, 20(4): 398-461.
[4] LAMPORT L. Byzantizing paxos by refinement[C]//The 25th InternationalSymposium on Distributed Computing,September 20-22, 2011, Rome, Italy.Heidelberg: Springer, 2011: 211-224.
[5] ABRAHAM I, MALKHI D. BVP: byzantine vertical Paxos[C]//The Distributed Cryptocurrencies and Consensus Ledgers(DCCL), July 25, 2016, Chicago, USA.[S.l.:s.n.], 2016.
[6] HERLIHY M. Blo ckchains and the future of distributed computing[C]//The ACM Symposium on Principles of Distributed Computing, July 25-27, 2017,Washington, DC, USA. New York: ACM Press, 2017.
[7] WA L P O R T M. D i s t r i b u t e d l e d g e r technology: beyond block chain[R]. 2016.
[8] JACYNYCZ V, CALVO A, HASSAN S,et al. Betfunding: a distributed bountybased crowdfunding platform over ethereum[C]//The 13th International Conference on Distributed Computing and Artificial Intelligence, August 26-27,2016, Beijing, China. [S.l.]: Springer Int’l Publishing, 2016: 403-411.
[9] G ARCIA-M O LINA H, ULL M AN J D,WIDOM J. Database systems: the complete book[M]. Upper Saddle River: Pearson Education, 2009.
[10] R A M A K R I S H N A N R, G E H R K E J.Database management systems[M].Berkeley: McGraw-Hill, 2003.
[11] G R AY J, R E U T E R A. Tr a n s a c t i o n processing: concepts and techniques[M].San Francisco: Morgan Kaufmann Publishers, 1993.
[12] STONEBRAKER M, BROWN P, MOORE D.Object-relational DBMSs: the next great wave[M]. San Francisco: Morgan Kaufmann Publishers, 1998.
[13] WINSLETT M. Bruce Lindsay speaks out: on system R, benchmarking, life as an IBM fellow, the power of DBAs in the old days, why performance still matters,Heisenbugs, why he still writes code,singing pigs, and more[J]. ACM SIGMOD Record, 2005, 34(2): 71-79.
[14] WINSLETT M. Jim Gray speaks out: on chasing the object-relational rainbow,why performance is a nonissue, bad ideas that went good, reinventing the field,sailboats, lunatic fringe papers, whether to try for a home run, and more[J]. ACM SIGMOD Record, 2008, 37(2): 5-15.
[15] DOAN A H, HALEV Y A Y, IVES Z G.Principles of data integration[M]. San Francisco: Morgan Kaufmann, 2012.
[16] CACHIN C, VUKOLIC M. Blockchain consensus protocols in the wild[J]. Computer Science, 2017: arXiv:1707.01873.
[17] STONEBR AKER M, CE TINTEMEL U.“One size fits all”: an idea whose time has come and gone[C]//The 21st International Conference on Data Engineering, April 5-8, 2005, Tokyo,Japan. Washington, DC: IEEE Computer Society, 2005: 2-11.
[18] STONEBRAKER M. Turing lecture[C]//F e d e r a t e d C o m p u t i n g R e s e a r c h Conference(FCRC), June 13-14, 2015,Portland, USA. [S.l.:s.n.], 2015.
[19] PIRZADEH P, CAREY M J, WESTMANN T.BigFUN: a performance study of big data management system functionality[C]// The 2015 IEEE International Conference on Big Data (Big Data), October 29-November 1,2015, Santa Clara, USA. Washington, DC:IEEE Computer Society, 2015: 507-514.
[20] 李戰(zhàn)懷, 王國仁, 周傲英. 從數(shù)據(jù)庫視角解讀大數(shù)據(jù)的研究進(jìn)展與趨勢[J]. 計(jì)算機(jī)工程與科學(xué), 2013, 35(10): 1-10.LI Z H, WANG G R, ZHOU A Y. Research progress and trends of big data from a database perspective[J]. Computer Engineering and Science, 2013, 35(10): 1-10.
[21] 邵奇峰, 金澈清, 張召, 等. 基于區(qū)塊鏈的智能電子倉單的設(shè)計(jì)與實(shí)現(xiàn)[R]. 上海: 華東師范大學(xué)歐冶產(chǎn)業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)與區(qū)塊鏈實(shí)驗(yàn)室,2017.SHAO Q F, JIN C Q, ZHANG Z, et al.Design and implementation of intelligent electronic warehouse receipt based on blockchain[R]. Shanghai: ECNU-OuyeelJoint Lab on Big Data and Blockchain for Industrial Internet, 2017.
[22] CHENEY J, CHITICARIU L, TAN W C.Provenance in databases: why, how,and where[J]. Foundations and Trends in Databases, 2009, 1(4): 379-474.
[23] ORAM A. Peer-to-peer: harnessing the power of disruptive technologies[J]. ACM SIGMOD Record, 2003, 32(2): 57-58.
[24] HALEVY A Y, IVES Z G, MADHAVAN J,et al. The Piazza peer data management s y s t e m[J]. I EEE Tr a n s a c t i o n s o n Knowledge & Data Engineering, 2004,16(7): 787-798.