CN112528246B - 一种基于区块链和ipfs的程序源代码追溯方法及系统 - Google Patents

一种基于区块链和ipfs的程序源代码追溯方法及系统 Download PDF

Info

Publication number
CN112528246B
CN112528246B CN202011510312.9A CN202011510312A CN112528246B CN 112528246 B CN112528246 B CN 112528246B CN 202011510312 A CN202011510312 A CN 202011510312A CN 112528246 B CN112528246 B CN 112528246B
Authority
CN
China
Prior art keywords
blockchain
source code
program source
information
ipfs
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.)
Active
Application number
CN202011510312.9A
Other languages
English (en)
Other versions
CN112528246A (zh
Inventor
庄志炎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Zhizhuang Information Technology Co ltd
Original Assignee
Chongqing Zhizhuang Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Zhizhuang Information Technology Co ltd filed Critical Chongqing Zhizhuang Information Technology Co ltd
Priority to CN202011510312.9A priority Critical patent/CN112528246B/zh
Publication of CN112528246A publication Critical patent/CN112528246A/zh
Application granted granted Critical
Publication of CN112528246B publication Critical patent/CN112528246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种基于区块链和IPFS的程序源代码追溯方法及系统,涉及网络空间安全技术领域。一种基于区块链和IPFS的程序源代码追溯方法包括:构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识。通过区块链技术快速定位侵权者,使侵权行为曝光从而为调查取证提供了保障。此外本发明还提出了一种基于区块链和IPFS的程序源代码追溯系统,包括:框架架设模块、共识机制模块、存储方式模块、第一存储模块以及第二存储模块。

Description

一种基于区块链和IPFS的程序源代码追溯方法及系统
技术领域
本发明涉及网络空间安全技术领域,具体而言,涉及一种基于区块链和IPFS的程序源代码追溯方法及系统。
背景技术
随着现代商业社会的蓬勃发展,越来越多企业和个人通过互联网技术进行商业活动,但是很多企业和个人在利用互联网技术时,未经软件所有者允许,随意进行盗用、复制、抄袭、修改软件程序的源代码,严重侵犯软件所有者的权益,但由于没有办法及时发现侵权行为,导致侵权行为越来越多,严重损害软件所有者权益,损害国家知识产权体系的建设。
导致软件侵权行为盛行的原因有:软件开发者开发完程序后,没有及时进行著作权登记软件开发者开发的程序源代码被盗用、复制、修改后,软件开发者本人无法及时发现;软件开发者发现侵权行为后,取证困难,无法找到侵权人。
发明内容
本发明的目的在于提供一种基于区块链和IPFS的程序源代码追溯方法,其能够实时追踪程序源代码的流通过程,不仅可以通过分布式云存储保证数据的安全,同时可以通过区块链技术快速定位侵权者,使得盗用、复制、抄袭修改等侵权行为被发现、记录与曝光,无处遁形,从而为相关部门的调查取证提供了保障。
本发明的另一目的在于提供一种基于区块链和IPFS的程序源代码追溯系统,其能够运行一种基于区块链和IPFS的程序源代码追溯方法。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种基于区块链和IPFS的程序源代码追溯方法,其包括构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;根据区块链和分布式云存储平台的程序源代码使用信息构建存储方式;根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链;建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储。
在本发明的一些实施例中,上述构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架包括:设计基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架,自上而下包括区块链层、中间件框架层、应用层及程序源代码发布者和购买使用者。
在本发明的一些实施例中,上述基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识包括:通过IPFS分布式存储系统储存开发者上传的程序源代码以及开发者的著作权信息以及购买使用者的IP地址、定位、域名等信息,保证数据安全不丢失。
在本发明的一些实施例中,上述根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链包括:设计基于区块链的数据存储平台,将开发者著作权信息以及购买使用者的使用行为信息上传到区块链上进行公开。
在本发明的一些实施例中,上述建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储包括:建立程序源代码的实时定位、追溯模型,利用区块链技术进行回溯定位,当发现有侵权行为,通知数据存储平台以及开发者,并把侵权者的基本信息实时存储到区块链中并公开曝光
第二方面,本申请实施例提供一种基于区块链和IPFS的程序源代码追溯系统,其包括框架架设模块,用于构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;共识机制模块,用于基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;存储方式模块,用于根据区块链和分布式云存储平台的程序源代码使用信息构建存储方式;第一存储模块,用于根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链;第二存储模块,用于建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储。
在本发明的一些实施例中,上述框架架设子模块,用于设计基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架,自上而下包括区块链层、中间件框架层、应用层及程序源代码发布者和购买使用者。
在本发明的一些实施例中,上述还包括共识机制子模块,用于通过IPFS分布式存储系统储存开发者上传的程序源代码以及开发者的著作权信息以及购买使用者的IP地址、定位、域名等信息,保证数据安全不丢失。
在本发明的一些实施例中,上述还包括存储方式子模块,用于设计基于区块链的数据存储平台,将开发者著作权信息以及购买使用者的使用行为信息上传到区块链上进行公开。
在本发明的一些实施例中,上述包括用于存储计算机指令的至少一个存储器;与上述存储器通讯的至少一个处理器,其中当上述至少一个处理器执行上述计算机指令时,上述至少一个处理器使上述系统执行:框架架设模块、共识机制模块、存储方式模块、第一存储模块以及第二存储模块。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
区块链是一个去中心化的可靠分布式数据库,由一串使用密码学方法产生的区块有序的链接而成,建立了一套无信任方式下的共识机制,能安全的存储交易或者其他数据,区块链的信息不可伪造和篡改,无需任何中心化机构的审核,大大地降低了现实经济成本,易于追溯,且去实现去中心化特性,安全性有效的提升。由于区块链中的数据大小决定了全网达成共识的效率,导致区块链中区块的大小受到限制,直接将程序源代码保存在区块链中是不现实。因此采用IPFS分布式云存储的方式,通过集群应用等功能,将大量的储存设备集合起来协同工作,将同一个程序源代码同时进行分布存储在每一台储存设备上,即使其中一台储存设备损坏,其他的储存设备仍有数据备份,保证数据的安全性。本发明可以实时追踪程序源代码的流通过程,不仅可以通过分布式云存储保证数据的安全,同时可以通过区块链技术快速定位侵权者,使得盗用、复制、抄袭修改等侵权行为被发现、记录与曝光,无处遁形,从而为相关部门的调查取证提供了保障。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯方法步骤示意图;
图2为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯方法详细步骤示意图;
图3为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯方法交互示意图;
图4为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯系统模块示意图。
图标:10-框架架设模块;20-共识机制模块;30-存储方式模块;40-第一存储模块;50-第二存储模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例1
请参阅图1,图1为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯方法步骤示意图,其如下所示:
步骤100,构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;
在一些实施方式中,首先设计应用层。应用层建立在PC端/手机端网页、APP上,主要功能是提供一个开发者上传源代码到平台进行托管,购买者在平台购买或下载程序源代码的平台,以及所有人可以对程序源代码使用者的定位等信息和著作权所有者的相关信息的检索和查询,实现了用户(购买者、开发者)和本平台之间的交互。
其次设计区块链层。区块链建立节点与节点之间的共识机制,为开发者(著作权所有者)和购买使用者的实时信息的上链提供了去中心化和不可篡改的安全性保证。也为关键数据的分布式存储、点对点传输提供保障,以及后期的程序源代码的定位追溯,侵权者的信息曝光提供技术支持。
再次设计分布式云存储。采用IPFS分布式云存储的方式,通过集群应用等功能,将大量的储存设备集合起来协同工作,使得每一个程序源代码都进行分布存储在每一台储存设备上,即使其中一台储存设备损坏,其他的储存设备仍有数据备份,保证数据的安全性。
最后设计中间件框架。中间件框架层是由一系列的控制器来互相连接组合而成的API框架接口。中间件层主要是为了来链接分布式云存储、区块链层和应用层,用来和业务逻辑进行交互。
步骤110,基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;
在一些实施方式中,共识一、可靠性,区块链中的所有节点都是可靠可信的,值得信任。共识二、数据的实时性。区块链中的数据大小决定了全网达成共识的效率,在本系统中,为了满足区块链的安全性的不可篡改性,同时还要满足交易的实时确认,需要限制区块的大小。由于使用者信息数据的大小不确定,为了保证区块链机制的高效运行,我们将程序源代码、开发者(著作权所有者)以及购买使用者的数据通过IPFS分布式云存储方式储存到云平台上面,再通过建立分布式云存储和区块链的链接来保存,将以上所有的数据和信息进行哈希值计算,将计算后的哈希值存储到区块链上。这样既保证了存储以上数据的需求,也满足了区块链的共识效率,也保证了数据的安全性和一致性。更快更好的追溯到程序源代码的定位和使用情况。
步骤120,根据区块链和分布式云存储平台的程序源代码使用信息构建存储方式;
具体的,设计基于区块链和分布式云存储的数据存储方式。程序源代码开发者上传源代码到平台,平台对源代码进行封装,使用内置的加密算法进行源代码加密,并储存在IPFS分布式云存储上,保证源代码的安全性,购买使用者在平台上购买获取源代码,平台实时获取到购买该源代码的使用者的IP定位、域名等信息,并将购买使用者的IP定位、域名等信息数据进行数字签名,再将购买使用者的IP定位、域名等信息传给IPFS分布式云存储平台储存。再通过区块链来存储程序源代码和开发者著作权信息以及购买使用者的IP定位、域名等信息降维处理后形成的数字串列(既哈希值),IPFS分布式云存储平台用来保存经过封装并签名的程序源代码,这样既满足了数据的实时性要求,也能够满足存储大量源代码数据的需求。
在一些实施方式中,对于一个程序源代码的开发者而言,其开发的源代码文件存储在区块链上,是公开的信息,且由于区块链中区块大小的限制,因此源文件内容是必然不能直接存储在区块链上。为此,引入IPFS分布式云存储平台来解决这个问题。程序源代码通过分布式云平台来存储,通过平台来获取到源代码文件的使用信息,平台将使用信息进行数字指纹计算(哈希算法组合),将计算的结果保存在区块链中。这样,既满足存储程序源代码文件和购买者的使用信息的需要,也保证了程序源代码文件的安全性。
步骤130,根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链;
在一些实施方式中,设计基于区块链的数据存储平台,程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据先储存在IPFS分布式云存储平台上,然后通过将以上所有信息和数据转换成哈希值实时上传到区块链上,使得以上信息和数据不仅能在IPFS分布式云存储平台上安全保存,同时能够将其信息实时公正、公开的曝光在区块链上,因为区块链是去中心化和分布式存储以及其具有不可篡改的特性,为后期侵权定位追溯提供了技术支持。
步骤140,建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储。
在一些实施方式中,建立程序源代码的实时定位、追溯模型。通过在程序源代码中内置加密算法,获取源代码实时IP定位、域名等信息并上传至区块链,并利用区块链中哈希链的链式关系进行回溯,又由于区块链具有一定的不可篡改性,一旦程序源代码发生未经许可的盗用、复制、抄袭修改等侵权行为时,可以进行快速定位、警报、通知平台和开发者(著作权所有者),同时将侵权行为记录和公开曝光,从而保障了开发者(著作权所有者)的权益,以及为相关部门的调查取证提供了有力支持。
实施例2
请参阅图2及图3,图2为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯方法详细步骤示意图,其如下所示:
步骤S200,设计基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架,自上而下包括区块链层、中间件框架层、应用层及程序源代码发布者和购买使用者;
步骤S200,基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;
步骤S200,通过IPFS分布式存储系统储存开发者上传的程序源代码以及开发者的著作权信息以及购买使用者的IP地址、定位、域名等信息,保证数据安全不丢失;
步骤S200,设计基于区块链的数据存储平台,将开发者著作权信息以及购买使用者的使用行为信息上传到区块链上进行公开;
步骤S200,建立程序源代码的实时定位、追溯模型,利用区块链技术进行回溯定位,当发现有侵权行为,通知数据存储平台以及开发者,并把侵权者的基本信息实时存储到区块链中并公开曝光。
在一些实施方式中,在应用层中,应用层建立在前端,例如手机端的网页、电脑端的网页、APP、小程序等,开发者将源代码上传至数据存储平台上,并且开发者能在应用层看到自己上传的源代码的使用情况。
在中间框架层中,数据存储平台与中间框架层连接,中间框架层还与追溯模块连接。中间框架层包括切片上传模块、加密算法模块、IPFS模块、区块链模块,其中,切片上传模块用于审核开发者上传的源代码内容;加密算法模块用于将开发者上传的源代码逆行加密处理;IPFS模块用于源代码通过IPFS技术分布式存储到云平台;区块链模块用于对开发者著作权信息、使用者的IP、MAC、域名等信息和加密处理后的程序源代码的hash值存储到区块链中。
在一些实施方式中,源代码存储在分布式云存储中,源代码的数据也会转换成哈希值上传到区块链上,也就是源代码存在分布式存储,该源代码的信息转换成哈希值上传到区块链上,一个是解决存储,一个是解决上链不可篡改。同时通过加密算法获取源代码的IP地址、MAC地址、域名等这些信息也转换成哈希值上链,也就是源代码和开发者著作权信息以及使用者的IP地址、MAC地址、域名等这些信息都会上链。
追溯模块根据区块链中存储的使用者IP、MAC、域名等信息进行追溯。
在应用层中,使用者购买使用开发者上传的源代码,且自有服务器自动上传使用者的IP、MAC、域名等信息至数据存储平台。
在一些实施方式中,还包括数据库。为了便于数据调用和查询,源代码泄露日志信息、源代码操作日志信息和人事日志信息可分别按照预设结构规则进行保存。例如,源代码泄露日志信息可以按照[索引号]、[来源设备]、[敏感关键字]、[用户标识]、[项目标识]、[路径文件名]这一形式进行保存;源代码操作日志信息以按照[索引号]、[来源设备]、[用户标识]、[路径文件名]、[动作]进行保存;人事日志信息可以按照[索引号]、[来源设备]、[用户标识]、[历史部门信息]、[主管名]、[邮箱地址]、[电话号码]进行保存。
索引号是指ElasticSearch等平台的表索引名,来源设备可以是发送对应日志信息给数据库的设备,如代码版本管理系统、人事管理服务系统、源代码泄漏跟踪服务系统等,用户标识可以是用户名、用户代码等,项目标识可以是项目名称、项目编码等,本实施例在此不做限制。
基于数据库中保存的源代码操作日志信息和人事日志信息,能够在数据库中存在源代码泄露日志信息的情况下,根据该源代码泄露日志信息调用对应的源代码操作日志信息和人事日志信息,并对源代码泄露日志信息、代码操作日志信息和人事日志信息进行对比分析,得到源代码泄露溯源结果。由此,通过数据库中集中保存的各日志信息,实现对源代码泄露溯源过程的自动化处理,能够避免人工参与源代码泄露过程有效简化流程,提高针对源代码泄露事件的响应速度。
实施例3
请参阅图4,图4为本发明实施例提供的一种基于区块链和IPFS的程序源代码追溯系统模块示意图,
框架架设模块10,用于构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;
共识机制模块20,用于基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;
存储方式模块30,用于根据区块链和分布式云存储平台的程序源代码使用信息构建存储方式;
第一存储模块40,用于根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链后上传至区块链中;
第二存储模块50,用于建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储。
还包括存储器、处理器和通信接口,该存储器、处理器和通信接口相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器可用于存储软件程序及模块,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。
其中,存储器可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图4所示的结构仅为示意还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供的一种基于区块链和IPFS的程序源代码追溯方法及系统,区块链是一个去中心化的可靠分布式数据库,由一串使用密码学方法产生的区块有序的链接而成,建立了一套无信任方式下的共识机制,能安全的存储交易或者其他数据,区块链的信息不可伪造和篡改,无需任何中心化机构的审核,大大地降低了现实经济成本,易于追溯,且去实现去中心化特性,安全性有效的提升。由于区块链中的数据大小决定了全网达成共识的效率,导致区块链中区块的大小受到限制,直接将程序源代码保存在区块链中是不现实。因此采用IPFS分布式云存储的方式,通过集群应用等功能,将大量的储存设备集合起来协同工作,将同一个程序源代码同时进行分布存储在每一台储存设备上,即使其中一台储存设备损坏,其他的储存设备仍有数据备份,保证数据的安全性。本发明可以实时追踪程序源代码的流通过程,不仅可以通过分布式云存储保证数据的安全,同时可以通过区块链技术快速定位侵权者,使得盗用、复制、抄袭修改等侵权行为被发现、记录与曝光,无处遁形,从而为相关部门的调查取证提供了保障。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (7)

1.一种基于区块链和IPFS的程序源代码追溯方法,其特征在于,包括:
构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;
基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;
根据区块链和分布式云存储平台的程序源代码使用信息构建存储方式;
根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链;包括:设计基于区块链的数据存储平台,将开发者著作权信息以及购买使用者的使用行为信息上传到区块链上进行公开;
建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储;包括:建立程序源代码的实时定位、追溯模型,利用区块链技术进行回溯定位,当发现有侵权行为,通知数据存储平台以及开发者,并把侵权者的基本信息实时存储到区块链中并公开。
2.如权利要求1所述的一种基于区块链和IPFS的程序源代码追溯方法,其特征在于,所述构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架包括:
设计基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架,自上而下包括区块链层、中间件框架层、应用层及程序源代码发布者和购买使用者。
3.如权利要求1所述的一种基于区块链和IPFS的程序源代码追溯方法,其特征在于,所述基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识包括:
通过IPFS分布式存储系统储存开发者上传的程序源代码以及开发者的著作权信息以及购买使用者的IP地址、定位、域名等信息,保证数据安全不丢失。
4.一种基于区块链和IPFS的程序源代码追溯系统,其特征在于,包括:
框架架设模块,用于构建基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架;
共识机制模块,用于基于总体框架建立区块链共识机制,使区块链各个节点在节点可靠性与数据实时性方面达成一致共识;
存储方式模块,用于根据区块链和分布式云存储平台的程序源代码使用信息构建存储方式;
第一存储模块,用于根据区块链构建数据存储平台,将程序源代码的开发者的著作权信息以及提交的程序源代码、购买使用者以及被定位的侵权者的信息和数据,存储进IPFS分布式云存储平台,然后经过hash加密上传至区块链;
第二存储模块,用于建立程序源代码的实时定位、追溯模型,当发现侵权行为时,通知开发者及数据存储平台对侵权者的基本信息进行存储;包括:建立程序源代码的实时定位、追溯模型,利用区块链技术进行回溯定位,当发现有侵权行为,通知数据存储平台以及开发者,并把侵权者的基本信息实时存储到区块链中并公开;
还包括:存储方式子模块,用于设计基于区块链的数据存储平台,将开发者著作权信息以及购买使用者的使用行为信息上传到区块链上进行公开。
5.如权利要求4所述的一种基于区块链和IPFS的程序源代码追溯系统,其特征在于,还包括:
框架架设子模块,用于设计基于区块链和分布式云存储平台的程序源代码快速加密、快速定位以及去中心化的自动追溯系统的总体框架,自上而下包括区块链层、中间件框架层、应用层及程序源代码发布者和购买使用者。
6.如权利要求4所述的一种基于区块链和IPFS的程序源代码追溯系统,其特征在于,还包括:
共识机制子模块,用于通过IPFS分布式存储系统储存开发者上传的程序源代码以及开发者的著作权信息以及购买使用者的IP地址、定位、域名等信息,保证数据安全不丢失。
7.如权利要求4所述的一种基于区块链和IPFS的程序源代码追溯系统,其特征在于,包括:
用于存储计算机指令的至少一个存储器;
与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器使所述系统执行:框架架设模块、共识机制模块、存储方式模块、第一存储模块以及第二存储模块。
CN202011510312.9A 2020-12-19 2020-12-19 一种基于区块链和ipfs的程序源代码追溯方法及系统 Active CN112528246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011510312.9A CN112528246B (zh) 2020-12-19 2020-12-19 一种基于区块链和ipfs的程序源代码追溯方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011510312.9A CN112528246B (zh) 2020-12-19 2020-12-19 一种基于区块链和ipfs的程序源代码追溯方法及系统

Publications (2)

Publication Number Publication Date
CN112528246A CN112528246A (zh) 2021-03-19
CN112528246B true CN112528246B (zh) 2024-02-02

Family

ID=75001910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011510312.9A Active CN112528246B (zh) 2020-12-19 2020-12-19 一种基于区块链和ipfs的程序源代码追溯方法及系统

Country Status (1)

Country Link
CN (1) CN112528246B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342763B (zh) * 2021-06-03 2022-07-15 上海和数软件有限公司 基于ipfs的分布式数据同步方法、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110879902A (zh) * 2019-11-25 2020-03-13 北京工商大学 一种基于可信标识和ipfs的粮油食品全供应链信息安全管理系统及方法
CN111984271A (zh) * 2020-08-27 2020-11-24 北京海益同展信息科技有限公司 一种区块链应用程序处理方法、装置及区块链应用系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795977B2 (en) * 2017-08-24 2020-10-06 Oracle International Corporation Digital asset traceability and assurance using a distributed ledger

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110879902A (zh) * 2019-11-25 2020-03-13 北京工商大学 一种基于可信标识和ipfs的粮油食品全供应链信息安全管理系统及方法
CN111984271A (zh) * 2020-08-27 2020-11-24 北京海益同展信息科技有限公司 一种区块链应用程序处理方法、装置及区块链应用系统

Also Published As

Publication number Publication date
CN112528246A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
Lone et al. Forensic-chain: Blockchain based digital forensics chain of custody with PoC in Hyperledger Composer
US20030105739A1 (en) Method and a system for identifying and verifying the content of multimedia documents
CN111259438A (zh) 一种基于区块链的物联网数据溯源方法
CN111046346A (zh) 一种基于区块链的书籍版权保护平台及设备、介质
CN110659441A (zh) 一种基于区块链的信息发布管理方法及装置
JP2021528720A (ja) 匿名での情報交換用の分散データベース構造
CN112528246B (zh) 一种基于区块链和ipfs的程序源代码追溯方法及系统
Bandhu et al. Making drug supply chain secure traceable and efficient: a Blockchain and smart contract based implementation
Sun et al. Who touched my mission: Towards probabilistic mission impact assessment
JP2020531936A (ja) アプリケーションの脆弱点を探知する方法およびシステム
CN112069529A (zh) 基于区块链的卷宗管理方法、装置、计算机以及存储介质
Byun et al. Efficient and privacy-enhanced object traceability based on unified and linked EPCIS events
CN116070049B (zh) 一种回溯页面数据的方法、装置、设备和可读存储介质
Vogel et al. Towards designing open and secure IoT systems: Insights for practitioners
Stancu et al. Logic-based smart contracts
US20100318629A1 (en) Altering Software Behavior Based on Internet Connectivity
CN115081029A (zh) 一种基于区块链的代码库构建方法、装置及设备
Balogh Knowledge and datasets as a resource for improving artificial intelligence
Akoramurthy et al. Digital Linked Information System Using Blockchain Technology: Overwhelming Information Silo
CN114205088A (zh) 一种基于双区块链的智能交通设施管理方法及系统
Garrie The legal status of software
CN112819468A (zh) 智能合约的处理方法、装置和电子设备
CN112541165A (zh) 一种程序源代码综合管理系统及方法
JP4511645B2 (ja) 著作物の使用条件違反チェック方法及びシステム及び著作物販売管理サーバ及び一般端末及び記録媒体
CN111061809B (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
GR01 Patent grant
GR01 Patent grant