APP下载

一种基于区块链的自媒体版权管理方案

2023-02-05沈苏彬

计算机技术与发展 2023年1期
关键词:参与方公钥身份

李 铭,沈苏彬

(1.南京邮电大学 计算机学院,江苏 南京 210046;2.南京邮电大学 通信与网络技术国家工程研究中心,江苏 南京 210046)

0 引 言

自媒体是指私人化、自主性的新媒体的总称,以电子化的手段向群体或个人传递信息,具有传播速度快、信息来源广泛等特点[1]。随着自媒体的快速发展,导致侵权事件频发,受到维权的成本等因素的制约,许多自媒体人难以采取有效的追究措施。版权是对权利人所创作的具有原创性作品的法律保护,数字版权可以给自媒体人提供一种有效的保护措施。传统的数字版权管理方案普遍采用中心化的管理模式,在当前互联网环境下自媒体作品的版权登记面临的问题如下:一方面,版权登记需要的周期较长,登记的流程较为复杂,打击了自媒体人的确权积极性;另一方面,中心化的管理模式存在信任问题[2]。

随着比特币[3]的出现,区块链技术引起了研究者的关注。区块链作为存储比特币系统中交易记录的公共账本[4],该账本由网络节点共同维护且不可篡改。Vitalik Buterin提出了以太坊区块链平台[5],第一次将智能合约应用于区块链,智能合约是指运行在区块链上的根据预设条件自动执行的一段程序化规则和逻辑[6]。随着研究人员对区块链相关研究的深入,区块链的应用不仅局限于数字货币领域,而且应用到物联网、供应链、存证、医疗等多个非数字货币领域[7]。

为了解决传统数字版权管理采用中心化模式存在的信任问题,该文利用区块链的去中心化、防篡改、可追溯等技术特点,将区块链技术应用于自媒体作品的数字版权管理,设计了一种去中心化模式下的自媒体版权管理方案。该方案在版权登记、版权验证这两个方面进行研究,将版权管理过程中涉及到信任管理的关键信息存储到区块链,实现版权登记和版权查询的可信管理。同时,基于以太坊平台进行了仿真实现与测试,验证了该方案具有可行性。该方案的应用价值如下:其一,方便版权的登记。设计了版权登记的流程及验证过程,提高了版权登记的效率。用户将自媒体作品等版权登记信息存储到区块链,区块链不可篡改的特性保证了数据的真实性,为版权纠纷提供可靠的证据。其二,方便版权的验证。设计了版权查询的流程及验证过程,提高了版权查询的效率。用户通过版权登记编号来查询版权登记信息进行验证,确保这条版权登记信息的唯一性,为自媒体作品的版权提供了保护。

1 相关工作

Mediachain[8]基于区块链技术允许创作者将自己的身份与作品关联,实现对发行商和创作者的版权保护。原本区块链[9]为原创作品提供认证、版权保护服务,生成唯一的版权标识存储到区块链。文献[10]对基于区块链的版权保护技术进行了分析,实现了一个基于区块链的版权保护的原型系统,关注于原型系统的实现。文献[11]对传统的数字版权管理平台进行分析,设计了一个基于区块链的数字版权管理系统,关注于系统功能模块的设计与实现。文献[12]针对校园版权业务的需求,设计了一种基于区块链的校园版权管理平台,关注于平台功能的设计。文献[13]提出了一种基于区块链的数字版权管理方案,保证版权交易记录的不可篡改,关注于版权交易的设计。文献[14]设计了一个基于区块链的数字版权交易系统,实现了版权注册和版权交易的功能,关注于版权交易的设计。文献[15]提出了一种基于区块链的数字版权DCI管控模型,通过创建交易、构造区块、区块的链接等步骤实现了数字作品区块链的交易信息存储机制,使用了工作量证明的共识机制,从而保证了版权信息的不可篡改。

上述基于区块链的版权管理的研究都取得了一定的进展,但是仍存在一些问题。对于如何使用区块链技术实现去中心化的数字版权管理方案,缺乏系统性的研究以及具体的设计。第2章中分析了基于区块链的版权管理的研究中存在的技术问题。第3章中针对这些技术问题,从版权管理的应用需求考虑,提出了一种基于区块链的自媒体版权管理方案。

