一种联盟式音视频版权区块链系统及音视频版权上链方法论文和设计-李强

全文摘要

本发明提供了一种联盟式音视频版权区块链系统及音视频版权上链方法。所述系统包括多个智能设备,每一个智能设备安装有音视频版权区块链应用程序。所述音视频版权区块链应用程序包括:应用层、数据层、共识层以及交互层,所述交互层用于所述区块链系统的消息管理以及通讯传输管理,所述数据层用于所述区块链系统中数据的处理和存储,所述共识层用于完成所述区块链系统数据的共识,所述应用层用于提供所述区块链系统的功能界面。本发明优化了区块链共识算法,并根据改进型拜占庭容错算法完成数据共识,最终实现个人用户通过个人电脑,就可以将所需保护的音视频版权上链到联盟式区块链中。

主设计要求

1.一种联盟式音视频版权区块链系统,其特征在于,所述系统包括多个智能设备,所述多个智能设备中每一个智能设备安装有音视频版权区块链应用程序;所述音视频版权区块链应用程序包括:应用层、数据层、共识层以及交互层;所述交互层用于所述区块链系统的消息管理以及通讯传输管理;所述数据层用于所述区块链系统中数据的处理和存储;所述共识层用于根据改进型拜占庭容错共识算法,完成所述区块链系统数据的共识,实现数据上链;所述应用层用于提供所述区块链系统的功能界面,实现所述音视频版权上链的操作,以及上链后所述音视频版权的控制以及管理;其中,所述改进型拜占庭容错共识算法包括:共识过程、选举过程以及同步过程;所述共识过程包括三个阶段:预准备、准备以及提交;所述预准备阶段包括:主节点收到客户端请求后,分配序号n给所述请求,接着所述主节点将预准备消息发送给从节点,所述客户端由所述应用层提供;所述准备阶段包括:所述从节点收到所述主节点的所述预准备消息之后,对消息进行验证,如果验证全部通过,则所述从节点会将准备消息发送给其他从节点;所述提交阶段包括:各节点对所述准备消息进行验证,当验证结果为真,且收到法定个不同的从节点发送来的准备消息时,就执行所述请求的服务,并将执行的结果返回给所述客户端。

设计方案

1.一种联盟式音视频版权区块链系统,其特征在于,所述系统包括多个智能设备,所述多个智能设备中每一个智能设备安装有音视频版权区块链应用程序;

所述音视频版权区块链应用程序包括:应用层、数据层、共识层以及交互层;

所述交互层用于所述区块链系统的消息管理以及通讯传输管理;

所述数据层用于所述区块链系统中数据的处理和存储;

所述共识层用于根据改进型拜占庭容错共识算法,完成所述区块链系统数据的共识,实现数据上链;

所述应用层用于提供所述区块链系统的功能界面,实现所述音视频版权上链的操作,以及上链后所述音视频版权的控制以及管理;

其中,所述改进型拜占庭容错共识算法包括:共识过程、选举过程以及同步过程;

所述共识过程包括三个阶段:预准备、准备以及提交;

所述预准备阶段包括:主节点收到客户端请求后,分配序号n给所述请求,接着所述主节点将预准备消息发送给从节点,所述客户端由所述应用层提供;

所述准备阶段包括:所述从节点收到所述主节点的所述预准备消息之后,对消息进行验证,如果验证全部通过,则所述从节点会将准备消息发送给其他从节点;

所述提交阶段包括:各节点对所述准备消息进行验证,当验证结果为真,且收到法定个不同的从节点发送来的准备消息时,就执行所述请求的服务,并将执行的结果返回给所述客户端。

2.根据权利要求1所述的系统,其特征在于,所述多个智能设备中每一个智能设备为所述区块链系统中的一个节点,所述多个智能设备与所述区块链系统中的多个节点一一对应,所述交互层包括:消息管理模块以及通讯传输管理模块;

所述消息管理模块用于接收和处理所述音视频版权上链过程中产生的所有消息;

所述通讯传输管理模块用于建立以及管理所述区块链系统中,所述多个节点,以及所述多个节点中参与共识的主节点以及从节点之间的网络。

3.根据权利要求1所述的系统,其特征在于,所述数据层包括:数据处理模块以及数据存储模块;

所述数据处理模块用于对所述音视频版权上链过程中各种传输数据进行加密和解密,以及对各种数据的完整性和可追溯性进行验证;

所述数据存储模块用于将所述音视频版权上链过程中的交易数据以区块的形式进行存储。

4.根据权利要求1所述的系统,其特征在于,所述共识层包括:共识模块、选举模块以及同步模块;

所述共识模块,用于根据改进型拜占庭容错算法对所述音视频版权上链过程中数据进行共识,实现所述音视频版权上链;

所述选举模块,用于当共识节点中的主节点出现故障后,根据改进型拜占庭容错算法,从剩余共识节点中选举出候补主节点;

所述同步模块,用于当候补主节点选举出后,根据改进型拜占庭容错算法,进行同步操作,确认所述候补主节点为新的主节点,以继续进行后续的所述音视频版权上链中数据的共识。

5.根据权利要求1所述的系统,其特征在于,所述应用层包括:上链模块以及控制管理模块;

所述上链模块用于所述音视频版权信息的上链操作,所述音视频版权信息包括:所述音视频版权的归属、作者、类型以及名称,所述音视频版权对应的受众群体分类,以及操作权限设置;

所述控制管理模块用于控制所述智能设备是否参与所述区块链的共识,以及管理所述音视频版权上链后的操作权限和所述音视频版权的确权和溯源。

6.根据权利要求2所述的系统,其特征在于,在所述音视频版权上链过程中,所述消息管理模块接收的消息包括:智能设备类消息以及共识机制类消息;

所述消息管理模块接收和处理所述音视频版权上链过程中产生消息,包括:

所述消息管理模块接收所述智能设备类消息中的请求类消息,所述请求类消息包括:请求所述音视频版权上链的智能设备的互联网协议地址IP和端口号、请求消息的身份标识号ID、请求功能类型以及交易单列表;

所述消息管理模块将所述请求类消息发送至与请求所述音视频版权上链的智能设备相连接的共识节点上;

与请求所述音视频版权上链的智能设备相连接的共识节点,将所述请求类消息打包为交易单,并广播至所述区块链中进行共识,生成区块上链,同时产生共识机制类消息;

共识成功后,与请求所述音视频版权上链的智能设备相连接的共识节点,将执行结果打包为回复类消息,反馈给请求所述音视频版权上链的智能设备,所述回复类消息包括:回复消息的ID、回复对象消息ID以及回复执行类型。

7.根据权利要求3所述的系统,其特征在于,所述数据处理模块采用非对称加密对所述音视频版权上链过程中的数据进行加密和解密;

所述数据处理模块采用哈希函数对所述音视频版权上链过程中的数据进行完整性验证;

所述数据处理模块采用时间戳技术对所述音视频版权上链过程中的数据进行可追溯性验证。

8.根据权利要求6所述的系统,其特征在于,所述共识机制类消息包括:共识过程消息、选举过程消息、同步过程消息、视图编号、消息编号、生成消息共识节点的IP以及端口号;

所述共识过程消息包括:共识过程阶段编号、参与本次共识的区块,以及共识过程中预准备阶段消息的签名;

所述选举过程消息包括:选举过程阶段编号以及选举过程中的投票消息内容;

所述同步过程消息包括:同步过程阶段编号以及同步过程中的同步消息内容。

9.一种音视频版权上链的方法,其特征在于,利用权利要求1-8任一所述的系统实现上链,所述方法包括:

通过所述智能设备选择所需上链的音视频文件,同时完成所述音视频文件的版权信息;

所述智能设备利用哈希算法对音视频文件进行哈希运算,取得音视频实体文件的哈希值以及此笔交易单的哈希值,并生成时间戳;

所述智能设备利用非对称加密技术对交易单哈希值进行数字签名,将所述交易单以及音视频实体文件,发送至与所述智能设备连接的区块链中共识节点上;

所述共识节点对交易单的时间戳信息以及数字签名进行初步验证后,将所述音视频实体文件备份在共识节点的数据库中,并将交易单发送至所述区块链系统中的主节点;

所述主节点在收集一段时间内发送来的交易单后,将收集的交易单的信息录入区块中,生成一个区块;

所述主节点将收集的交易单与生成的区块发送给所有从节点;

所述主节点与所述从节点,通过改进型拜占庭容错算法,验证生成的区块及其包含的所有交易单的合法性后,所有交易单中的请求将在所述区块链中所有共识节点上执行;

其中,所述改进型拜占庭容错共识算法包括:共识过程、选举过程以及同步过程;

所述共识过程包括三个阶段:预准备、准备以及提交;

