«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (12): 134-141  DOI: 10.19678/j.issn.1000-3428.0056097
0

引用本文  

孙嘉豪, 孟翔斯, 张浩运, 等. 基于改进PBFT的区块链知识产权保护模型[J]. 计算机工程, 2020, 46(12), 134-141. DOI: 10.19678/j.issn.1000-3428.0056097.
SUN Jiahao, MENG Xiangsi, ZHANG Haoyun, et al. Intellectual Property Protection Model Using Blockchain Based on Improved PBFT[J]. Computer Engineering, 2020, 46(12), 134-141. DOI: 10.19678/j.issn.1000-3428.0056097.

基金项目

国家级大学生创新创业训练计划项目(201810060010)

作者简介

孙嘉豪(1998-), 男, 本科生, 主研方向为信息系统、区块链;
孟翔斯, 本科生;
张浩运, 本科生;
常小林, 本科生;
徐燕, 本科生;
关庄, 副教授

文章历史

收稿日期:2019-09-23
修回日期:2019-12-02
基于改进PBFT的区块链知识产权保护模型
孙嘉豪a , 孟翔斯b , 张浩运a , 常小林a , 徐燕a , 关庄a     
a. 天津理工大学 管理学院, 天津 300384;
b. 天津理工大学 计算机科学与工程学院, 天津 300384
摘要:为解决数字作品在互联网生态下存在的知识产权登记困难、盗版猖獗和产权交易混乱等问题,在改进的PBFT算法基础上,构造一种区块链知识产权保护模型。提出基于信用的改进PBFT共识机制,实现高效、低耗和可扩展的知识产权保护方式。设计知识产权登记和转让智能合约,利用自动化执行预置机制保证模型的高效性和透明性。实验结果表明,该模型可减少节点间的通信开销,增加主节点的诚实性概率,且具有更强的鲁棒性。
关键词区块链    知识作品    产权保护    共识机制    智能合约    
Intellectual Property Protection Model Using Blockchain Based on Improved PBFT
SUN Jiahaoa , MENG Xiangsib , ZHANG Haoyuna , CHANG Xiaolina , XU Yana , GUAN Zhuanga     
a. School of Management, Tianjin University of Technology, Tianjin 300384, China;
b. School of Computer Science and Engineering, Tianjin University of Technology, Tianjin 300384, China
Abstract: In order to solve the problems faced by digital works on Internet, such as the difficulty of intellectual property registration, rampant piracy and confusion of property right transactions, this paper constructs an intellectual property protection model using blockchain based on the improved PBFT algorithm.The model proposes an improved PBFT consensus mechanism based on credit, which can realize efficient, low-cost and scalable intellectual property protection.The smart contracts are designed for intellectual property registration and transfer, and the automatically executed preset mechanism is used to ensure the efficiency and transparency of the model.The experimental results show that the proposed model reduces the communication overhead between nodes, increases the honesty probability of the master node, and has stronger robustness.
Key words: blockchain    intellectual works    property protection    consensus mechanism    smart contract    
0 概述

随着互联网的迅速发展, 知识产权保护已不再局限于书籍、期刊及音像出版物等实体内容, 而是开始向数字化方向发展。据统计, 2017年我国数字出版产业整体收入规模已达7 071.93亿元, 比上年增长了23%[1]。互联网数字产权业在带动社会经济持续快速发展的同时, 也为知识产权的保护带来一系列问题。比如, 数量庞大且类型繁杂的知识作品无法进行有效的产权登记, 造成作者合法权益难以保障。同时, 难以统一的知识产权管理平台造成产权归属模糊不清的问题, 以及以零成本复制、秒速传播等方式为主的盗版技术的跟进, 也为知识产权的保护带来巨大挑战。

针对上述问题, 目前主要采用数字水印(Digital Watermarking)技术[2]在知识作品内容上声明产权归属, 并加强相关法律法规的建设。但是数字水印技术不但没有解决当前知识产权存在的诸多问题, 而且还形成了产业垄断, 强制性的法律法规只能在侵权发生后再予以惩罚, 不能及时保护知识产权。为此, 文献[3]提出利用嵌入式版权服务组件的形式, 通过基于可信第三方的模式管理各大数字作品出版平台, 并进行统一的版权认证和记录。文献[4]提出基于哈希的分布式认证算法和信誉值的反盗版机制数字出版物盗版传播问题, 但上述研究都是基于可信第三方来实现版权管理, 不能做到产权认证的绝对权威。文献[5]提出基于区块链的数字作品数字版权唯一标识符(DCI)管控模型, 通过区块链技术进行版权认证和交易, 但没有考虑到挖矿机制成本过高且共识效率极低, 并不能实际应用于知识产权保护。

