一种去中心化文件版本控制方法、计算机设备和存储介质技术

技术编号:35775082 阅读:27 留言:0更新日期:2022-12-01 14:18
本发明专利技术请求保护一种去中心化文件版本控制方法,包括以下步骤:将文件的第一版本上传至IPFS文件系统中,得到文件的第一版本的第一哈希地址;通过文件版本控制合约执行文件版本控制注册交易,将文件第一版本的第一公钥和第一哈希地址记录到区块链上:通过Diffie

【技术实现步骤摘要】
一种去中心化文件版本控制方法、计算机设备和存储介质


[0001]本申请涉及互联网
,具体涉及一种去中心化文件版本控制方法、计算机设备和存储介质。

技术介绍

[0002]多方协作是文件版本控制最重要的方面之一。在多方参与文件编制的场景下,如何对正确的文件版本进行管理以及跟踪文件版本的变化,成为文件版本控制面临的主要挑战。
[0003]智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,在区块链内制定合约时使用,当中包含了代码函数,能与其他合约进行交互、做决策、存储数据等功能。智能合约主要提供验证及执行合约内设定的条件。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
[0004]星际文件系统(InterPlanetary File System,IPFS)是一个去中心化的分布式文件系统。在IPFS中存储的文件具有唯一性,每个上传的文件都被赋予一个唯一的哈希地址,当文件内容被修改时,对应的哈希地址也会发生变化,保证文件与哈希地址一一对应。
[0005]现有的文件版本控制系统大多是中心化的,一旦中心服务器发生故障,存储的文件即面临永久丢失。在未经授权的情况下,文件版本被进行了更改。并且,在这种中心化的文件版本控制系统中,文件版本更新的历史可以被篡改,影响了文件各版本的可信度。因此,需要一种安全可靠、去中心化的文件版本控制方法来对文件的版本进行管理与控制。
[0006]CN111427614A,一种文件版本管理方法及装置,该方法包括:构建去中心化命名IPNS系统,所述IPNS系统包括多个IPFS节点;在获得新版本文件后,将所述新版本文件存储至一IPFS节点;将IPNS系统的文件指针指向该IPFS节点的新版本文件;基于IPNS系统的文件指针,进行新版本文件的下载。本专利技术可以实现文件版本管理,下载速度快,文件跟踪及显示速度快。
[0007]该专利没有对文件版本更新的账户进行权限控制,任何人都可以对文件进行版本更新。本专利技术通过对用户进行文件版本更新权的配置,只有具有文件版本更新权的账户才能对文件进行版本更新,有效避免了第三方对版本进行非法篡改。该专利没有对文件版本更新历史进行记录,不利于实现对文件版本更新历史的追溯。本专利技术对文件每一个版本的更新都进行了用户与文件版本的关联记录,当需要对文件版本进行追溯时,可以很方便的查找到某一版本对应的用户,更利于对文件版本进行管理。

技术实现思路

[0008]本专利技术旨在解决以上现有技术的问题。提出了一种一种去中心化文件版本控制方法、计算机设备和存储介质。本专利技术的技术方案如下:
[0009]一种去中心化文件版本控制方法,适用于区块链的节点,所述区块链上配置有文件版本控制合约,该方法包括以下步骤:
[0010]将文件的第一版本上传至IPFS文件系统中,得到文件的第一版本的第一哈希地址;
[0011]通过文件版本控制合约执行文件版本控制注册交易,将文件第一版本的第一公钥和第一哈希地址记录到区块链上,以供参与文件版本更新的各用户端:
[0012]获取第一公钥;
[0013]获取第一哈希地址;
[0014]当前文件版本更新用户根据获取的文件第一版本在IPFS上的第一哈希地址,查询IPFS网络,得到文件第一版本;
[0015]当前文件版本更新用户对文件进行更新,生成文件第二版本;将文件第二版本上传至IPFS文件系统中,得到文件的第二版本的第二哈希地址,生成文件更新记录;
[0016]根据当前文件版本更新账户的第二私钥和第一公钥通过Diffie

Hellman算法对文件更新记录加密以生成第一加密文件版本更新信息;
[0017]生成包括第一加密文件版本更新信息的第一文件更新交易并发送至区块链网络;
[0018]通过文件版本控制合约执行第一文件版本更新交易,在执行成功时将相应的第一加密文件版本更新信息记录到文件版本控制合约中;
[0019]通过文件版本控制合约执行包括第一公钥所对应的第一私钥的文件版本更新结算交易:
[0020]分别根据第一私钥和各文件版本更新用户的第二公钥对相应的第一加密文件版本更新信息进行解密以获取相应的文件版本更新信息;
[0021]根据所获取的文件版本更新信息对文件版本进行更新。
[0022]进一步的,所述获取第一公钥,具体包括:
[0023]当前文件版本更新用户文通过文件版本控制合约的获取第一公钥函数发起请求,智能合约自动判断当前用户是否为有该文件更新权的用户,如果当前用户具备该文件的文件更新权,则文件版本控制合约将存储在合约中的第一公钥发送给当前用户,否则提示该用户不具备文件更新权,并忽略该请求。
[0024]获取第一哈希地址;
[0025]当前文件版本更新用户通过文件版本控制合约的获取第一哈希地址函数发起请求,智能合约自动判断当前用户是否为有该文件更新权的用户,如果当前用户具备该文件的文件更新权,则文件版本控制合约将存储在合约中的第一哈希地址发送给当前用户,否则提示该用户不具备文件更新权,并忽略该请求。
[0026]进一步的,所述根据当前文件版本更新账户的第二私钥和第一公钥通过Diffie