所述预准备阶段包括:所述主节点收到客户端请求后,分配序号n给所述请求,接着所述主节点将预准备消息发送给从节点,所述客户端由所述应用层提供;

所述准备阶段包括:所述从节点收到所述主节点的所述预准备消息之后,对消息进行验证,如果验证全部通过,则所述从节点会将准备消息发送给其他从节点;

所述提交阶段包括:各节点对所述准备消息进行验证,当验证结果为真,且收到法定个不同的从节点发送来的准备消息时,就执行所述请求的服务,并将执行的结果返回给所述客户端。

10.根据权利要求9所述的方法,其特征在于,通过所述智能设备选择所需上链的音视频文件,同时完成所述音视频文件的版权信息,包括:

若有隐私信息,所述智能设备利用非对称加密技术对隐私信息的数据项进行加密处理,完成所述音视频文件的版权信息;

若没有隐私信息,所述智能设备直接完成所述音视频文件的版权信息。

设计说明书

技术领域

本发明涉及区块链领域,尤其涉及一种联盟式音视频版权系统及音视频版权上链方法。

背景技术

区块链技术是由多种已存在的技术(P2P网络、密码学等)组合形成的具有去中心化的记录技术。目前区块链没有统一的定义,维基百科上对区块链的定义是:区块链(bolckchain)是利用分布式的数据库对信息进行甄别、传播和记录的对等网络,简言之,区块链在本质上就是一个具有去中心化特征的分布式数据库,区块链技术从本质来说是一个分布式的数据库技术,网络内的节点利用密码学、共识算法、点对点通信等技术,共同维护全网数据的一致性和完整性。

区块链的去中心化和数据不可篡改,使得其在银行、医疗、征信、音视频版权等有着广阔的应用前景,目前关于音视频版权在区块链平台上的应用都是依附于某一个成型的公有链上运行的,在公有链中任何人都可以参与其中进行交易,缺乏权限管理,没有政府背书和上层监督者的控制,而且此类非独立的区块链平台,会使得开发维护与用户使用过程中潜藏许多的不确定因素。

并且目前现有区块链的共识算法需要参与共识的终端,具有较高的运算能力,并且参与共识的终端所使用的网络传输速率也需要满足较高的条件,而一般情况下,创作音视频,拥有版权的为个人用户,其所使用的终端并不能满足参与区块链共识的要求。

发明内容

本发明提供的一种联盟式音视频版权系统及音视频版权上链方法,解决了现有音视频版权只在公有区块链上应用,以及一般个人用户的终端不能满足参与区块链共识的问题。

为了解决上述技术问题,本发明实施例提供了一种联盟式音视频版权系统,所述系统包括多个智能设备,所述多个智能设备中每一个智能设备安装有音视频版权区块链应用程序;

所述音视频版权区块链应用程序包括:应用层、数据层、共识层以及交互层;

所述交互层用于所述区块链系统的消息管理以及通讯传输管理;

所述数据层用于所述区块链系统中数据的处理和存储;

所述共识层用于根据改进型拜占庭容错共识算法,完成所述区块链系统数据的共识,实现数据上链;

所述应用层用于提供所述区块链系统的功能界面,实现所述音视频版权上链的操作,以及上链后所述音视频版权的控制以及管理。

可选地,所述多个智能设备中每一个智能设备为所述区块链系统中的一个节点,所述多个智能设备与所述区块链系统中的多个节点一一对应,所述交互层包括:消息管理模块以及通讯传输管理模块;

所述消息管理模块用于接收和处理所述音视频版权上链过程中产生的所有消息;

所述通讯传输管理模块用于建立以及管理所述区块链系统中,所述多个节点,以及所述多个节点中参与共识的主节点以及从节点之间的网络。

可选地,所述数据层包括:数据处理模块以及数据存储模块;

所述数据处理模块用于对所述音视频版权上链过程中各种传输数据进行加密和解密,以及对各种数据的完整性和可追溯性进行验证;

所述数据存储模块用于将所述音视频版权上链过程中的交易数据以区块的形式进行存储。

可选地,所述共识层包括:共识模块、选举模块以及同步模块;

所述共识模块,用于根据改进型拜占庭容错算法对所述音视频版权上链过程中数据进行共识,实现所述音视频版权上链;

所述选举模块,用于当共识节点中的主节点出现故障后,根据改进型拜占庭容错算法,从剩余共识节点中选举出候补主节点;

所述同步模块,用于当候补主节点选举出后,根据改进型拜占庭容错算法,进行同步操作,确认所述候补主节点为新的主节点,以继续进行后续的所述音视频版权上链中数据的共识。

可选地,所述应用层包括:上链模块以及控制管理模块;

所述上链模块用于所述音视频版权信息的上链操作,所述音视频版权信息包括:所述音视频版权的归属、作者、类型以及名称,所述音视频版权对应的受众群体分类,以及操作权限设置;

所述控制管理模块用于控制所述智能设备是否参与所述区块链的共识,以及管理所述音视频版权上链后的操作权限和所述音视频版权的确权和溯源。

可选地,在所述音视频版权上链过程中,所述消息管理模块接收的消息包括:智能设备类消息以及共识机制类消息;

所述消息管理模块接收和处理所述音视频版权上链过程中产生消息,包括:

所述消息管理模块接收所述智能设备类消息中的请求类消息,所述请求类消息包括:请求所述音视频版权上链的智能设备的互联网协议地址IP和端口号、请求消息的身份标识号ID、请求功能类型以及交易单列表;

所述消息管理模块将所述请求类消息发送至与请求所述音视频版权上链的智能设备相连接的共识节点上;

与请求所述音视频版权上链的智能设备相连接的共识节点,将所述请求类消息打包为交易单,并广播至所述区块链中进行共识,生成区块上链,同时产生共识机制类消息;

共识成功后,与请求所述音视频版权上链的智能设备相连接的共识节点,将执行结果打包为回复类消息,反馈给请求所述音视频版权上链的智能设备,所述回复类消息包括:回复消息的ID、回复对象消息ID以及回复执行类型。

可选地,所述数据处理模块采用非对称加密对所述音视频版权上链过程中的数据进行加密和解密;

所述数据处理模块采用哈希函数对所述音视频版权上链过程中的数据进行完整性验证;

所述数据处理模块采用时间戳技术对所述音视频版权上链过程中的数据进行可追溯性验证。

可选地,所述共识机制类消息包括:共识过程消息、选举过程消息、同步过程消息、视图编号、消息编号、生成消息共识节点的IP以及端口号;

所述共识过程消息包括:共识过程阶段编号、参与本次共识的区块,以及共识过程中预准备阶段消息的签名;

所述选举过程消息包括:选举过程阶段编号以及选举过程中的投票消息内容;

所述同步过程消息包括:同步过程阶段编号以及同步过程中的同步消息内容。

本发明实施例还提供一种音视频版权上链的方法,利用上述音视频版权区块链系统实现上链,所述方法包括:

通过所述智能设备选择所需上链的音视频文件,同时完成所述音视频文件的版权信息;

所述智能设备利用哈希算法对音视频文件进行哈希运算,取得音视频实体文件的哈希值以及此笔交易单的哈希值,并生成时间戳;

所述智能设备利用非对称加密技术对交易单哈希值进行数字签名,将所述交易单以及音视频实体文件,发送至与所述智能设备连接的区块链中共识节点上;

所述共识节点对交易单的时间戳信息以及数字签名进行初步验证后,将所述音视频实体文件备份在共识节点的数据库中,并将交易单发送至所述区块链系统中的主节点;

所述主节点在收集一段时间内发送来的交易单后,将收集的交易单的信息录入区块中,生成一个区块;

所述主节点将收集的交易单与生成的区块发送给所有从节点;

所述主节点与所述从节点,通过改进型拜占庭容错算法,验证生成的区块及其包含的所有交易单的合法性后,所有交易单中的请求将在所述区块链中所有共识节点上执行。

可选地,通过所述智能设备选择所需上链的音视频文件,同时完成所述音视频文件的版权信息,包括:

若有隐私信息,所述智能设备利用非对称加密技术对隐私信息的数据项进行加密处理,完成所述音视频文件的版权信息;

若没有隐私信息,所述智能设备直接完成所述音视频文件的版权信息。

与现有技术相比,本发明提供的一种联盟式音视频版权区块链系统及音视频版权上链方法,通过音视频版权区块链应用程序完成音视频版权在联盟式区块链平台上的组建,优化了区块链共识算法,通过交互层实现音视频版权上链过程中消息的管理以及网络的组建,通过数据层完成区块链数据的处理和存储,并根据改进型拜占庭容错算法完成数据共识,通过交互层实现音视频版权上链的操作,以及上链后音视频版权的控制以及管理,最终实现个人用户通过个人电脑,就可以将所需保护的音视频版权上链到联盟式区块链中。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一种音视频版权区块链应用程序的框架示意图;