本文构造一种基于改进PBFT的知识产权保护模型, 以实现对知识作品进行产权登记、产权交易和高效保护的管控服务。通过搭建去中心化的多节点产权保护平台, 采用改进的PBFT共识机制解决节点共识问题, 并建立分布式数据库系统, 将作品的完整内容存储在原始数据库中, 降低知识产权保护区块链上的存储负荷和高频访问压力。同时, 本文设计智能合约自动化执行预设指令, 从而保证平台的高效性和透明性, 有效解决当前知识作品的产权保护问题。

1 模型技术基础 1.1 区块链技术

区块链[6]本质上是一种分布式数据库, 它对数据库的结构进行创新, 将数据存储在不同的区块内, 区块间按照时间顺序并通过哈希算法链接起来, 由多个独立的共识节点共同维护, 具有去中心化、去信任化、安全性和可溯源性的特点。每个区块分为区块头和区块体2个部分, 区块头主要包含上一区块的哈希值、时间戳、随机数和默克尔根等信息, 而区块体主要用来封装数据信息[7-9]。区块链结构示意图如图 1所示。

Download:
图 1 区块链结构示意图 Fig. 1 Schematic diagram of blockchain structure

区块链技术的独特性在于区块内存储的数据信息只能增加, 不能修改或删除[10]。系统中如果出现对区块数据进行删改的操作, 则会在新的区块内留下数据被删改的记录。因此, 区块链能够完整记录一份数据从产生到每一次修改的所有过程, 从而保证数据的可溯源性。同时, 利用节点间的分布式共识机制验证区块数据的准确性和一致性来保证数据难以篡改。

1.2 智能合约

智能合约[11]是一种可以由事件驱动、具备状态机制且可根据预设条件自动执行合约条款的程序化协议。它取代了传统的纸质合同, 减少了在合约制定、控制协议和执行效率上的人工花费与计算成本[12]

在知识产权保护区块链网络中, 每一份智能合约都拥有与其对应的合约账户, 设定不同条件下的触发事件部署智能合约, 如果满足预设条件则调用合约接口触发执行。

1.3 PBFT机制

PBFT[13]用于解决如何在存在错误节点的分布式系统中保证决策一致性的问题。PBFT共识算法主要由一致性协议、视图转换协议和检查点协议3个方面组成。其中, 一致性协议通过类似投票的方式完成一致性检验, 视图转换协议用于替换故障节点从而保证系统正常运行, 检查点协议用于调整节点状态并清除交互数据以减少节点存储压力[14]。在总节点数为n的系统中, PBFT算法能容忍的错误节点数f最大值为(n-1)/3。

PBFT算法流程如图 2所示, 且具体步骤如下:

Download:
图 2 PBFT算法流程 Fig. 2 Procedure of PBFT algorithm

1) Request阶段:客户端(Client)针对要进行的操作选择一个主节点发送请求消息。

2) Pre-Prepare阶段:主节点(Primary)接收请求消息, 并将请求分类、排序后广播给所有从节点(Replica)。

3) Prepare阶段:从节点对接收到的消息进行验证, 并将结果广播给其他节点。

4) Commit阶段:节点间互相验证接收到的消息, 若验证结果一致则向客户端广播一条消息。

5) Reply阶段:客户端接收到的消息大于2f+1条时, 则共识达成。其中, f为错误节点的个数。

在PBFT算法中, 整个网络中的节点数目是固定的, 扩展性较差, 不能适应动态变化的网络系统。此外, 由于一致性协议中存在复杂的通信过程, 对节点间的共识效率影响较大。因此, PBFT算法还存在较大的改进空间。

2 模型实现方案 2.1 模型架构设计

本文模型设计了去中心化的知识产权保护区块链网络体系架构, 具体如图 3所示。

Download:
图 3 知识产权保护模型架构 Fig. 3 Structure of intellectual property protection model

