李莉,周斯琴,劉芹,何德彪
?
基于區(qū)塊鏈的數(shù)字版權(quán)交易系統(tǒng)
李莉,周斯琴,劉芹,何德彪
(武漢大學(xué)國(guó)家網(wǎng)絡(luò)安全學(xué)院, 湖北 武漢 430072)
在當(dāng)前數(shù)字化、網(wǎng)絡(luò)化時(shí)代中,數(shù)字版權(quán)交易需求越來(lái)越大,傳統(tǒng)的中心化版權(quán)保護(hù)系統(tǒng)存在注冊(cè)成本高、作品受理時(shí)間長(zhǎng)、容易遭受破壞者的篡改等問題。區(qū)塊鏈技術(shù)作為一個(gè)以P2P網(wǎng)絡(luò)為基礎(chǔ),以密碼技術(shù)為核心的去中心化網(wǎng)絡(luò)結(jié)構(gòu),能夠在網(wǎng)絡(luò)上以純數(shù)學(xué)方法建立信任關(guān)系,無(wú)需依托中間平臺(tái)就能夠緩解上述問題。借助區(qū)塊鏈技術(shù)的自我監(jiān)管、可追溯、去中心化的特性,結(jié)合數(shù)字版權(quán)交易場(chǎng)景,設(shè)計(jì)了一個(gè)基于聯(lián)盟鏈的數(shù)字版權(quán)交易系統(tǒng)模型,利用當(dāng)前IBM提供的最新聯(lián)盟鏈技術(shù),做了版權(quán)注冊(cè)和版權(quán)交易的實(shí)現(xiàn),能夠保證版權(quán)信息不可篡改性和可溯源性。最后,測(cè)試了鏈碼部署安裝時(shí)間。結(jié)果表明,系統(tǒng)安裝簡(jiǎn)單,維護(hù)成本低。相比傳統(tǒng)的基于可信第三方版權(quán)認(rèn)證機(jī)制,基于區(qū)塊鏈的數(shù)字版權(quán)交易系統(tǒng)注冊(cè)時(shí)間短,無(wú)需注冊(cè)費(fèi),具有更好的架構(gòu)安全性和可擴(kuò)展性。
數(shù)字版權(quán)交易;區(qū)塊鏈;超級(jí)賬本;系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
數(shù)字版權(quán)保護(hù)技術(shù)是基于密碼學(xué)技術(shù)和相關(guān)法律法規(guī)來(lái)保障數(shù)字作品的合理使用以及創(chuàng)作者權(quán)益的一項(xiàng)技術(shù),它需要確保數(shù)字內(nèi)容從出版到使用整個(gè)流通過程中的安全性,對(duì)數(shù)字內(nèi)容的原創(chuàng)者、所有者和使用者都應(yīng)該授予不同的使用權(quán)力以及使用控制,確保內(nèi)容的合理使用,以及權(quán)力轉(zhuǎn)移的公開透明。但是,當(dāng)前的數(shù)字版權(quán)保護(hù)系統(tǒng)注冊(cè)成本高,申請(qǐng)過程復(fù)雜,而且花費(fèi)時(shí)間長(zhǎng)[1-2]。由于這些原因,在數(shù)字化網(wǎng)絡(luò)時(shí)代中,很多數(shù)字作品創(chuàng)作者不愿意申請(qǐng)數(shù)字版權(quán)保護(hù),使大量碎片化的數(shù)字作品難以得到版權(quán)保護(hù)。這就導(dǎo)致網(wǎng)絡(luò)作品容易遭到篡改和盜用,原創(chuàng)者利益大大受損。而基于中心化的權(quán)威機(jī)構(gòu)授權(quán)管理方式也增加了現(xiàn)實(shí)經(jīng)濟(jì)和社會(huì)活動(dòng)的信任成本和會(huì)計(jì)成本。這些問題都使現(xiàn)有的版權(quán)保護(hù)系統(tǒng)難以滿足當(dāng)前數(shù)字版權(quán)貿(mào)易需求[3-4]。作為“信任互聯(lián)網(wǎng)”的底層架構(gòu),區(qū)塊鏈?zhǔn)怯晒?jié)點(diǎn)參與的分布式開放賬本[5-6],基于一種新型的去中心化協(xié)議,能安全地存儲(chǔ)交易信息和其他數(shù)據(jù)(債權(quán)、股權(quán)和數(shù)字資產(chǎn))。聯(lián)盟鏈[7]是對(duì)特定組織團(tuán)體開放的區(qū)塊鏈系統(tǒng),與公有鏈不同,聯(lián)盟鏈的共識(shí)過程是由預(yù)先選擇的一系列節(jié)點(diǎn)所掌控,這種共識(shí)方式加快了交易的確認(rèn)時(shí)間。因此,可以在這類的區(qū)塊鏈系統(tǒng)上構(gòu)建自己的數(shù)字版權(quán)交易系統(tǒng),一些權(quán)威管理機(jī)構(gòu)充當(dāng)系統(tǒng)中的部分管理節(jié)點(diǎn),在普通用戶發(fā)起上傳自己數(shù)字作品唯一標(biāo)識(shí)符(DCI, digital copyright identifier)[8]的交易時(shí),這些管理節(jié)點(diǎn)對(duì)這筆交易進(jìn)行驗(yàn)證,只有通過一定數(shù)量節(jié)點(diǎn)的同意,這筆交易才能上鏈,鏈上的版權(quán)數(shù)據(jù)庫(kù)才會(huì)增加一條新的數(shù)字版權(quán)記錄。這種“部分去中心化”的管理方式相比傳統(tǒng)的數(shù)字版權(quán)系統(tǒng),更加安全、高效。
因此,本文設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于聯(lián)盟鏈的數(shù)字版權(quán)交易系統(tǒng),該系統(tǒng)由多個(gè)節(jié)點(diǎn)進(jìn)行管理,系統(tǒng)的身份準(zhǔn)入機(jī)制可以將滿足要求的其他節(jié)點(diǎn)加入系統(tǒng),多用戶的權(quán)限分配使參與系統(tǒng)的不同用戶擁有對(duì)鏈的不同操作權(quán)限。目前,系統(tǒng)能夠安全地管理用戶信息并提供基本的數(shù)字版權(quán)管理和數(shù)字版權(quán)交易服務(wù)。當(dāng)系統(tǒng)管理員通過初始化、實(shí)例化,安裝合約到鏈上后,其他用戶可以調(diào)用鏈上的合約來(lái)請(qǐng)求系統(tǒng)服務(wù)。為了實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性和高安全性,本文采用了Hyperledger提供的聯(lián)盟鏈系統(tǒng)[9]和composer框架[10]進(jìn)行開發(fā),完成了數(shù)字版權(quán)交易系統(tǒng)的后臺(tái)業(yè)務(wù)代碼,并提供簡(jiǎn)單的Java Web可視界面,用戶可以登錄Java Web客戶端查看每次調(diào)用系統(tǒng)服務(wù)的歷史交易記錄。
區(qū)塊鏈概念起源于比特幣系統(tǒng)[11],它最初的學(xué)術(shù)定義為:由包含交易信息的區(qū)塊從后向前有序連接起來(lái)的數(shù)據(jù)結(jié)構(gòu)。區(qū)塊鏈作為一個(gè)記錄所有交易記錄的公開賬本,鏈上的每一個(gè)塊里面都存有礦工們的最近交易記錄,而且這些塊以時(shí)間順序依次鏈接起來(lái)。每一條區(qū)塊鏈都完整地存儲(chǔ)在由多個(gè)節(jié)點(diǎn)組成的分布式網(wǎng)絡(luò)上,從而避免單點(diǎn)失效,或者中心數(shù)據(jù)庫(kù)被攻擊等問題。通過這個(gè)公開賬本,區(qū)塊鏈實(shí)現(xiàn)了其不需要一個(gè)中央權(quán)力機(jī)構(gòu)或受信任的第三方來(lái)協(xié)調(diào)互動(dòng),驗(yàn)證交易或監(jiān)管行為的特征。區(qū)塊鏈網(wǎng)絡(luò)中存儲(chǔ)了完整的數(shù)據(jù)賬本,包含曾經(jīng)執(zhí)行的所有交易,使歷史上發(fā)生的交易信息都可以被網(wǎng)絡(luò)中節(jié)點(diǎn)所訪問,而一個(gè)節(jié)點(diǎn)只有超過全網(wǎng)51%的算力,才能更改區(qū)塊鏈上的交易信息。實(shí)際上,這是很難做到的。
區(qū)塊鏈的應(yīng)用有很多,其中的典型應(yīng)用是資產(chǎn)注冊(cè)、存儲(chǔ)和交易,包含金融、經(jīng)濟(jì)和貨幣等各個(gè)領(lǐng)域的有形資產(chǎn)和無(wú)形資產(chǎn)。使用區(qū)塊鏈技術(shù)開辟了不同類型各個(gè)層次的行業(yè)應(yīng)用功能,包括貨幣、市場(chǎng)、金融交易、物資等[12]。通過智能合約使用區(qū)塊鏈編碼的資產(chǎn),可以稱為智能資產(chǎn)[13-14]。本文以數(shù)字版權(quán)作為一種智能資產(chǎn),將版權(quán)交易通過智能合約實(shí)現(xiàn),并記錄在公開賬本中。
目前,根據(jù)權(quán)限管理將區(qū)塊鏈分為3種形態(tài):私有區(qū)塊鏈、公共區(qū)塊鏈和聯(lián)盟區(qū)塊鏈。相比前2種區(qū)塊鏈,聯(lián)盟鏈結(jié)合了公共區(qū)塊鏈的“低信任”和私有區(qū)塊鏈的“單一高度信任”,提供了一種混合的模式,能夠適應(yīng)市場(chǎng)上大多數(shù)的應(yīng)用場(chǎng)景。超級(jí)賬本是由非營(yíng)利組織Linux基金會(huì)成立的一項(xiàng)企業(yè)級(jí)區(qū)塊鏈開發(fā)及應(yīng)用的開源項(xiàng)目。Fabric是最早加入超級(jí)賬本中的頂級(jí)項(xiàng)目,項(xiàng)目在GitHub上,網(wǎng)址為https://github.com/ hyperledger/fabric。本文就是以該項(xiàng)目為技術(shù)依托,構(gòu)建了企業(yè)級(jí)數(shù)字版權(quán)交易系統(tǒng)。Fabric可以為其上的應(yīng)用提供gRPC API,以及封裝API的SDK調(diào)用。應(yīng)用可以通過SDK訪問區(qū)塊鏈網(wǎng)絡(luò)中的多種資源,包括公開賬本、交易、鏈碼、事件和權(quán)限管理等。交易的執(zhí)行邏輯通過鏈碼承載,權(quán)限管理則負(fù)責(zé)整個(gè)過程中的訪問控制。Fabric大致分為3種不同的層級(jí)結(jié)構(gòu)[15]:網(wǎng)絡(luò)層;共識(shí)機(jī)制和權(quán)限管理;業(yè)務(wù)層。網(wǎng)絡(luò)層面向系統(tǒng)管理人員。該模塊實(shí)現(xiàn)了P2P網(wǎng)絡(luò),提供底層構(gòu)建區(qū)塊鏈網(wǎng)絡(luò)的基本能力,包括不同角色的節(jié)點(diǎn)和服務(wù)。共識(shí)機(jī)制[16]和權(quán)限管理面向聯(lián)盟和組織管理人員,實(shí)現(xiàn)共識(shí)和權(quán)限管理。業(yè)務(wù)層面向業(yè)務(wù)開發(fā)人員,支持業(yè)務(wù)應(yīng)用的開發(fā)工作。本文主要是在業(yè)務(wù)層進(jìn)行操作,實(shí)現(xiàn)業(yè)務(wù)鏈碼,并將鏈碼打包發(fā)布到Fabric網(wǎng)絡(luò)的多個(gè)節(jié)點(diǎn)上。這里所說的節(jié)點(diǎn)與以太坊[17]有些不同。從功能上,F(xiàn)abric網(wǎng)絡(luò)中的節(jié)點(diǎn)可以分為:背書節(jié)點(diǎn)、確認(rèn)節(jié)點(diǎn)、排序節(jié)點(diǎn)。背書節(jié)點(diǎn)負(fù)責(zé)對(duì)來(lái)自客戶端的交易提案進(jìn)行檢查和背書;確認(rèn)節(jié)點(diǎn)檢查交易請(qǐng)求,并執(zhí)行交易;排序節(jié)點(diǎn)負(fù)責(zé)將接收到的交易排序并打包成區(qū)塊,進(jìn)行共識(shí)。
總之,以Fabric為技術(shù)依托的聯(lián)盟鏈可以做到很好的節(jié)點(diǎn)間的連接,只需要極少的成本就能維持運(yùn)行,提供迅速的交易處理和低廉的交易費(fèi)用,有很好的擴(kuò)展性(但是擴(kuò)展性隨著節(jié)點(diǎn)增加又會(huì)下降),數(shù)據(jù)可以有一定的隱私。
基于區(qū)塊鏈的數(shù)字版權(quán)保護(hù)系統(tǒng)是在區(qū)塊鏈網(wǎng)絡(luò)上建立的數(shù)字版權(quán)保護(hù)系統(tǒng),它具有去中心化、數(shù)字內(nèi)容安全存儲(chǔ),交易記錄可追溯,防篡改等優(yōu)點(diǎn)。因此,本文設(shè)計(jì)了一種新的基于區(qū)塊鏈的數(shù)字版權(quán)交易系統(tǒng),它的總體架構(gòu)如圖1所示。
圖1 版權(quán)交易系統(tǒng)結(jié)構(gòu)
從功能類型上,系統(tǒng)大體分為3層結(jié)構(gòu)。最上層是用戶層,負(fù)責(zé)提供用戶管理服務(wù)接口以及版權(quán)管理服務(wù)接口,如用戶注冊(cè)、用戶登入管理、個(gè)人信息修改、密鑰管理、版權(quán)登記接口、版權(quán)查詢接口、版權(quán)交易接口、版權(quán)注銷接口。中間層是數(shù)字版權(quán)交易的業(yè)務(wù)模型層,這部分是由開發(fā)人員進(jìn)行設(shè)計(jì)實(shí)現(xiàn),其中鏈碼(即智能合約)定義了數(shù)字版權(quán)交易系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和功能函數(shù),賬本則記載了用戶的每次交易。用戶在用戶層通過API+SDK調(diào)用業(yè)務(wù)模型中的鏈碼,從而完成相應(yīng)的業(yè)務(wù)功能。由于每次交易都被記載在賬本中,版權(quán)的交易信息可以在鏈上進(jìn)行追溯。最下層是Fabric網(wǎng)絡(luò)層,這一層與中間層通過Connection Profile這個(gè)文本文件進(jìn)行連接,這個(gè)連接文件定義了節(jié)點(diǎn)信息,節(jié)點(diǎn)通信端口,便于將本文所設(shè)計(jì)的業(yè)務(wù)模型安裝到不同用戶的節(jié)點(diǎn)上,從而形成去中心化通信網(wǎng)絡(luò)。
該系統(tǒng)所針對(duì)的用戶主要分為3類用戶:創(chuàng)作者、管理員和訂閱者。
1) 創(chuàng)作者,即數(shù)字作品的原創(chuàng)作者。他可以將自己申請(qǐng)到的數(shù)字版權(quán)的DCI碼填入表單,隨后調(diào)用Fabric提供的SDK和遠(yuǎn)程API來(lái)操作鏈碼,將數(shù)字作品的信息(數(shù)字作品名稱、DCI、著作人、作品類型、創(chuàng)作時(shí)間)存入?yún)^(qū)塊鏈上,并可以通過函數(shù)接口進(jìn)行修改DCI。
2) 管理員,即權(quán)威管理機(jī)構(gòu),可以對(duì)創(chuàng)作者和訂閱者的賬號(hào)進(jìn)行管理,同時(shí)發(fā)布新的合約到鏈上,或者廢除鏈上舊的合約。
3) 訂閱者作為最普通的大眾用戶,能夠訂閱鏈上的某個(gè)數(shù)字作品,在訂閱者調(diào)用遠(yuǎn)程API,執(zhí)行訂閱鏈碼,就可以獲取鏈上數(shù)字作品的閱讀權(quán)。
鏈碼是超級(jí)賬本中所用到的一個(gè)專業(yè)術(shù)語(yǔ),它可以被稱為合約代碼,被用來(lái)實(shí)現(xiàn)系統(tǒng)的主要邏輯。鏈碼最初是由管理人員在系統(tǒng)初始階段部署到各個(gè)節(jié)點(diǎn)上的。當(dāng)鏈碼成功地在節(jié)點(diǎn)上初始化、實(shí)例化、安裝這3個(gè)過程后,用戶通過登錄客戶端軟件,利用業(yè)務(wù)模型提供的遠(yuǎn)程API函數(shù)調(diào)用鏈碼。每個(gè)節(jié)點(diǎn)都設(shè)有客戶端軟件。賬本記錄了每次鏈碼調(diào)用的日志,有增減鏈上用戶的交易記錄,有版權(quán)轉(zhuǎn)移的交易記錄,有作品訂閱的交易記錄等,維護(hù)這些交易記錄就是維護(hù)記賬的過程。
下面,以發(fā)布一個(gè)版權(quán)轉(zhuǎn)移交易為例,介紹本系統(tǒng)的交易流程。
1) 數(shù)字作品創(chuàng)作者登錄系統(tǒng)客戶端,進(jìn)行身份注冊(cè),獲取注冊(cè)證書(Ecert)和交易證書(Tcert)。隨后,用戶才能利用客戶端發(fā)起交易。
2) 用戶成功登錄客戶端,創(chuàng)建一筆版權(quán)轉(zhuǎn)移的交易提案(Proposal),并將這筆交易提案發(fā)送到各個(gè)背書節(jié)點(diǎn)。
3) 背書節(jié)點(diǎn)執(zhí)行版權(quán)轉(zhuǎn)移鏈碼,并將提案結(jié)果返回給客戶端。
4) 客戶端收集到足夠的背書支持后,將交易提交到排序節(jié)點(diǎn),交易內(nèi)容包括提案結(jié)果。
5) 排序節(jié)點(diǎn)將排完序的交易封裝到區(qū)塊中,區(qū)塊隨后被發(fā)送給各個(gè)驗(yàn)證節(jié)點(diǎn)。
6) 驗(yàn)證節(jié)點(diǎn)定期地從排序后的交易區(qū)塊結(jié)構(gòu)中,對(duì)交易進(jìn)行落盤前的最終檢查(包括交易消息結(jié)構(gòu)、簽名完整性、是否重復(fù)、讀寫集合版本是否匹配等)。檢查通過后,執(zhí)行合法的交易,將結(jié)果寫入賬本,同時(shí)構(gòu)造新的區(qū)塊,更新區(qū)塊中元數(shù)據(jù)塊,記錄交易是否合法等信息。
圖2 基于Fabric應(yīng)用的交易流程
發(fā)布版權(quán)訂閱交易類似上述流程,在此不贅述。
以上對(duì)該系統(tǒng)的架構(gòu)和功能進(jìn)行了詳細(xì)介紹。相較于其他版權(quán)管理系統(tǒng),基于區(qū)塊鏈的數(shù)字版權(quán)交易系統(tǒng)有如下優(yōu)點(diǎn):①創(chuàng)作者將自己的數(shù)字版權(quán)信息存儲(chǔ)在區(qū)塊鏈上,保障了創(chuàng)作者對(duì)于創(chuàng)作作品的擁有權(quán);②創(chuàng)作者能根據(jù)自己的定價(jià),將自己的數(shù)字作品版權(quán)轉(zhuǎn)移給其他用戶,從而獲得經(jīng)濟(jì)利益,數(shù)字作品版權(quán)的轉(zhuǎn)移是調(diào)用區(qū)塊鏈上的版權(quán)轉(zhuǎn)移鏈碼實(shí)現(xiàn)的,在整個(gè)Fabric網(wǎng)絡(luò)上是透明的、可監(jiān)控的,版權(quán)的轉(zhuǎn)移不會(huì)存在爭(zhēng)議;③給鏈上的數(shù)字作品提供訂閱接口,普通用戶可以支付小額費(fèi)用給原創(chuàng)者,從而獲得數(shù)字作品的閱讀權(quán)。
本節(jié)從用戶、資產(chǎn)和交易這3個(gè)模塊介紹數(shù)字版權(quán)交易系統(tǒng)的業(yè)務(wù)模型。
1) 用戶
用戶分為普通用戶、管理員、創(chuàng)作者(即最初的數(shù)字資產(chǎn)所有者)。其屬性結(jié)構(gòu)分別設(shè)計(jì)為如下元組所示:={,,,,,,},={,,,,},={,,,,,}。定義是用戶基類,普通用戶和管理員用戶屬于這一類,創(chuàng)作者屬于這一類,是用戶的公鑰,是用戶的私鑰,是用戶錢包余額,記錄用戶訂閱的所有書籍信息,記錄用戶創(chuàng)作的所有書籍信息。私鑰被用來(lái)對(duì)數(shù)字版權(quán)交易做簽名,進(jìn)而在版權(quán)交易中,確保交易信息的完整性和正確性。正如前文所說,數(shù)字作品創(chuàng)作者可以通過轉(zhuǎn)讓版權(quán)或者提供數(shù)字作品,從而獲得經(jīng)濟(jì)利益,因此當(dāng)發(fā)生這2種交易時(shí),創(chuàng)作者的余額會(huì)增加,消費(fèi)者的余額會(huì)減少。
2) 資產(chǎn)
本系統(tǒng)中資產(chǎn)就是數(shù)字版權(quán)作品,其屬性結(jié)構(gòu)設(shè)計(jì)為如下元組。
={,,,,,,},={,,,,,,,,,}。
是數(shù)字作品唯一標(biāo)識(shí)符,是數(shù)字版權(quán)作品名字,是作品分類,是創(chuàng)建時(shí)間,是數(shù)字作品簡(jiǎn)要描述,是部分內(nèi)容信息,是作品所有者,是版權(quán)轉(zhuǎn)移價(jià)格,是訂閱作品需支付的價(jià)格,是該作品訂閱的所有用戶集合。
3) 交易
在區(qū)塊鏈系統(tǒng)中,用戶每次對(duì)智能合約(或者鏈碼)的調(diào)用,都稱為交易。用戶通過調(diào)用composer-rest-serve提供的函數(shù)接口可以對(duì)合約進(jìn)行調(diào)用,從而執(zhí)行相應(yīng)的操作。版權(quán)注冊(cè)、版權(quán)轉(zhuǎn)移,數(shù)字內(nèi)容訂閱交易的主要代碼如表1-表3所示。
表1 數(shù)字版權(quán)注冊(cè)主要代碼
表2 版權(quán)轉(zhuǎn)讓主要代碼
表3 數(shù)字內(nèi)容訂閱主要代碼
為了將數(shù)據(jù)的修改以及用戶的管理權(quán)放在部分用戶手中,選擇IBM提供的fabric1.0聯(lián)盟鏈項(xiàng)目作為開發(fā)平臺(tái),進(jìn)而構(gòu)建自己的數(shù)字版權(quán)保護(hù)系統(tǒng)。根據(jù)官方Fabric給出的節(jié)點(diǎn)部署方案,在各個(gè)節(jié)點(diǎn)上安裝docker以及docker compose工具,下載相應(yīng)的docker鏡像和Fabric源碼,編譯生成Cryptogen程序,利用該程序和相關(guān)crypto-config.yaml配置文件生成公私鑰和證書。這里生成2種證書:一種是給節(jié)點(diǎn)安全通信而準(zhǔn)備的TLS證書;另一種是CA頒布的用于用戶登錄和權(quán)限控制的用戶證書。隨后,采用編譯生成的configtxgen生成創(chuàng)世區(qū)塊(如圖3(a)所示)以及Channel配置區(qū)塊。再通過配置相關(guān)文件,即可啟動(dòng)Fabric容器(如圖3(b)所示),接著,完成創(chuàng)建channel(如圖3(c)所示),各個(gè)Peer節(jié)點(diǎn)依次加入Channel,更新錨節(jié)點(diǎn)(如圖3(d)所示)這一系列操作。這樣,F(xiàn)abric網(wǎng)絡(luò)就準(zhǔn)備好了。接下來(lái),將業(yè)務(wù)鏈碼安裝到Fabric網(wǎng)絡(luò)中。
Fabric鏈碼支持golang和JavaScript。為了提高程序的可擴(kuò)展性,通過fabric composer進(jìn)行開發(fā)并建立系統(tǒng)的業(yè)務(wù)模型。隨后,利用composer- rest-server可以生成業(yè)務(wù)模型的遠(yuǎn)程接口(如圖4所示),用戶可以通過這些函數(shù)接口訪問交易記錄、數(shù)字版權(quán)記錄等。每當(dāng)用戶提交資產(chǎn)注冊(cè)信息后,該交易記錄后續(xù)會(huì)被其他節(jié)點(diǎn)打包成區(qū)塊,并記錄在鏈上,交易記錄一旦上鏈,就無(wú)法被篡改。
(a) 生成創(chuàng)世區(qū)塊
(b) 啟動(dòng)Fabric容器
(c) 創(chuàng)建Channel
(d) 更新錨節(jié)點(diǎn)
圖3 Fabric應(yīng)用環(huán)境部署
目前,系統(tǒng)的核心鏈碼大約為5 kB,通過在網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)上安裝和實(shí)例化鏈碼后,測(cè)試了單個(gè)節(jié)點(diǎn)鏈碼的安裝和實(shí)例化時(shí)間大約為9 770 ms,鏈碼的單次調(diào)用時(shí)間為0.7~3 s。本地采用的開發(fā)環(huán)境為個(gè)人PC計(jì)算機(jī),CPU 2.7 GHz, RAM 8 GB。操作系統(tǒng)為ubuntu 16.04。
系統(tǒng)部署容易,耗時(shí)短,適合企業(yè)級(jí)應(yīng)用。為了展示實(shí)驗(yàn)結(jié)果,利用angular JavaScript構(gòu)建Java Web客戶端,界面如圖5所示。合法用戶通過注冊(cè)個(gè)人信息,成功登錄Java Web客戶端進(jìn)行資產(chǎn)注冊(cè)、版權(quán)轉(zhuǎn)移操作、數(shù)字內(nèi)容訂閱等操作。
如圖5所示,當(dāng)數(shù)字作品創(chuàng)作者想要在本系統(tǒng)進(jìn)行版權(quán)注冊(cè)時(shí),創(chuàng)作者通過單擊add asset按鈕,填入數(shù)字作品dci,數(shù)字作品名稱、數(shù)字作品分類、描述、作品簡(jiǎn)介、選擇作品所屬人,就可以發(fā)起數(shù)字版權(quán)注冊(cè)的交易。當(dāng)數(shù)字作品創(chuàng)作者想要轉(zhuǎn)移數(shù)字版權(quán)時(shí),調(diào)用版權(quán)轉(zhuǎn)移交易、輸入新的版權(quán)所有者以及需要轉(zhuǎn)移的數(shù)字版權(quán)(具體函數(shù)見業(yè)務(wù)模型章節(jié))發(fā)起交易。隨后,系統(tǒng)調(diào)用智能合約,按照預(yù)先設(shè)置的版權(quán)轉(zhuǎn)移費(fèi),從新版權(quán)所有者的余額中扣除版權(quán)費(fèi),從創(chuàng)作者余額中增加版權(quán)費(fèi),完成版權(quán)轉(zhuǎn)移交易。除此之外,利用版權(quán)注冊(cè)時(shí)填入的相關(guān)信息,其他用戶可以訂閱感興趣的數(shù)字版權(quán),發(fā)起版權(quán)訂閱交易。后續(xù)內(nèi)容的傳輸,由交易雙方在其他內(nèi)容分享平臺(tái)完成。由于這部分不是本系統(tǒng)的研究重點(diǎn),在此不過多介紹。
圖5 客戶端界面
當(dāng)前,數(shù)字版權(quán)保護(hù)方法都是集中登記式,本質(zhì)上是基于中心化由權(quán)威管理機(jī)構(gòu)授權(quán)的版權(quán)管理機(jī)制。而區(qū)塊鏈技術(shù)可以為數(shù)字版權(quán)提供一種不可更改的去中心化的版權(quán)登記形式。它以密碼學(xué)為基礎(chǔ),建立的信任關(guān)系能夠給交易多方提供安全保障。本文分析了當(dāng)前數(shù)字版權(quán)保護(hù)的痛點(diǎn),并詳細(xì)介紹了區(qū)塊鏈技術(shù)。結(jié)合當(dāng)前最新的聯(lián)盟鏈技術(shù)和當(dāng)前需求,本文又設(shè)計(jì)了一種適合于企業(yè)應(yīng)用的數(shù)字版權(quán)交易系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了版權(quán)登記、版權(quán)轉(zhuǎn)移的基本功能,保護(hù)創(chuàng)作者的版權(quán)所有權(quán),減少了申請(qǐng)者的注冊(cè)時(shí)間,且無(wú)需數(shù)字版權(quán)注冊(cè)費(fèi)。相較于傳統(tǒng)的數(shù)字版權(quán)保護(hù)方案,本系統(tǒng)能夠保證版權(quán)登記信息的不可篡改性,以及版權(quán)交易的可追溯性,可以安全、高效地滿足用戶需求。另外,基于composer框架的開發(fā),使業(yè)務(wù)邏輯與Fabric系統(tǒng)的耦合性降低,開發(fā)人員更專注于功能性模塊的編碼工作,因此,具有更好的可擴(kuò)展性。未來(lái)在數(shù)字版權(quán)保護(hù)的道路上,基于區(qū)塊鏈的版權(quán)保護(hù)方案將是市場(chǎng)的一大需求。當(dāng)然系統(tǒng)還有一些不完善的地方,后續(xù)筆者也會(huì)對(duì)本系統(tǒng)進(jìn)行進(jìn)一步的改進(jìn)。
[1] 范科峰, 莫瑋, 曹山,等. 數(shù)字版權(quán)管理技術(shù)及應(yīng)用研究進(jìn)展[J]. 電子學(xué)報(bào), 2007, 35(6):1139-1147.
FAN K F, MO W, CAO S, et al. Progress in digital rights management technology and application[J]. Chinese Journal of Electronics, 2007, 35(6): 1139-1147.
[2] 翟永興. 我國(guó)數(shù)字出版的版權(quán)保護(hù)現(xiàn)狀與對(duì)策研究[J]. 傳播與版權(quán), 2015(3):178-179.
ZHAI Y X. Research on the status quo and countermeasures of copyright protection in digital publishing in China[J]. Communications and Copyright, 2015(3): 178-179.
[3] 吳健, 高力, 朱靜寧. 基于區(qū)塊鏈技術(shù)的數(shù)字版權(quán)保護(hù)[J]. 廣播電視信息, 2016(7):60-62.
WU J, GAO L, ZHU J N. Digital copyright protection based on Blockchain technology[J]. Radio and TV Information, 2016(7): 60-62.
[4] 安瑞, 何德彪, 張韻茹,等. 基于區(qū)塊鏈技術(shù)的防偽系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 密碼學(xué)報(bào), 2017, 4(2):199-208.
AN R, HE D B, ZHANG Y R, et al. Design and implementation of anti-counterfeiting system based on Blockchain technology[J]. CMD Journal, 2017, 4(2): 199-208.
[5] 袁勇, 王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 自動(dòng)化學(xué)報(bào), 2016, 42(4):481-494.
YUAN Y, WANG F Y. Current status and prospects of Blockchain technology development[J]. Journal of Automation, 2016, 42(4): 481-494.
[6] DUBOVITSKAYA A, XU Z, RYU S, et al. Secure and trustable electronic medical records sharing using Blockchain[J]. arXiv preprint arXiv:1709.06528, 2017.
[7] PETERS G W, PANAYI E. Understanding modern banking ledgers through Blockchain technologies: future of transaction processing and smart contracts on the internet of money[M]//Banking Beyond Banks and Money. Berlin: Springer. 2016: 239-278.
[8] 吳潔明, 周倩, 許傳祥,等. DCI體系下數(shù)字版權(quán)管理服務(wù)平臺(tái)的設(shè)計(jì)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2014(4):62-65.
WU J M, ZHOU Q, XU C X, et al. Design of digital rights management service platform under DCI system[J]. Journal of Computer Applications and Software, 2014(4):62-65.
[9] VUKOLI? M. Rethinking permissioned blockchains[C]//ACM Workshop on Blockchain, Cryptocurrencies and Contracts. 2017: 3-7.
[10] CACHIN C. Architecture of the hyperledger blockchain fabric[C]// Workshop on Distributed Cryptocurrencies and Consensus Ledgers. 2016.
[11] DHILLON V, METCALF D, HOOPER M. The Hyperledger project[M]//Blockchain Enabled Applications.Berlin:Springer. 2017: 139-149.
[12] Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[J]. Consulted. 2008.
[13] SWAN M. Blockchain: blueprint for a new economy[M]. O'Reilly Media, Inc. 2015.
[14] PETERS G W, PANAYI E. Understanding modern banking ledgers through blockchain technologies: future of transaction processing and smart contracts on the internet of money[M]//Banking Beyond Banks and Money.Berlin: Springer. 2016: 239-278.
[15] CACHIN C. Architecture of the hyperledger blockchain fabric[C]//Workshop on Distributed Cryptocurrencies and Consensus Ledgers. 2016.
[16] BALIGA A. Understanding blockchain consensus models[R]. 2017.
[17] WOOD G. Ethereum: a secure decentralised generalised transaction ledger[J]. Ethereum Project Yellow Paper, 2014, 151: 1-32.
Blockchain-based digital copyright trading system
LI Li, ZHOU Siqin, LIU Qin, HE Debiao
School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China
In the current era of digitalization and networking, the demand for digital copyright transactions is increasing. The traditional centralized copyright protection system has series of problems such as high registration costs, long work acceptance times, and being vulnerable to tampering by saboteurs. Blockchain as a decentralized network structure and based on P2P network and cryptographic technology, which can establish trust relationship on the network by pure mathematics. Without relying on the middle platform, blockchain technology can naturally alleviate the above problems. With the help of self-regulatory, traceable and decentralized features of blockchain technology and digital copyright trading scenarios, a digital copyright trading system model was designed. The new system is based on the advanced permissioned blockchain provided by IBM. The implementation of copyright registration and copyright transaction can ensure the integrity and tamper-resistant of the information. Finally, the installation time of chain code deployment was tested. The results show that the system is simple to install and has low maintenance costs. Compared with the traditional trusted third party copyright authentication mechanism, the blockchain-based digital rights trading system has a short registration time, no registration fee, and better architecture security and scalability.
digital rights trading, blockchain, superbooks, system design and implementation
TP309.7
A
10.11959/j.issn.2096-109x.2018060
李莉(1976-),女,安徽蕪湖人,博士,武漢大學(xué)副教授、碩士生導(dǎo)師,主要研究方向?yàn)槲锫?lián)網(wǎng)安全。
周斯琴(1994-),女,湖北孝感人,武漢大學(xué)碩士生,主要研究方向?yàn)閰^(qū)塊鏈技術(shù)。
劉芹(1978-),女,湖北隨州人,博士,武漢大學(xué)副教授、碩士生導(dǎo)師,主要研究方向?yàn)槲锫?lián)網(wǎng)安全。
何德彪(1980-),男,山東陽(yáng)谷人,博士,武漢大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)槊艽a算法的設(shè)計(jì)與實(shí)現(xiàn)。
2018-06-10;
2018-07-01
何德彪,hedebiao@163.com
國(guó)家重點(diǎn)研發(fā)計(jì)劃基金資助項(xiàng)目(No.2017YFB0802500);國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61402339, No.61572370)
The National Key Research and Development Program of China (No.2017YFB0802500), The National Natural Science Foundation of China (No.61402339, No.61572370)