Hellman算法对文件更新记录加密以生成第一加密文件版本更新信息,具体包括:
[0027]假设文件版本控制合约为A,当前文件版本更新账户为B,文件第一版本的第一公钥为p1,第一私钥为s1,当前文件版本更新账户的第二公钥为p2,第一私钥为s2。将p1和p2作为两个公开参数。
[0028]通信方A通过公式计算得到公开密钥m,并将m发送给B。
[0029]通信方B通过公式计算得到公开密钥n,并将n发送给A。
[0030]通信方A通过公式计算得到共享密钥k。
[0031]通信方B通过公式计算得到同一个共享密钥k。
[0032]至此,A、B双方在保密各自私钥的同时,得到了共享密钥k。此后,双方可以利用此共享密钥对双方通信数据进行加密传输。
[0033]得到共享密钥k后,当前文件版本更新账户通过共享密钥k对文件更新记录进行加密以生成第一加密文件版本更新信息。
[0034]进一步的,所述文件版本控制合约具体包括:
[0035]具有文件版本更新权限的用户列表;
[0036]各文件版本更新账户的公钥;
[0037]与各文件版本更新账户通信的共享密钥;
[0038]文件的版本更新记录;
[0039]文件各版本在IPFS文件系统中的哈希地址。
[0040]进一步的,所述通过文件版本控制合约执行包括第一公钥所对应的第一私钥的文件版本更新结算交易:
[0041]文件版本控制合约首先利用第一私钥和各文件版本更新用户的第二公钥计算得到与各文件版本更新用户的共享密钥,然后利用各共享密钥对加密文件版本更新信息进行解密,得到文件版本更新信息。文件版本更新信息包括更新账本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种去中心化文件版本控制方法,适用于区块链的节点,所述区块链上配置有文件版本控制合约,其特征在于,该方法包括以下步骤:将文件的第一版本上传至IPFS文件系统中,得到文件的第一版本的第一哈希地址;通过文件版本控制合约执行文件版本控制注册交易,将文件第一版本的第一公钥和第一哈希地址记录到区块链上,以供参与文件版本更新的各用户端:获取第一公钥;获取第一哈希地址;当前文件版本更新用户根据获取的文件第一版本在IPFS上的第一哈希地址,查询IPFS网络,得到文件第一版本;当前文件版本更新用户对文件进行更新,生成文件第二版本;将文件第二版本上传至IPFS文件系统中,得到文件的第二版本的第二哈希地址,生成文件更新记录;根据当前文件版本更新账户的第二私钥和第一公钥通过Diffie

Hellman算法对文件更新记录加密以生成第一加密文件版本更新信息;生成包括第一加密文件版本更新信息的第一文件更新交易并发送至区块链网络;通过文件版本控制合约执行第一文件版本更新交易,在执行成功时将相应的第一加密文件版本更新信息记录到文件版本控制合约中;通过文件版本控制合约执行包括第一公钥所对应的第一私钥的文件版本更新结算交易:分别根据第一私钥和各文件版本更新用户的第二公钥对相应的第一加密文件版本更新信息进行解密以获取相应的文件版本更新信息;根据所获取的文件版本更新信息对文件版本进行更新。2.根据权利要求1所述的一种去中心化文件版本控制方法,其特征在于,所述获取第一公钥,具体包括:当前文件版本更新用户文通过文件版本控制合约的获取第一公钥函数发起请求,智能合约自动判断当前用户是否为有该文件更新权的用户,如果当前用户具备该文件的文件更新权,则文件版本控制合约将存储在合约中的第一公钥发送给当前用户,否则提示该用户不具备文件更新权,并忽略该请求。所述获取第一哈希地址具体包括;当前文件版本更新用户通过文件版本控制合约的获取第一哈希地址函数发起请求,智能合约自动判断当前用户是否为有该文件更新权的用户,如果当前用户具备该文件的文件更新权,则文件版本控制合约将存储在合约中的第一哈希地址发送给当前用户,否则提示该用户不具备文件更新权,并忽略该请求。3.根据权利要求1所述的一种去中心化文件版本控制方法,其特征在于,所述根据当前文件版本更新账户的第二私钥和第一公钥通过Diffie

Hellman算法对文件更新记录加密以生成第一加密文件版本更新信息,具体包括:假设文件版本控制合约为A,当前文件版本更新账户为B,文件第一版本的第一公钥为p1,第一私钥为s1,当前文件版本更新账户的第二公钥为p2,第一私钥为s2。将p1和p2作为两个公开参数。
通信方A通过公式计算得到公开密钥m,并将m发送给B。通信方B通过公式计算得到公开密钥n,并将n发送给A。通信方A通过公式计算得到共享密钥k。通信方B通过公式计算得到同一个共享密钥k。至此,A、B双方在保密各自私钥的同时,得到了共享密钥k。此后,双方可以利用此共享密钥对双方通信数据进行加密传输。得到共享密钥k后,当前文件版本更新账户通过共享密钥k对文件更新记录进行加密以生成第一加密文件版本更新信息。4.根据权利要求1所述的一种去中心化文件版本控制方法,其特征在于,所述文件版本控制合约具体包括:具有文件版本更新权限的用户列表;各文件版本更新账户的公钥;与各文件版本更新账户通信的共享密钥;文件的版本更新记录;文件各版本在IPFS文件系统中的哈希地址。5.根据权利要求4所述的一种去中心化文件版本控制方法,其特征在于,所述通过文件版本控制合约执行包括第一公钥所对应的第一私钥的文件版本更新结算交易,具体包括:文件版本控制合约首先利用第一私钥和各文件版本更新用户的第二公钥计算得到与各...

【专利技术属性】
技术研发人员:王可欣李方伟郭爽
申请(专利权)人:重庆移通学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1