知识产权保护模型架构包括以下2个部分:

1) 用户端。用户A在用户端上传其作品, 在上传过程中会进行抄袭检测。抄袭检测技术种类众多, 其本质是在对文本特征值提取的基础上进行后续处理。国内外研究人员对文本抄袭检测算法有不同的思路, 其中, 文献[15]针对Shingles算法进行优化, 并对指纹特征的选取进行改进。文献[16]利用文档的概念在不同结构层次上对文档和段落级别进行剽窃测试。文献[17]提出一种基于局部词频指纹的抄袭检测算法, 将句子作为文档的基本构成元素, 并对其进行有效关键词提取排序重构, 在一定程度上克服了现有抄袭检测算法检测精度较低的缺点, 且具有较快的检测速度。采用合适的抄袭检测技术能够快速而准确地检测出上传作品是否具有原创性。检测通过后客户端向知识产权保护区块链网络发起交易请求, 调用知识产权保护区块链网络接口, 执行已经部署的产权登记合约。将作品的产权信息和由文件特征值提取的哈希摘要写入新的数据区块, 通过节点共识验证后链接到区块链上, 并将作品的完整内容存入数据库。若用户B需要与用户A进行产权交易, 则需在用户端发起交易请求。通过调用与操作相应的合约接口, 执行相应的智能合约后根据交易信息生成新的数据区块, 通过节点共识验证后入链, 且入链后的数据不能篡改。同时, 由于区块链内的每个区块都包含时间戳, 从而为知识作品的产权归属提供有力证据, 避免了产权纠纷问题。

2) 知识产权保护区块链网络。节点接收到来自客户端的交易请求, 依据请求类型调用相应的智能合约接口。将在本地生成的交易数据打包进入新的区块, 通过改进的PBFT共识机制向全网广播交易数据, 达成共识后的新区块链接上链。

2.2 基于区块链的数据信息存储机制

本文模型采用的数据信息存储机制主要分为传统数据库存储和区块链存储2个部分。其中, 数据库用于存放确权作品的完整内容, 区块链用于存储确权作品的唯一摘要和产权信息等数据, 从而减少区块存储的数据量, 有利于提高节点间的共识效率和对确权作品的检索速度。

以用户上传原创作品并进行产权登记为例, 用户在客户端上传知识作品并通过抄袭检测后, 客户端向知识产权保护区块链网络发起交易请求, 调用知识产权保护区块链接口, 触发部署在区块链节点上的产权登记合约, 并构造新区块。该节点向其他各个节点广播交易信息, 通过改进的PBFT共识机制验证新区块的正确性, 达成共识后的新区块链接上链。新区块构造流程如图 4所示。

Download:
图 4 新区块构造流程 Fig. 4 Construction procedure of new block
2.3 基于智能合约的知识产权管控协议

本文模型设计了基于智能合约的知识产权管控协议, 该协议主要由产权登记合约(Property Registration Contract, PRC)和产权转让合约(Property Transfer Contract, PTC)2个部分组成。

2.3.1 产权登记合约

产权登记合约用于用户在知识产权保护区块链上登记自身作品的知识产权。用户在客户端完成注册账户并实名认证后, 发布作品时可以选择在区块链上登记作品所有权。在登记过程中通过调用已经部署完备的PRC, 先在区块链上检测用户发起的认证消息message是否是该作品的初始化拥有者, 如果无法通过认证, 则用户不能在区块链上登记自身作品的知识产权; 通过认证后, PRC根据作品内容生成唯一的哈希摘要, 并将作品信息和哈希摘要写入新区块, 该哈希摘要作为作品的唯一标识返回给该用户。产权登记合约设计如算法1所示。

算法1  产权登记合约

输入  dataset, the object of transaction

输出  HashAbstract

1.procedure receiveDataset(dataset);

2.if message.sender=writer then;

3.dataset=new Transaction(); //初始化交易信息

4.dataset.name=dataset.name;

5.dataset.time=this.time;

6.dataset.content=dataset.content;

7.HashAbstract=Hash(dataset); //生成登记作品的哈希//摘要

8.WriteToBlock(dataset, HashAbstract); //作品唯一的//哈希摘要入链

9.return HashAbstract;

10.end if

11.end procedure

2.3.2 产权转让合约