2 基于区块链的版权管理的研究

基于区块链的版权管理的研究中,根据应用需求梳理出了存在的技术问题。其一,版权登记信息和版权查询信息的可信标识;其二,版权管理相关信任操作的数据定义及交互;其三,版权登记和版权查询的流程及真实性验证。

针对第一个技术问题:在去中心化模式下,如何保证版权登记信息和版权查询信息的可信标识。去中心化模式下参与方节点之间失去了信任,为了保证版权管理的操作是可信的,需要确保参与方身份的真实性。比特币系统采用公有链,允许任何参与方接入。根据版权管理的应用需求采用私有链,参与方的加入需要获得许可,避免伪造参与方身份的情况。在没有第三方的情况下,使用非对称加密算法和数字签名技术实现参与方的身份标识及验证。使用公钥生成账户地址作为参与方在网络中的身份标识,各个参与方存储所有参与方的身份标识与其公钥的对应关系,通过参与方在网络中的身份标识进行通信。为了保证网络中版权信息的真实性,将版权登记信息、版权查询信息与参与方的身份进行绑定,实现版权登记信息和版权查询信息的可信标识。在3.1节中描述了基于区块链的版权管理中参与方的设计。

针对第二个技术问题:在去中心化模式下,如何完成版权管理相关信任操作的数据定义及交互。区块链存储的版权信息需要参与节点共同维护,版权信息是由版权登记信息、版权查询信息对应的操作决定的,将版权登记和版权查询作为信任操作。首先,定义版权信息的结构。然后,根据应用需求将交易定义为版权登记交易、版权查询交易。版权管理的区块结构,包括版权登记交易所在区块的结构、版权查询交易所在区块的结构。版权管理的区块链结构中审核方维护一条登记交易链,查询者维护一条查询交易链,描述参与方通过网络与区块链进行交互的过程。在3.2节中描述了基于区块链的版权管理中数据结构的设计,包括:版权管理的区块结构、版权管理的区块链结构。

针对第三个技术问题:在去中心化模式下,如何完成版权登记和版权查询的流程及真实性验证。为了保证版权管理涉及的版权登记、版权查询这两个操作是可信的,在数据上链前需要对版权登记和版权查询的真实性验证进行研究。版权管理的流程设计,包括版权登记的流程、版权查询的流程。版权登记交易的真实性验证,包括验证登记者的身份、验证版权登记信息、验证审核方的身份、验证审核后的版权登记交易。版权查询交易的真实性验证,包括验证查询者的身份、验证版权查询交易。在3.3节中描述了基于区块链的版权管理中流程及验证过程的设计,包括:版权登记的流程及验证过程、版权查询的流程及验证过程。

3 基于区块链的版权管理方案的设计

针对数字版权管理的中心化的管理模式中存在的信任问题,将区块链技术应用于自媒体版权管理,设计了一种基于区块链的版权管理方案。本章分别描述了版权管理的参与方、版权管理的数据结构、版权管理的流程及验证过程。

3.1 版权管理的参与方

根据传统的数字版权管理以及基于区块链的数字版权管理的研究,完成了方案参与方的划分,包括登记者、审核方和查询者。登记者是指对版权信息进行登记的用户,发送版权登记信息到区块链的对等网络中,接受审核方的验证。审核方是指对版权登记信息进行审核的用户,在网络中收集并验证版权登记信息,审核通过后将版权登记信息作为交易打包到区块并发送到网络中,接受其他参与方的验证。若该区块被其他参与方验证通过,则表示网络中对该区块中的交易达成了共识,交易信息表示版权登记信息,代表版权登记的操作完成。查询者是指对版权登记信息进行查询的用户,在网络中收集对应的版权登记信息,版权查询信息作为交易打包到区块并发送到网络中,接受其他参与方的验证。若该区块被其他参与方验证通过,则表示网络中对该区块中的交易达成了共识,交易信息表示版权查询信息,代表版权查询的操作完成。