图2是本发明实施例中区块链系统数据签名的原理示意图;

图3是本发明实施例中区块链系统中区块的结构示意图;

图4是本发明实施例中区块链系统共识过程的视图;

图5是本发明实施例中区块链系统选举过程的视图;

图6是本发明实施例中区块链系统同步过程的视图;

图7是本发明实施例区块链消息结构与关系的示意图;

图8是本发明实施例中节点与权限控制的关系示意图;

图9是本发明实施例一种音视频版权上链方法的流程图;

图10是本发明实施例中步骤101的具体流程图;

图11是本发明实施例中Y可画曲面函数图;

图12是本发明实施例中3个共识节点的共识耗时及平均值图表;

图13是本发明实施例中4个共识节点的共识耗时及平均值图表;

图14是本发明实施例中6个共识节点的共识耗时及平均值图表;

图15是本发明实施例中两种共识算法的共识过程耗时曲线图;

图16是本发明实施例中共识算法容错测试图表。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例的一种联盟式音视频版权系统,该系统包括多个智能设备,在每一个智能设备上都安装有音视频版权区块链应用程序,智能设备可以是个人PC机、平板电脑、手机以及服务级PC机等可以接入以太网,并且具有数据运算处理功能的设备。

图1示出了音视频版权区块链应用程序的框架示意图,该框架自上而下包括应用层、交互层、共识层以及数据层,其中应用层为应用程序的最上层,用于提供应用程序的功能界面,实现音视频版权上链的操作,以及上链后音视频版权的控制以及管理,应用程序的界面显示在智能设备的屏幕上,因为是提供给用户使用的,所以称其为客户端,可以分为基本操作、确权溯源、权限管理以及版权登记四块功能;交互层为应用程序的第二层,用于对区块链系统运行过程中产生的消息进行管理,以及对区块链系统中通讯连接和传输进行管理;共识层为应用程序的第三层,用于根据改进型拜占庭容错共识算法,完成区块链系统数据的共识,实现音视频版权的数据上链;数据层为应用程序的最底层,用于区块链系统中数据的处理和存储。

以下结合附图,针对每一层进行详细说明,如图1所示,数据层包括:数据处理模块以及数据存储模块,其中数据处理模块使用非对称加密算法以及哈希函数等密码学技术对在区块链平台上的各种传输数据进行加密与解密保证数据可信度以及数据的完整性,并利用时间戳技术保证数据的可追溯性,其使用哈希函数、非对称加密以及数字签名验证来完成上述功能。

哈希函数是指用于验证数据的完整性,把可变长度输入串转换成固定长度输出串的一种算法,具有单向性、抗第二原像攻击、抗强碰撞攻击等性质,假设区块链网内的节点A发送数据MA给节点B时,A利用哈希函数生成哈希值DA,将DA和MA发送给B,B收到MA和DA,利用哈希函数计算出MA的哈希值DA'通过比较DA和DA'就可以验证数据是否被篡改过,在区块链系统中,通过哈希算法,将区块或交易单相关内容作为输入,计算出摘要生成区块或交易单的身份标识号ID(IDentity)。

区块链中的交易需要依靠非对称加密来验证交易的合法性,非对称加密是目前普遍采用的加密算法,该加密算法使用一个密钥进行加密,使用另一个密钥进行解密,在这对密钥中,对外公开的密钥,称之为公钥,另一个密钥不对外公开,用户自己持有,称之为私钥。假设A与B之间互相通信,A给B发消息的时候,会将消息的内容用B的公钥进行加密,同理,当B收到A发送的加密消息之后,会用自己的私钥对消息进行解密,由于B的私钥只有B自己知道,所以即便消息被C接收到,C也无法知晓消息的内容,利用非对称加密,可以使区块链内各个节点非常安全的传递信息。

数字签名是指利用非对称加密技术来保证数据的完整性、不可否认性和防伪性。假设A与B之间通信,B收到署名为A的消息,在此过程中存在两个问题:1、B如何确定收到的消息就是A发送的;2、B收到的消息是否完整未被篡改过;数字签名就可以解决这两个问题,如图2所示,数据签名的原理:

A将通信的内容MA进行摘要运算得到摘要DA,接着将DA利用A的私钥生成数字签名SA,A把MA和SA一起发送给B,B收到MA和SA之后,利用A的公钥对SA进行解密,得到内容MA的摘要DA,接着B将收到的MA进行摘要运算,得到的摘要DA',验证DA'与DA的一致性,就可以判断内容MA是否被篡改。时间戳技术是标识某一时刻的技术,表明数据是在什么时间存在的,利用该技术对区块链中区块进行排序,使得区块产生的时间无法被篡改,时间戳也是证明区块数据存在证明的重要参数。

本发明实施例的区块链上主要由两种类型的数据构成:区块(Block)与交易单(Transaction)。本发明实施例区块链系统中区块的结构如图3所示,一个区块分为两个部分:区块头与块身。区块头包括:前一个区块的HASH值、当前视图编号、本区块生成者的公钥、区块下各交易单生成的默克尔树根(Merkle树根)区块生成时的时间戳,而块体中包含区块的ID号、区块生成者用私钥对区块头的数字签名、本区块包含的交易单数量以及每个交易单的ID号,Merkle树根的计算方法是将本区块下的每一笔交易单的HASH值作为Merkle树的叶子然后逐层进行数据连接并进行哈希运算得到Merkle树根,其作用在于可以快速定位某条数据是否被篡改过。

同时,为了降低区块的容量,方便后期的查找同步以及备份,音视频版权区块不保存完整的每一笔交易单实体内容,只存储该区块下对应交易单的ID号,需要说明的是,区块与交易单都物理存储在数据库中,在逻辑上每个区块上记录下父区块的HASH值形成一条链状结构,因为区块链上的交易单等相关信息物理存储在数据库中,所有检索信息时不需要按照链结构遍历,而是以检索信息分类为主键快速搜索数据库中的交易单信息即可,在找到交易单信息后利用交易单ID、交易单中的公钥和交易单数字签名判断该条交易单是否被篡改过,而最新一个区块生成时的安全由参与到区块链维护的所有节点通过共识机制来保证。因为每一个块都记录着上一个块的HASH值所以区块链才是无法篡改的,每个交易单中包含本交易单对应的唯一交易单ID号、交易单生成者的公钥、数字签名、交易单请求的类型、串联交易单里所有数据生成的HASH值、交易单生成时的时间戳以及交易单下的交易单实体内容。在音视频链上的数据都是音视频作品的相关信息与数据,时间戳加上交易单实体中的音视频实体HASH值和交易单数字签名使版权的拥有者能够有效确权。在区块链上的一个交易单的实体内容包括:音视频实体的HASH值、文件类型(音乐、视频、图片)、版权归属、操作权限设置、受众群体分类、音视频的名称以及创作者信息(作者的名字,电话,住址等隐私信息)。

音视频类非结构化数据,其文件大小的不确定性、易被篡改等属性使得将音视频文件实体上链存储变得十分困难,所谓音视频实体文件是指音视频文件中的音视频实体影像,其容量的大小基本占据整个音视频文件一半以上,若是上链存储,则会导致整个区块链系统需要十分庞大的存储空间,这显然是不现实的,所以本发明实施例中区块链系统设计只将音视频文件经过哈希运算后的HASH码作为该音视频文件的缩影上链分布式存储,而对于音视频文件实体则在对应音视频交易单生成节点的数据库中或传输至版权所属公司节点的数据库中进行链下分类加密存储管理,这样将数字文件实体与缩影链上链下分开存储的优点在于:

1、一个随机大小的非结构化文件都能经过哈希运算后得到统一长度的哈希码,方便管理且能够大大减少区块链平台共识过程中的数据传输量进而提高共识速度。

2、不需要将每一个上链的非结构化数据都分布式存储在每一个节点上面,而是只将文件缩影(HASH值)分布式存储,能够有效降低对平台中共识节点的存储空间要求。

3、在共识过程中不需要传输完整的非结构化数据本身,所以能够进一步提高平台在数据传输中的安全性,防止完整的数据在传输过程中被黑客监听盗取。

4、由于区块链的特性,所有节点都存储有链上数据的备份,将上链的数据抽象化,防止链上文件被破解后能够读取到音视频文件实体内容,造成隐私文件泄露等问题。