产权转让合约可供用户通过交易的方式获得产权所有者拥有作品的各项权利。当买方与卖方就某项作品达成具体交易共识后, 买方可通过发起产权转让请求来触发相关作品的产权转让合约。如果产权所有者对该交易合约无其他要求, 则该作品的产权转让合约将在产权所有者确认同意后自动执行。通过调用交易函数进行转账操作, 买方将在支付交易金额后获得该作品的权益, 交易记录在区块链节点共识通过后写入区块链。若产权拥有者拒绝该项交易, 则交易取消。产权转让合约设计如算法2所示。

算法2 产权转让合约

输入 dataset, the object of transaction

输出 NewHashAbstract

1.procedure receiveDataset(dataset);

2.if message.sender=wirter then;

3.if dataset.operation=true then;

4.transfer(dataset.to, dataset.from)//买方转账给卖方

5.RemoveFrom(writer, HashAbstract); //产权所有者转//让作品产权

6.LinkTo(dataset.buyer, HashAbstract); //交易结果//入链

7.end if

8.pop(dataset);

9.end if

10.end procedure

2.4 改进的PBFT共识机制

由于PBFT算法在面向知识产权保护的系统应用中存在明显不足, 如系统共识效率随着节点数目的增加而不断降低和扩展性较差等问题, 本文基于知识产权保护区块链的应用场景, 对传统的PBFT算法进行改进。通过研究POW、POS和DPOS等共识算法来分析改进PBFT算法的优缺点, 并提出基于信用机制的CPBFT共识机制。PBFT算法的改进主要从以下3个方面进行展开。

2.4.1 简化的一致性协议

PBFT的一致性协议中存在主节点和从节点2种节点。一次共识过程中主节点只能随机确定一个, 负责对一段时间内接收到的消息进行验证, 通过验证的交易将被打包进新区块, 随后新区块同步入链[18]。但一次完整的一致性协议需要完成2次复杂度为O(n2)的通信过程, 复杂度过高, 且PBFT中所有节点担任主节点的概率是相等的, 而非诚实节点, 即伪节点担任主节点后, 将会增加共识次数, 并降低共识效率[19]

为了降低非诚实节点担任主节点的概率, 尽量避免主节点发生错误的可能性, 本文提出信用值CV和信用阈值CVT(所有节点信用值的中位数)的概念。信用值是基于节点在共识过程中的具体行为得到的, 通过信用值累积, 多次顺利完成区块生成的节点将拥有更高的信用值, 信用值越高的节点发生错误的可能性越小, 不仅能有效提高共识效率, 还可有效解决PBFT算法本身节点动态性能较差的问题。在简化的一致性协议中, 通过将所有节点按信用值进行排序, 在CVT以上的节点中随机选取一个节点作为主节点进行共识。CPBFT算法流程如图 5所示, 具体步骤为:

Download:
图 5 CPBFT算法流程 Fig. 5 Procedure of CPBFT algorithm

步骤1  客户端从信用值在CVT以上的节点中随机选取一个节点作为主节点, 新区块由主节点生成。

步骤2  主节点将客户端发送的交易证书向全网广播, 如果从节点认可证书内容则向主节点回复认可信息。

步骤3  如果主节点接收到的认可信息条数大于等于2f(f为宕机节点个数), 则将认可信息打包发送给从节点, 从节点可以验证其他节点的认可信息是否正确, 通过验证后进入Commit状态。

步骤4  如果客户端接收到2f+1条Commit信息, 则可将新区块链接到区块链尾部。

在成功完成一轮共识后, 将已经打包进入新区块的交易从待确认交易列表中移除, 并开始进入下一轮的建块共识过程。在循环一定的周期后, 进入检查点协议更新节点信用值, 简化的一致性协议不仅简化了通信过程, 降低共识过程中造成的通信开销, 还提高了系统效率。

2.4.2 改进的检查点协议

由于共识过程中可能存在个别节点因为自身故障或网络问题而落后于其他节点, 致使区块链网络中各个节点无法及时完成系统中的各项交互任务。因此, PBFT算法采用一个周期性的检查点协议来同步整个系统, 以防止由于节点不一致而导致的系统故障[20], 但将会增加网络开销。