在没有第三方的情况下,使用非对称加密算法和数字签名技术实现参与方的身份标识及验证。每个参与方生成一对公私钥并加入区块链的对等网络,使用公钥生成账户地址作为参与方在网络中的身份标识,私钥保存在本地用于数字签名,公钥对外公开用于验证数字签名。由于公钥表示位数过长,不适合直接使用公钥在网络中传输,因此各个参与方都存储所有参与方的身份标识与其公钥的对应关系,通过参与方在网络中的身份标识进行通信。

将参与方的身份与版权登记信息进行绑定,对版权登记信息进行可信标识。登记者使用哈希算法对reg_info进行计算得到数字摘要Dreg,使用私钥SKreg对Dreg进行数字签名,生成版权登记信息的唯一标识Signreg,如公式2所示。其他参与方使用公钥PKreg验证该登记者的身份。其中SKreg表示该登记者的私钥、reg_info表示版权登记信息、PKreg表示该登记者的公钥。

Dreg= Hash(reg_info)

(1)

Signreg= SignSKreg(Dreg)

(2)

将参与方的身份与版权查询信息进行绑定,对版权查询信息进行可信标识。查询者使用哈希算法对que_info进行计算得到数字摘要Dque,使用私钥SKque对Dque进行数字签名,生成版权查询信息的唯一标识Signque,如公式4所示。其他参与方使用公钥PKque验证该查询者的身份。其中SKque表示该查询者的私钥、que_info表示版权查询信息、PKque表示该查询者的公钥。

Dque= Hash(que_info)

(3)

Signque= SignSKque(Dque)

(4)

3.2 版权管理的数据结构

3.2.1 版权管理的区块结构

版权信息的结构,包括作品的版权编号id、作品的作者author、作品名name、作品文件的哈希值fileHash、发布的时间戳timestamp、参与方的身份标识owner、参与方的数字签名sign。参考了比特币中区块结构,每个区块的结构包含区块头和区块体。区块头中包含前一个区块的哈希值、时间戳和Merkle树的根节点,其中前一个区块的哈希值用来与前一个区块相连,时间戳记录区块生成的时间,Merkle树的根节点作为区块中所有交易的唯一标识。区块体中存储了已经通过验证的交易记录,使用Merkle树的形式进行存储,对区块链上的交易记录进行任何修改都会导致Merkle树中根节点的值被改变,因此保证了数据不可被篡改。根据应用需求将比特币中的交易重新定义为版权登记交易和版权查询交易。版权登记交易的数据结构,包括版权信息、登记者的身份标识、审核方的身份标识、审核方的数字签名。版权查询交易的数据结构,包括版权信息、查询者的身份标识、查询者的数字签名。版权管理的区块结构,包括版权登记交易所在区块的结构、版权查询交易所在区块的结构,图1表示版权管理的区块结构。

基于区块链的自媒体版权的管理中需要对版权登记信息和版权查询信息进行可信管理。版权登记交易表示存储在区块链上的版权登记信息,版权查询交易表示存储在区块链上的版权查询信息。

图1 版权管理的区块结构

3.2.2 版权管理的区块链结构

版权登记交易和版权查询交易加入区块并进行数据上链的过程中,为了保证链上数据的一致性,使用了共识机制使去中心化网络中各个节点之间达成共识,比特币中使用工作量证明(Proof of Work,PoW)的共识机制,该共识机制依赖于节点的计算资源。研究者后续提出了权益证明(Proof of Stake,PoS)[16]、授权股份证明(Delegated Proof of Stake,DPOS)[17]、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)[18]等共识机制,共识机制的选择取决于实际的应用场景。基于区块链的自媒体版权管理方案中,使用工作量证明的共识机制会造成不必要的计算资源浪费,因此使用实用拜占庭容错的共识机制。

图2 参与方与区块链交互的过程

版权登记信息和版权查询信息作为交易在网络中广播,需要接受其他参与方的验证。若验证通过,则将该笔交易加入到本地区块中;若验证不通过,则不添加该笔交易。每个区块加入到区块链之前,也需要接受网络中其他参与方的验证。版权管理的区块链结构中审核方维护一条登记交易链,查询者维护一条查询交易链,使用双链结构描述各个参与方之间与区块链进行交互的过程。版权登记和版权查询,两者信任管理的级别不同,图2表示参与方与区块链交互的过程。对于查询交易,网络中的其他参与方只需要验证查询者身份的真实性;对于登记交易,网络中的审核方需要验证登记者身份的真实性,其他参与方需要验证审核方身份的真实性。