本发明区块链系统共识层用于根据改进型拜占庭容错共识算法,完成区块链系统数据的共识,实现数据上链,其分为共识模块、选举模块以及同步模块,根据现有技术的拜占庭容错共识算法(PBFT),本发明的区块链系统对其进行改进,使得改进后的算法,更加适合于联盟式音视频版权区块链系统,改进的PBFT共识算法主要分为三个过程:共识过程、选举过程、同步过程。共识过程与PBFT不同的是:将PBFT主要的三阶段共识(预准备阶段、准备阶段、确认阶段)省略最后确认阶段变成两阶段共识,至所以可以变为两阶段共识,是因为在PBFT三阶段共识过程中除了确认阶段发送的确认消息(COMMIT消息),其他阶段发送的消息例如:准备消息(PREPARE消息),预准备消息(PREPREPARE消息)都受到视图号的限制,那些处于预准备和准备阶段的消息在视图变更发生后的新视图状态里都将被遗弃,假设主节点在确认阶段宕机,这时需要计算出一个新主节点的编号,然后通过视图变更过程确认新主节点后将视图号更新,但是即使进入一个新的视图状态,上一个视图状态中未传送完成的COMMIT消息仍然有效,确认阶段保证了在更换主节点后,不需要进行任何同步操作直接进入下一个视图状态,执行新的共识过程:新的主节点会选择在视图变更发生时,只在部分节点上处于已确认状态的请求,因为这种请求其实是已经被法定(quorum)个节点共识验证,但还没有来得及执行的请求。本发明实施例中PBFT在确认阶段避免了一个请求在部分节点到达已确认状态时发生视图变更导致的不一致性,进而省略了新视图开始前节点间的状态同步,但是在联盟式区块链在有监督且较稳定的环境下,视图变更情况(主节点宕机或发送恶意请求进行共识)并不会频繁发生,在不发生视图变更时,PBFT中确认阶段消耗的网络资源价值并不高。

结合以上所述,假设A、B、C、D四个节点进行去掉确认阶段的PBFT共识(在准备阶段收到quorum个准备消息就默认请求可以执行),A为主节点,其他为从节点:A在预准备阶段广播了一个预准备消息m,B、C、D从节点接收到消息m后各自进行验证m中的请求q并都验证通过,然后各自生成p准备消息并广播给所有节点,此时主节点A宕机,B节点在A宕机时已经收到了一个quorum发来的p准备消息(包括自己的),然后将请求q执行并在链上加一个新区块b,而C和D由于网络延迟原因,此时还没有接收到足够多的p消息,所以不能执行请求q,此时共识网络便出现了不一致性:B执行了请求q,在区块链上多一个b块,而C、D都没有执行q。

为了解决上述的不一致性情况,在视图变更时加入选举过程与同步过程,选举过程的作用:视图变更时由于网络延迟原因,各个节点的状态可能不一致,选举出共识节点中区块链链结构最长的节点作为候选主节点(上面情况中的B节点),候选节点选举出来后进行同步过程;同步过程的作用:消除由于网络原因造成上述状态不一致性。但是这里的同步过程并不是传统的客户端\/服务器模式(Client\/Server简记为C\/S)模式中的同步,因为候选主节点在同步过程中可能存在同步恶意区块的情况(给不同的从节点同步不同的区块或将非法的区块同步给从节点等),所以,将同步过程分为三个阶段,以去中心化的方法监督候选主节点在同步过程中的合法性,如果候选主节点在同步过程中出现恶意行为,那么将再次选举新的候选主节点出来。可以理解为新的共识算法将PBFT的确认阶段推后到视图变更时的选举与同步过程中,从而降低了共识过程的数据传输量与通信次数。

改进后的PBFT算法分为三个部分:共识过程、选举过程以及同步过程,其中共识过程的步骤是:

步骤1:客户端向主节点发送请求,请求服务操作。

步骤2:主节点对接收到的请求进行编号,并广播给其他从节点。

步骤3:从节点收到主节点发送的执行服务请求后,对其进行验证,验证通过后执行服务并将执行结果返回给客户端。

步骤4:客户端等待节点返回执行结果,若相同的回复结果数量超出f+1(f是指区块链系统中最大可容忍错误节点个数)个,那么该结果为最终的操作结果,其中与现有技术的PBFT差别为步骤3分为三个阶段:预准备、准备以及提交,省略确认阶段,其中:

预准备阶段:主节点收到客户端请求后,分配序号n给该请求,接着主节点将预准备消息发送给从节点,消息的格式为<<PREPREPARE,v,n,d>,m>,其中v为视图编号,客户端消息内容为m,m的摘要为d。

准备阶段:从节点收到主节点的预准备消息之后,对消息进行验证,验证的主要内容有:首先,判断v是否是当前视图编号;然后对消息内容m以及m的摘要d进行验证,确保消息内容没有遭到篡改;最后,预准备消息序号n需要满足公式h≤n≤H,其中h和H为水线。如果验证全部通过,则从节点会将准备消息<PREPARE,v,n,d,i>发送给其他从节点(含主节点),其中i为从节点编号;如果验证不通过,则丢弃预准备消息。

提交阶段:各节点对准备消息进行验证,当验证结果为真,且收到quorum个不同的从节点发送来的准备消息时(包括自己),就执行请求的服务,并将执行的结果返回给客户端<REPLY,v,t,c,i,r>消息。共识过程的视图如图4所示,其中Leader为主节点、Follower1、Follower2、Follower3和Follower4为从节点。

当主节点发生宕机或者恶意行为时,从节点开始视图变更流程,改进PBFT共识算法为了防止由于去掉原PBFT共识过程中的确认阶段造成可能的不一致性,将视图变更过程修改为两个过程:选举过程与同步过程,下面分别介绍这两个过程的流程。

选举过程:当前主节点宕机,或者发送恶意请求进行共识时,从节点通过多轮投票的方式选举出下一任候选主节点,分为3个阶段:

1、第一轮投票阶段:开始投票,发送<FIRST_VOTE,SID,ZXID,VID,i>消息,其中SID:投票对象节点的id编号;ZXID:投票对象节点的末区块状态编号;VID:视图号;i:投票节点自身ID编号,将该消息发送至除自己和上一任主节点之外的所有节点,这一阶段每一个参与选举节点的选票都投给自己,SID都为本节点ID编号,把自己的末区块状态编号记录在ZXID位置上,并将视图变更前的视图号存储在VID位置上。

2、第二轮投票阶段:将从其他节点收到的选票判断VID是否为正确视图号,若正确,则存放在“选票箱”内,若不正确就丢弃选票,分析选票箱内的选票准备第二轮投票,分析选票后本地节点变更第二轮投票的规则:

Self_zxid:代表上一次本节点发送的投票的ZXID;Self_sid:代表上一次本节点发送的投票的SID;Vote_zxid:代表选票箱内所有选票对象中ZXID最大的选票;Vote_sid:代表选票箱内所有选票对象中ZXID最大的选票的SID;

规则1:若Vote_zxid>Self_zxid则下一轮选票变更投票对象,第二轮投票消息为<SECOND_VOTE,Vote_sid,Vote_zxid,VID,i>;规则2:若Vote_zxid<Self_zxid则下一轮选票内容不变更投票对象,第二轮投票为<SECOND_VOTE,Self_sid,Self_zxid,VID,i>;

规则3:若Vote_zxid=Self_zxid则比较Self_sid与Vote_sid,如果Vote_sid>Self_sid则下轮投票发送变更对象,投票为<SECOND_VOTE,Vote_sid,Vote_zxid,VID,i>;反之下一轮投票中的投票对象不发生变更<SECOND_VOTE,Self_sid,Self_zxid,VID,i>。

3、确认Leader阶段:确认主节点,当收到当前轮投票中有quorum节点的投票对象都为同一节点对象(非上一任主节点)后,所有节点发送确认主节点消息<LEADERCHANGE,SID,ZXID,VID>给该下一任候选主节点。其中SID:本节点的ID编号;ZXID:本节点的链尾区块状态编号(方便候选主节点进行下一步同步过程);VID:发生视图变更时的视图号,发送确认主节点消息后进入同步过程。选举过程的视图如图5所示,其中Leader为主节点、Follower1、Follower2、Follower3和Follower4为从节点。

同步过程:在共识过程中省略了确认阶段,所以当新一任的主节点上任前需要进行一次同步过程防止出现不一致性,为下一步在新视图状态中进行的正常共识过程做准备,其分为三个阶段:

SYN_1阶段:当主节点接收到来自从节点的<LEADERCHANGE,SID,ZXID,VID>后首先进行判断VID是否为当前视图编号,若是则查看对比自己的末尾区块编号LEADERCHANGE消息中的ZXID编号是否一致,若一致直接发送同步成功消息<SYN_SUCC,SID,VID>给该节点;若不一致情况下,如果Follower_zxid>Self_zxid,发送<SYN_CUT,SID,ZXID,VID>修剪区块消息给该从节点,SID为主节点编号,ZXID为候选主节点末尾区块状态编号,VID为发生视图变更时的视图号;如果Follower_zxid<Self_zxi则发送<SYN_ADD,SID,S(ZXID),VID>增加区块同步消息给该从节点,其中S(ZXID)为从节点相比候选主节点缺少的区块集合。