CPBFT算法在检查点协议中扩展了动态增删节点和节点信用再分配功能。当区块链中存在节点的信用值达到100时, 执行检查点协议, 各节点对区块的请求日志进行清除, 有效减少节点存储压力和网络开销。同时, 对系统中所有节点重新进行随机信用值分配, 分配范围为10~30, 增加了新节点担任主节点的概率, 实现动态增删节点, 避免了节点权利过大的问题。CPBFT算法通过结合简化的一致性协议, 能够大幅减少通信开销, 提高系统效率。

2.4.3 增加的信用值优先协议

CPBFT算法是基于信用机制进行改进的, 系统中节点的信用值通过节点行为产生。在成功完成一轮共识后, 对于故障节点, 将信用值减少10, 除了主节点之外, 达成共识的节点将信用值增加1, 主节点成功建块后获得收益, 但信用值不变。多次成功建块后的节点将获得更多的信用分数, 只有信用值在CVT以上的节点才能优先成为主节点。

在传统的PBFT算法中, 节点数量越多, 节点间的共识效率越低, 节点发生故障的可能性越高[21]。由于CPBFT算法中引入了信用值机制, 主节点的选择依据信用值优先协议, 信用值越高的节点发生错误的可能性越小。该算法通过结合简化的一致性协议, 不仅能够有效避免主节点错误的可能性, 提高共识效率, 同时还可有效解决PBFT算法本身节点动态性能较差的问题。

3 本文模型安全性实验与分析 3.1 安全性分析

传统的系统架构以中心服务器为核心, 将所有数据集存储在一个中心化的数据库中, 数据的安全完全依赖中心服务器的安全。如果中心服务器受到攻击或出现故障, 将会影响整个系统的正常运行。

本文模型应用去中心化的区块链架构, 确保系统模型即使受到网络攻击或单个节点故障时也能够正常运行。节点安全性示意图如图 6所示, 如果某个节点的区块信息被非法篡改, 则其他节点会在共识验证过程中将其判定为伪造节点, 篡改的信息由于无法同步到区块链网络的其他节点而失效, 该机制有效保障了系统数据的安全性和可靠性。

Download:
图 6 节点安全性示意图 Fig. 6 Schematic diagram of node security
3.2 性能实验分析

本文将从通信开销分析、吞吐量分析、可靠性分析和容错性分析4个方面对CPBFT算法进行仿真实验, 并与PBFT算法进行性能对比, 以验证CPBFT算法的有效性。实验在配置为i7-3920XM 2.30 GHz处理器、12 GB内存的Linux操作系统下进行, 通过搭建虚拟机模拟多个区块链节点进行仿真实验, 且算法由Solitidy语言实现。

3.2.1 通信开销分析

1) PBFT算法的通信开销

在PBFT算法的一致性协议过程中, 总共需要进行3次阶段性广播。假设全网节点数为m, 则完成一次一致性协议需要传递的消息次数T为:

$ T = 2m\left( {m - 1} \right) $ (1)

若在一致性协议中主节点发生宕机, 则PBFT算法进入视图变更阶段, 并重新选择新的主节点。这一阶段要求每个从节点广播视图变更请求, 发生的通信次数为(m-1)2。新视图的主节点再将视图变更确认消息发送给所有从节点, 发生的通信次数为(m-1), 则系统在概率为μ情况下发生视图变更后的通信总次数S为:

$ S = 2m\left( {m - 1} \right) + \mu m\left( {m - 1} \right) $ (2)

2) CPBFT算法的通信开销

CPBFT算法简化了原一致性协议过程中的2次全节点广播, 缩短了共识过程。假设全网节点数为m, 则完成一次一致性协议需要传递的消息次数T为:

$ T = 4\left( {m - 1} \right) $ (3)

由于CPBFT算法中视图变更阶段与PBFT算法一致, 因此系统在概率为μ情况下发生视图变更后的通信总次数S为:

$ S = 4\left( {m - 1} \right) + \mu m\left( {m - 1} \right) $ (4)

3) 通信开销比较

令PBFT算法与CPBFT算法的通信开销之比为γ, 则有:

$ \gamma = \frac{{2m\left( {m - 1} \right) + \mu m\left( {m - 1} \right)}}{{4\left( {m - 1} \right) + \mu m\left( {m - 1} \right)}},0 \le \mu \le 1 $ (5)