3.3 版权管理的流程及验证过程

3.3.1 版权登记的流程及验证过程

版权登记的功能是为了将登记信息存储在登记交易链。版权登记的流程如下:登记者发送登记信息到网络中,接受审核方的验证;审核方从网络中获取登记信息,审核登记信息通过后构造登记交易并广播到网络,接受其他参与方的验证;其他参与方从网络中获取登记交易,对该交易进行真实性验证,验证通过后加入当前区块。

登记交易信息存储在登记交易链,为了保证登记交易链上的登记交易是真实可信的,需要验证登记交易的真实性,包括以下部分:验证登记者的身份、验证版权登记信息、验证审核方的身份、验证审核后的版权登记交易。若这些验证都通过,则说明这笔登记交易是真实可信的。

版权登记的验证过程中的符号含义,其中reg_info表示登记信息,reg_info表示登记交易,id_map表示参与方的身份标识与其公钥的对应关系,reg_id表示登记者的身份标识,PKreg表示登记者的公钥,SKreg表示登记者的私钥,aud_id表示审核方的身份标识,PKaud表示审核方的公钥,SKaud表示审核方的私钥。数据上链前版权登记的验证过程,具体步骤如下:

步骤1:版权登记信息的可信标识。参考3.1节,将Signreg作为版权登记信息的可信标识。

步骤2:登记者生成审核方可验证的信息。登记者根据aud_id获取id_map中对应的PKaud,使用PKaud加密Signreg得到M1,发送M1、reg_info、reg_id到网络中等待审核方的验证。

PKaud= id_map.get(aud_id)

(5)

M1= EncryptPKaud(Signreg)

(6)

步骤3:审核方验证登记者的身份。审核方接收到消息后,验证reg_id是否存在于id_map。若reg_id存在,则继续执行;若reg_id不存在,则终止流程。

{true, false} = id_map.contains(reg_id)

(7)

Signreg= DecryptSKaud(M1)

(8)

PKreg= id_map.get(reg_id)

(9)

Dreg= DecryptPKreg(Signreg)

(10)

(11)

(12)

步骤5:审核方生成其他参与方可验证的信息。若reg_info通过审核,则审核方根据reg_info构造reg_tx,使用哈希算法对reg_tx进行计算得到数字摘要Daud,使用SKaud对Daud进行数字签名得到Signaud,广播Signaud、reg_tx、aud_id到网络中等待其他参与方的验证;若reg_info不通过审核,则终止流程。

Daud= Hash(reg_tx)

(13)

Signaud= SignSKaud(Daud)

(14)

步骤6:其他参与方验证审核方的身份。其他参与方接收到消息后,验证aud_id是否存在于id_map。若aud_id,则继续执行;若aud_id不存在,则终止流程。

{true, false} = id_map.contains(aud_id)

(15)

PKaud= id_map.get(aud_id)

(16)

Daud= DecryptPKaud(Signaud)

(17)

(18)

(19)

分析版权登记的验证过程:若公式7、公式12、公式15、公式19的结果不都为真,则登记交易验证不通过;反之,若公式7、公式12、公式15、公式19的结果都为真,则登记交易验证通过。版权登记的验证过程可以确保链上存储的登记交易都是真实可信的。

根据该验证过程,使用谓词逻辑构造如下命题以及推理过程。符号定义:E(x,m)表示公钥x对信息m进行加密,D(y,m)表示私钥y对信息m进行解密,K(x,y)表示x和y是非对称加密的一对公私钥,V(z)表示参与方z进行身份验证,P(z)表示参与方z的操作是可信的。

前提:∃x∃yD(y,E(x,m)),∀x∀y(D(y,E(x,m))→

K(x,y)),∀zV(z),∀z(V(z)→P(z))

结论:∀x∀y∀z(K(x,y)∧P(z))