SYN_2阶段:当从节点收到来自候选主节点的同步消息后进行判断同步类型并验证同步内容的合法性(区块的HASH顺序性、利用数字签名和公钥检测区块真实性等)。验证通过后,发送<SYN_CHECK,SID,D(ZXID),VID>给除自己与候选主节点之外的所有其他从节点,其中SID为自己节点编号,D(ZXID)为与候选主节点同步后末尾区块的摘要,VID为发生视图变更时的视图号。由于区块链上每一个区块都记录着父区块的HASH值,利用数字签名与公钥验证了同步内容中每个区块的真实性后,只需要交换验证各个从节点上最后一个区块的摘要是否相同,就可以知道候选主节点是否在同步过程中存在恶意行为,因为如果末尾区块之前的任意一个区块与其他节点上的记录存在不一致,都会影响该区块在下一个区块上的父区块HASH值,最终必然会导致最后一个区块的摘要内容出现不一致,所以D(ZXID)的作用主要是防止主节点在同步中,扩散恶意区块和发送不同的同步区块给不同的节点。其他从节点在收到SYN_CHECK消息后将D(ZXID)取出并与自己的末区块的摘要进行对比,若收到quorum个节点发来的SYN_CHECK消息中的D(ZXID)都与自己的一致,则进入SYN_3阶段;若少于quorum个节点末尾区块摘要一致,则说明候选节点在同步过程中可能存在恶意行为,则重新进入选举过程选举新候选主节点。

SYN_3阶段:从节点在确认末尾区块的一致性后,执行候选主节点要求的同步请求,然后发送<SYN_OK,SID,VID>消息给候选主节点说明此次与候选主节点的同步完成。其中SID为本节点编号,VID为新视图编号(发生视图变更时的视图号加一)。当候选主节点收到quorum个不同从节点发送来的SYN_OK消息后,说明此次同步过程执行成功,进入新视图状态的共识过程,开始接收处理新请求,这其中Follower_zxid:当前LEADERCHANGE消息中的ZXID;Self_zxid:代表候选主节点的ZXID。同步过程的视图如图6所示,其中Leader为主节点、Follower1、Follower2、Follower3和Follower4为从节点。

通过以上过程,就实现了共识层的功能,实现音视频版权的上链过程中的数据共识,最终完成音视频版权上链。

本发明区块链系统交互层用于区块链系统的消息管理以及传输管理,包括:消息管理模块以及传输管理模块,其中消息管理模块用于接收和处理所述音视频版权上链过程中产生的所有消息,图7示出了本发明实施例区块链消息结构与关系的示意图,在一般区块链中,节点分为全节点和轻量级节点。全节点保有一份完整的、最新的区块链及存储在上面的所有数据,轻量级节点则只保留了其中的一部分。本发明实施例中全节点指共识节点,轻量级节点指客户端。每一个共识节点都是一个全节点,全节点需要参与区块链生成区块的共识算法,在共识算法流程中会收到来自其他共识节点的共识算法类消息(共识过程消息、选举过程消息、同步过程消息),在接收到消息后需要对消息进行分类处理,并判断当前节点处于哪一个过程的哪一阶段以及当前视图编号进而初步确认接收到消息的有效性。在共识算法的每一个阶段也需要根据前面共识层的流程,向其他共识节点发送消息,推进和维护整个区块链平台的共识算法正常运行。同时,每一个共识节点可以作为一个共识服务器,与若干个客户端向连接。每一个客户端可看做上述中的轻量级节点,不参与到区块链的共识机制中,只负责将用户的请求类消息打包发送给相连接的共识节点上,再由共识节点分类处理客户端发送来的请求消息,打包成交易单发送给主节点经过共识,最后生成区块上链,在共识成功后共识节点会将请求的执行结果打包成回复类消息反馈给客户端的用户。

上述消息中包括:客户端类消息以及共识机制类消息,客户端类消息包括:IP:生成请求客户端IP、Poet:生成请求客户端端口号、请求消息和回复消息,请求消息中包括:Request_ID:请求消息ID;FuncNum:请求功能类型;TxList:交易单列表;Reply_ID:回复消息中包括:回复消息ID;Request_ID:回复对象消息ID;ReplyType:回复执行类型;共识机制类消息包括:View_ID:视图编号、SeqNum:消息编号、IP:生成消息共识节点IP、Poet:生成消息共识节点端口号、共识过程消息、选举过程消息以及同步过程消息,其中共识过程消息中包括:Phase:共识过程阶段编号;BlockMsg:此次共识的区块(预准备阶段广播);PPMsgSign:预准备阶段消息的签名,选举过程消息中包括:Phase:选举过程阶段编号;VoteMsg:投票消息内容,同步过程消息中包括:Phase:同步过程阶段编号;VoteMsg:同步消息内容。

传输管理模块的主要功能是建立共识节点之间的网络连接,区块链平台与传统中心化管理系统的区别之一是区块平台是建立在对等网络(Peer-to-peer networking,P2P网络)环境下的。传统C\/S环境下中心服务器的集权化使得整个集群的控制权限与敏感数据集都集中在中心服务器上,反而增加了整个系统的安全隐患,而在区块链系统中对等网络环境下因为全网无特殊节点,每个节点都可以提供全网所需的全部服务,任何一个节点垮掉,都不会对整个网络的稳定性构成威胁,相比传统C\/S更为安全可靠,在P2P环境下单个共识节点需要与共识网络中的多个节点相连接并产生数据传输,所以传输过程中的缓存、并发以及断线超时判断等功能就变得尤为重要,本发明实施例中区块链系统通过传输管理模块实现网络连接的各项功能,并保障整个区块链系统网络的正常运行。

本发明区块链系统应用层用于提供区块链系统的功能界面,实现音视频版权上链的操作,以及上链后音视频版权的控制以及管理。普通的用户可以选择不参与区块链系统上的共识机制,用户可以使用轻量级客户端管理数字版权,在需要进行数字版权登记等操作时,通过客户端发送交易单至共识网络中某一个与自己相连接的共识节点即可,需要说明的是,这里的共识节点和与之相连接的客户端的连接模式是C\/S模式,这样做的好处在于:

1、用户的个人电脑不需要存储区块链上的完整数据备份,因为参与共识的节点需要存储从区块链的第一个块到最近一个生产的区块的完整信息,而客户端只用存储本地用户产生操作的历史记录即可,大大减少了对于存储空间的要求。

2、减少对网络带宽的占用,因为在参与共识需加入到P2P的共识网络环境中,且共识机制的繁琐信息交换过程肯定会消耗部分网络带宽,而轻量级客户端只与一个共识节点进行网络连接,只发送请求与等待反馈执行结果,不参与到真正的区块链共识机制中去。

当普通用户在硬件条件允许的情况下,也可以加入到音视频版权区块链系统中,作为其中一个共识节点,在加入区块链系统中时,首先需要进行账户的管理,账户管理主要用来管理用户登入、登出、密码找回、公钥绑定等功能。公钥绑定将用户与在CA(Certificate Authority,证书颁发机构)中申请的公钥进行绑定,通过实名认证与个人绑定,用来给用户管理自己的信息。为了保证区块链系统的机密性、完整性与有效性,采用了非对称加密、数字签名、PKI(Public Key Infrastructure,公钥基础设施)认证体系等密码学技术,机密性是指数据传输过程中,不能被非授权者看到,完整性是指数据在传输过程中,不会被非法篡改,有效性是指区块链系统的参与者产生的数据不能被否认。以上所述各个环节中所用到的公钥均由密钥与认证架构提供生成、备份、认证等功能。所有参与到音视频版权区块链系统中的个人、机构、与设备均需向CA中心申请属于自己的密钥与证书。作为联盟链,其中的CA中心存储了大量用户的公私钥密码对,具有一定的中心化属性,所以可以部署在国家版权中心或者各省级版权局,以降低负载,分散化管理。若用户的私钥不慎丢失时,可通过自己的身份证件重新从CA中心换取自己的密钥,当用户的私钥出现安全性问题时,及时通过个人证件与吊销密钥申请,重新申请新的密钥,用旧私钥解密自己的信息后,再用新申请的公钥加密,以此来保证安全问题。另外在一些特殊情况下,如出现侵权纠纷时,法院、公安机关或国家版权机构可以同过向CA来获取当事人的私钥,及时应对数字版权侵权。但监督机构获取私钥的过程也需要生成带有相关操作信息的查询交易单,作为记录保存。