由式(5)可知:当μ=0, 即不发生视图变更情况时, CPBFT算法的通信次数是PBFT算法的2/m, 由于PBFT算法要求共识节点至少为4个, 因此CPBFT算法的通信次数至多是PBFT算法的一半, 且随着区块链网络节点的增加, CPBFT算法能够更加有效降低共识过程中的通信次数; 当0 < μ≤1, 即发生视图变更情况时, 将μ值视为自变量, m值视为常数, 则当μ=1时, CPBFT算法的通信次数是PBFT算法的(4+m)/3m, 其值最大为2/3;当μ=0.5时, CPBFT算法的通信次数是PBFT算法的(8+m)/5m, 其值最大为3/5。由此可知, μ值越小, CPBFT算法的通信次数越接近于PBFT算法的一半。由于CPBFT算法是基于信用机制选取主节点, 因此发生视图变更状况的几率极小。在系统节点足够大的情况下, CPBFT算法能够比PBFT算法更有效地减少系统在共识过程中的数据传输量和通信开销, 大幅提升共识效率。

3.2.2 可靠性分析

在CPBFT算法中, 随着节点信用值的不断变化, 信用值越高的节点越可靠, 所选主节点的诚实性概率也越高。由增加的信用值优先协议可知, 共识验证中主节点的随机选取服从等概率均匀分布。为了验证信用值机制能够有效提高主节点的诚实性概率, 本文选取蒙特卡罗方法进行实验分析。假设重复实验次数为m, 每次实验的共识次数为n, 主节点是诚实节点的频数为f, 则在每次重复实验中所选主节点是诚实节点的频率P(A)为:

$ P\left( A \right) = f/n $ (6)

n足够大时, P(A)将按照概率收敛于第i次实验的理论概率P(Ai), 则有:

$ \mathop {\lim }\limits_{n \to \infty } P\left( {\left| {f/n - P\left( {{A_i}} \right)} \right| < \varepsilon } \right) = 1 $ (7)

将所选主节点是诚实节点的频率作为主节点诚实性概率的近似值, 取m次重复实验的概率均值作为最后的期望概率, 则有:

$ \overline P = \frac{1}{m}\sum\limits_i^m {P\left( {{A_i}} \right)} $ (8)

通过对CPBFT算法进行仿真实验求解期望概率, 分析验证该方法的收敛性与效率, 主节点诚实性概率的收敛结果如图 7所示。从图 7可以看出:当共识次数n达到512时, 标准差已经小于0.010, 其波动程度显著减小; 当共识次数n超过1 000时, 该方法已达到较为理想的收敛结果; 当共识次数n达到2 048时, 该方法已取得相当可信的计算结果。显然, 采用该方法衡量信用值机制对主节点诚实性概率的影响较为有效。

Download:
图 7 主节点诚实性概率的收敛结果 Fig. 7 Convergence results of honesty probability of master node

根据收敛性结果分析, 实验取共识次数n分别为64、100、128、200、256、400、512、1 024、1 600与2 048, 坐标点(8, 0.010 78)作为收敛精度, 总共进行3次重复实验, 结果发现, P(A1)=0.985 93、P(A2)=0.998 48、P(A3)=0.994 48, 因此PCPBFT=0.992 96。

在相同实验条件下, 对PBFT算法选取主节点的诚实性概率进行实验, 结果发现, P1(A1)=0.854 85、P2(A2)=0.986 98、P3(A3)=0.991 68, 舍去第1次实验的偏差数据, 因此PPBFT=0.989 33。

显然, PCPBFT>PPBFT。信用机制有效提升了主节点是诚实节点的概率, 且随着节点信用值的不断变化, 信用值越高的节点越可靠, 选取主节点的诚实性概率也越高, 能够有效避免主节点发生错误的可能性, 使得整个系统更加安全稳定。

3.2.3 吞吐量测试

本文选用5个节点进行仿真实验, 满足PBFT算法的要求。以交易确认速率TPS为衡量模型处理交易效率的评价指标, 其为单位时间内能打包进区块的交易数量的平均值:

$ {\rm{TPS}} = {\rm{transaction}}{{\rm{s}}_{\Delta t}}/\Delta t $ (9)

其中, transactionsΔt表示出块时间内系统处理的交易数量, Δt表示出块时间段。