推理过程:

(1) ∀x∀y(D(y,E(x,m))→K(x,y)) 前提引入

(2)D(b,E(a,m))→K(a,b) (1)全称量词消去

(3) ∃x∃yD(y,E(x,m)) 前提引入

(4)D(b,E(a,m)) (3)存在量词消去

(5)K(a,b) (2)(4)假言推理

(6) ∀z(V(z)→P(z)) 前提引入

(7)V(c)→P(c) (6)全称量词消去

(8) ∀zV(z) 前提引入

(9)V(c) (8)全称量词消去

(10)P(c) (7)(9)假言推理

(11)K(a,b)∧P(c) (5)(10)合取引入

(12) ∀x∀y∀z(K(x,y)∧P(z)) (11)全称量词引

从给定的前提条件出发,通过上述推理过程,可以证该命题的正确性。

3.3.2 版权查询的流程及验证过程

版权查询的功能是为了验证版权登记信息是否存储在登记交易链,并将版权查询信息存储到查询交易链。版权查询的流程如下:查询者构造查询交易广播到网络,接受其他参与方的验证;其他参与方从网络中获取查询交易,对该交易进行真实性验证,验证通过后加入当前区块;查询者从网络中获取查询的版权登记信息。

查询交易信息存储在查询交易链,为了保证查询交易链上的查询交易是真实可信的,需要验证查询交易的真实性,包括以下部分:验证查询者的身份、验证版权查询交易。若这些验证都通过,则说明这笔查询交易是真实可信的。

版权查询的验证过程中的符号含义,其中que_tx表示查询交易,id_map表示参与方的身份标识与其公钥的对应关系,que_id表示查询者的身份标识,PKque表示查询者的公钥,SKque表示登记者的私钥。数据上链前版权查询的验证过程,具体步骤如下:

步骤1:版权查询信息的可信标识。参考3.1节,将Signque作为版权查询信息的可信标识。

步骤2:查询者生成其他参与方可验证的信息。查询者广播Signque、que_tx、que_id到网络中,等待其他参与方的验证。

步骤3:其他参与方验证查询者的身份。其他参与方接收到消息后,验证que_id是否存在于id_map。若que_id存在,则继续执行;若que_id不存在,则终止流程。

{true, false} = id_map.contains(que_id)

(20)

PKque= id_map.get(que_id)

(21)

Dque= DecryptPKque(Signque)

(22)

(23)

(24)

分析版权查询的验证过程:若公式20、公式24的结果不都为真,则查询交易验证不通过;反之,若公式20、公式24的结果都为真,则查询交易验证通过。版权查询的验证过程可以确保链上存储的查询交易都是真实可信的。对于版权查询的验证过程,构造的命题以及推理过程与3.3.1节中版权登记的验证过程相似,同理可以证明该命题的正确性。

4 仿真实现与测试

根据第3章提出的基于区块链的版权管理方案,基于以太坊平台进行仿真实现与测试。本章分别描述了实验环境、实验过程、测试与结果分析,实验结果表明了该方案具有可行性。

4.1 实验环境

为了验证所提方案的可行性,基于以太坊平台进行仿真实验,以太坊是一个基于区块链技术的去中心化应用平台。智能合约是以太坊平台上运行的程序,开发去中心化应用需要根据业务逻辑来制定执行规则,当执行条件满足时自动执行对应的逻辑。使用Ganache客户端生成私有链,使用Solidity语言编写版权管理的智能合约,使用Truffle框架进行智能合约的编译、部署和测试。实验使用服务器的配置如下:操作系统为Ubuntu16.04,处理器数量为2,内存为2 GB,硬盘容量为40 GB。

4.2 实验过程

4.2.1 版权登记函数的设计

在版权登记的流程中,验证登记者和审核方发出的数字签名通过后,调用智能合约中的版权登记函数将版权登记信息存储到登记交易链完成存证。合约中包含一个版权登记函数,该函数允许登记者将版权登记信息存储到登记交易链,版权登记交易所在区块的结构中_owner表示登记者,_author表示版权的作者,_name表示版权的作品名,_fileHash表示版权的作品文件的哈希值,图3表示版权登记函数的关键代码。

