張國潮,唐華云,陳建海*,沈 睿,何欽銘,黃步添,3
(1.浙江大學計算機科學與技術學院,杭州 310027;2.中央國債登記結算有限責任公司,北京 100033;3.杭州云象網(wǎng)絡技術有限公司,杭州 310012)
數(shù)字產品版權是數(shù)字化時代的產物。隨著信息技術的不斷發(fā)展,越來越多的諸如音樂等數(shù)字化的作品在網(wǎng)絡中被傳播、存儲與使用。近年來,數(shù)字版權侵權糾紛現(xiàn)象頻發(fā),引起人們的廣泛關注。數(shù)字版權就是作品創(chuàng)作者對于數(shù)字作品在網(wǎng)絡環(huán)境下執(zhí)行存儲復制、發(fā)行等操作的權利。版權的取得主要有兩種途徑,一種是自動取得,另一種是登記取得。根據(jù)我國的著作權法規(guī)定,作品一旦完成就自動擁有版權,即自動取得。為了解決著作權糾紛問題,通常會采用版權登記的方式來明確版權歸屬[1]。然而,由于網(wǎng)絡環(huán)境下,音樂等數(shù)字作品的傳播渠道多、侵權成本低、侵權手段隱蔽等原因,導致目前我國的數(shù)字版權行業(yè)存在著諸多難題[2-3]:
1)版權確權難。在國家的版權保護中心進行作品的登記周期較長,一般需要20~30個工作日。并且,版權登記需要一定的專業(yè)知識,登記者常常需要支付額外的費用委托中介機構進行處理。
2)侵權監(jiān)控難。在互聯(lián)網(wǎng)時代,采用人工監(jiān)測的方式識別版權侵權幾乎不可能,而目前的一些自動化監(jiān)測技術水平有限且侵權網(wǎng)站頻繁改頭換面,難以跟蹤。
3)維權取證難。網(wǎng)絡環(huán)境下的侵權具有虛擬性、隱蔽性和無空間時間限制性,這讓維權取證變得十分困難。
4)版稅結算難。在版權利益分配體系中,平臺方占據(jù)著主導地位,而作品創(chuàng)作者無法在利益分配中獲得符合其作品真正價值的等額收益[4]。
2008 年中本聰在一篇比特幣論文提出的區(qū)塊鏈技術引起廣泛關注[5],為解決數(shù)字版權難題提供有效解決方案。作為比特幣底層的關鍵技術,區(qū)塊鏈是一種由點對點傳輸、密碼學以及共識算法等技術融合組成的新興互聯(lián)網(wǎng)技術,這些技術的組合使得區(qū)塊鏈上的數(shù)據(jù)具有不可篡改、公開透明、防偽可溯源的優(yōu)勢特性。區(qū)塊鏈已經(jīng)在金融、供應鏈、版權保護等領域得到越來越多的關注與應用[6]。區(qū)塊鏈技術和數(shù)字版權保護具有天然的契合之處。首先,區(qū)塊鏈可以建立用戶地址和數(shù)據(jù)對象的硬鏈接,實現(xiàn)數(shù)據(jù)確權明確權益歸屬;其次,鏈上數(shù)據(jù)不可篡改、防偽可溯源的特性能為數(shù)字作品提供存證性證明以及實現(xiàn)證據(jù)固化;最后,自動執(zhí)行的智能合約可保障交易的安全公平。
當前基于區(qū)塊鏈的數(shù)字版權保護在學術界已有一定的研究。比如,文獻[7]設計了一種基于區(qū)塊鏈技術的數(shù)字版權保護與交易系統(tǒng),使用聯(lián)盟鏈技術提供數(shù)字內容版權登記、跟蹤、鑒證、查詢、交易等全流程服務的數(shù)字版權保護與交易服務;但該文獻中僅提及將數(shù)字內容的特征值存入?yún)^(qū)塊鏈,并未針對不同類型的作品說明采用何種數(shù)字內容特征值提取技術。文獻[8]借助區(qū)塊鏈技術并結合數(shù)字版權交易場景,設計了一個基于聯(lián)盟鏈的數(shù)字版權交易系統(tǒng)模型,做了版權注冊和版權交易的實現(xiàn),能夠保證版權信息不可篡改性和可溯源性;但該文獻主要關注版權交易部分,對于版權登記并無過多的描述。文獻[9]針對互聯(lián)網(wǎng)生態(tài)下數(shù)字版權問題,在區(qū)塊鏈技術基礎上提出了一種基于超級賬本的數(shù)字版權登記模型,主要針對的是以文本形式作為載體的作品登記并且聚焦于版權登記部分。文獻[10]基于星際文件系統(tǒng)(InterPlanetary File System,IPFS)與區(qū)塊鏈技術建立了一個數(shù)字媒體版權和內容保護系統(tǒng),設計了反映數(shù)字媒體文件特點的數(shù)字指紋,并將指紋記錄到Fabric 區(qū)塊鏈中,確保了數(shù)字媒體作品的不變性和出處;該文獻主要聚焦于版權登記部分,但在系統(tǒng)設計中將數(shù)字指紋存儲到區(qū)塊鏈中會帶來區(qū)塊鏈的存儲問題。文獻[11]提出了一種基于改進實用拜占庭容錯算法(Practical Byzantine Fault Tolerance,PBFT)的聯(lián)盟式音視頻版權區(qū)塊鏈系統(tǒng)。實驗結果表明,改進后的新共識算法使系統(tǒng)在共識速度與數(shù)據(jù)通信次數(shù)方面得到了優(yōu)化;但該文獻主要敘述了改進的PBFT,對于音視頻版權保護方面敘述較少。文獻[12]提出了一種基于區(qū)塊鏈信用體系的分布式數(shù)字版權管理(Digital Right Management,DRM)機制,主要針對版權交易過程,實現(xiàn)了版權交易過程的不可逆加密記錄并對分布式賬本的數(shù)據(jù)結構做了輕量級調整。文獻[13]提出了一種基于聯(lián)盟區(qū)塊鏈技術和星際文件系統(tǒng)的去中心化音樂共享模型,實現(xiàn)了音樂的可信存儲以及用戶的購買等功能。
總體而言,上述研究工作雖然取得了一定進展,但仍存在一些局限。主要表現(xiàn)如下:
1)沒有細分作品類型。現(xiàn)有的基于區(qū)塊鏈的數(shù)字版權保護文獻中大多停留在數(shù)字版權這個層面進行研究,但數(shù)字作品包括了文字、圖像、音頻、視頻等類型,不同類型的版權登記處理方式是不同的,現(xiàn)有文獻大多簡要敘述,未進行細分。而對于音樂作品的版權保護的文獻就更少了。
2)沒有全流程的版權服務。大多的文獻還是聚焦在數(shù)字版權登記這個方面,還有較少的文獻包含了版權交易,而對于版權的侵權監(jiān)控與取證維權則很少出現(xiàn)。
3)沒有考慮數(shù)字作品的傳播推廣。現(xiàn)有文獻大多采用聯(lián)盟鏈技術實現(xiàn)版權保護,雖然剔除了平臺方,讓作品創(chuàng)作者與購買者點對點交易解決了作品創(chuàng)作者利益分配不公平的問題,但與此同時也失去了平臺所起的傳播推廣作品的作用。這很少在基于區(qū)塊鏈的數(shù)字版權保護系統(tǒng)文獻中被提及。
為了解決當前數(shù)字音樂版權管理的問題,本文提出并實現(xiàn)了一個基于區(qū)塊鏈的數(shù)字音樂版權管理系統(tǒng)。該系統(tǒng)具有以下特點:
1)僅針對音樂領域。本文系統(tǒng)聚焦于數(shù)字音樂版權的管理,采用Shazam 算法作為音樂文件的特征指紋提取與相似性比對算法,該算法能夠很好地防止盜版作品的上鏈登記以及識別侵權作品。
2)全流程的版權服務。本文系統(tǒng)包含了版權登記、版權交易、侵權監(jiān)測、證據(jù)固化、音樂生態(tài)以及用戶管理六大功能模塊,涵蓋了版權管理的主要環(huán)節(jié),讓作品創(chuàng)作者能夠全方位地管理版權作品。
3)激勵機制。本文系統(tǒng)基于VNT Chain 公有鏈進行構建,公有鏈具有Token 經(jīng)濟,利用Token 經(jīng)濟結合傳統(tǒng)的推廣手段能夠激勵系統(tǒng)用戶推廣作品,讓作品更好的傳播。而音樂眾籌則可解決音樂創(chuàng)作者前期資金緊缺的問題,激勵創(chuàng)作者創(chuàng)作,讓整個音樂行業(yè)更加繁榮。
本文系統(tǒng)對于規(guī)范數(shù)字音樂版權管理,激勵音樂創(chuàng)作者創(chuàng)作以及繁榮整個音樂行業(yè)具有重要意義。
區(qū)塊鏈可分為公有鏈、聯(lián)盟鏈與私有鏈[14]。在公有鏈中,所有的礦工均可參與共識協(xié)商,在聯(lián)盟鏈中僅有被選擇的節(jié)點才可參與共識協(xié)商,而私有鏈的共識協(xié)商則是被一個組織完全控制。公有鏈對所有人開放,能夠吸引更多的用戶,社區(qū)也比較活躍;聯(lián)盟鏈可以應用于很多業(yè)務場景;私有鏈則主要被用于公司內部業(yè)務。
VNT Chain[15]由全球領先的區(qū)塊鏈技術服務商——云象提供技術支撐,采用聚合鏈架構,包括聯(lián)盟鏈、公有鏈以及跨鏈三個部分,能夠實現(xiàn)數(shù)據(jù)服務體系與資產服務體系的相互協(xié)同和發(fā)展。VNT Chain 公有鏈采用了一種全新的Vortex 共識算法,可達到10 000 TPS(Transaction Per Second)以上。高TPS 可以讓系統(tǒng)產生的交易更快地打包并驗證上鏈,為用戶提供更好的DAPP 體驗。同時VNT Chain 也具備Token 經(jīng)濟,這在系統(tǒng)開發(fā)過程中可以實現(xiàn)一些激勵機制,讓用戶更愿意參與進來。
星際文件系統(tǒng)即IPFS,它是一個可以創(chuàng)建持久且分布式存儲和共享文件的網(wǎng)絡傳輸協(xié)議,致力于解決現(xiàn)有超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)的不足。IPFS 在存儲文件時會先將文件等大小分塊,再構建各塊的Hash 值并構建文件檢索表,這樣就可將文件分塊存儲在分布式的服務器上。在查找時只需輸入存儲文件時返回的Hash值,IPFS就會根據(jù)文件檢索表和內部的路由表自動查找并合并各文件塊組成原始文件[16-17]。
存儲在IPFS 上的數(shù)據(jù)由于是分布式的具有一定的安全性,且能夠較好解決區(qū)塊鏈無法存儲大數(shù)據(jù)的問題,但是它需要結合區(qū)塊鏈的激勵機制來使用戶愿意分享它們的磁盤空間,并且發(fā)布IPFS 上的內容是被設定為公開的,任何擁有內容Hash 的人都可以訪問這些內容,這就帶來了一些隱私方面的問題。這些是在基于IPFS 進行系統(tǒng)開發(fā)時所需考慮的問題。
智能合約是可以自動執(zhí)行預先定義規(guī)則的一段計算機程序代碼,它能夠實現(xiàn)價值的存儲、傳遞、控制和管理。在基于區(qū)塊鏈技術的系統(tǒng)中,一般采用智能合約來編寫業(yè)務邏輯并將智能合約部署到區(qū)塊鏈上,通過交易命令觸發(fā)并調用執(zhí)行[18-19]。
VNT Chain 的智能合約采用C 語言進行編寫,提供了Bottle 工具實現(xiàn)智能合約的編譯以及JavaScript 語言的API 實現(xiàn)智能合約的部署與調用執(zhí)行[20]。
每一個正版的音樂文件是唯一的,需要用一個唯一的數(shù)據(jù)去映射音樂文件。目前針對音樂文件唯一性的處理主要有三種方式:1)Hash 算法;2)數(shù)字水印;3)數(shù)字DNA(Deoxyribo Nucleic Acid)。第一種Hash方式雖然可以唯一地標識一個音樂文件,但是無法做到文件的相似度匹配,也就無法識別出盜版的音樂文件;第二種數(shù)字水印方式通過將水印信息嵌入到音樂文件中來確定一個音樂文件,該種方式確實能夠防止音樂盜版,但是水印信息的嵌入將會影響音樂的質量以及帶來音樂文件存儲空間的增加;第三種數(shù)字DNA 方式通過提取音樂文件的DNA(數(shù)字特征/特征指紋)作為音樂文件的唯一性標識信息,通過DNA 的相似性比對可以防止盜版音樂的版權登記以及實現(xiàn)侵權監(jiān)測。
本文主要采用數(shù)字DNA 方式來對音樂文件進行唯一性確定?;跀?shù)字特征的DNA 技術主要依據(jù)的數(shù)字特征大多是梅爾頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,MFCC),將MFCC 作為音樂文件的唯一性標識,再對音樂文件之間的MFCC 矩陣進行相似性比對。而基于指紋的DNA 技術主要分為三類:Echo print、Chroma print 和Landmark[21-23]。其中,Landmark 類指紋DNA 技術主要采用的特征指紋算法是Shazam 算法,它是Shazam 公司2003 年提出的。該算法包含了音樂特征指紋的提取與相似性比對兩個部分,主要涉及如下三個模塊[24]:
1)星狀圖。星狀圖可以理解為音樂文件的特征數(shù)據(jù)。Shazam 算法通過保留音頻的頻譜極大值將一張復雜的頻譜圖簡化為離散的星狀圖。頻譜的極大值是時頻區(qū)域內那些值大于所有鄰居的點。
2)快速組合哈希。如果直接拿星狀圖進行音樂文件之間的相似性比對也是可以的,但是速度非常慢。為此,Shazam算法提出了一種以空間換時間的快速組合哈希方法來提高相似性比對的速度。運用該方法后,Shazam 算法將生成真正的音樂特征指紋數(shù)據(jù)。
3)檢索和打分。Shazam 算法會提取用戶上傳的音樂文件的特征指紋數(shù)據(jù),在檢索數(shù)據(jù)庫中的指紋數(shù)據(jù)進行相似性比對并得出相似性分數(shù)。最終選擇分數(shù)最高的音樂作為匹配項。
基于區(qū)塊鏈的數(shù)字音樂版權管理系統(tǒng)利用區(qū)塊鏈技術為音樂作品提供存證性證明,利用Shazam 算法為音樂作品提供原創(chuàng)性證明。智能合約、鏈上數(shù)據(jù)不可篡改且防偽可溯源的特性能夠保障交易的安全執(zhí)行以及侵權證據(jù)的真實性,而公有鏈特有的Token 經(jīng)濟則有利于音樂生態(tài)的繁榮發(fā)展。本文系統(tǒng)按照業(yè)務內容進行模塊化分類可分為用戶管理、版權登記、版權交易、侵權監(jiān)測、證據(jù)固化以及音樂生態(tài)六大模塊。各模塊及其子模塊功能如圖1所示。
用戶管理模塊負責對與用戶相關信息的統(tǒng)一管理,包括用戶在本文系統(tǒng)的登錄注冊、完善個人信息以及查看個人相關信息。版權登記模塊負責實現(xiàn)用戶對自己原創(chuàng)作品的著作權登記,用戶可在該模塊中對自己的原創(chuàng)作品進行著作權登記或者下載登記好的著作權證書以及原創(chuàng)音樂文件。版權交易模塊負責實現(xiàn)用戶之間的版權交易,用戶在該模塊中可出售自己的版權或在版權商城中查看自己感興趣的版權并進行購買。侵權監(jiān)測模塊與證據(jù)固化模塊可結合起來使用:侵權監(jiān)測模塊用于幫助用戶發(fā)現(xiàn)網(wǎng)絡中出現(xiàn)的盜版音樂,用戶可在該模塊中上傳網(wǎng)站上的音樂文件進行相似性比對確定是否疑似侵權,如果用戶發(fā)現(xiàn)網(wǎng)站侵權則可以通過截圖、錄屏等方式提取侵權證據(jù)文件;證據(jù)固化模塊負責將用戶持有的侵權證據(jù)文件進行上鏈存儲,為后續(xù)的司法維權提供有力證據(jù)。音樂生態(tài)模塊能夠實現(xiàn)整個音樂行業(yè)的繁榮,解決在去除第三方平臺后而失去平臺推廣音樂作用的問題,對于普通用戶可以通過對音樂的推廣來獲得音樂版權收益的分紅,而對于音樂創(chuàng)作者則可以通過出售待創(chuàng)作音樂的部分股權來眾籌獲取音樂作品前期創(chuàng)作的資金。推廣與眾籌的行為都可當作一種交易而被記錄上鏈。
圖1 基于區(qū)塊鏈的數(shù)字音樂版權管理系統(tǒng)功能模塊Fig.1 Function modules of digital music copyright management system based on blockchain
一個系統(tǒng)除了為用戶提供應有的功能外,還要關注必要的非功能需求,為用戶提供良好的使用體驗與安全保障。本文系統(tǒng)主要的非功能需求包含如下內容:
1)高效。系統(tǒng)對于用戶請求的處理要在較短的時間內完成,響應時間越短,用戶體驗越好;同時系統(tǒng)在單位時間內可成功傳輸一定量的數(shù)據(jù)。
2)安全。系統(tǒng)需要具備一定的攻擊防護手段,如IP 限制。對于系統(tǒng)的數(shù)據(jù)則需要保證機密的數(shù)據(jù)不被竊取以及非法篡改,同時還要保證合法用戶能夠正常地使用系統(tǒng)。
3)可擴展。模塊化的開發(fā)系統(tǒng)有利于系統(tǒng)功能的擴展以及代碼的復用。
4)可靠。系統(tǒng)在恢復故障后能夠較容易恢復到正常運行。
5)易用。系統(tǒng)界面設計要美觀,符合受眾的喜好,且系統(tǒng)操作要簡易。
基于區(qū)塊鏈的數(shù)字音樂版權管理系統(tǒng)的架構可分為三層,分別是前端系統(tǒng)、后端系統(tǒng)以及底層存儲,如圖2所示。
1)底層存儲。系統(tǒng)一共有三種存儲引擎,分別是區(qū)塊鏈平臺、IPFS以及數(shù)據(jù)庫,它們各有優(yōu)缺點。存儲在區(qū)塊鏈上的數(shù)據(jù)具有不可篡改且防偽可溯源的特性,它能夠作為司法存證的依據(jù);但在公有鏈上存儲數(shù)據(jù)是需要消耗燃料的,也就是公有鏈上發(fā)行的數(shù)字貨幣,所以僅把最重要的數(shù)據(jù)上鏈存儲。本文系統(tǒng)將用戶個人信息、音樂版權信息、版權交易信息、維權證據(jù)信息以及與音樂生態(tài)有關的交易信息存儲在VNT Chain 區(qū)塊鏈平臺上。IPFS 將文件分塊進行分布式存儲具有一定的安全性,且能夠較好地解決區(qū)塊鏈的數(shù)據(jù)存儲問題,但任何擁有地址Hash 的用戶都可獲取該Hash 值所尋址的內容,具有一定的隱私風險。本文系統(tǒng)將音樂文件的特征指紋數(shù)據(jù)以及用戶的維權證據(jù)文件存儲于IPFS 上。MySQL 作為傳統(tǒng)的數(shù)據(jù)庫具有操作簡單、訪問高效的特點;但是中心化的數(shù)據(jù)庫容易出現(xiàn)單點故障的問題,相較于前面兩個存儲引擎,具有較高的安全隱患。本文系統(tǒng)將用戶的音樂文件存儲于本地,并在MySQL 數(shù)據(jù)庫中存儲音樂文件的存儲路徑,這樣能夠提高音樂文件的讀取速度。
2)后端系統(tǒng)。后端系統(tǒng)是底層存儲與前端系統(tǒng)的橋梁,實現(xiàn)了系統(tǒng)的業(yè)務邏輯,包含智能合約實現(xiàn)與非智能合約實現(xiàn)兩個部分。系統(tǒng)業(yè)務邏輯的智能合約實現(xiàn)包括用戶管理合約、版權登記合約、版權交易合約、證據(jù)固化合約以及音樂生態(tài)合約;而系統(tǒng)業(yè)務邏輯的非智能合約實現(xiàn)包括侵權監(jiān)測功能的實現(xiàn)以及Shazam 算法的實現(xiàn),版權登記功能與侵權監(jiān)測功能的實現(xiàn)需要用到Shazam算法。
3)前端系統(tǒng)。前端系統(tǒng)通過良好的交互界面直接面向用戶提供服務。本文系統(tǒng)采用Web 作為前端,主要通過Vue.js框架、Element UI 框架進行構建,并通過Axios 訪問后端系統(tǒng)提供的RESTful接口。
圖2 基于區(qū)塊鏈的數(shù)字音樂版權管理系統(tǒng)架構Fig.2 Architecture of digital music copyright management system based on blockchain
本文系統(tǒng)一共有六大功能模塊,包括用戶管理模塊、版權登記模塊、版權交易模塊、侵權監(jiān)測模塊、證據(jù)固化模塊以及音樂生態(tài)模塊。除了侵權監(jiān)測模塊外,其余功能模塊都需要借助智能合約實現(xiàn)重要數(shù)據(jù)在VNT Chain 區(qū)塊鏈平臺上的存儲與讀取。VNT Chain的智能合約采用C語言進行編寫,每個智能合約都需要導入vntlib.h 頭文件。本文系統(tǒng)一共有5 個智能合約,包括用戶管理合約、版權登記合約、版權交易合約、證據(jù)固化合約以及音樂生態(tài)合約。下面將對系統(tǒng)的各個功能模塊進行詳細介紹。
3.2.1 用戶管理模塊
用戶管理模塊主要是對用戶相關信息進行統(tǒng)一管理,方便用戶對這些信息的查看,如圖3 所示。其中用戶管理合約中記錄了與用戶相關的個人信息,包括用戶在VNT Chain 平臺上的錢包地址、用戶的版權人姓名以及手機號。用戶需先在VNT Chain 官方網(wǎng)站[25]注冊錢包,注冊完成將會得到KeyStore 文件、密碼、私鑰、賬戶地址等信息,這些信息十分重要,用戶需要妥善保管。用戶在登錄系統(tǒng)時需要上傳KeyStore 文件以及注冊時填寫的密碼,系統(tǒng)會對用戶的信息進行校驗,僅當校驗成功才允許用戶進入系統(tǒng)使用系統(tǒng)提供的服務。
用戶在首次登錄到系統(tǒng)后需要完善個人信息,主要是版權人姓名以及手機號。版權人姓名用于在版權登記時與音樂文件的標簽信息進行比對,以此來初步判斷該音樂文件是否是當前用戶原創(chuàng)的;而用戶的手機號則是在系統(tǒng)出現(xiàn)某些問題時能夠與用戶取得聯(lián)系,及時地通知用戶。如當存儲在IPFS 上的音樂特征指紋數(shù)據(jù)被破壞時,系統(tǒng)需要通過該手機號聯(lián)系用戶進行音樂文件的重傳,以此恢復音樂特征指紋數(shù)據(jù);又如當用戶在購買版權后可以下載音樂文件,如果系統(tǒng)在校驗該音樂文件的內容Hash 與存儲在區(qū)塊鏈上的值不一致時,則說明系統(tǒng)上的音樂文件已被破環(huán),這時同樣需要通過該手機號聯(lián)系用戶進行音樂文件的重傳,等等。
圖3 用戶管理模塊流程Fig.3 Flowchart of user management module
3.2.2 版權登記模塊
版權登記模塊用于實現(xiàn)用戶對自己原創(chuàng)音樂作品的登記確權、音樂版權證書的下載以及原創(chuàng)音樂文件的下載,如圖4所示。當音樂版權信息存入到區(qū)塊鏈后就具備了存證性證明,而本文系統(tǒng)對于音樂作品的原創(chuàng)性證明則采用了三階段校驗:
1)校驗音樂文件的內容Hash 是否已在本文系統(tǒng)存在。該階段是為了防止用戶拿已在本文系統(tǒng)登記過的音樂進行版權登記。
2)比對音樂標簽信息與上傳用戶的版權人信息是否一致。音樂標簽信息是音樂在制作完成后,音樂創(chuàng)作者嵌入到音樂中的信息,通過比較音樂標簽中的音樂創(chuàng)作者信息可以初步確認該音樂是否是用戶的。由于音樂標簽信息是可以隨意修改的,所以系統(tǒng)只能初步進行判斷,不能認為音樂標簽信息中包含了用戶的姓名,該音樂就是用戶的。
3)利用Shazam 算法提取部分音樂片段的特征指紋數(shù)據(jù)與系統(tǒng)的特征指紋庫進行相似性比對,判斷系統(tǒng)是否已存在較高相似性的音樂文件。該階段是為了防止用戶拿已在本文系統(tǒng)登記過的音樂進行非法修改并進行版權登記。
觀察這三個階段的校驗可以發(fā)現(xiàn),系統(tǒng)并不能完全證明用戶上傳的音樂就是他/她自己原創(chuàng)的,這也是當前區(qū)塊鏈無法解決的一個問題,即無法驗證用戶上鏈前數(shù)據(jù)的真實性。本文系統(tǒng)更多地是為用戶提供一個在某個時間點擁有該音樂作品的證據(jù),如果有人提出系統(tǒng)中的某件音樂作品是自己被別人非法存證了,那么他/她可以提供更早擁有該件音樂作品的證據(jù),并對非法存證的系統(tǒng)用戶提出法律訴訟,如果系統(tǒng)用戶真的是拿別人的音樂作品進行非法存證,那么他/她在本文系統(tǒng)不可篡改的存證信息將成為被侵權者依法維權的有利證據(jù)。
僅當三個階段的校驗都通過后,系統(tǒng)才允許用戶對該音樂文件的存證確權。這時用戶可以選擇添加該音樂作品的協(xié)作者并設置每個人的音樂股權占比,該占比將決定后期的音樂作品收益劃分,如果沒有協(xié)作者,那么用戶將獨占該音樂作品的股權。
設置好音樂作品協(xié)作者之后,系統(tǒng)會利用Shazam 算法提取音樂文件全部的特征指紋數(shù)據(jù)并存入IPFS 中,之后構造音樂版權信息存入VNT Chain 區(qū)塊鏈平臺,最后將音樂文件保存到本地并通過MySQL 數(shù)據(jù)庫進行管理,方便版權交易模塊中用戶的試聽以及音樂生態(tài)模塊中音樂的推廣等。除了版權登記外,用戶還可在該模塊中下載登記證書以及音樂文件。
圖4 版權登記模塊流程Fig.4 Flowchart of copyright registration module
3.2.3 版權交易模塊
版權交易模塊通過智能合約實現(xiàn)用戶之間的版權交易,如圖5 所示。版權的交易可分為版權轉讓與使用許可兩種,前者是音樂創(chuàng)作者將自己的音樂一次性無期限地轉讓給購買者,后者則是在一定的時間內允許版權購買者使用自己的音樂實現(xiàn)盈利。對于使用許可有以下三種基本形式:
1)獨占許可。在獨占許可中,版權所有人在許可的時間內不得再使用該版權,更不能再次將版權授予第三方。
2)排他許可。在排他許可中,版權所有人仍保留繼續(xù)使用該版權的權利,但不能將該版權授予第三方使用。
3)普通許可。在普通許可中,版權所有人仍保留繼續(xù)使用該版權的權利,也可以將該版權授予任何第三方使用。
為了較好地進行版權交易處理,本文系統(tǒng)按照版權的轉讓與獨占許可方式進行版權交易的設計。版權交易模塊可分為版權的出售與購買兩個部分。在版權出售中,用戶需要先選擇要出售的音樂版權以及出售的方式,包括版權轉讓與使用許可兩種,當用戶選擇使用許可后還需設置出售的許可使用時間。用戶在設置好版權出售的金額后即可確定版權出售。系統(tǒng)會調用版權交易合約將版權出售信息存儲至VNT Chain區(qū)塊鏈平臺上并在版權商城中展示。在版權購買中,用戶可以先瀏覽版權商城中出售的版權并進行音樂試聽,之后即可選擇想要的版權進行購買,系統(tǒng)會檢測用戶的余額是否足夠,僅當余額足夠才會執(zhí)行轉賬操作并將購買信息存入該版權音樂的版權交易合約中。在轉賬之前,系統(tǒng)會檢測該音樂版權是否經(jīng)過眾籌,如果是則按照股權的分配比例進行轉賬;否則將檢測該音樂版權是否擁有協(xié)作者,如果是則按照協(xié)作的股權占比進行轉賬,否則將全部的購買金額轉給版權所有者。購買后用戶即可下載該音樂文件進行聆聽欣賞或者使用該音樂去盈利,如將該音樂作為視頻的背景音樂進行視頻創(chuàng)作等。當用戶以獨占許可方式購買的版權到期后,系統(tǒng)將對用戶購買的版權進行回收。
圖5 版權交易模塊流程Fig.5 Flowchart of copyright trading module
3.2.4 侵權監(jiān)測模塊
侵權監(jiān)測模塊用于幫助用戶發(fā)現(xiàn)網(wǎng)絡上的盜版侵權音樂,如圖6 所示。該模塊有自動監(jiān)測與手動監(jiān)測兩個部分。自動監(jiān)測針對比較大型的系統(tǒng)內部設置的音樂網(wǎng)站,用戶在選擇開啟侵權監(jiān)測功能并設置監(jiān)測周期后,系統(tǒng)會每隔一段時間爬取這些默認網(wǎng)站上有關用戶已進行版權登記的音樂,之后對爬取的每一首音樂進行相似性比對。手動監(jiān)測則是針對一些小型的網(wǎng)站,用戶可以從這些網(wǎng)站上下載相關音樂,并在系統(tǒng)中上傳進行相似性比對。如果進行相似性比對的音樂與自己版權登記的音樂存在較高相似性,系統(tǒng)會給出疑似侵權的提示。后續(xù)本文系統(tǒng)還將引進律師角色幫助用戶進一步確認版權音樂是否被侵權。如果該音樂文件是侵權的,則用戶可通過截圖、錄屏等方式保存比對結果以及網(wǎng)站的頁面信息,之后將這些信息在本文系統(tǒng)進行證據(jù)固化,方便后續(xù)的司法維權。
圖6 侵權監(jiān)測模塊流程Fig.6 Flowchart of infringement monitoring module
3.2.5 證據(jù)固化模塊
證據(jù)固化模塊與侵權監(jiān)測模塊可以結合起來使用,它們負責將用戶的維權證據(jù)上鏈存儲,方便后續(xù)的司法維權,如圖7所示。
圖7 證據(jù)固化模塊流程Fig.7 Flowchart of evidence solidification module
首先用戶需要選擇被侵權的版權音樂,之后可對此次侵權事件進行文字描述,最后需要上傳維權證據(jù)文件,如網(wǎng)站未經(jīng)授權提供音樂下載的截圖、系統(tǒng)侵權監(jiān)測的相似性比對結果等。當用戶操作完成后,系統(tǒng)會將維權證據(jù)文件存儲到IPFS 上,并將構造好的維權證據(jù)信息存儲到VNT Chain 區(qū)塊鏈平臺。當用戶在后續(xù)司法維權時,可以提取存儲在區(qū)塊鏈上的維權證據(jù)數(shù)據(jù)作為強有力的維權依據(jù),維護自己的合法權益。后續(xù)系統(tǒng)將會引入公證機構以及律師角色,公證機構用于對用戶的維權證據(jù)進行公證,而律師則可以幫助用戶進行維權訴訟。
3.2.6 音樂生態(tài)模塊
音樂生態(tài)模塊本質上也是一種交易,是一種以音樂創(chuàng)作者為主導的交易,是為了繁榮整個音樂生態(tài)、幫助音樂作品更好的流通而存在,如圖8 所示。音樂生態(tài)模塊可分為三個部分,即音樂推廣、音樂眾籌以及音樂生態(tài)市場。在音樂推廣中,用戶可以選擇要進行推廣的音樂,在描述好推廣任務以及設置好任務完成金額后,即可發(fā)布音樂推廣需求,系統(tǒng)會將音樂推廣信息存儲至VNT Chain 區(qū)塊鏈平臺并在音樂生態(tài)市場中展示。在音樂眾籌中,用戶需要先對待創(chuàng)作的音樂作品進行描述,在設置好眾籌金額以及相應的音樂股權比例后,即可發(fā)布音樂眾籌需求,系統(tǒng)會將眾籌信息存儲至VNT Chain 區(qū)塊鏈平臺并在音樂生態(tài)市場中展示。而普通用戶則可在音樂生態(tài)市場中瀏覽需求,既可以選擇接受推廣任務賺取費用,也可以接受眾籌需求為音樂創(chuàng)作者的前期創(chuàng)作提供資金支持,當該版權進行交易獲取收益時,將會按照股權分配比例進行金額的劃分。通過音樂的推廣與眾籌,既能幫助音樂推廣,讓更多的人知道,又能為音樂創(chuàng)作者籌集前期創(chuàng)作的資金,這不僅能為平臺的用戶獲取收益,更能促進音樂創(chuàng)作者創(chuàng)作的積極性,從而帶來整個音樂行業(yè)的繁榮發(fā)展。而為了保障音樂推廣與眾籌的安全性,所有的交易信息將被記錄至VNT Chain 區(qū)塊鏈平臺上,用戶可以進行溯源查看,當發(fā)生某些糾紛時,可以提取區(qū)塊鏈上的信息作為證據(jù)。
圖8 音樂生態(tài)模塊流程Fig.8 Flowchart of music ecology module
為了驗證系統(tǒng)的性能,本文系統(tǒng)采用的測試環(huán)境是配置為CPU Intel Core i5-7300HQ 2.50 GHz 和內存16 GB 的Windows 10 操作系統(tǒng),安裝了VMware 虛擬機搭載Ubuntu16.04系統(tǒng)。系統(tǒng)一共有六大功能模塊,其中的版權登記模塊是最核心且最基本的功能,該模塊是最耗時的,也是最耗存儲空間的,因為涉及到了Shazam 算法處理音樂文件以及對音樂特征指紋數(shù)據(jù)的存儲。接下來將對系統(tǒng)的版權登記模塊進行測試。
本文系統(tǒng)基于VNT Chain 測試網(wǎng)進行搭建,根據(jù)Shazam算法原論文[20]描述的性能測試,10 s 的音頻片段已可取得很高的置信度,所以本文系統(tǒng)在進行相似性比對時,將會截取待比對音樂文件10 s 片段的特征指紋數(shù)據(jù),而系統(tǒng)構建的特征指紋庫則需要提取完整音樂的特征指紋數(shù)據(jù)。
本文系統(tǒng)對從網(wǎng)上隨機下載的50 首不同的音樂依次進行版權登記,這50 首音樂中成功進行版權登記的有45 首,成功率為90%,版權登記失敗的5首音樂的文件編號分別是10、22、23、25、27。這5 首音樂都是在通過音樂文件相似性比對后才失敗的,所以準確率是100%。版權登記失敗的原因都是在提取整個音樂文件的特征指紋階段無法分配足夠的內存導致的系統(tǒng)錯誤。分析這5 首音樂可知道,音樂時長均在5 min左右,提取全部的音樂特征指紋會很大,這樣就會觸發(fā)系統(tǒng)的過量處理模式,禁止為變量創(chuàng)建該大小的內存空間。后續(xù)可通過修改系統(tǒng)配置擴充虛擬內存、將特征指紋數(shù)據(jù)分批次存儲等方式解決該內存問題。
此次測試一共成功將45 首音樂在本文系統(tǒng)進行版權登記,每首音樂所花費的登記時間如圖9所示。
在圖9中,版權登記花費總時長的斜率約為1.95,也就是說系統(tǒng)每登記確權一首音樂,后續(xù)音樂的版權登記時間大約會增加1.95 s 的時間。系統(tǒng)提取音樂文件10 s 時長的特征指紋所花費時間的斜率是0.002 9,這主要是系統(tǒng)性能波動的原因,系統(tǒng)提取10 s 時長的特征指紋大約花費1 s 的時間。系統(tǒng)提取音樂文件全部的特征指紋所花費時間的斜率約為-0.025 3,這同樣是系統(tǒng)性能波動所導致的,即每首音樂提取全部特征指紋大約需要花費22 s的時間。系統(tǒng)進行相似性比對所花費時間的斜率約為1.95,與版權登記總時長的斜率幾乎一樣,也就是說相似性比對所需花費時間的增加是導致整個版權登記時間增加的原因。最后,每首音樂大約需要花費7 s 的時間進行其他輔助處理,除了系統(tǒng)性能波動的原因,有些音樂文件需要更多的處理時間是因為系統(tǒng)在提取音樂特征指紋之前,會檢查音樂文件的采樣率是否是44.1 kHz 以及MP3 格式,如果不是,則會利用FFmpeg 工具對音樂文件進行轉化再提取特征指紋。
相似性比對所花費時間的增加導致了整個版權登記時間的增加,而導致相似性比對花費時間增加的因素如圖10所示。
圖9 版權登記時間花費情況Fig.9 Time spent on copyright registration
圖10 版權登記時間增加的因素Fig.10 Factors of copyright registration time increase
觀察圖10 可知,圖中四條線的斜率相加約為1.95,即是圖9 中相似性比對所花費時間這條線的斜率。從版權登記合約中獲取特征指紋在IPFS 上的地址與排序特征指紋的Hash值(一個音樂文件對應一個特征指紋,一個特征指紋包含幾萬的Hash 值)所帶來的時間增加相對來說是比較少的,而匹配特征指紋的Hash值系統(tǒng)目前采用的是多進程+二分查找的方式進行匹配,而二分查找的時間復雜度是對數(shù)級別的,當數(shù)據(jù)量越來越大時,其時間增加步伐會越來越小。所以這四個因素中,最主要的因素其實是從IPFS 上獲取全部的特征指紋數(shù)據(jù),每成功版權登記一首音樂,就會多一個特征指紋在IPFS上存儲的Hash 地址,而獲取該Hash 地址的數(shù)據(jù)大約需要1.1 s 的時間。后續(xù)將對數(shù)據(jù)的存儲以及傳輸進行優(yōu)化以此緩解登記時間的上漲趨勢,從而增加系統(tǒng)的實用性。
在這成功版權登記的45 首音樂中,每首音樂提取的特征指紋數(shù)據(jù)在IPFS上消耗的存儲空間如圖11所示,每個特征指紋包含的Hash值個數(shù)如圖12所示。
在這45 首音樂中,每首音樂平均消耗的IPFS 空間大約8 MB。雖然8 MB 是原音樂文件2~3 倍的大小,但這正是Shazam 算法以空間換時間的思想體現(xiàn),通過增加存儲空間來提高特征指紋相似性比對的速度,這是值得的。
圖11 特征指紋在IPFS上消耗的存儲空間大小Fig.11 Storage space size costed by each feature fingerprint on IPFS
圖12 特征指紋中的Hash值數(shù)量Fig.12 Number of Hash value in each feature fingerprint
最后將本文系統(tǒng)與前人提出的系統(tǒng)進行比對后可得到表1,可以看出本文系統(tǒng)的功能更加全面,能夠提供全流程的版權服務,幫助用戶更高效地管理音樂作品的版權。
表1 系統(tǒng)功能模塊對比Tab.1 Comparison of system function modules
隨著人們生活水平的提高,越來越多的人喜歡聆聽音樂或是創(chuàng)作自己的音樂。然而,現(xiàn)有音樂版權行業(yè)存在的諸多問題將極大阻礙音樂行業(yè)的發(fā)展。區(qū)塊鏈技術的出現(xiàn)為音樂版權管理提供了良好的解決途徑。本文主要針對現(xiàn)有音樂版權行業(yè)的問題,基于區(qū)塊鏈技術搭建了一個數(shù)字音樂版權管理系統(tǒng),該系統(tǒng)具備六大功能模塊,可滿足音樂版權管理的大部分需求,同時音樂生態(tài)模塊的引入不僅能夠激勵用戶去分享音樂作品,更能幫助音樂創(chuàng)作者募集前期創(chuàng)作的資金,有助于創(chuàng)作者的持續(xù)創(chuàng)作以及整個音樂行業(yè)的繁榮。當然系統(tǒng)還有一些不完善的地方,比如版權登記所花費時間的增加,侵權監(jiān)測中待引入人工智能技術進行優(yōu)化等。后續(xù)將會對本文系統(tǒng)進行進一步的改進。