CN114896569A - 基于区块链的代码版权登记系统、方法及平台 - Google Patents
基于区块链的代码版权登记系统、方法及平台 Download PDFInfo
- Publication number
- CN114896569A CN114896569A CN202210550099.7A CN202210550099A CN114896569A CN 114896569 A CN114896569 A CN 114896569A CN 202210550099 A CN202210550099 A CN 202210550099A CN 114896569 A CN114896569 A CN 114896569A
- Authority
- CN
- China
- Prior art keywords
- feature set
- data packet
- verification
- registration
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 96
- 238000012795 verification Methods 0.000 claims abstract description 91
- 239000013598 vector Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012790 confirmation Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于区块链的代码版权登记系统、方法及平台,通过将用于判断原创性的特征集存储在区块链中,实现减小区块链存储压力及运算汽油费的效果,还通过计算获取数据集的数据指纹作为版权的标识,便于确权,此外,还通过设置双重签名验证确保权利变更的准确性,防止因为区块链网络的不可逆性导致无法挽回的损失,以此实现代码版权的统一管理。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于区块链的代码版权登记系统、方法及平台。
背景技术
随着互联网技术发展,越来越多的软件系统被开发并应用到生产生活当中。与此同时,软件代码版权管理问题也日益突出。首先,软件系统往往包含大量的代码文档,判断代码文档的原创性需要大量的人力物力,导致软件代码的版权难以注册。其次,缺乏统一的代码版权管理平台,导致版权资源分散,版权归属模糊,不利于版权交易以及形式市场经济。
目前,代码文档的版权资源分散,所有权模糊,导致代码盗用和侵犯原作者权利的问题十分突出,引起了许多领域学者的广泛关注。同时,区块链技术由于其分散性、抗篡改性、数据可追溯性等特点,为解决代码版权保护问题提供了一条新途径。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于区块链的代码版权登记系统、方法及平台。
本申请一方面提供了一种基于区块链的代码版权登记系统,该系统包括客户端及区块链平台,其中:
所述客户端,用于向所述区块链平台发送登记数据包,其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的;
所述区块链平台,用于对所述特征集进行原创性验证;当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
所述客户端,还用于向所述区块链平台发送变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括所述登记凭证及第一数字签名;
所述区块链平台,还用于对所述变更数据包进行签名验证;当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包。
优选地,所述客户端,还用于在向所述区块链平台发送登记数据包前,获取源代码数据并初始化所述特征集;将所述源代码数据分解为若干特征向量;对每个所述特征向量执行hash运算获得hash值的集合;对每个所述特征向量对应的所述hash值进行加权;遍历所述集合,根据所述集合中每个所述hash值对所述特征集进行换算;将所述hash值特定位的值,累加合并至所述特征集的对应位上;遍历所述特征集的每一位,当所述位的值大于0时,所述特征集的对应位的值设为1;当所述位的值小于等于0时,所述特征集的对应位的值设为0。
优选地,所述区块链平台,具体用于获取特征集集合;遍历特征集集合,将当前特征集与所述特征集执行海明运算,求得海明距离;当存在所述海明距离小于等于3时,确定所述原创性验证失败;当不存在所述海明距离小于等于3时,确定所述原创性验证成功。
优选地,所述登记数据包还包括时间戳及权利公钥,所述登记业务,具体包括:
所述区块链平台根据所述特征集执行hash运算生成数字指纹;所述区块链平台将所述数字指纹作为Key值,将所述特征集、所述时间戳及所述权利公钥作为Value值,存入存储域中。
优选地,所述变更数据包还包括第二数字签名,所述登记凭证包括目标公钥及所述数字指纹,所述签名验证,具体包括:
所述区块链平台根据所述权利公钥、所述登记凭证及第一数字签名进行验证;
所述区块链平台根据所述目标公钥、所述登记凭证及第二数字签名进行验证;
当验证均通过时,确认签名验证成功。
优选地,所述变更业务,具体包括:所述区块链平台根据所述数字指纹检索获得对应的所述权利公钥;将所述权利公钥的值替换为所述目标公钥的值。
本申请一方面提供了一种基于区块链的代码版权登记方法,所述方法包括:
客户端向所述区块链平台发送登记数据包,其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的;
区块链平台对所述特征集进行原创性验证;当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
所述客户端向所述区块链平台发送变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括所述登记凭证及第一数字签名;
所述区块链平台对所述变更数据包进行签名验证;当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包
本申请一方面提供了一种基于区块链的代码版权登记平台,所述平台包括:
第一获取模块,用于获取客户端发送的登记数据包;其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的;
原创性验证模块,用于对所述特征集进行原创性验证;
登记模块,用于当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
第二获取模块,用于获取客户端发送的变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括所述登记凭证及第一数字签名;
签名验证模块,用于对所述变更数据包进行签名验证;
变更模块,用于当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
本发明提供的基于区块链的代码版权登记系统、方法及平台,通过将用于判断原创性的特征集存储在区块链中,实现减小区块链存储压力及运算汽油费的效果,还通过计算获取特征集的数据指纹作为版权的标识,便于确权,此外,还通过设置双重签名验证确保权利变更的准确性,防止因为区块链网络的不可逆性导致无法挽回的损失,以此实现代码版权的统一管理。
附图说明
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于区块链的代码版权登记系统的结构示意图;
图2是本申请一实施例提供的一种基于区块链的代码版权登记系统的结构示意图;
图3是本申请一实施例提供的特征集产生过程演示示意图;
图4是本申请一实施例提供的一种客户端、区块链平台之间的数据交互过程场景示意图;
图5是本申请一个实施例提供的一种基于区块链的代码版权登记方法的流程图;
图6是本申请一个实施例提供的一种基于区块链的代码版权登记平台的结构示意图;
图7是本申请一个实施例提供的一种计算机设备的结构示意图。
具体实施方式
可以理解的是,本申请涉及区块链技术及其智能合约相关技术。区块链技术是实现分布式应用的技术基础,区块链技术采用哈希指针代替传统指针,并将数字资产的交易存储在区块体中,是一种交易驱动的状态机。其中,智能合约是指运行在区块链系统上的一段状态代码,代码逻辑定义了合约内容,是一种特殊协议,在区块链内制定合约时使用,当中内含了代码函数(Function),亦能与其他合约进行交互、做决策、存储资料等功能。智能合约提供验证及执行合约内所订立的条件。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
请参见图1,图1是本申请一实施例提供的一种基于区块链的代码版权登记系统的结构示意图。
如图1所示,该网络架构可以包括区块链网络10、终端20。其中,区块链网络10中可以包括多个区块链节点,智能合约的逻辑代码运行在区块链节点中,该多个区块链节点之间可以相互进行数据交互,该多个区块链节点可以包括节点 N1、节点N2、……和节点Nn等n个节点。终端20可以包括节点C1、节点C2、……和节点Cn等n个客户端节点。
必须说明的是,终端20中包含的客户端节点同时也是区块链中的节点,区块链网络10中的节点通常为全节点,终端20中的节点通常为轻节点。为了便于理解,将区块链中所有的节点划分为区块链网络10和终端20。全节点保存整个区块的所有内容,而轻节点仅仅保存区块的块头信息,对于移动便携设备来说,如果存储区块的所有内容,则所需空间过大,而这是不现实的。所以轻节点只需要存储区块块头信息,全节点存储区块所有内容即可,当需要向轻节点证明某条交易是否被写入区块链网络10时,可以使用Merkle Proof,从交易到根节点的一条路径即为Merkle Proof也称为Merkle Path,全节点将整个MerkleProof发送给轻节点,轻节点即可根据其算出根哈希值,和自己保存的对比,从而验证该交易是否被写入区块链。只要沿着该路径,所有哈希值都正确,说明内容没有被修改过。
更多的,区块链网络10中的一个区块链节点或者终端20中的一个节点,可以由服务器构成,也可以由终端设备构成。其中,用于构成区块链网络10节点的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。用于构成终端20节点的服务器通常为终端设备,终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑等智能终端。
可以理解的是,由于软件系统往往包含大量代码文档,现有的中心化代码版权登记系统几乎不可能对每个文档进行原创性验证。其次,由于版权归属模糊,缺乏统一的代码版本管理平台,导致版权交易不通畅,无法形成代码版权市场经济。
请参见图2,图2是本申请一实施例提供的一种基于区块链的代码版权登记系统的结构示意图。
一种基于区块链的代码版权登记系统,包括客户端100及区块链平台200,其中:
所述客户端100,用于向所述区块链平台200发送登记数据包,其中,所述登记数据包包括特征集,所述特征集是由所述客户端100生成的;
具体地,区块链平台200可以获取到客户端100所发送的登记数据包。客户端100向区块链平台200发送的登记数据包主要包括源代码数据的特征集。
其中,源代码数据可以是包含源代码数据的文档,特征集是指根据源代码数据根据一定的算法运算获得的具有代码编排特征的特征集合。
由于区块链平台200是一个基于智能合约的去中心化的分布式的平台,如果客户端100直接将源代码数据上传至区块链平台200,不仅会大大增加每个区块链节点的存储压力,同时会导致区块链平台200的计算量大增、运行效率降低,还会产生大量汽油费,使得整个系统只在理论上可行。因此,预先在客户端100 中生产源代码数据的特征集将大大降低区块链平台200的存储压力、运算压力、节省汽油费。
可以理解的是,在智能合约技术中,数据的计算及存储都是需要支付汽油费的。因此,设计一种既能使特征集占用空间小,又能保存源代码文档数据特征,且便于验证特征集的生成方式十分必要。
客户端100还用于:
在向所述区块链平台200发送登记数据包前,获取源代码数据并初始化所述特征集;
其中,源代码数据可以是用户上传到客户端100的。特征集可以是一个二进制,数据宽度为64比特位的值。
将所述源代码数据分解为若干特征向量;
具体地,源代码数据的分解过程可以通过分词,也可以通过bigram实现,然后为每一个特征向量设置1-5等5个级别的权重。
对每个所述特征向量执行hash运算获得hash值的集合;
对每个所述特征向量对应的所述hash值进行加权;
具体地,遍历hash值上的每个比特位,当一个比特位上的数值为1时,则 hash值和权重值正相乘,当一个比特位上的数值为0时,则hash值和权重值负相乘。
遍历所述集合,根据所述集合中每个所述hash值对所述特征集进行换算;将所述hash值特定位的值,累加合并至所述特征集的对应位上;
遍历所述特征集的每一位,当所述位的值大于0时,所述特征集的对应位的值设为1;当所述位的值小于等于0时,所述特征集的对应位的值设为0;
请一并参见图3,图3是本申请一实施例提供的特征集产生过程演示示意图。
如图3所示,首先,区块链平台200通过分词或bigram将源代码数据分解为若干特征向量并赋予每个特征向量一定的权重,接着,对特征向量执行hash 运行并乘以权重值后获得hash值的集合h1、h2.......hn,再对hash值的集合进行累加合并,即h1、h2.......hn第一位的值相加获得特征集第一位的值,h1、 h2.......hn第二位的值相加获得特征集第二位的值,以此类推直至累加完所有对应位上的值获得第一阶段特征集,最后对第一阶段特征集执行降维,即特定位上的值大于1则设为1,否则设为0,便可获得最终的特征集。
上述过程即特征集产生过程,通过对源代码数据进行分词、hash、加权、累加、降维等一系列操作后获得的特征集,既能够保存源代码文档数据特征,占用空间还小,实现了特征集在区块链平台200中便于存储,消耗汽油费少的效果。
所述区块链平台200,用于对所述特征集进行原创性验证;当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
具体地,区块链平台200获取到特征集之后,就可以对特征集进行原创性验证。
具体地,原创性验证成功后,区块链平台200可以将特征集作为版权进行登记注册,区块链平台200中的智能合约可以将特征集数据写入存储域中,当区块链平台200产生区块时,将相关交易发布到区块链网络10中,以实现公告和不可篡改的作用。
可以理解的是,在智能合约技术中,算力是十分宝贵的资源,进行原创性验证时,应当避免消耗区块链平台200过量的算力,这不仅会降低系统运行效率,还会产生大量汽油费。
当然,可以具体设计一种原创性验证方式,详见如下:
区块链平台200,具体用于:
获取特征集集合;其中,特征集集合可以是区块链平台200中所有已经登记注册的特征集的总和。
遍历特征集集合,将当前特征集与所述特征集执行海明运算,求得海明距离;当存在所述海明距离小于等于3时,确定所述原创性验证失败;当不存在所述海明距离小于等于3时,确定所述原创性验证成功;其中,当前特征集可以是区块链平台200遍历特征集集合时当下读取到特征集与需要进行注册登记特征集进行比对。其中,在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。
上述过程即为原创性验证过程,通过将需要注册登记的特征集与已经在区块链平台200中注册登记的特征集进行一一比对计算海明距离来确定原创性验证是否成功,这种方式能够很大程度上减小区块链平台200的计算压力,减少汽油费的支出。
可以理解的是,在互联网环境中传输交通数据是不安全的,交通数据有被篡改的风险,因此,需要对交通数据进行合法性验证,详见如下:
登记数据包还包括时间戳及权利公钥,所述登记业务,具体包括:
所述区块链平台200根据所述特征集执行hash运算生成数字指纹;所述区块链平台200将所述数字指纹作为Key值,将所述特征集、所述时间戳及所述权利公钥作为Value值,存入存储域中。
具体地,原创性验证成功之后,区块链平台200就可以根据特征集进行hash 运算生成数字指纹,其中,数字指纹用于作为版权的唯一标识,起到快速检索到作用,此外,由于hash的防碰撞特性,可以明确权利归属。
具体地,区块链平台200还可以将登记数据包中的时间戳作为版权的申请日,将权利公钥作为权利人身份的标识,权利公钥可以是客户端100的公钥地址,也可以是用户输入的权利人的公钥地址。
进一步地,区块链平台200可以将上述数据以HashMap的形式存储至智能合约的存储域中,可以将数字指纹作为Key值,将特征集、时间戳及权利公钥作为 Value值,便于快速查找。
上述过程即为版权的登记过程,根据特征集生成数字指纹作为版权的唯一标识,可以起到快速索引、明确权利的作用。
所述客户端100,还用于向所述区块链平台200发送变更数据包;所述变更数据包是由所述客户端100生成的;所述变更数据包包括所述登记凭证及第一数字签名;
具体地,区块链平台200获取到变更数据包之后,就可以获取登记凭证及第一数字签名,再根据登记凭证及第一数字签名验证变更数据包的合法性。
其中,登记凭证用于记录变更业务相关信息,第一数字签名可以是版权权利人使用私钥对登记凭证签名后获得的。
所述区块链平台200,还用于对所述变更数据包进行签名验证;当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包;
具体地,区块链平台200获取到变更数据包之后,就可以读取到变更数据包中包含的登记凭证及第一数字签名,就可以对登记凭证进行签名验证。
具体地,登记凭证中可以包括需要变更的版权的数字指纹,区块链平台200 可以根据数字指纹获取到相应的权利公钥,区块链平台200再将使用权利公钥对第一数字签名解密后获得数据与登记凭证进行比较,当两者匹配时签名验证成功。
具体地,登记凭证还包括目标公钥,目标公钥即版权受让人的公钥地址,签名验证成功之后,区块链平台200可以将数字指纹对应的权利地址修改为目标公钥值。
上述过程即为签名验证及变更业务过程,通过设置签名验证可以保障变更业务的真实性,恶意节点无法在不取得权利公钥对应的私钥情况下通过验证,保证了系统的安全性。
可以理解的是,由于区块链技术存在着操作不可逆性,同时,登记凭证是由权利人单方面生成的,如果在两方进行版权变更的过程中,生成登记凭证的过程权利人方可能将目标公钥进行错误记录,而导致受让人无法获得版权。
因此,可以具体设计一种双方共同确认的方式进行版权变更,详见如下:
变更数据包还包括第二数字签名,所述登记凭证包括目标公钥及所述数字指纹,所述签名验证,具体包括:
所述区块链平台200根据所述权利公钥、所述登记凭证及第一数字签名进行验证;
所述区块链平台200根据所述目标公钥、所述登记凭证及第二数字签名进行验证;
当验证均通过时,确认签名验证成功。
其中,第二数字签名可以是版权受让人使用受让人私钥对登记凭证签名后获得的,受让人私钥与目标公钥合为公私钥对。
具体地,区块链平台200可以根据数字指纹获取到相应的权利公钥,区块链平台200再将使用权利公钥对第一数字签名解密后获得数据与登记凭证进行比较,当两者匹配时签名验证成功。
进一步地,区块链平台200可以根据登记凭证获取得到目标公钥,区块链平台200再将使用目标公钥对第二数字签名解密后获得数据与登记凭证进行比较,当两者匹配时签名验证成功。
进一步地,当两个签名验证都通过之后,区块链平台200便可执行与登记凭证相关联的变更业务。
上述过程中,登记凭证是由权利人与受让人双方确认后生成的,执行变更业务前也需确认两者的签名信息,确保了受让人的准确无误。
可以理解的是,对称加密牵涉到对称密钥的管理问题,尤其是对称密钥的分发问题,它需要通讯双方在通讯之前先透过另一个安全的渠道交换共用的对称密钥,才可以安全地把密文透过不安全的渠道传送;对称密钥一旦被窃,其所作的加密将即时失效。
因此,可以具体设计一种在互联网环境下使用非对称加密传输对称密钥的方法,详见如下:
变更业务,具体包括:
所述区块链平台200根据所述数字指纹检索获得对应的所述权利公钥;将所述权利公钥的值替换为所述目标公钥的值。
上述过程中,区块链平台200通过登记凭证中的数字指纹快速定位权利公钥,实现系统对版权权利人的快速变更。
下面以客户端100、区块链平台200之间的数据交互为例,执行本申请实施例的具体描述。
请一并参见图4,图4是本申请一实施例提供的一种客户端100、区块链平台200之间的数据交互过程场景示意图。
S401.客户端100根据源代码数据生成特征集;
其中,源代码数据可以是包含源代码数据的文档,特征集是指根据源代码数据根据一定的算法运算获得的具有代码编排特征的特征集合。
S402.客户端100向区块链平台200发送登记数据包;
具体地,区块链平台200可以获取到客户端100所发送的登记数据包。客户端100向区块链平台200发送的登记数据包主要包括源代码数据的特征集。
S403.区块链平台200进行原创性验证并执行登记业务;
具体地,区块链平台200获取到特征集之后,就可以对特征集进行原创性验证。
具体地,原创性验证成功后,区块链平台200可以将特征集作为版权进行登记注册,区块链平台200中的智能合约可以将特征集数据写入存储域中,当区块链平台200产生区块时,将相关交易发布到区块链网络10中,以实现公告和不可篡改的作用。
S404.区块链平台200向客户端100返回数字指纹;
其中,数字指纹用于作为版权的唯一标识,起到快速检索到作用,此外,由于hash的防碰撞特性,可以明确权利归属。
S405.客户端100向区块链平台200发送变更数据包;
具体地,区块链平台200获取到变更数据包之后,就可以获取登记凭证及第一数字签名,再根据登记凭证及第一数字签名验证变更数据包的合法性。
S406.区块链平台200进行签名验证并执行变更业务。
具体地,登记凭证还包括目标公钥,目标公钥即版权受让人的公钥地址,签名验证成功之后,区块链平台200可以将数字指纹对应的权利地址修改为目标公钥值。
上述过程即为客户端100、区块链平台200之间的数据交互过程。
综上,本申请一个实施例提供的一种基于区块链的代码版权登记系统
通过将用于判断原创性的特征集存储在区块链中,实现减小区块链存储压力及运算汽油费的效果,还通过计算获取特征集的数据指纹作为版权的标识,便于确权,此外,还通过设置双重签名验证确保权利变更的准确性,防止因为区块链网络10的不可逆性导致无法挽回的损失。
请参见图5,图5是本申请一个实施例提供的一种基于区块链的代码版权登记方法的流程图。
S501.客户端100向所述区块链平台200发送登记数据包;
其中,所述登记数据包包括特征集,所述特征集是由所述客户端100生成的。
S502.区块链平台200对所述特征集进行原创性验证;
当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集。
S503.所述客户端100向所述区块链平台200发送变更数据包;
其中,所述变更数据包是由所述客户端100生成的;所述变更数据包包括所述登记凭证及第一数字签名。
S504.所述区块链平台200对所述变更数据包进行签名验证;
当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包;
通过本申请所提供的方法,可以实现客户端100与区块链平台200之间实时、可靠的数据交互,确保代码版权归属清晰,有利于代码版权进行统一管理。
请参见图6,图6是本申请一个实施例提供的一种基于区块链的代码版权登记平台的结构示意图。
该代码版权登记平台1可以包括:第一获取模块11、原创性验证模块12、登记模块13、第二获取模块14、签名验证模块15、变更模块16:
第一获取模块11,用于获取客户端发送的登记数据包;其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的。
原创性验证模块12,用于对所述特征集进行原创性验证。
登记模块13,用于当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集。
第二获取模块14,用于获取客户端发送的变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括所述登记凭证及第一数字签名。
签名验证模块15,用于对所述变更数据包进行签名验证。
变更模块16,用于当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包。
请参见图7,图7是本申请一个实施例提供的一种计算机设备的结构示意图。
图7所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口 1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储平台。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图7所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图5中任一个所对应实施例中对基于区块链的代码版权登记方法的描述。应当理解,本申请中所描述的计算机设备1000,也可执行前文其余实施例中对代码版权登记平台1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的代码版权登记平台1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图5 中任一个所对应实施例中对基于区块链的代码版权登记方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM) 或随机存储记忆体(Random AccessMemory,RAM)等。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和 /或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种基于区块链的代码版权登记系统,其特征在于,包括客户端及区块链平台,其中:
所述客户端,用于向所述区块链平台发送登记数据包,其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的;
所述区块链平台,用于对所述特征集进行原创性验证;当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
所述客户端,还用于向所述区块链平台发送变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括登记凭证及第一数字签名;
所述区块链平台,还用于对所述变更数据包进行签名验证;当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包。
2.根据权利要求1所述的系统,其特征在于,所述客户端,还用于:
在向所述区块链平台发送登记数据包前,获取源代码数据并初始化所述特征集;
将所述源代码数据分解为若干特征向量;
对每个所述特征向量执行hash运算获得hash值的集合;
对每个所述特征向量对应的所述hash值进行加权;
遍历所述集合,根据所述集合中每个所述hash值对所述特征集进行换算;将所述hash值上特定位的值,累加合并至所述特征集的对应位上;
遍历所述特征集的每一位,当所述位的值大于0时,所述特征集的对应位的值设为1;当所述位的值小于等于0时,所述特征集的对应位的值设为0。
3.根据权利要求2所述的系统,其特征在于,所述区块链平台,具体用于:
获取特征集集合;
遍历特征集集合,将当前特征集与所述特征集执行海明运算,求得海明距离;当存在所述海明距离小于等于3时,确定所述原创性验证失败;当不存在所述海明距离小于等于3时,确定所述原创性验证成功。
4.根据权利要求3所述的系统,其特征在于,所述登记数据包还包括时间戳及权利公钥,所述登记业务,具体包括:
所述区块链平台根据所述特征集执行hash运算生成数字指纹;
所述区块链平台将所述数字指纹作为Key值,将所述特征集、所述时间戳及所述权利公钥作为Value值,存入存储域中。
5.根据权利要求4所述的系统,其特征在于,所述变更数据包还包括第二数字签名,所述登记凭证包括目标公钥及所述数字指纹,所述签名验证,具体包括:
所述区块链平台根据所述权利公钥、所述登记凭证及第一数字签名进行验证;
所述区块链平台根据所述目标公钥、所述登记凭证及第二数字签名进行验证;
当验证均通过时,确认签名验证成功。
6.根据权利要求5所述的系统,其特征在于,所述变更业务,具体包括:
所述区块链平台根据所述数字指纹检索获得对应的所述权利公钥;将所述权利公钥的值替换为所述目标公钥的值。
7.一种基于区块链的代码版权登记方法,其特征在于,包括:
客户端向所述区块链平台发送登记数据包,其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的;
区块链平台对所述特征集进行原创性验证;当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
所述客户端向所述区块链平台发送变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括登记凭证及第一数字签名;
所述区块链平台对所述变更数据包进行签名验证;当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包。
8.一种基于区块链的代码版权登记平台,其特征在于,所述平台包括:
第一获取模块,用于获取客户端发送的登记数据包;其中,所述登记数据包包括特征集,所述特征集是由所述客户端生成的;
原创性验证模块,用于对所述特征集进行原创性验证;
登记模块,用于当对所述特征集验证成功时,接收所述特征集并执行与所述特征集相关的登记业务;当对所述特征集验证失败时,拒收所述特征集;
第二获取模块,用于获取客户端发送的变更数据包;所述变更数据包是由所述客户端生成的;所述变更数据包包括登记凭证及第一数字签名;
签名验证模块,用于对所述变更数据包进行签名验证;
变更模块,用于当对所述变更数据包验证成功时,执行与所述登记凭证相关的变更业务;当对所述变更数据包验证失败时,拒收所述变更数据包。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求7中所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求7所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210550099.7A CN114896569A (zh) | 2022-05-18 | 2022-05-18 | 基于区块链的代码版权登记系统、方法及平台 |
PCT/CN2022/120150 WO2023221350A1 (zh) | 2022-05-18 | 2022-09-21 | 基于区块链的代码版权登记系统、方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210550099.7A CN114896569A (zh) | 2022-05-18 | 2022-05-18 | 基于区块链的代码版权登记系统、方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896569A true CN114896569A (zh) | 2022-08-12 |
Family
ID=82723575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210550099.7A Pending CN114896569A (zh) | 2022-05-18 | 2022-05-18 | 基于区块链的代码版权登记系统、方法及平台 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114896569A (zh) |
WO (1) | WO2023221350A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221350A1 (zh) * | 2022-05-18 | 2023-11-23 | 陈小娜 | 基于区块链的代码版权登记系统、方法及平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846776A (zh) * | 2018-04-19 | 2018-11-20 | 中山大学 | 一种基于区块链技术的数字版权保护方法 |
CN110968842A (zh) * | 2019-11-19 | 2020-04-07 | 南通大学 | 一种基于区块链技术的数字版权保护方法 |
CN113032739A (zh) * | 2021-03-25 | 2021-06-25 | 苏州灵天微半导体科技有限公司 | 一种软件代码版权保护方法 |
US20210248676A1 (en) * | 2018-07-18 | 2021-08-12 | Advanced New Technologies Co., Ltd. | Method and device for performing credit evaluation on copyright users on the basis of blockchain |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145768B (zh) * | 2016-03-01 | 2021-02-12 | 华为技术有限公司 | 版权管理方法和系统 |
CN107679045B (zh) * | 2016-08-01 | 2021-08-31 | 华为技术有限公司 | 版权授权管理方法及系统 |
CN112418851A (zh) * | 2019-08-21 | 2021-02-26 | 余伟坚 | 数字版权登记、交易、保护方法与系统 |
KR102319006B1 (ko) * | 2020-02-27 | 2021-10-29 | (주)브레인콜라 | 블록체인을 이용한 최초 저작권자 인증 시스템 및 그 방법 |
CN114896569A (zh) * | 2022-05-18 | 2022-08-12 | 陈小娜 | 基于区块链的代码版权登记系统、方法及平台 |
-
2022
- 2022-05-18 CN CN202210550099.7A patent/CN114896569A/zh active Pending
- 2022-09-21 WO PCT/CN2022/120150 patent/WO2023221350A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846776A (zh) * | 2018-04-19 | 2018-11-20 | 中山大学 | 一种基于区块链技术的数字版权保护方法 |
US20210248676A1 (en) * | 2018-07-18 | 2021-08-12 | Advanced New Technologies Co., Ltd. | Method and device for performing credit evaluation on copyright users on the basis of blockchain |
CN110968842A (zh) * | 2019-11-19 | 2020-04-07 | 南通大学 | 一种基于区块链技术的数字版权保护方法 |
CN113032739A (zh) * | 2021-03-25 | 2021-06-25 | 苏州灵天微半导体科技有限公司 | 一种软件代码版权保护方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221350A1 (zh) * | 2022-05-18 | 2023-11-23 | 陈小娜 | 基于区块链的代码版权登记系统、方法及平台 |
Also Published As
Publication number | Publication date |
---|---|
WO2023221350A1 (zh) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868668B1 (en) | Parallel assurance of blockchain signatures | |
AU2017257447B2 (en) | A method and system for controlling the performance of a contract using a distributed hash table and a peer-to-peer distributed ledger | |
US11645632B2 (en) | System and method for a decentralized portable information container supporting privacy protected digital information credentialing, remote administration, local validation, access control and remote instruction signaling utilizing blockchain distributed ledger and container wallet technologies | |
JP6877448B2 (ja) | 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム | |
CN110046996B (zh) | 数据处理方法和装置 | |
US11849051B2 (en) | System and method for off-chain cryptographic transaction verification | |
US20200136831A1 (en) | Api and domain specific language for 1 to many, state-based, granular, terms and conditions acceptance | |
CN109791659A (zh) | 使用区块链实现逻辑门功能 | |
KR20190042567A (ko) | 블록체인 상의 동적 액세스 제어 | |
US11706017B2 (en) | Integration of blockchain-enabled readers with blockchain network using machine-to-machine communication protocol | |
Yeasmin et al. | Unblocking the potential of blockchain | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
CN115277122A (zh) | 基于区块链的跨境数据流动与监管系统 | |
Gao et al. | BFR‐SE: A Blockchain‐Based Fair and Reliable Searchable Encryption Scheme for IoT with Fine‐Grained Access Control in Cloud Environment | |
CN114896569A (zh) | 基于区块链的代码版权登记系统、方法及平台 | |
Arunkumar et al. | Blockchain technology in data management | |
Puthal et al. | Blockchain data structures and integrated adaptive learning: Features and futures | |
Costa et al. | High-performance blockchain system for fast certification of manufacturing data | |
CN116070191A (zh) | 信息处理方法及其装置、存储介质、程序产品 | |
Patel et al. | An approach to analyze data corruption and identify misbehaving server | |
Bhadoria et al. | Secure and traceable QR code using blockchain-enabled certificates | |
Zhang et al. | Cross-Chain Interoperability and Collaboration for Keyword-Based Embedded Smart Contracts in the Internet of Things | |
Reddivari et al. | Blockchain-oriented requirements engineering: New directions | |
Li et al. | [Retracted] Intelligent Digital Currency and Dynamic Coding Service System Based on Internet of Things Technology | |
CN112202734B (zh) | 业务处理方法、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230310 Address after: Shun Xi Zhen Shun Xi Cun, Pingyang County, Wenzhou City, Zhejiang Province, 310000 Applicant after: Han Anyang Address before: 310000 Aojiang Zhen Wan An Cun, Pingyang County, Pingyang County, Wenzhou City, Zhejiang Province Applicant before: Chen Xiaona |
|
TA01 | Transfer of patent application right |