以下对用户如何申请音视频版权进入区块链系统,以及在进入区块链系统后如何管理进行详细说明。首先需要进行版权登记,其操作流程如下:

1、用户将想要登记上链的音视频作品通过“登记数字版权”操作生成一笔类型为“版权登记”类的交易单,在填写完善了交易单上音视频相关的信息后,通过客户端发送至某一个与客户端相连接的共识节点服务器。

2、共识节点会初步检测交易单的完整性,然后发送给当前视图状态的主节点。

3、主节点在收集一段时间内的交易单后打包生成一个区块,然后将区块广播给共识网络中的从节点进行共识。

4、在共识过程中,各节点会验证区块下每个交易单的合法性与检查该笔交易单中的音视频实体HASH值是否与已上链的任一交易单中的音视频HASH值完全相等,若相等则说明此音视频作品已经在区块链中登记过,该用户的版权登记行为可能涉嫌侵权,则该笔“版权登记”交易单共识失败,但作为涉嫌侵权的敏感操作,会被保存在所有共识节点的数据库中,为将来可能发生的版权纠纷保留数据记录。

5、通过了共识过程验证的区块会被所有参与共识的节点所执行,也就是逻辑上在区块链链结构上增加一个新区块,物理上这块新区块以及上面所有的交易单记录将被存储在共识节点的数据库中。

通过上述过程,用户登记的新数字版权记录已经分布在参与共识的所有节点的区块链上,即使一些节点出现宕机,这笔记录也不会消失,达到了去中心化存储数字版权的目的,在区块链技术的保证下,这些上链的数字版权信息极难被篡改,而且能保证隐私不会被泄露,而音视频文件的实体会在客户端上传交易单时被加密传输分类备份在共识网络上的多个节点下,保证单个节点宕机的情况下数据实体不会丢失。与传统中心化数字版权登记相比较,利用密码学技术保证了数字版权内容的完整性与真实性,区块链去中心化技术大大降低了中心化管理易受到集中攻击或管理不当引起的数据泄露等现象发生的可能性。

在登记完成之后,需要进行确权,确权的过程如下:

1、用户在客户端对想要确权的某一个音视频对象进行“数字版权确权”操作,客户端会将对这段音视频进行哈希运算得到一段HASH值,并生成一笔“版权确权”类交易单,将此HASH值存于一笔交易单中,发送至共识服务器。

2、共识服务器会对链上的交易单进行搜索,查找拥有音视频实体HASH值与“版权确权”交易单中HASH值完全一致的“版权登记”类交易单,并利用被搜索出来的交易单中的公钥与数字签名验证该交易单上数据的真实性,搜索成功后,利用此交易单的时间戳记录向后遍历链上所有对此交易单内容的修改(因为一份数字版权在登记后可能会被版权拥有者进行“修改”类操作),并将所有修改内容覆盖在最原始的那份“版权登记”交易单上。

3、操作结束后将该交易单与其对应的区块信息在权限控制允许的情况下反馈给操作发起者的客户端。

通过上述过程,根据搜索到的交易单上的数据(时间戳、公钥、音视频HASH码以及数字签名等)便能够证明确定该音视频作品的所有权,达到数字版权确权的目的。

一般情况在确权之后,还可以进行溯源,溯源的过程:

1、用户在区块链平台上进行音视频版权溯源操作产生交易单的类型为“版权溯源”类,并发送给共识节点。

2、共识节点在执行此类请求时会在链上搜索拥有溯源音视频对象HASH值完全一致的一笔“版权登记”类交易单,利用时间戳技术保证这份“版权登记”是链上此音视频对象在链上最早的一份记录,由此可知这份记录便是这份音视频文件的数字版权“源”,交易单中有最早登记这个作品的用户公钥、用户信息、音视频HASH值以及时间戳信息,可以清楚的知道是“谁”(公钥)在什么“时间”(时间戳)登记的这份“作品”(作品HASH值)。

3、再利用数字签名与公钥验证这份“版权登记”类交易单的真实性后便可将此交易单在权限允许下反馈给客户端,完成版权溯源操作。

音视频版权区块链系统还提供了删除操作、修改操作以及查询操作,其中删除操作:该操作生成的交易单上的类型为“删除”。由区块链的性质可知,“删除”区块或交易操作在区块链上是不能进行的,所以这里说的删除操作并不是简单将对应的交易单进行删除,而是将对应的ID的交易单在将来的查询过程中排除,并且在实现删除操作时,共识平台会检查该操作的发起者有无权限对相应的音视频文件进行此操作,如果想要删除的交易单中的权限设置没有赋予此操作者删除的权限,那么这笔交易将无法被视为无效操作。删除类操作主要针对已经上链的一些“版权登记”交易单或者对“版权登记”类交易单进行修改操作生成的“修改”类交易单。

修改操作:该操作生成的交易单上的类型为“修改”。当对“版权登记”类交易单进行修改操作时,会产生一个“修改”类交易单,与“删除”操作相似,直接对区块或交易单进行修改在区块链上是不能进行的,所以这里说的修改操作并不是简单将对应的交易单进行修改,而是将修改前的交易单内容在查询过程中覆盖,只显示修改后的交易单内容。在实现修改操作时,共识平台会检查该操作的发起者有无权限对相应的交易单进行此类操作,如果想要修改的交易单中的权限设置没有赋予此操作者修改的权限,那么这笔交易将无效。区块链上的修改主要针对已在链上“版权登记”交易单内容的修改,如:版权归属、操作权限设置、音视频名称、音视频HASH值以及作者信息等。

查询操作:该操作生成的交易单上的类型为“查询”。共识服务器在接受到查询类操作时会判断被查询的音视频所在交易单中的权限设置是否赋予该查询者查询权限,若没有权限则此笔查询交易单无效。

本发明实施例的区块链,为了更好、更有效的管理音视频版权,根据节点分类将区块链上共识参与者节点角色分为三类:音视频创作者、音视频公司以及监督者,这些节点以及连接在节点上的客户端在区块链上的行为都是受到权限的限制的。音视频版权区块链系统采用基于角色的访问控制模型(Role-BasedAccess Control,缩写RBAC)来实现权限管理,RBAC将用户通过角色与权限进行关联管理,该模型通过定义不同的角色、角色的继承关系、角色之间的联系以及相应的限制,动态或静态地规范用户的行为。用户在上传了一个交易单后可以对该交易单的操作权限等信息项进行修改,也可以对该交易单中的音视频实体的版权进行转让,这些操作都会再次生成相应的交易单发送至共识平台进行共识。只要操作的发起者拥有相应的权限执行交易单中的操作,那么这些交易最终会被所有的共识节点确认并执行。此外,这些关于权限管理以及关于数字版权转让等敏感操作都会记录在客户端本地的历史操作中,方便用户查询追溯历史操作。图8示出了本发明实施例中节点与权限控制的关系示意图,其中:

音视频创作者大多是普通的个人用户,因为个人的兴趣喜好作为节点参与到区块链中,此类在链上可以对拥有版权的作品执行各类操作。创作者可以上传自己创作的音视频作品,可以选择是否将作品实体备份至区块链平台上防止文件实体丢失,并拥有权限修改、删除或查看链上自己上传的音视频作品,创作者也可以选择将版权转让给音视频公司节点或者其他创作者,但这样操作后自己将失去对作品的修改、删除权限,拥有版权的音视频公司或创作者节点将获得作品的操作权限,由于个人用户的硬件条件与监督水平一般达不到企业公司标准,所以我们不会将链上数字版权的链下音视频实体备份在该类节点下。

音视频公司主要是一些音视频公司或者网站,此类角色在链上可以对拥有版权的作品执行各类操作。可以上传版权属于自己公司的音视频作品,并拥有权限修改或者删除链上拥有版权的音视频作品,任何节点在上传音视频到区块链时,如果选择将版权转移到某音视频公司,那么上传的音视频实体,将通过共识网络加密后,传输至音视频公司节点所在的共识节点下的数据库上进行链下分类备份,音视频公司有权力也有义务保存好其拥有版权的音视频作品链下实体。同时,也方便公司内部快速搜索与管理音视频实体内容,在公司节点加入到区块链平台之前区块链平台运营者需要对公司的诚信度、合法性与运营情况进行调查审核,筛除没有能力保证链下音视频实体安全的或者有潜在运营风险的公司节点加入音视频版权区块链平台,保证音视频版权区块链在较为安全稳定的环境下运行。

监督者主要指由政府部门,例如:网信办、版权局、政府相关职能部门等控制的节点,方便政府有关部门监督整个音视频版权区块链平台的运行以及从区块链中调取各种数据。此类节点拥有链上最高权限,可以查看任意版权作品的所有操作记录,以及可以对链上所有交易单,区块的详细内容进行查看,并可以对所有音视频作品进行所有操作。但是此类节点的所有操作仍会在链上留下记录,以监督防止政府部门的内部人员出现违规行为。