图 8显示了CPBFT算法的区块大小和吞吐量之间的关系。从图 8可以看出, CPBFT算法的吞吐量随着区块大小的增加而呈现递增趋势, 当单个区块内包含的交易数量在1 000笔左右时吞吐量趋于平稳, 约为200笔/s。

Download:
图 8 CPBFT算法区块大小与吞吐量的关系 Fig. 8 Relationship between block size and throughput of CPBFT algorithm

将区块大小定义为单个区块包含的交易数量, 根据实验得到CPBFT算法与PBFT算法的吞吐量对比结果, 如图 9所示。从图 9可以看出, 在相同的系统环境下, CPBFT算法的吞吐量比PBFT算法高, 且随着交易数量的增大, 吞吐量提升地更加明显, 这说明CPBFT算法比PBFT算法更高效地完成了节点共识。

Download:
图 9 2种算法的吞吐量比较 Fig. 9 Comparison of throughput of two algorithms
3.2.4 共识延迟测试

共识延迟测试是比较共识算法运行速度的重要方法, 本文通过比较2种算法在相同环境下, 单个区块包含的交易数量对共识延迟的影响, 体现算法性能的优劣。实验控制节点数量为4个, 总共进行50次实验, 取平均值得到2种算法的比较结果, 如图 10所示。从图 10可以看出, 随着区块大小的递增, 2种算法的总延迟时间也相应增加, 但是CPBFT算法的延迟时间始终小于PBFT算法, 且CPBFT算法的总延迟增长速率较慢, 这说明CPBFT算法在共识运行速度上比PBFT算法更快, 能够有效减少内部通信开销, 提高共识效率。

Download:
图 10 2种算法的总延迟时间比较 Fig. 10 Comparison of total delay time of two algorithms
3.2.5 容错性分析

CPBFT算法容忍错误节点的能力和PBFT算法相同, 均为f=(n-1)/3。当系统内的节点足够多时, 2种算法能容忍的错误节点越多, 当系统中错误节点的数量超过f最大值后, 共识过程无法继续, 系统陷入瘫痪。

由于CPBFT算法基于信用机制选取主节点, 参与共识的节点都是具有一定信用保证的节点, 因此遭遇伪造节点攻击的可能性极小, 相较于PBFT算法, 其抵制伪造节点攻击的防范性更强、更安全。

4 结束语

本文利用区块链和智能合约技术, 设计一种知识产权保护模型。该模型提出一种基于信用的改进PBFT共识机制, 有效提升区块链节点间的共识效率, 并借助智能合约实现自动化执行的知识产权登记和转让协议, 针对现阶段数字作品存在的产权登记困难和交易混乱等问题提供有效的解决方案。实验结果表明, 该模型在知识产权管控过程中具有较高的安全性和运行效率。下一步将结合区块链技术、环签名技术等数字签名技术对本文模型进行优化, 以有效保护用户个人隐私, 降低环签名对共识效率的影响。

