
點選上方藍字關注我們

基于區塊鍊的資料市場
汪靖偉, 鄭臻哲, 吳帆, 陳貴海
上海交通大學計算機系,上海 200240
論文引用格式:
汪靖偉, 鄭臻哲, 吳帆, 陳貴海. 基于區塊鍊的資料市場. 大資料[J], 2020, 6(3):21-35
WANG J W, ZHENG Z Z, WU F, CHEN G H.Blockchain based data marketplace. Big Data Research[J], 2020, 6(3): 21-35
1 引言
當今世界中的資料量正在迅速增加。線上社交網絡Facebook自成立以來,已經收集了超過300 PB的個人資料,而這個規模還在進一步擴大。IBM公司的研究人員提出,當今世界90%的資料是在過去2年中産生的,而且随着新的裝置和技術的出現,資料增長會進一步加快。在大資料時代,資料不斷地被收集和分析,進而引領科技創新和經濟增長。公司群組織使用其收集的資料提供個性化的使用者服務、優化公司決策過程、預測未來趨勢等。在廣泛的資料使用過程中,人們開始關心個人資料的安全問題,擔憂提供服務、收集資料的網際網路公司是否會保護使用者的資料隐私,而人們幾乎無法控制他們所産生的資料及其使用方式。近些年來,許多與侵犯使用者資料隐私有關的事件被報道,其中最著名的例子就是Facebook的5 000萬使用者資料被洩露,使用者的隐私遭到了很大程度的侵害。
為了保證資料的正常流通與使用,充分發揮大資料的價值,近年來興起了衆多關于個人資料共享與交易的新興機構。除了傳統的資料流通方式(即公司與使用者之間廣泛存在的資料換取服務的模式)外,還湧現出了大資料共享交易市場,通過将資料需求與資料源進行比對來促成資料交易。這些資料市場已經具備了相當的規模,這些資料市場被估值數百億美元,并在持續增長。在資料市場中,資料持有者展示他們的資料資訊,以吸引潛在的資料消費者;資料消費者搜尋、選擇他們需要的資料集,并通過支付一定的費用來擷取資料使用權;資料市場通過促成資料交易來獲得收益。但随着資料共享交易規模、資料價值的增長,共享交易過程中的欺詐和洩密的情況也會逐漸增多。集中式資料市場的架構一般如圖1所示,在這種架構中,集中式的公司或組織營運的市場平台在系統中起着至關重要的作用。市場中涉及的各方——資料賣家、資料買家和市場平台,能通過串通舞弊、套利購買政策等方式獲得更高的收益。此外,集中式的資料交易模式缺乏資料買方與資料賣方之間有效的資訊溝通管道,導緻資料交易效率低下。最後,市場平台擁有更多的資訊優勢,即市場平台知道資料内容,而資料買家在未購買資料之前無法知曉資料内容,是以市場平台可以通過建構資訊壁壘并控制資訊披露來非法獲得收益。
集中式資料市場存在一些不可避免的資料安全隐私、資料版權保護以及共享流通性能瓶頸等問題。首先資料交易的中介(通常情況下是市場平台)必須是安全可信的。市場平台需要具備公信力,確定其不會非法使用交易中的資料,洩露資料持有者的隐私。然而市場平台存在這樣的動機,而且即使它違規使用、出售了資料,一般也難以追究。同時,集中式資料市場很容易成為攻擊者的目标,使用者的敏感資訊(例如位置、聊天記錄等)被儲存在集中式的資料庫中,存在隐私洩露和資料丢失的風險。現有大多數的資料市場在集中式伺服器上運作,這樣的系統存在着單點故障和單點性能瓶頸。有研究表明,現有的集中式資料市場還會控制買家和賣家的互相搜尋,導緻市場運作效率低下。
為了規避集中式資料市場的弊端,去中心化的資料市場誕生了。去中心化的資料市場架構可以規避依賴可信中介介入資料交易的要求,擺脫單點故障和單點性能瓶頸,并提高透明度和可信度。但是去中心化的資料市場由于缺乏中心的管理,其系統設計與安全性保證會比集中式資料市場更困難,比如“雙重支付”問題一直是分布式系統的難點。近些年來,區塊鍊技術日趨成熟,區塊鍊去中心化的架構可以作為資料市場的底層架構,提供良好的支援。區塊鍊是一種去中心化的分布式資料存儲技術,在資料市場系統中引入區塊鍊層,将使個人使用者能夠直接與資料需求方達成交易,不依賴任何第三方,進而讓使用者保持對資料的所有權,并確定交易過程的公開透明。
2 市場調研與相關研究
2.1 現有資料交易市場調研
由于資料有優化決策和提供服務的功能,各個組織和機構都開始關注資料的流通和交易。比如,Datashift、Gnip、NTT DATA等公司轉售來自Twitter等社交網絡的資料,Xignite公司出售金融行業的資料,Factual公司則關注地理位置資料的交易。同時,還湧現出了大資料共享交易市場,通過将資料需求與資料源比對來促成資料交易,比如Infochimps、AWS Dataexchange、Qlik Datamarket、Here等。Datacoup是一個集中式資料市場平台,允許使用者出售各種類型的個人資料(包括财務資料和社交賬戶資料),其用戶端應用程式允許使用者從第三方應用程式(如Facebook和Twitter)導入資料。由于Datacoup從使用者手中收集原始資料,是以使用者必須在資料存儲和資料管理上完全信任Datacoup。與Datacoup類似,People.io是一個集中式平台,其最大的特點是不會将個人資料直接出售給其他組織。它使用機器學習算法分析使用者的個人資料,然後向使用者推送個性化廣告。使用者雖然不會因提供其個人資料而直接獲得獎勵,但是他們可以通過接收個性化的廣告來獲得收益。
圖1 集中式資料市場架構
國内資料市場的發展尚不成熟,還未形成完整的資料流通交易的産業鍊條。比如有以網際網路企業為主導的大資料共享平台,它們的資料大多來源于旗下應用軟體收集的資料,如阿裡雲、京東萬象等;還有資料堂、數海、浪潮天元、數多多等資料共享與交易的平台,這些平台以多種途徑收集來自第三方的資料,實作大資料資源的線上交易。此外,還有由政府主導的大資料交易中心,這些中心多為政府/國企獨資,或國企與民企合資,如貴陽大資料交易所和上海資料交易中心等。然而這些資料交易中心一般比較封閉,其具體的資料市場架構技術還比較模糊。
近幾年,基于區塊鍊的分布式資料交易市場引起了業界的極大關注。IOTA是專門針對物聯網(IoT)設計的加密“貨币”,利用區塊鍊技術已經搭建了針對物聯網資料的交易市場。類似的公司還有DataBrokerDAO、Datum、Datapace和Wibson等,這些公司有的直接出售其收集的資料集,有的向大衆收集個人資料,并将其出售給個人使用者。國内也有一些使用區塊鍊技術建構資料市場的例子,如上海資料交易中心采用聯盟鍊将與交易有關的資訊存儲在區塊鍊節點中,以確定資料交易安全、高效、可信。現有的區塊鍊資料市場都隻保證了資料市場建構的某些要素,沒有全面地考慮建構資料交易市場應該達到的目标:去中心化、公平性、隐私性、有效性以及經濟學性質。在第3節中,筆者将詳細讨論這些性質。
2.2 相關研究工作
在研究界中也有許多工作涉及區塊鍊、資料市場及其相關問題。Balazinska M等人讨論了新興數字資料市場的意義,并列出了這一方向的研究機會。Zyskind G等人使用區塊鍊保護個人資料的隐私,将區塊鍊轉變為一個不依賴受信第三方的自動通路控制管理器,以明确資料的所有權,確定使用者控制他們的資料,但該工作隻讨論了資料的存儲和共享問題。Zheng X等人讨論了使用區塊鍊共享個人健康資料的系統,使使用者以符合通用資料保護法規的方式安全地控制和共享其個人健康資料,這項工作着眼于資料的采集和存儲,重點引入了一個控制資料品質的方法。Goldfeder S等人研究了使用區塊鍊交易實物商品過程中的公平性、安全性和隐私性問題。The AdChain Registry是一個基于以太坊的廣告發行商系統資料庫,為廣告投放者提供被推薦的廣告發行商,為特定的資料買家提供一組被推薦的資料源。FairSwap則主要考慮在智能合約中實作公平交換的有效協定,它主要着重于數字商品公平性的實作。
也有一些文獻研究使用區塊鍊建構分布式的資料市場中的問題。Missier P等人考慮了物聯網的特征,建構了一個去中心化系統,并分析了其性能。Cao T D等人則建構了一個實時人類感覺資料的市場。然而這些系統往往沒有考慮合适的定價機制,仍然以某種形式依賴于具有公信力的第三方,或者隻是停留在理論的分析上,并沒有完整的系統。針對集中式資料市場的研究工作側重于探讨定價機制的問題,對資料的收集、處理、拍賣各個過程有更細緻的設計。Mun M等人提供了一個個人資料保管庫,提供了管理資料政策的機制,讓個人使用者可以細粒度地控制通路和共享資料。CrowdBC是用區塊鍊建構的群智感覺系統,作者着重讨論了圖檔資料在交易中的特性和處理辦法。Banerjee P等人建構了一個基于區塊鍊的資料市場,在買賣雙方的交易中引入了一個可信中間人,這雖然使得買賣雙方的交易變得更加簡單,但也會使系統的安全性降低很多。雖然Gupta P等人提出的交易仍需要第三方的介入,但是其在交易過程中設定了多個分布式的中介參與交易,限制了中介的壟斷能力。Ramachandran G S的創新在于其資料的傳輸和支付都在鍊下進行,這能節省區塊鍊昂貴的存儲空間。Liu K等人則針對基于區塊鍊的資料市場中的定價問題,設計了一種自動化的定價談判機制。DDV是一個出售個人病曆的分布式資料交易架構,當資料賣方想要出售其病曆時,他必須将其加密的資料上傳到雲存儲服務提供商,并将其資料資訊送出給區塊鍊智能合約。DDV仍使用第三方雲存儲服務來存儲資料賣方的資料。盡管在将資料上傳到雲存儲之前已進行了加密,但是資料購買者和資料出售者仍必須信任第三方雲服務,以實作資料的持久性和資料傳遞。
2.3 區塊鍊概述
區塊鍊概念于1991年由W.ScottStornetta提出,他在論文中描述了一種稱為“區塊鍊”的數字型系結構系統。2008年,中本聰提出了比特币這一新型的“數字貨币”,其背後的區塊鍊技術也得到了許多研究領域的廣泛關注。
在區塊鍊網絡中,所有參與者本質上是一組不互相信任的編寫者,他們共享着一個沒有可信中間人的資料鍊。為了防止分叉現象在這個分布式環境中爆發,區塊鍊設計了共識協定。區塊鍊節點可以作為礦工提供計算資源,以競争将事務記錄到區塊鍊中的權力,獲勝者将得到經濟激勵。這是區塊鍊達成共識的一種機制,叫作工作量證明(proof of work,POW)。
工作量證明使得理論上攻擊者隻有掌握了超過整個系統50%的算力才能攻破區塊鍊系統。然而共識協定付出了消耗海量算力和資源的代價,近幾年,全球用于比特币“挖礦”消耗的年用電量達到每年總電量的0.13%。每個完整節點都必須存儲所有事務,以在區塊鍊上驗證這些事務的合法性。此外,由于塊大小的限制和用于生成新塊的時間間隔,比特币每秒隻能處理7個事務,這不能滿足實時處理數百萬個事務的要求。
以太坊的概念在2013年由Buterin V受比特币啟發後提出,其最大的特性就是增加了對智能合約的支援,它會在使用者的以太坊節點中運作一個虛拟機,其中運作的智能合約采用Solidity編寫,該語言能夠支援圖靈完備性。為了滿足在使用者用戶端的虛拟機中運作的需求,Solidity語言的功能被設計得很弱小,Solidity隻以一種特殊的方法實作了JavaScrip函數中的一部分,使得智能合約在以太坊中比較容易出錯。另外,在以太坊網絡中進行的涉及狀态更新的計算都需要消耗“天然氣”(gas,采用Wei為機關,這是以太币的最小機關),這使得在以太坊網絡中進行複雜計算變得不劃算。
區塊鍊技術為打造去中心化的資料市場、降低中間機構在交易雙方之間的幹預作用提供了新的方向。區塊鍊具有一些特性:一是權力下放,在集中式系統中,每個交易需要通過中央可信的機構進行驗證,這不可避免地提高了中央伺服器的成本和性能瓶頸;二是其透明性與安全性,交易可以快速驗證,誠實的礦工不會承認無效的交易,一旦交易被包含在區塊鍊中,就幾乎不可能删除或者復原交易;三是匿名性,每個使用者可以使用其位址與區塊鍊互動,目前很多區塊鍊系統緻力于使區塊鍊成為完全匿名的系統,如Monero币等。
由于這些特性,區塊鍊目前具有廣泛的應用前景。不同領域(如IoT、智能交通系統、命名和存儲系統以及健康記錄共享等)的應用都有基于區塊鍊技術的實作。區塊鍊的底層技術——星際檔案系統(interplanetary file system, IPFS)是一種内容可尋址的對等超媒體分發協定,在分布式系統環境中也有廣泛的應用價值。
3 區塊鍊資料市場設計目标
在資料交易中,區塊鍊系統替代了集中式資料市場的地位,買賣雙方會直接就區塊鍊中智能合約的執行進行交易。設計基于區塊鍊系統的資料市場主要考慮如下幾個問題。
● 去中心化:由于集中式資料市場的弊端,許多研究開始讨論建立一個去中心化的資料交易系統,讓資料持有者與資料需求者通過安全可信的分布式系統直接進行交易。然而許多現存的相關研究與系統設計仍然在一些子產品中依賴可信的第三方實體,而這些第三方實體有動機和能力通過破壞買方和賣方的交易獲益。是以對于去中心化的資料市場,筆者認為應建構一個不依賴任何可信第三方、隻有資料買家與賣家參與的系統。交易直接由買賣雙方達成,各種安全性、隐私性的需求由分布式交易系統的設計來實作。
● 公平性:公平性指的是買家和賣家在整個交易中的地位應是相同的,他們會對交易的資料和其價格達成共識,他們都具備随時停止交易的能力。最基礎的公平性應在智能合約執行結束時實作,要麼買家獲得有效資料、賣家獲得付款,要麼買家和賣家均不獲得任何收益,要防止資料賣家提供不合法資料、資料買家抵賴資料購買費用等不公平情況的出現。
● 隐私性:隐私性要求系統保護使用者的身份隐私和資料隐私。身份隐私即資料市場中使用者的匿名性,比特币區塊鍊的匿名能力僅僅是化名的程度,有許多區塊鍊系統緻力于提升它們的匿名能力。資料隐私指資料隻能由購買了這份資料的使用者使用,攻擊者無法從存儲在區塊鍊中的資訊得到資料的任何額外資訊。在很多場景中,資料消費者往往是購買一份資料的一次使用權,在這種系統中,資料隐私性要求資料買家在使用完資料後也無法獲得資料的任何額外資訊。
● 有效性:對于所有廣泛實施的實際系統,要能夠有效實施,需要保證參與者的使用體驗,這對系統的執行提出了運作效率和資源消耗上的要求。在基于區塊鍊的資料市場中,需要考慮區塊鍊系統自身的執行速度能否跟上大資料交易的需求。由于區塊鍊智能合約的特殊機制,應該盡量避免使用智能合約進行複雜計算。
● 經濟激勵:資料市場的一個主要目标是為所有參與系統的使用者謀取利益,以激勵他們參與到大資料共享與交易系統中。首先是買家和賣家都會在交易中獲益,資料賣家能夠通過出售自己資料的使用權得到盡可能多的經濟收益,資料買家能夠得到符合自身需求的高品質資料。同時,交易産生的手續費将激勵其他參與者做好系統平台的維護工作。在定價博弈中,一些賣家和買家可能會串通,以攫取其他使用者的利益,是以資料市場在提供經濟激勵的同時,還需要確定不出現經濟套利等非法政策行為。
4 系統架構
本文設計的基于區塊鍊的資料市場系統由以下3個元件構成:以太坊區塊鍊中的一個智能合約、系統參與者持有的用戶端和一個點對點的資料傳輸網絡。當一個資料買家需要一些特定的資料來計算一個特定的任務時(如需要所處位置附近的溫度傳感器的資料計算當地室外溫度),他會使用資料篩選子產品,并通知智能合約。整個系統通過安全計算的方式定位到一些符合條件的資料,經過資料買家與資料賣家的互動後,資料定價子產品會确定出售的資料及其價格。付款完成後,系統又以安全計算的方式運作買家的計算任務,并将結果傳回給買家,交易完成。在交易進行的過程中,系統需要確定前文提到的設計目标,後文将詳細介紹該系統的各個子產品。
4.1 資料篩選
資料購買者通常不需要所有使用者的所有資料,而是關心特定使用者的特定資料。例如,在衆包任務中,資料購買者想知道某位置的室外溫度,他可以提出限制條件:賣方提供資料的傳感器的位置需要在一定的範圍内,并且提供的資料也需要滿足一定的時效性。該過程被稱為資料篩選,買家可以将自己的資料需求整理成一個邏輯表達或者一個數學函數存入區塊鍊,以供賣家查詢判斷。
這些資料的篩選條件一般比較簡單,是以将買家的資料篩選需求直接上傳到區塊鍊是不合适的,這顯然暴露了買家和賣家的隐私。根據資料篩選的形式,攻擊者很容易推斷出買家的資料需求,進而擷取買家和賣家的隐私。在上例中,如果買家感興趣的一個位置被公開,攻擊者可能會推斷出買家的活動範圍,同時,賣家持有的臨近該位置的裝置也被暴露。是以,為了保護系統參與者的隐私,應該在隐藏資料篩選條件的同時篩選出目标資料。最直覺的解決方法是函數加密,即擁有解密密鑰的使用者(買家)可以獲得密文資料的函數值(資料篩選函數),卻不會獲得有關明文的任何資訊。
另外,将買家的資料篩選需求轉化成數學邏輯表達有時并不直覺。資料的交易有時也針對一些非結構化的資料,例如,買家需要一些“貓”的圖檔。買家也許能夠判斷一段資料是否是他想要的,但無法通過簡單适當的邏輯來量化這些需求。為了給出買家篩選需求的邏輯表達,系統中需要運作一些複雜的資料處理算法來得到資料的品質以及與篩選需求的契合程度。由于需要對每一份潛在的資料進行運算,這些算法應盡量簡化。
4.2 資料存儲
資料存儲機制是一個通用術語,用于描述如何推送資料以及将其存儲在何處。主流公共區塊鍊對區塊中的交易數量和空間有限制,可以是區塊的大小(比特币)或區塊中消耗“天然氣”的上限(以太坊)。對于資料交易市場而言,将海量的資料直接存儲在區塊鍊上是不可行的。
Quorum和Corda都是受區塊鍊啟發針對金融領域的平台,它們提出了一種不将資料公開存儲在區塊鍊上的模型。其中,資料由參與的第三方(金融機構)保持脫鍊狀态,并且共識功能旨在確定互動各方達成協定。這種方法對于金融機構可能是實用的,但它違背了去中心化的設計目标。
盡管将完整的資料存儲到區塊鍊中是不現實的,但可以上傳與特定的資料綁定的“資料摘要”。是以,一般提出的資料市場針對的是非實時和可容錯的交易模式,這些系統可以在較長的時間間隔内将資料發送到資料後端,此方法需要分布式檔案存儲層的輔助。IPFS和Swarm是2個主要的分布式檔案存儲層。這2種技術都是點對點(P2P)技術,具有分布式的檔案傳輸系統,其中檔案通過其内容的哈希值進行尋址。當資料成功存儲在IPFS中時,使用者将收到一個哈希索引,這将允許使用者以後檢索該檔案。這個索引将代替資料存入智能合約,節省整個系統的負擔。這些分布式檔案系統也是公開透明的,其中存儲的資料應是加密的。同時,如果所有參與系統的使用者都維護一個IPFS或Swarm節點,其代價是很高的,可以讓一部分系統參與者作為分布式檔案存儲的服務提供者,向上傳資料的使用者收取一定的費用。
4.3 資料定價
在資料市場中,資料售賣形式的設計和價格的設定一直是一個活躍的研究領域。本文在博弈論環境中考慮定價機制的設計,每個資料持有者對于他們的資料都有一個私人的估值,即資料持有者隐私被洩露出去的損失;資料購買者對于他将購買的資料也有一個估值,即這份資料對于購買者的價值。其中出價者可能選擇不誠實地報告他們對一份資料的估值。這會給交易的機制設計帶來麻煩,博弈論中的解決方法是設計激勵相容的機制,讓每個出價者都在報告其真實估值時得到最高收益。出價者報告其真實估值能夠讓設計定價機制變得簡單很多。
多份相關資料的捆綁定價也是資料市場交易中常見的問題。早期研究通常簡單地假設對于資料買家,捆綁資料的期望價值等于所有資料的單獨價值的總和。後面的研究發現,資料之間互相影響,每份資料的價值依賴于整個交易資料集的内容,資料集價值的展現來自資料的互相關系。
資料作為一種商品有一些獨特的性質,這些性質使得資料定價需要考慮額外的一些問題。一是資料的邊際成本極低,或者說根本沒有邊際成本。邊際成本指在一個商品生産後,複制一份需要的代價。資料基本為零的邊際成本使得一旦資料買家獲得了資料賣家的資料,那麼他就可以随意處置、随意出售這份資料。二是資料的價值和資料量沒有必然聯系。比如對于一個需要一些“貓”的圖檔的人,一堆關于“狗”的圖檔幾乎沒有價值。三是資料價值的量化。資料的價值難以量化,資料持有者很難估計出資料的價值,同時不同人之間的估值也大相徑庭。
針對這些資料的特性,資料市場中的資料交易模式也發生了變化。傳統的資料市場會直接交易使用者的資料,而不誠實的買家可以在賣家不知情的情況下轉售自己已購買的資料集,進而獲得利益。許多工作發現絕大多數資料消費者僅僅需要在大量資料背後的一些統計結果或進階特征,比如計算資料集的平均值,或者為機器學習模型訓練資料,而不是需要資料本身。是以,資料市場可以從資料持有者處收集資料,然後為資料消費者手中的計算任務服務。買家提供一個特定的任務,其輸入是其購買的多份資料的一次使用權,而輸出是買家想要的結果。這樣,資料本身就與資料消費者隔離了。
在上述設計中,對資料價值的評判實際上變成了對買家計算任務的結果準确度或者其計算結果對買家的價值的評判。雖然資料本身的價值難以量化,但任務結果的提升容易量化。由于買家需要的往往是多個賣家的資料,是以在交易中還需要區分每份資料單獨的價值。在計算資料價值時, Shapley值可以用于計算單份資料的貢獻。在博弈論中,計算Shapley值是一種将收益和成本公平配置設定給參與合作的多個參與者的一種解決方案。Shapley值的計算複雜度随着資料數量的增長量指數級增長,是以在實際使用中常常采用近似算法。
4.4 安全計算
區塊鍊是一種公開透明、去中心化的資料存儲技術,所有進入區塊鍊系統的資訊都是公開的,所有交易或者腳本的執行都是透明的。同時,區塊鍊智能合約的計算能力非常弱小,由于受區塊大小和gas限制,調用一次智能合約能進行的計算很少,但代價很高。是以,無論是在智能合約中直接運作買方釋出的任務(智能合約幾乎無法承擔這樣的負擔),還是在區塊鍊外交給某個不受信任的個人,都是不安全的,同理,資料篩選過程和資料定價過程也存在這樣的問題。比特币、以太坊等區塊鍊公共鍊中的節點之間互不信任的同時又完全公開透明的特性,使得隐私保護工作産生了新的問題。
本文的目标是在整個資料市場系統和市場系統内的交易過程中,資料市場不洩露任何關于使用者及其資料的額外資訊。有許多方法可以安全、正确地執行系統中的計算工作,同時保護各方的隐私。安全計算的作用就是在保護隐私性、公平性等特性的同時完成各種計算任務,不同領域的研究都能不同程度、不同角度地達成目标。
密碼學是實作安全計算最直覺的方法。安全多方計算(secure multi-party computation,MPC)是密碼學中的一個子領域,也是安全計算問題的直接解決方案。MPC的目标是為各方建立聯合計算函數的方法,同時保護這些輸入的私密性。與傳統的加密方法不同,密碼學技術保證了通信或存儲的安全性和正确性,而這種模式的密碼學側重于保護參與者之間的隐私。MPC現在可以被看作各種現實問題(特别是那些隻需要簡單的線性共享秘密的問題)的實際解決方案,例如配置設定投票、私人競标和拍賣、共享簽名或解密功能、私人資訊檢索等。許多購買者的簡單任務可以通過MPC輕松地執行。然而,MPC方法不能用于深度學習任務。主流MPC架構的核心使用2種加密技術:加密電路和不經意傳輸。MPC将買家的任務函數轉換成一個亂碼電路,然後以不經意傳輸的方式發送出去。在複雜繁重的計算任務中,将深度神經網絡轉換成亂碼電路勢必會增加計算量,并失去一定的精度。同時,在MPC中,深度學習可能導緻不可接受的通信複雜度。此外,同态加密和零知識證明也可以用于一些簡單的任務。
實作安全計算的另一種方法是使用可信硬體,如可信執行環境(trust execution environment,TEE)。TEE是一個通用概念,是主處理器的一個安全區域,它保證裝載在其中的代碼和資料在保密性和完整性方面受到保護。假設一部分使用者擁有一些TEE硬體,則将這些使用者視為安全使用者。賣方将發送他們的資料到安全使用者的TEE裝置,買方的計算任務将在TEE中進行計算,并以安全的方式将結果傳回買方。隻有在TEE中運作的受信任的應用程式才能通路裝置的主處理器、外圍裝置和記憶體的全部功能。硬體隔離保護資料和計算内容不受在主作業系統上運作的使用者安裝的應用程式的影響。支援TEE實作的典型硬體技術是ARM TrustZone和Intel SGX Software Guard擴充。SGX是Intel體系結構的擴充,可以在硬體級别保護應用程式的執行。例如,SGX可用于雲計算環境中保護購買者資料,示例包括VC3和Haven。SGX技術的核心是在記憶體中隔離出一塊特殊區域(稱為“飛地”),指定程式可以在該區域中建立“安全區”,并将關鍵代碼和資料存儲到“安全區”中。隻有CPU或程式本身可以通路“飛地”中的代碼和資料。這些現有的硬體技術都被聲稱存在漏洞。而一些開源項目和大公司也正緻力于使TEE更強大。
聯合學習是谷歌公司提出的一種不需要集中訓練資料的新型協同機器學習方法。它的工作流程是:資料賣方從買方提供的雲上下載下傳目前的模型,并通過從賣家資料中學習來改進模型,然後将更改聚合為一個小更新。模型的這個更新使用加密通信發送到雲,在雲中更新的模型立即與其他使用者的更新進行聚合,以改進共享模型。是以,所有的訓練資料都隻儲存在賣方的裝置上,沒有單獨更新存儲在雲中。聯合學習通常針對使用者擁有多個資料或一個資料集的情況,不适用于單個賣家僅提供少量資料的情況。如果賣方隻提供了一條資料參與訓練,惡意買方可能有能力将賣方的真實資料從模型更新中進行逆推計算,且資料的訓練過程需要頻繁的通信,效率非常低。
5 系統實作與驗證
5.1 系統實作架構
根據第4節設計的資料市場架構,筆者實作了一個基于以太坊私鍊的資料市場系統,包括系統參與者持有桌面應用用戶端、以太坊網絡中的智能合約以及資料傳輸網絡。桌面用戶端采用JavaScript編寫,以太坊智能合約使用Solidity編寫,資料傳輸則直接使用IPFS的JS接口。筆者設計的系統架構以及各部分元件間的互動如圖2所示。
筆者實作了預期系統的一個簡化版本,以便于進行系統正确性與可行性的驗證與分析。筆者将系統簡化為一個買家和多個潛在的賣家進行交易,一個買家隻需要一份資料,定價機制采用第二價格拍賣,即成交的資料采用賣家出價最低的資料,而資料按出價第二低的價格付款。買家的計算任務被設定成簡單的形式,可以使用同态加密或安全多方計算來保證安全計算。筆者在系統中實作了2種具體的資料形式的交易,非結構化的圖檔資料和結構化的GPS行程資料。
資料市場的交易過程如圖3所示。資料賣家在智能合約中添加一份新的資料資訊,資料買家添加一個包含資料需求的訂單,賣家根據訂單中的條件,在比對到合法資料後給出一個報價,系統會運作定價機制并計算出獲勝的資料,這份資料會通過安全計算的方式計算買家的任務,同時傳遞資料。在系統中,使用者可以進行的操作如下。
● 新增賬號。要在資料市場中買賣資料,使用者首先必須注冊一個以太坊賬号,用戶端中也包含一個簡單的以太坊賬号管理功能。同時使用者還需要在筆者編寫的智能合約(以下簡稱DDM)中新增賬號,比如使用者可以在智能合約中注冊一個傳感器裝置的賬号,其中需要公開傳感器裝置的類别、型号等資訊。
圖2 系統架構以及各部分元件間的互動
圖3 資料市場交易流程
● 添加資料。資料持有者在生成了一些他想要出售的資料後,可以将資料加密上傳到IPFS,同時在智能合約賬号中注冊這份資料,其中包含資料的存儲位址、資料的哈希值和注冊時間等。在筆者的系統設計中,鼓勵資料買家在添加資料訂單以購買資料時設定資料注冊時間要求,隻有滿足資料注冊時間要求的資料持有者才有資格競标該訂單,以提升資料的時效性和可靠性。
● 釋出訂單。若資料買家想要在市場中購買特定資料的一次使用權,那麼他會在DDM中添加一個訂單,訂單中包含買家對資料的需求(包括資料類型、資料選擇函數、資料價格限制、資料數量限制等)和買家使用資料的計算任務。
● 資料賣家提供其出價的哈希值。資料賣家選好一份或者多份符合資料買家需求的資料,并定好一個打包的價格。由于區塊鍊完全公開透明的性質,直接在DDM中出價會導緻套利發生,後報價的賣家可以看見其他賣家的出價,并通過控制自己的出價來獲得更高的利潤。筆者在系統中設定了一個時間視窗,賣家需要在視窗内送出其出價的哈希值,這樣相當于實作了一個密封拍賣。同時這樣的設計有助于實作公平性。
● 資料買家通知DDM擷取市場資料賣家的真實出價。資料買家通知DDM停止接受使用者參與交易,并開始接受已參與交易的使用者公開他們的出價。智能合約無法主動執行指令,需要區塊鍊使用者觸發,同時資料買家可以将一些賣家列入黑名單,拒絕他們的出價。
● 資料賣家公布真實出價。資料賣家公布其出價,該出價需要與之前的哈希值吻合。如果資料賣家沒有在規定時間内公布真實出價,說明賣家後悔了,則系統會降低該賣家的信譽值,以作為懲罰,成功交易資料的賣家的信譽值會提升。信譽值過低的使用者将無法參與交易,信譽值體系可以抑制系統參與者的作弊行為。
● 定價機制。筆者采用經典的維氏拍賣(Vickrey– Clarke– Groves auction)機制用于資料挑選和價格決定。VCG拍賣機制保證了真實性,是以每個投标人都有動機對自己的個人資料進行真實估價。
● 安全計算/傳遞資料。系統會采用同态加密的方式計算買家的計算任務,然後将加密的結果交給資料買家,訂單完成。由于現在安全計算仍處于不成熟的階段,同态加密的計算複雜度非常高,筆者僅測試了使用加法同态算法來計算買家的計算任務。在未來,筆者會支援第4節中安全計算方法中其他的方法。資料買賣方也可以直接交易資料,采用混合加密的方法,将資料的對稱密鑰用買家提供的公鑰進行加密,這種方式可以在公開透明的環境中實作無交流的資料傳遞。
5.2 系統分析與驗證
筆者從建構區塊鍊資料市場的設計目标來讨論實作的示範系統的優勢,包括公平性、隐私性和有效性,同時,還考慮了系統的可擴充性。筆者發現,該系統基本實作了區塊鍊資料市場定義的設計目标,整個系統運作流暢,可用性較高,安全隐私性得到了很好的保證。
5.2.1 公平性
在交易結果達成之前,即定價機制開始執行前,交易雙方都可以終止交易,雖然這可能會導緻參與者的信譽值降低,但在“後悔”不常發生的情況下,能夠確定交易的随時終止。同時,在定價機制開始執行後,由于區塊鍊和安全計算的特性,交易雙方都無法阻止交易的繼續進行,以太币轉移和買家任務計算就一定會執行,進而確定了資料交易的不可抵賴性,保證了交易公平。
5.2.2 隐私性
筆者在系統中保護了系統參與者的身份隐私和資料隐私。身份隐私是基于區塊鍊的匿名能力實作的,而資料隐私則得到了全方位的保護,資料加密、資料選擇機制和安全計算使攻擊者無法從交易的執行中得到資料的任何額外資訊。然而筆者實作的系統中沒有考慮暴露賣家對自己資料定價所洩露的隐私,未來的工作中将會考慮出價隐私。
5.2.3 有效性
區塊鍊的運作效率問題一直是其被诟病的地方,比特币的一份交易從完成到最後被寫入區塊鍊中需要十幾分鐘,而這份交易在網絡上最後被确認的時間甚至超過一個小時。在用戶端中計算資料選擇函數,以安全計算的方式計算買家的任務以及圖檔的處理的計算,都是比較耗時的,這會降低使用者使用該應用程式的體驗滿意度。經過應用程式的随機點選測試發現,從用戶端使用者的角度,平均一個按鈕的響應時間為4 s左右,這說明該系統目前的設計尚無法達到實時,但可以保證基本使用需求。筆者提出的系統直接基于以太坊實作,提高資料市場系統的可用性可以采用更加高效、輕量級的區塊鍊系統。
在以太坊區塊鍊中部署合同或任何類型的交易都會産生交易費用。在以太坊區塊鍊中,使用氣體估算成本。通常,系統中的礦工會确定運作一些指令的價格,而一個事務的發起者(比如資料買家向區塊鍊添加訂單、資料賣家向區塊鍊送出出價)需要規定可以消耗氣體的最大值。由于礦工喜歡處理提供高激勵的事務,是以氣體價格較低的交易可能需要很長時間。然而由于個人資料的價值很低,是以在智能合約中複雜的計算會使得買賣雙方的收益直線降低。筆者提出的系統通過減少智能合約的計算量來保證系統參與者的利益。
通過多次測試,筆者得到了該系統中各種操作消耗氣體的平均值(見表1)。根據現在的以太坊公鍊上以太币的價格(每個以太币價格約250美元)計算,平均每個操作的消耗是424 587×10-18×250≈1.06×10-10美元,即便一個資料買家需要成千上萬份資料,他參與系統所需要的消耗也非常少。
智能合約中可能存儲着許多與交易有關的資訊,以太坊的智能合約雖然支援多種複雜資料類型,但實際中稍微複雜的結構會導緻請求失效。比如由于要上傳的數組長度很長,每一項也是很複雜的小數, 1 024維的數組根本無法被成功地上傳到智能合約。以太坊還有一個區塊氣體限制,由以太坊預設設定為8 000 000 Wei,是以事實上無法上傳次元過高的資料(見表2)。由于以太坊對區塊氣體量的限制,由以太坊預設設定為最高8 000 000 Wei,如果某一項操作消耗的氣體量超過了這個值,這項操作就會被回退,是以在DDM中添加訂單就存在被回退的可能。筆者提出的系統将複雜的資料結構(比如資料選擇函數)存儲在IPFS中,再将其位址放入訂單中存入DDM。
由于資料定價是通過智能合約在以太坊區塊鍊上執行的,是以其計算成本不可被忽略。為了評估該系統的資料定價成本,以基于VCG拍賣的資料定價測試大量賣家出價的情況下氣體的消耗。圖4顯示了VCG資料定價的耗氣量與資料訂單收到的出價數量之間的關系。盡管可以進一步優化資料定價算法的實作,但是當大量資料賣方競标同一資料訂單時,資料定價成本将非常高。如果要實作基于以太坊區塊鍊的資料市場,那麼高昂的資料定價成本将成為該系統應用的一大障礙。
圖4 資料定價的Gas消耗與訂單收到的出價數量關系
5.2.4 去中心化與可擴充性
“可擴充性三難”是指區塊鍊系統在可擴充性、去中心化和安全性這3個方面的不可避免的沖突。該系統是一個完全去中心化的系統,不依賴任何可信第三方,是以可擴充性和安全性将受到更大的挑戰。為了保證安全性,筆者提出的系統犧牲了可擴充性,如果要支援不一樣的資料形式、資料販賣方式和定價機制,就要重新編寫智能合約,而相容性也将存在問題,這些問題都可以在實際資料市場的建構中被納入考慮。在未來資料市場的部署中,筆者将進一步就可擴充性、去中心化和安全性這3個方面的權衡做更多的探讨。
6 結束語
資料是資料驅動型經濟中的重要資産,它推動了新的資料交易行業的興起。資料市場是當今資料資産化的一個重要形式,分布式的資料市場具有中心化資料市場不具備的隐私保護能力和交易安全性保障,有巨大的市場前景和研究前景。在本文中,筆者讨論了未來資料市場應滿足的特性,分析了基于區塊鍊的分布式資料市場中存在的挑戰,提出了初步的解決方案,并探讨了這些技術未來可能的發展方向,為實際資料市場的建構提供了參考性意見。資料市場與區塊鍊技術都處于技術快速發展的 階段,需要研究者根據這些問題進行更深入的探索與研究。
作者簡介
汪靖偉(1997-),男,上海交通大學計算機系碩士生,主要研究方向為區塊鍊應用與資料交易 。
鄭臻哲(1989-),男,博士,上海交通大學計算機科學與工程系助理教授,主要研究方向為算法博弈論、移動計算、機器學習 。
吳帆(1981-),男,博士,上海交通大學計算機科學與工程系教授,中國計算機學會專業會員,主要研究方向為網絡經濟學、無線網絡、移動計算、隐私安全 E-mail:[email protected]。
陳貴海(1963-),男,上海交通大學教授、博士生導師,主要研究方向為對等計算、資料處理、傳感器網絡、路由算法、高性能計算機體系結構、組合數學等。發表的文章被GoogleScholar引用12000餘次,SCI引用1000餘次,ESI高被引論文4篇,11次獲得國際會議最佳論文獎。2008年獲國家傑出青年科學基金,2011年獲國務院政府特殊津貼,2015年獲教育部自然科學獎一等獎(排名第一),2017年入選中國計算機學會會士(CCFFellow),2018年獲江蘇省科學技術獎一等獎(排名第一)。現任中國計算機學會分布計算與系統專業委員會主任,ACMSIGCOMMChina副主席 。
大資料期刊
《大資料(Big Data Research,BDR)》雙月刊是由中華人民共和國工業和資訊化部主管,人民郵電出版社主辦,中國計算機學會大資料專家委員會學術指導,北京信通傳媒有限責任公司出版的期刊,已成功入選中文科技核心期刊、中國計算機學會會刊、中國計算機學會推薦中文科技期刊,并被評為2018年國家哲學社會科學文獻中心學術期刊資料庫“綜合性人文社會科學”學科最受歡迎期刊。
關注《大資料》期刊微信公衆号,擷取更多内容
往期文章回顧
《大資料》2020年第3期目次&摘要
專題導讀:資料資産化探索
資料資産化架構初探
基于利潤最大化的資料資産價值評估模型