并且为了进一步保证音视频版权区块链的稳定性与安全性,我们从以下多个方面管理维护系统,降低恶意行为发生的可能性。

1、所有节点在进入音视频版权区块链前需要进行身份准入验证,包括对音视频公司节点的真实性考察等,并将个人用户或公司在链上的行为与社会信用体系挂钩。

2、对创作者的个人节点的每日上传交易单数量进行限制,防止恶意用户提交无效的交易单消耗共识资源,在后期针对不同用户的行为记录对每日上传交易单上限进行调整。

3、通过“权限管理”明确节点角色划分,进一步细化权限,实现有效的权限监督与控制。

4、鼓励监督节点监督验证链上数据的合法性,防止不合法音视频的上链操作。

5、强化音视频公司节点对上链作品进行甄选意识,防止“低俗”音视频作品上链。

6、定期遍历区块链结构的所有数据记录,验证数据的可靠真实性。

7、加强链下音视频实体的科学存储管理,鼓励用户验证音视频文件实体的真实性,提倡单个作品在多节点上进行加密备份,防止链下实体丢失。

综上所述,最终组成了本发明实施例的音视频区块链系统,该系统采用区块链技术管理音视频数字版权,在共识机制方面采用改进的PBFT共识算法,使得数据上链共识过程速度得到提升,减少了现有技术PBFT算法共识过程中三阶段共识中的网络通信次数,在保证音视频版权安全可靠性的同时,提高了区块链网络的工作效率,并且使得普通用户也可以参与进音视频版权区块链系统,极大的保障了音视频版权的合法合规性。

基于上述音视频版权系统,如图9所示,本发明实施例还提供了一种音视频版权上链的方法,该方法包括:

步骤101:通过智能设备选择所需上链的音视频文件,同时完成音视频文件的版权信息。

本发明实施例中,音视频版权的所有者,或者有权对音视频进行处理的用户、公司等,通过智能设备选择需要上链的音视频文件,同时完成音视频文件的版权信息,包括音视频版权的归属、作者、类型以及名称,音视频版权对应的受众群体分类,以及操作权限等的设置。本发明实施例对此不对具体限定。

可选地,参照图10,步骤101包括:

步骤10a:若有隐私信息,智能设备利用非对称加密技术对隐私信息的数据项进行加密处理,完成音视频文件的版权信息。

步骤10b:若没有隐私信息,智能设备直接完成音视频文件的版权信息。

本发明实施例中,在进行版权信息设置时,若是由隐私信息,不想让除自身外的其他用户或者公司看到时,可以对隐私信息的数据项,利用非对称加密技术进行加密处理,并且还可以对隐私信息进行分类,可以将隐私信息设置为具有权限的人才可以查看,例如:设置为只有华纳唱片公司可以查看隐私信息,这样除了自身和华纳唱片公司外,其余任何个人或者公司都无法查看到隐私信息,这样保证了音视频版权所有者的个人隐私信息。本发明实施例对此不对具体限定。

步骤102:智能设备利用哈希算法对音视频文件进行哈希运算,取得音视频实体文件的哈希值以及此笔交易单的哈希值,并生成时间戳。

本发明实施例中,在音视频版权信息完成后,智能设备通过音视频版权区块链的应用程序,采用哈希算法对音视频文件进行哈希运算,取得音视频实体文件的哈希值以及此笔交易单的哈希值,并生成时间戳,在保证了音视频文件的安全性、完成性、可追溯性的同时,还减小了上链的音视频文件的容量。本发明实施例对此不对具体限定。

步骤103:智能设备利用非对称加密技术对交易单哈希值进行数字签名,将交易单以及音视频实体文件,发送至与智能设备连接的区块链中共识节点上。

本发明实施例中,智能设备利用非对称加密技术对交易单哈希值进行数字签名,保证了交易单的不可篡改性、正确性和统一性,之后将交易单以及音视频实体文件,发送至与智能设备连接的区块链中共识节点上,以供区块链系统进行后一步操作。本发明实施例对此不对具体限定。

步骤104:共识节点对交易单的时间戳信息以及数字签名进行初步验证后,将音视频实体文件备份在共识节点的数据库中,并将交易单发送至区块链系统中的主节点。

本发明实施例中,共识节点接收到交易单后,对交易单的时间戳信息以及数字签名进行初步验证,同时音视频实体文件备份在共识节点的数据库中,这样不但保证了在区块链系统上的文件容量较小,利于系统运行和管理,同时保障了音视频实体文件的安全性和完整性,在验证玩后,将交易单发送至区块链系统中的主节点,准备进行上链共识操作。本发明实施例对此不对具体限定。

步骤105:主节点在收集一段时间内发送来的交易单后,将收集的交易单的信息录入区块中,生成一个区块。

本发明实施例中,区块链系统中的主节点在收集一段时间内发送来的交易单后,将收集的交易单的信息录入区块中,生成一个区块,这样做是为了提高区块链系统的工作效率,若是接收一个交易单就进行生成一个区块,进行一次共识,则会导致区块链系统资源的严重浪费和损耗。本发明实施例对此不对具体限定。

步骤106:主节点将收集的交易单与生成的区块发送给所有从节点。

本发明实施例中,区块链系统中主节点将收集的交易单与生成的区块发送给区块链系统中所有从节点,准备进行区块链共识操作。本发明实施例对此不对具体限定。

步骤107:主节点与从节点,通过改进型拜占庭容错算法,验证生成的区块及其包含的所有交易单的合法性后,所有交易单中的请求将在区块链中所有共识节点上执行。

本发明实施例中,主节点与从节点都接收到交易单和区块后,通过改进型拜占庭容错算法,验证生成的区块及其包含的所有交易单的合法性后,在合法性验证通过后,所有交易单中的请求将在区块链中所有共识节点上执行,执行结束后,所有上链过程以及执行结果都存储在区块链中,成为正确历史数据,以供区块链系统进行下一次共识的对比标准。本发明实施例对此不对具体限定。

通过上述方法,就实现了音视频版权的上链。

以下从音视频版权在区块链上的管理方式、改进后的共识算法进行实验,验证本发明实施例音视频版权区块链系统的实现。

共识算法的验证实验:

实验环境使用实验室内局域网,实验机器为6台装有windows系统的台式机器作为共识网络中的共识节点。

网络的通信次数实验:假设现在平台上有n(n>3)台机器参与PBFT共识,利用共识算法流程计算出一次完整的PBFT共识需要的通信次数,在这里只计算预准备阶段,准备阶段和确认阶段三个主要阶段的通信次数,但是由于并不是每一次共识都会发生宕机或者主节点发送恶意共识请求造成视图变更,所以我们需要假设一个视图变更概率P,P=1\/q(平均每q次共识发生1次视图变更)。

其中,PBFT共识过程通讯次数:预准备阶段主节点收到客户端请求后,处理请求,接着主节点将预准备消息发送给所有从节点,本阶段共识网络中的通信次数为(n-1)次;准备阶段从节点收到主节点的预准备消息之后,对预准备消息进行验证,如果验证通过,则从节点会将准备消息发送给除自己之外的所有共识节点,本阶段共识网络中的通信次数为(n-1)*(n-1)次;确认阶段所有节点对收到的准备消息进行验证,当验证结果为真时就发送确认消息给除自己以外的所有节点,本阶段共识网络中的通信次数为n*(n-1)次;由此我们可以计算得到完成一次PBFT共识过程需要的三阶段总通信次数为(n-1)+(n-1)*(n-1)+n*(n-1)次,化简得到2n*(n-1)次。

PBFT视图变更过程通讯次数:在P概率下发生的视图变更过程中,视图变更阶段每个从节点广播VIEW_CHANGE消息,本阶段共识网络中的通信次数为(n-1)*(n-1)次;视图变更确认阶段新视图的主节点收到来自其他从节点的VIEW_CHANGE后发送VIEW_CHANGE_ACK消息给所有从节点,本阶段共识网络中发生的通信次数为(n-1)次,由此可得PBFT视图变更过程总的通信次数为n*(n-1)次。

PBFT总的通信次数:由上所述,PBFT在共识过程的通信次数为2n*(n-1)次,视图变更发生时视图变更过程通信次数为n*(n-1)次。设整个系统在概率P下发生视图变更,那么:总共的通信次数Z1<\/sub>=共识过程通信次数+P*视图变更通信次数,得到公式:Z1<\/sub>=2n*(n-1)+P*[n*(n-1)]。