参考文献
[1]
ZHANG Li, WANG Biao, LI Guangyu. Annual report of China's digital publishing industry in 2017-2018[J]. Printing Field, 2018(9): 5-8. (in Chinese)
张立, 王飚, 李广宇. 2017-2018中国数字出版产业年度报告[J]. 印刷杂志, 2018(9): 5-8.
[2]
BLESSING L T M, CHAKRABARTI A.DRM, a design research methodology[EB/OL].[2019-08-10].https://link.springer.com/content/pdf/bfm%3A978-1-84882-587-1%2F1.pdf.
[3]
LIU Gaojun, ZHOU Quan. Design and implementation of management platform for embedded copyright service component[J]. Journal of North University of Technology, 2016, 28(1): 28-34. (in Chinese)
刘高军, 周全. "嵌入式"版权服务组件管理平台设计与实现[J]. 北方工业大学学报, 2016, 28(1): 28-34.
[4]
TIAN Yuan.Research on digital rights protection system of P2P content distribution network[D].Beijing: Beijing University of Posts and Telecommunications, 2012.(in Chinese)
田园.P2P内容分发网络的数字版权保护系统研究[D].北京: 北京邮电大学, 2012.
[5]
LI Yue, HUANG Junqin, WANG Ruijin. DCI control model of digital works based on blockchain[J]. Journal of Computer Applications, 2017, 37(11): 3281-3287. (in Chinese)
李悦, 黄俊钦, 王瑞锦. 基于区块链的数字作品DCI管控模型[J]. 计算机应用, 2017, 37(11): 3281-3287.
[6]
NAKAMOTO S.Bitcoin: a peer-to-peer electronic cash system[EB/OL].[2019-08-10].http://euro.ecom.cmu.edu/resources/elibrary/epay/bitcoin.pdf.
[7]
YUAN Yong, WANG Feiyue. Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494. (in Chinese)
袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4): 481-494.
[8]
GRAMOLI V. From blockchain consensus back to Byzantine consensus[J]. Future Generation Computer Systems, 2020, 107: 760-769. DOI:10.1016/j.future.2017.09.023
[9]
WANG Junyao, WANG Shenling, GUO Junqi, et al. A summary of research on blockchain in the field of intellectual property[J]. Procedia Computer Science, 2019, 147: 191-197. DOI:10.1016/j.procs.2019.01.220
[10]
MA Zhaofeng, JIANG Ming, Gao Hongmin, et al. Blockchain for digital rights management[J]. Future Generation Computer Systems, 2018, 89: 746-764. DOI:10.1016/j.future.2018.07.029
[11]
SZABO N.Formalizing and securing relationships on public networks[EB/OL].[2019-08-10].https://journals.uic.edu/ojs/index.php/fm/article/view/548/469.
[12]
DELMOLINO K, ARNETT M, KOSBA A, et al.Step by step towards creating a safe smart contract: lessons and insights from a cryptocurrency lab[EB/OL].[2019-08-10].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.738.8681&rep=rep1&type=pdf.
[13]
CASTRO M, LISKOV B.Practical byzantine fault tolerance[C]//Proceedings of the 3rd Symposium on Operating Systems Design and Implementation.Washington D.C., USA: IEEE Press, 1999: 173-186.
[14]
WU Teng, HUANG Kai, ZHOU Linlin, et al. Research on blockchain consistency algorithm with state legality verification[J]. Computer Engineering, 2018, 44(1): 160-164. (in Chinese)
吴腾, 黄锴, 周琳琳, 等. 具有状态合法性验证的区块链一致性算法研究[J]. 计算机工程, 2018, 44(1): 160-164.
[15]
BRODER A Z, GLASSMAN S C, MANASSE M S, et al. Syntactic clustering of the Web[J]. Computer Networks and ISDN Systems, 1997, 29(8/9/10/11/12/13): 1157-1166.
[16]
VANI K, GUPTA D. Detection of idea plagiarism using syntax-semantic concept extractions with genetic algorithm[J]. Expert Systems with Applications, 2017, 73: 11-26. DOI:10.1016/j.eswa.2016.12.022
[17]
QIN Yuping, LENG Qiangkui, WANG Xiukun, et al. Plagiarism-detection algorithm for scientific papers based on local word-frequency fingerprint[J]. Computer Engineering, 2011, 37(6): 193-194. (in Chinese)
秦玉平, 冷强奎, 王秀坤, 等. 基于局部词频指纹的论文抄袭检测算法[J]. 计算机工程, 2011, 37(6): 193-194.
[18]
CAI Weide, YU Lian, WANG Rong, et al. Research on development method of application system based on blockchain[J]. Journal of Software, 2017, 28(6): 1474-1487. (in Chinese)
蔡维德, 郁莲, 王荣, 等. 基于区块链的应用系统开发方法研究[J]. 软件学报, 2017, 28(6): 1474-1487.
[19]
KIAYIAS A, RUSSELL A.Ouroboros-BFT: a simple byzantine fault tolerant consensus protocol[EB/OL].[2019-08-10].https://eprint.iacr.org/2018/1049.pdf.
[20]
SUKHWANI H, MARTINEZ J M, CHANG X, et al.Performance modeling of PBFT consensus process for permissioned blockchain network (hyperledger fabric)[C]//Proceedings of the 36th Symposium on Reliable Distributed Systems.Washington D.C., USA: IEEE Press, 2017: 253-255.
[21]
FAN Jie, YI Letian, SHU Jiwu. Research on the technologies of Byzantine system[J]. Journal of Software, 2013, 4(6): 1346-1360. (in Chinese)
范捷, 易乐天, 舒继武. 拜占庭系统技术研究综述[J]. 软件学报, 2013, 4(6): 1346-1360.