图3 版权登记函数的关键代码

4.2.2 版权查询函数的设计

在版权查询的流程中,验证查询者发出的数字签名通过后,调用智能合约中的版权查询函数将版权查询信息存储到查询交易链完成存证。合约中包含一个版权查询函数,该函数允许查询者从登记交易链上查询已完成的版权登记交易,并将版权查询信息存储到查询交易链,版权查询交易所在区块的结构中_id表示版权编号,图4表示版权查询函数的关键代码。

图4 版权查询函数的关键代码

4.3 测试与结果分析

首先,对合约代码进行编译、部署;然后,进行测试。根据实验过程设计了测试用例,对版权登记、版权查询进行功能测试和性能测试,验证提出的基于区块链的自媒体版权管理方案具有可行性。

4.3.1 功能测试的分析

图5表示版权登记功能的执行。测试结果一的测试用例设计:登记者发布需要登记的版权信息,在前端页面输入登记信息,该操作通过验证。在这种情况下,版权登记功能执行完成,登记交易被存储到区块链。测试结果二的测试用例设计:登记者发布需要登记的版权信息,在前端页面输入登记信息,该操作未通过验证。在这种情况下,版权登记功能执行异常,登记信息上链失败。版权登记的流程和验证参考3.3.1节。

图5 版权登记功能的执行

图6表示版权查询的执行。测试结果一的测试用例设计:查询者发布需要查询的版权信息,在前端页面输入查询的版权编号,该操作通过验证。在这种情况下,版权查询功能执行完成,查询交易被存储到区块链。测试结果二的测试用例设计:查询者发布需要查询的版权信息,在前端页面输入查询的版权编号,该操作未通过验证。在这种情况下,版权查询功能执行异常,查询信息上链失败。版权查询的流程和验证参考3.3.2节。

图6 版权查询功能的执行

上述功能测试的结果表明,提出的基于区块链的自媒体版权管理方案能够以去中心化的方式实现版权登记信息和版权查询信息的可信管理,确保版权信息的可信存储。

4.3.2 性能测试的分析

在上述实验环境下,在以太坊平台搭建10个节点参与的私有链进行性能测试。该方案的性能可以通过版权登记功能、版权查询功能的执行时间来评估,因此测试某个功能在一定的并发请求量的情况下从开始到结束的执行时间,多次测试取平均值。在并发请求量为100的情况下,对版权登记功能、版权查询功能的执行时间进行10次测试,取10次测试结果的平均值。测试次数与执行时间的关系如图7所示。

图7 测试次数与执行时间的关系

在并发请求数为100的10次测试中,版权登记功能、版权查询功能的执行时间随着测试次数的增加逐渐趋于稳定,版权登记功能的平均执行时间为0.58 s,版权查询功能的平均执行时间为0.31 s。由于版权登记功能存储到区块链的数据量较大,所以版权登记功能的平均执行时间高于版权查询功能。上述性能测试的结果表明,该方案在私有链环境下比公有链的数字版权管理方案的平均执行时间更短,在上述实验环境下版权登记功能、版权查询功能的性能可以满足应用的需求。

5 结束语

针对传统数字版权管理采用中心化的管理模式存在的信任问题,提出了一种基于区块链的自媒体版权管理方案。该方案包括版权管理的参与方、版权管理的数据结构和版权管理的流程及验证过程,实现了自媒体版权的可信管理。同时,基于以太坊平台进行仿真实验与测试,实验结果表明提出的方案具有可行性。下一步准备对现有的共识机制进行研究,完善提出的基于区块链的自媒体版权管理方案。

猜你喜欢

参与方公钥身份
基于秘密分享的高效隐私保护四方机器学习方案
一种基于混沌的公钥加密方案
跟踪导练(三)(5)
P2X7 receptor antagonism in amyotrophic lateral sclerosis
身份案(下)
绿色农房建设伙伴关系模式初探
HES:一种更小公钥的同态加密算法
涉及多参与方的系统及方法权利要求的撰写
基于IPD模式的项目参与方利益分配研究
他们的另一个身份,你知道吗