同样假设平台上存在n(n>3)台机器作为共识节点,计算改进共识算法一次完整共识的网络通信次数。这里将计算预准备阶段,准备阶段以及在视图更换情况下选举过程和同步过程的通信次数,由于并不是每一次共识都会发生宕机或者主节点发送恶意共识请求造成视图变更,所以同样设视图变更概率为P,则改进后共识过程通信次数:预准备阶段主节点收到客户端请求后,处理该请求,接着主节点将预准备消息发送给所有从节点,本阶段共识网络中的通信次数为(n-1)次;准备阶段从节点收到主节点的预准备消息之后,对消息进行验证,如果验证全部通过,则从节点会将准备消息发送给除自己之外的所有共识节点,本阶段共识网络中的通信次数为(n-1)*(n-1)次。所以新共识算法的共识过程通信次数为(n-1)+(n-1)*(n-1),化简为n*(n-1)次。

改进后选举过程通信次数:投票第一轮阶段各个从节点发送自己的投票给除了自己以及Leader节点之外的从节点。本阶段共识网络中的通信次数为(n-1)*(n-1)次;投票第二轮阶段各个从节点在收到第一轮投票情况下进行分析投票在规则下更改投票对象,更改后将投票发送至出了自己以及候选主节点之外的所有从节点,本阶段共识网络中的通信次数为(n-1)*(n-1)次;确认Leader阶段,在收到quorum投票后发送确认消息给候选主节点;本阶段共识网络中的通信次数为2n2<\/sup>-3n+1次。

改进后同步过程通信次数:同步SYN_1阶段Leader给每一个从节点发送其对应的同步类型消息。本阶段共识网络中的通信次数为(n-1)次;同步SYN_2阶段中除了Leader之外的所有从节点发送SYN_CHECK消息对同步后的末区块一致性进行验证,发送SYN_CHECK消息至除了Leader和自己之外的所有从节点,本阶段共识网络中的通信次数为(n-1)*(n-2)次;同步SYN_3阶段中所有从节点在同步完成后发送SYN_OK消息给Leader节点,本阶段共识网络中的通信次数为n*(n-1)次。

改进后总的通信次数:由上所述可知,新共识算法共识过程的通信次数为n*(n-1)次,视图变更发生时选举过程与同步过程总的通信次数和化简后为3n2<\/sup>-4n+1次。设整个系统在概率P下发生视图变更,则有:总共的通信次数Z2<\/sub>=共识过程通信次数+P*(选举过程通信次数+同步过程通信次数),可得公式Z2<\/sub>=n*(n-1)+P*(3n2<\/sup>-4n+1)。

将这两种算法的通信次数进行一个对比,令没有出现视图变更情况的共识过程中新共识算法的通信次数与PBFT共识算法通信次数比为C,那么:C=PBFT共识过程通信次数\/改进PBFT共识过程通信次数,带入上面分析数据可得公式C=2n*(n-1)\/n*(n-1),化简可知C恒等于2,所以在没有出现视图变更的情况下新共识算法是PBFT通信次数的一半,大大降低了共识过程中的网络通信次数。而在视图变更发生的情况下,令视图变更概率P下新共识算法的通信次数与PBFT共识算法通信次数比为Y,由上述公式可得Y=Z1<\/sub>\/Z2<\/sub>,带入可得公式Y=2n*(n-1)+P[n*(n-1)]\/n*(n-1)+P(3n2<\/sup>-4n+1),假设n与P为自变量,则Y可画曲面函数图如图11所示,经过实验验证,通信次数验证结果与图中所示一致。将视图变更概率P与共识节点个数n作为自变量,可求得两种共识算法在n个节点参与共识且视图变更概率P下的通信次数比Y。当P=0.5(平均每两次共识过程发生一次视图变更)时Y趋近于1,此时PBFT与改进后PBFT的网络通信次数基本相等;当P<0.5(每大于两次共识过程发生一次视图变更)时PBFT的网络通信次数比改进后算法的大;当P的概率越小Y越趋近于2,也就是说视图变更情况出现概率越小,新共识算法减少的通信次数越接近PBFT通信次数的一半。在联盟链中平台环境比较稳定的情况下,视图变更的概率通常情况下会小于0.5(虽然没有数据统计,但是如果区块链平台每两次共识就会发生一次视图变更,结果肯定是灾难性的)。由此可知,在视图变更概率较小的条件下改进的PBFT可以有效减少网络在共识过程中的通信次数。

共识速度的实验:因为新的共识算法省略了PBFT共识过程中的确认阶段,所以改进后的共识算法在共识的速度上会得到改善。使用实验环境在不同共识节点个数下比较两种算法的单次共识速度,首先保证实验机器中可能的故障节点和恶意节点是f个相同的节点,此时quorum为f+1个节点,选3组对比试验,分别使用3个节点、4个节点与6个节点作为共识节点,需要说明的是,之所以不选5个共识节点做实验,是因为3、4、5、6个共识节点此条件下的quorum数分别为2、3、3、4,可见4个共识节点与5个共识节点的quorum是相等的,所以共识过程耗时实验结果可能相差不大。

多次实验3个共识节点的共识耗时(ms)并计算平均值,如图12所示;多次实验4个共识节点的共识耗时(ms)并计算平均值,如图13所示;多次实验6个共识节点的共识耗时(ms)并计算平均值,如图14所示;结合实验结果,两种共识算法的共识过程耗时如图15所示,其中菱形加横线所示的曲线为原PBFT算法的共识耗时,正方形加横线所示的曲线为改进PBFT算法的共识耗时,改进后的PBFT算法的共识速度上比原PBFT共识速度快。

针对新共识算法安全性的实验:为了验证改进后共识算法在主节点存在恶意行为下的安全性,在实验过程中让主节点传播恶意请求等待共识。改进后算法与原PBFT算法一样无法对恶意请求达成共识,且新共识算法在大多数从节点接收到主节点传播的恶意请求后,发起了主节点重选举投票将存在恶意行为的主节点“推翻”,并选举了一个新主节点。同时还验证了新共识算法在主节点宕机行为下的安全性与容错性,设置主节点在一次共识过程中宕机,原PBFT算法中共识网络中的节点检测主节点宕机后,执行视图变更过程的两个阶段,随后更新视图号,保证上一轮中确认阶段中处于commited状态的消息全部处理结束后开始新的共识;改进PBFT在检测到主节点宕机后开始主节点选举过程,在选出下一任候选主节点后,候选主节点与所有从节点进行同步过程,保证了在下一个新视图开始之前链上数据的一致性,同步结束后,更新视图编号然后开始下一轮共识,实验表明改进PBFT共识算法与原PBFT共识算法一样,在保证分布式系统一致性和安全性的前提下,能够提供(n-1)\/3的容错性。如图16示出了恶意节点与故障节点不相同时4个共识节点的容错测试,在恶意节点数f为0和1时,改进型PBFT和原PBFT都正常运行,在恶意节点数f为2和3时,改进型PBFT和原PBFT都不能正常运行,可以得出改进型PBFT和原PBFT具有一样的安全性。

通过上述实施例,本发明联盟式音视频版权区块链系统,通过音视频版权区块链应用程序完成区块链系统的组建,利用交互层管理区块链系统的消息以及通讯传输,利用数据层实现区块链系统中数据的处理和存储,根据改进型拜占庭容错共识算法,使得共识层完成区块链系统数据的共识,实现数据上链,利用应用层提供区块链系统的功能界面,实现音视频版权上链的操作,以及上链后音视频版权的控制以及管理。本发明实施例实现的联盟式音视频数字版权区块链系统在改进的共识机制、角色权限管理以及非对称加密、时间戳等多种计算机与密码学技术的基础上,更加安全、有效地管理链上音视频作品的数字版权,具有一定的先进性和较强的实用性,随着国内区块链技术的发展,该系统将为中国知识产权的数字信息化与安全可靠性等多方面做出贡献。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

设计图

一种联盟式音视频版权区块链系统及音视频版权上链方法论文和设计

相关信息详情

申请码:申请号:CN201910046790.X

申请日:2019-01-18

公开号:CN109766673A

公开日:2019-05-17

国家:CN

国家/省市:90(成都)

授权编号:CN109766673B

授权时间:20191210

主分类号:G06F21/10

专利分类号:G06F21/10;G06F21/60;G06F21/62;G06Q20/38

范畴分类:40B;

申请人:四川大学

第一申请人:四川大学

申请人地址:610044 四川省成都市一环路南一段24号

发明人:李强;陈子豪

第一发明人:李强

当前权利人:四川大学

代理人:莎日娜

代理机构:11319

代理机构编号:北京润泽恒知识产权代理有限公司

优先权:关键词:当前状态:审核中

类型名称:外观设计

标签:;  ;  ;  ;  ;  ;  

一种联盟式音视频版权区块链系统及音视频版权上链方法论文和设计-李强
下载Doc文档

猜你喜欢