CN114398686A - 基于区块链的文件存储方法、装置、设备和存储介质 - Google Patents
基于区块链的文件存储方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114398686A CN114398686A CN202111455313.2A CN202111455313A CN114398686A CN 114398686 A CN114398686 A CN 114398686A CN 202111455313 A CN202111455313 A CN 202111455313A CN 114398686 A CN114398686 A CN 114398686A
- Authority
- CN
- China
- Prior art keywords
- file
- nft
- block chain
- storage
- user
- 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 83
- 238000012508 change request Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 239000003999 initiator Substances 0.000 claims description 6
- 238000012546 transfer Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000003287 optical effect Effects 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/16—Program or content traceability, e.g. by watermarking
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于区块链的文件存储方法、装置、终端设备及存储介质,通过基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域;将所述存储文件存储于数据托管平台;基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。如此,本发明提供的基于区块链的文件存储方法,能够根据区块链上NFT所有权针对链下数字资产的数据设置用户权限,从而针对区块链上NFT所有权与链下数字资产的数据实现协同转移,提高了针对NFT数字资产的保护效果。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及基于区块链的文件存储方法、装置、设备和计算机存储介质。
背景技术
NFT是区块链上的非同质化代币,非同质化代币具有唯一性和不可分割性。NFT所表示的数字资产有两种存储方式,一种是在区块链上存储,另一种是在区块链下存储。其中,对于链上存储的数据,由于区块链本身具备防篡改性和永久性的特点,将NFT的数据直接存储在区块链上是最优选择。然而受区块链容量的限制,只有极少数小型数据可以存储在区块链上,例如一段文字或一串数字;对于无法存在链上的数据,NFT通常由一个链接指向外部数据存储位置。
当NFT所表示的数字资产进行区块链下存储时,若NFT所有权发生更迭,前所有者的链下数据应保持失效状态而当前所有者的链下数据必须可以被证明为有效,而在已有的方案里,在NFT所有权转移后,该NFT的前期每一任所有者仍然拥有所有数据,并且每一任所有者之间的数据完全一致,可见NFT所有者在失去链上所有权的时候,并不代表失去了链下数据的所有权,从而导致区块链上NFT所有权与链下数字资产的数据无法进行协同转移。
可见,如何针对区块链上NFT所有权与链下数字资产的数据实现协同转移,从而提高针对NFT数字资产的保护效果,是区块链技术领域亟需解决的难题。
发明内容
本发明的主要目的在于提供一种基于区块链的文件存储方法、装置、设备和计算机存储介质,旨在根据区块链上NFT所有权针对链下数字资产的数据设置用户权限,从而针对区块链上NFT所有权与链下数字资产的数据实现协同转移,提高针对NFT数字资产的保护效果。
为实现上述目的,本发明提供一种基于区块链的文件存储方法,所述基于区块链的文件存储方法包括以下步骤:
基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域;
将所述存储文件存储于数据托管平台;
基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
进一步地,在所述基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,还包括:
获取基于所述链接地址发出的文件请求;
根据所述文件请求对应的用户身份与所述用户权限列表进行比对,以确认所述用户身份是否与所述用户权限列表相符;
若是,响应所述文件请求。
进一步地,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,还包括:
基于所述用户权限列表生成多个相互独立的文件水印;
在所述响应所述文件请求的步骤之后,还包括:
将所述文件水印嵌入所述存储文件,以得到目标文件;
将所述目标文件通过所述链接地址发送至所述文件请求的发起方。
进一步地,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,还包括:
接收所述NFT的所有权的变更请求;
基于所述变更请求修正所述用户权限列表;和/或者,
基于所述变更请求生成对应的文件水印。
进一步地,所述基于区块链的文件存储方法还包括:
基于私有化的分布式存储网络建立数据托管平台。
进一步地,所述基于区块链的文件存储方法还包括:
根据所述存储文件生成对应的哈希值;
将所述哈希值分别写入所述NFT和所述存储文件,以供响应文件请求时基于所述哈希值进行所述存储文件的完整性验证。
进一步地,在将所述链接地址写入NFT的步骤之后,还包括:
将联盟链作为所述NFT的区块链载体,其中,所述联盟链用于让可信度达到预设阈值的机构进行记账。
此外,为实现上述目的,本发明还提供一种基于区块链的文件存储装置,所述基于区块链的文件存储装置包括:
第一存储模块,用于基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域;
第二存储模块,用于将所述存储文件存储于数据托管平台;
权限生成模块,用于基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
本发明基于区块链的文件存储装置的各功能模块在运行时实现如上述中的基于区块链的文件存储方法的步骤。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的文件存储程序,所述基于区块链的文件存储程序被所述处理器执行时实现如上述中的基于区块链的文件存储方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的基于区块链的文件存储方法的步骤。
此外,本发明实施例还提出一种计算机程序产品,该计算机程序产品上包括基于区块链的文件存储程序,所述基于区块链的文件存储程序被处理器执行时实现如上所述的基于区块链的文件存储方法的步骤。
其中,在所述处理器上运行的基于区块链的文件存储程序被执行时所实现的步骤可参照本发明基于区块链的文件存储方法的各个实施例,此处不再赘述。
本发明提出的基于区块链的文件存储方法、装置、设备和计算机存储介质,通过基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域;将所述存储文件存储于数据托管平台;基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
本发明通过将存储文件对应的链接地址写入NFT,从而存储在区块链上,然后将存储文件存储于区块链下的数据托管平台,并且在该NFT上存储和更新用户权限列表,由于用户权限列表与NFT的所有权具有关联性,因此该用户权限列表可用于根据NFT的所有权设置存储文件的访问权限,以使不具备NFT所有权的用户无法访问该NFT对应的存储于数据托管平台的存储文件,从而针对区块链上NFT所有权与链下数字资产的数据实现协同转移。
如此,本发明提供的基于区块链的文件存储方法,能够根据区块链上NFT所有权针对链下数字资产的数据设置用户权限,从而针对区块链上NFT所有权与链下数字资产的数据实现协同转移,提高了针对NFT数字资产的保护效果。
附图说明
图1是本发明实施例方案涉及的终端设备的硬件运行环境的结构示意图;
图2是本发明一种基于区块链的文件存储方法一实施例的流程示意图;
图3是本发明一实施例涉及的相关智能合约的结构示意图;
图4是本发明一实施例涉及的NFT产权信息的登记流程图;
图5是本发明一实施例涉及的文件存储的应用流程图;
图6是本发明一实施例涉及的NFT产权变更时的应用流程图;
图7是本发明一种基于区块链的文件存储装置的模块结构示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及终端设备的硬件运行环境的结构示意图。
需要说明的是,图1即可为终端设备的硬件运行环境的结构示意图。本发明实施例终端设备可以是用于实现区块链的文件存储的电子终端,PC,便携计算机等终端设备。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式任务的处理程序。其中,操作系统是管理和控制样本终端设备硬件和软件资源的程序,支持分布式任务的处理程序以及其它软件或程序的运行。
在图1所示的终端设备中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于区块链的文件存储程序,并执行以下操作:
基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域;
将所述存储文件存储于数据托管平台;
基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
进一步地,在所述基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,处理器1001可以调用存储器1005中存储的基于区块链的文件存储程序,还执行以下操作:
获取基于所述链接地址发出的文件请求;
根据所述文件请求对应的用户身份与所述用户权限列表进行比对,以确认所述用户身份是否与所述用户权限列表相符;
若是,响应所述文件请求。
进一步地,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,处理器1001可以调用存储器1005中存储的基于区块链的文件存储程序,还执行以下操作:
基于所述用户权限列表生成多个相互独立的文件水印;
在所述响应所述文件请求的步骤之后,还包括:
将所述文件水印嵌入所述存储文件,以得到目标文件;
将所述目标文件通过所述链接地址发送至所述文件请求的发起方。
进一步地,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,处理器1001可以调用存储器1005中存储的基于区块链的文件存储程序,还执行以下操作:
接收所述NFT的所有权的变更请求;
基于所述变更请求修正所述用户权限列表;和/或者,
基于所述变更请求生成对应的文件水印。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的文件存储程序,还执行以下操作:
基于私有化的分布式存储网络建立数据托管平台。
进一步地,处理器1001可以调用存储器1005中存储的基于区块链的文件存储程序,还执行以下操作:
根据所述存储文件生成对应的哈希值;
将所述哈希值分别写入所述NFT和所述存储文件,以供响应文件请求时基于所述哈希值进行所述存储文件的完整性验证。
进一步地,在将所述链接地址写入NFT的步骤之后,处理器1001可以调用存储器1005中存储的基于区块链的文件存储程序,还执行以下操作:
将联盟链作为所述NFT的区块链载体,其中,所述联盟链用于让可信度达到预设阈值的机构进行记账。
基于上述的结构,提出本发明基于区块链的文件存储方法的各个实施例。
需要说明的是,当NFT所表示的数字资产进行区块链下存储时,若NFT所有权发生更迭,前所有者的链下数据应保持失效状态而当前所有者的链下数据必须可以被证明为有效,而在已有的方案里,在NFT所有权转移后,该NFT的前期每一任所有者仍然拥有所有数据,并且每一任所有者之间的数据完全一致,可见NFT所有者在失去链上所有权的时候,并不代表失去了链下数据的所有权,从而导致区块链上NFT所有权与链下数字资产的数据无法进行协同转移。
可见,如何针对区块链上NFT所有权与链下数字资产的数据实现协同转移,从而提高针对NFT数字资产的保护效果,是区块链技术领域亟需解决的难题。
基于上述现象,提出本发明基于区块链的文件存储方法的各实施例。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
第一实施例:请参照图2,图2为本发明基于区块链的文件存储方法第一实施例的流程示意图。本发明提供的基于区块链的文件存储方法,包括以下步骤:
步骤S100,基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域。
如图3和图4所示,由于较大的存储文件无法直接存储于容量有限的区块链上,因此通过终端针对该类存储文件生成对应的链接地址,然后将该链接地址写入NFT(非同质化代币),然后通过智能合约将链接地址存放在区块链元数据域中,以使用户可以在区块链上通过该链接地址访问和下载对应的存储文件。其中,由于NFT具有唯一性和不可分割性,而区块链本身具备防篡改性和永久性的特点,因此通过NFT将链接地址存放在区块链元数据域中,能够有效保证该链接地址的可靠性。
步骤S200,将所述存储文件存储于数据托管平台。
终端通过存储平台将存储文件对应的链接地址存放于区块链元数据域后,将存储文件本身存放于区块链下的容量较大的数据托管平台,以使用户可以通过区块链上的链接地址跳转至数据托管平台,从而访问和下载对应的存储文件。
步骤S300,基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
终端在NFT上存储和更新用户权限列表,由于用户权限列表与NFT的所有权具有关联性,数据托管平台通过区块链获取该用户权限列表,并且拥有该NFT的所有权的用户才符合该用户权限列表的标准,从而拥有权限访问或下载存储于数据托管平台的对应的存储文件。
在本实施例中,通过终端针对存储文件生成对应的链接地址,然后将该链接地址写入NFT(非同质化代币),然后通过智能合约将链接地址存放在区块链元数据域中,以使用户可以在区块链上通过该链接地址访问和下载对应的存储文件;终端通过存储平台将存储文件对应的链接地址存放于区块链元数据域后,将存储文件本身存放于区块链下的容量较大的数据托管平台;终端在NFT上存储和更新用户权限列表,由于用户权限列表与NFT的所有权具有关联性,数据托管平台通过区块链获取该用户权限列表,并且拥有该NFT的所有权的用户才符合该用户权限列表的标准,从而拥有权限访问或下载存储于数据托管平台的对应的存储文件。
如此,本实施例能够根据区块链上NFT所有权针对链下数字资产的数据设置用户权限,从而针对区块链上NFT所有权与链下数字资产的数据实现协同转移,提高了针对NFT数字资产的保护效果。
进一步地,基于上述基于区块链的文件存储方法第一实施例,提出本发明基于区块链的文件存储方法的第二实施例。
在本发明基于区块链的文件存储方法的第二实施例中,在上述步骤S300之后,还包括:
步骤A1,获取基于所述链接地址发出的文件请求;
步骤A2,根据所述文件请求对应的用户身份与所述用户权限列表进行比对,以确认所述用户身份是否与所述用户权限列表相符;
步骤A3,若是,响应所述文件请求。
如图5所示,用户访问区块链上的存储于NFT链接地址,通过该链接地址跳转至存储文件的数据托管平台,并发出文件访问请求/下载请求,终端根据发出文件访问请求/下载请求对应的用户身份与用户权限列表进行比对,若该用户具有该NFT的所有权,则该用户身份与用户权限列表相符,此时终端响应该用户发出的文件访问请求/下载请求,允许该用户执行文件访问/文件下载操作。
同理,若该用户不具有该NFT的所有权,则该用户身份与用户权限列表不符,此时终端不响应或直接拒绝该用户发出的文件访问请求/下载请求,以使该用户无法继续执行文件访问/文件下载操作。
如此,本实施例限定了根据数据托管平台的用户权限列表,将区块链上NFT所有权与区块链下数字资产进行关联,以及限制用户针对链下数字资产进行相关操作的权限的具体步骤,提高了本发明基于区块链的文件存储方法的实用性。
进一步地,基于上述基于区块链的文件存储方法第一实施例,提出本发明基于区块链的文件存储方法的第三实施例。
在本发明基于区块链的文件存储方法的第三实施例中,在上述步骤S300之后,还包括:
步骤B1,基于所述用户权限列表生成多个相互独立的文件水印。
在本实施例中,在上述步骤A3之后,还包括:
步骤B2,将所述文件水印嵌入所述存储文件,以得到目标文件;
步骤B3,将所述目标文件通过所述链接地址发送至所述文件请求的发起方。
在区块链技术领域中,数字资产的原始数据如何在区块链下被有效地、可验证地转移是NFT流转所面对的难点问题,通过区块链可以永久记录NFT所有权的更换,但却无法有效约束相应的链下文件的行为。
如果NFT所有权的接收者向提供者购买了该作品,而提供者仍然拥有和接收者完全相同的数据,将导致NFT所有权没有任何区分度,难以做到数据确权。
为了解决这个问题,本实施例中,如图5所示,终端基于用户权限列表对应NFT产权所有者生成分别生成唯一的文件水印,当具有权限的用户请求访问文件/下载文件时,通过数据托管平台将该文件水印嵌入文件后再发送至访问文件/下载文件请求的发起方,用以区分不同NFT产权所有者的文件原件。
若文件数据发生泄漏,可以对泄露的文件数据中包含的文件水印进行提取,再将文件水印与区块链上记录的NFT产权信息进行比对,即可确认文件数据是否在有效期内,以及该次泄露行为源于哪一任NFT产权所有者。
如此,本实施例在现有技术无法阻止数字资产的复制和传播的基础上,能够通过文件水印的方式有效追踪及制止区块链下数字资产对应的文件数据的泄露行为,从而进一步提高针对NFT数字资产的保护效果。
进一步地,基于上述基于区块链的文件存储方法第一实施例,提出本发明基于区块链的文件存储方法的第四实施例。
在本发明基于区块链的文件存储方法的第四实施例中,在上述步骤S300之后,还包括:
步骤C1,接收所述NFT的所有权的变更请求;
步骤C2,基于所述变更请求修正所述用户权限列表;
步骤C3,基于所述变更请求生成对应的文件水印。
如图6所示,当NFT所有权的购买者与提供者完成了交易,此时终端会接收到NFT的所有权的变更请求,然后根据该变更请求对该NFT在数据托管平台上对应的用户权限列表进行修正,取消NFT所有权的提供者的权限,以及增加NFT所有权的购买者的权限,以使NFT所有权的提供者在完成交易后无权再访问/下载对应的文件数据,而NFT所有权的购买者则在完成交易后获得访问/下载对应的文件数据的权限。
在另一可行的实施例中,终端在基于上述变更请求修正用户权限列表后,还会生成与NFT所有权的购买者对应的唯一文件水印,并在NFT所有权的购买者请求访问/下载文件时,将该文件水印嵌入对应的文件数据中。
在本实施例中,通过终端接收NFT的所有权的变更请求,然后根据该变更请求修正对应的用户权限列表,以使NFT所有权的提供者在完成交易后无权再访问/下载对应的文件数据,而NFT所有权的购买者则在完成交易后获得访问/下载对应的文件数据的权限,以及生成与NFT所有权的购买者对应的唯一文件水印,并在NFT所有权的购买者请求访问/下载文件时,将该文件水印嵌入对应的文件数据中。
如此,本实施例实现了当NFT的所有权发生变更时,根据区块链上NFT所有权的变更情况针对链下数字资产的数据同步变更用户权限,从而针对区块链上NFT所有权与链下数字资产的数据实现协同转移,提高了本发明基于区块链的文件存储方法的实用性。
进一步地,基于上述基于区块链的文件存储方法第一实施例,提出本发明基于区块链的文件存储方法的第五实施例。
在本发明基于区块链的文件存储方法的第五实施例中,所述基于区块链的文件存储方法,还包括:
步骤S400,基于私有化的分布式存储网络建立数据托管平台。
通常来说,用于存储文件的数据托管平台可以是中心化的服务器或者基于私有化的分布式存储网络建立。然而,当采用中心化的服务器,例如项目方的服务器或其它云服务器(Google Cloud,AWS等),作为数据托管平台时,由于拥有NFT的所有权并不代表拥有对这些中心化的服务器的数据的实际访问控制权,因此用户不得不面对数字资产被篡改或丢失的风险,以及中心化的服务器容易遭受外界攻击,安全性较低。
在本实施例中,终端基于私有化的分布式存储网络建立数据托管平台,能够有效保护用户的数据安全,并代替用户完成版权转移时区块链下数据移交的复杂工作;同时,基于私有化的分布式存储网络建立的数据托管平台受到分布式存储网络的约束,具有抗宕机和抗删改的能力,能够通过将文件数据拆成多组小数据并复制到多台节点上分别进行存储而实现抗单点故障的效果,因此可以实现更高的安全性和可靠性,从而提高针对数字资产的保护效果。
如此,本实施例基于私有化的分布式存储网络建立数据托管平台,能够实现更高的安全性和可靠性,提高针对数字资产的保护效果,从而提高本发明基于区块链的文件存储方法的实用性。
进一步地,基于上述基于区块链的文件存储方法第一实施例,提出本发明基于区块链的文件存储方法的第六实施例。
在本发明基于区块链的文件存储方法的第六实施例中,所述基于区块链的文件存储方法,还包括:
步骤S501,根据所述存储文件生成对应的哈希值;
步骤S502,将所述哈希值分别写入所述NFT和所述存储文件,以供响应文件请求时基于所述哈希值进行所述存储文件的完整性验证。
如图5所示,由于数据托管平台采用分布式存储,因此存在多个节点参与存储,用户在向多个节点请求数据时,可以通过比较接收的不同节点发送的数据是否相同,以及比对接收数据的哈希值与区块链上的原件哈希值,若两者数值相同,则认为接收文件的数据完整无误;若数值不同,用户继续向数据托管平台的其它节点请求文件,从而确保接收到的文件数据的完整性。
需要说明的是,在另一可行的实施例中,若在节点发送的文件数据中嵌入了文件水印,则采用感知哈希值来验证文件数据的完整性。这是因为哈希算法的计算过程单向不可逆,且具有抗碰撞性,因此从区块链上记录的哈希值无法倒推数据内容,且数据内容的微小更改都会生成完全不同的哈希值,从而导致关于文件数据完整性的验证结果出现异常。
而感知哈希算法是哈希算法的一种,用于数据相似性的比较,由于嵌入文件水印后的文件与原始文件的数据必然不同,因此普通的哈希计算无法达到验证数据完整性的目的;而感知哈希算法具有一定容差性,可以用于比较嵌入文件水印后的文件数据与原文件的相似性,从而避免验证结果因文件水印出现异常。
如此,本实施例通过哈希算法验证基于分布式存储的数据托管平台多个节点发送的文件数据的完整性,从而确保用户接收到的文件数据完整无误,提高了本发明基于区块链的文件存储方法的实用性。
进一步地,基于上述基于区块链的文件存储方法第一实施例,提出本发明基于区块链的文件存储方法的第七实施例。
在本发明基于区块链的文件存储方法的第七实施例中,在上述步骤S100之后,还包括:
步骤S600,将联盟链作为所述NFT的区块链载体,其中,所述联盟链用于让可信度达到预设阈值的机构进行记账。
需要说明的是,在本实施例中,联盟链又被称为许可链,该链的节点需要获得许可才可以参与记账。以以太坊NFT合约标准作为参照,以太坊上关于NFT合约的标准已经有ERC-721、ERC-1155和ERC-998三种。NFT合约的标准接口必须满足上述标准的要求,例如铸币函数,转移函数等,否则NFT无法相互兼容。以及,可信度达到预设阈值的机构指可信度达到管理者预设标准的机构,或者管理者指定的高可信度的机构。
终端将联盟链作为NFT的区块链载体,以使NFT所在的区块链仅能由可信度达到管理者预设标准的机构,或者管理者指定的高可信度的机构进行记账。
如此,本实施例通过终端将联盟链作为NFT的区块链载体,提高了NFT对应的存储文件的链接地址以及NFT所有权变更信息在区块链进行存储的安全性和可靠性,提高了本发明基于区块链的文件存储方法的实用性。
此外,请参照图3,本发明实施例还提出一种基于区块链的文件存储装置,本发明基于区块链的文件存储装置包括:
第一存储模块,用于基于存储文件生成对应的链接地址,并将所述链接地址写入NFT,以存储于区块链元数据域;
第二存储模块,用于将所述存储文件存储于数据托管平台;
权限生成模块,用于基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
优选地,基于区块链的文件存储装置,还包括:
比对模块,用于获取基于所述链接地址发出的文件请求;根据所述文件请求对应的用户身份与所述用户权限列表进行比对,以确认所述用户身份是否与所述用户权限列表相符;若是,响应所述文件请求。
优选地,基于区块链的文件存储装置,还包括:
水印生成模块,用于基于所述用户权限列表生成多个相互独立的文件水印;将所述文件水印嵌入所述存储文件,以得到目标文件;将所述目标文件通过所述链接地址发送至所述文件请求的发起方。
优选地,基于区块链的文件存储装置,还包括:
修正模块,用于接收所述NFT的所有权的变更请求;基于所述变更请求修正所述用户权限列表;基于所述变更请求生成对应的文件水印。
优选地,基于区块链的文件存储装置,还包括:
建立模块,用于基于私有化的分布式存储网络建立数据托管平台。
优选地,基于区块链的文件存储装置,还包括:
数据验证模块,用于根据所述存储文件生成对应的哈希值;将所述哈希值分别写入所述NFT和所述存储文件,以供响应文件请求时基于所述哈希值进行所述存储文件的完整性验证。
优选地,基于区块链的文件存储装置,还包括:
记账模块,用于将联盟链作为所述NFT的区块链载体,其中,所述联盟链用于让可信度达到预设阈值的机构进行记账。
此外,本发明实施例还提出一种终端设备,该终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的文件存储程序,该基于区块链的文件存储程序被所述处理器执行时实现如上述中的基于区块链的文件存储方法的步骤。
其中,在所述处理器上运行的基于区块链的文件存储程序被执行时所实现的步骤可参照本发明基于区块链的文件存储方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,应用于计算机,该存储介质可以为非易失性计算机可读存储介质,该存储介质上存储有基于区块链的文件存储程序,所述基于区块链的文件存储程序被处理器执行时实现如上所述的基于区块链的文件存储方法的步骤。
其中,在所述处理器上运行的基于区块链的文件存储程序被执行时所实现的步骤可参照本发明基于区块链的文件存储方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机程序产品,该计算机程序产品上包括基于区块链的文件存储程序,所述基于区块链的文件存储程序被处理器执行时实现如上所述的基于区块链的文件存储方法的步骤。
其中,在所述处理器上运行的基于区块链的文件存储程序被执行时所实现的步骤可参照本发明基于区块链的文件存储方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台用于实现基于区块链的文件存储的终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于区块链的文件存储方法,其特征在于,所述基于区块链的文件存储方法包括:
基于存储文件生成对应的链接地址,并将所述链接地址写入NFT以存储于区块链元数据域;
将所述存储文件存储于数据托管平台;
基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
2.如权利要求1所述的基于区块链的文件存储方法,其特征在于,在所述基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,还包括:
获取基于所述链接地址发出的文件请求;
根据所述文件请求对应的用户身份与所述用户权限列表进行比对,以确认所述用户身份是否与所述用户权限列表相符;
若是,响应所述文件请求。
3.如权利要求2所述的基于区块链的文件存储方法,其特征在于,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,还包括:
基于所述用户权限列表生成多个相互独立的文件水印;
在所述响应所述文件请求的步骤之后,还包括:
将所述文件水印嵌入所述存储文件,以得到目标文件;
将所述目标文件通过所述链接地址发送至所述文件请求的发起方。
4.如权利要求1至3任一项所述的基于区块链的文件存储方法,其特征在于,在所述用户权限列表与所述NFT的所有权之间建立连接关系的步骤之后,还包括:
接收所述NFT的所有权的变更请求;
基于所述变更请求修正所述用户权限列表;和/或者,
基于所述变更请求生成对应的文件水印。
5.如权利要求1所述的基于区块链的文件存储方法,其特征在于,所述基于区块链的文件存储方法还包括:
基于私有化的分布式存储网络建立数据托管平台。
6.如权利要求5所述的基于区块链的文件存储方法,其特征在于,所述基于区块链的文件存储方法还包括:
根据所述存储文件生成对应的哈希值;
将所述哈希值分别写入所述NFT和所述存储文件,以供响应文件请求时基于所述哈希值进行所述存储文件的完整性验证。
7.如权利要求1所述的基于区块链的文件存储方法,其特征在于,在将所述链接地址写入NFT的步骤之后,还包括:
将联盟链作为所述NFT的区块链载体,其中,所述联盟链用于让可信度达到预设阈值的机构进行记账。
8.一种基于区块链的文件存储装置,其特征在于,所述基于区块链的文件存储装置包括:
第一存储模块,用于基于存储文件生成对应的链接地址,并将所述链接地址写入NFT,以存储于区块链元数据域;
第二存储模块,用于将所述存储文件存储于数据托管平台;
权限生成模块,用于基于所述NFT生成用户权限列表,在所述用户权限列表与所述NFT的所有权之间建立连接关系,以及,通过区块链将所述用户权限列表发送至所述数据托管平台。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的文件存储程序,所述基于区块链的文件存储程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于区块链的文件存储方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的文件存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111455313.2A CN114398686A (zh) | 2021-12-01 | 2021-12-01 | 基于区块链的文件存储方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111455313.2A CN114398686A (zh) | 2021-12-01 | 2021-12-01 | 基于区块链的文件存储方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114398686A true CN114398686A (zh) | 2022-04-26 |
Family
ID=81225777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111455313.2A Pending CN114398686A (zh) | 2021-12-01 | 2021-12-01 | 基于区块链的文件存储方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398686A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726554A (zh) * | 2022-06-08 | 2022-07-08 | 青岛理工大学 | 一种基于联盟链和nft的版权认证系统及认证方法 |
CN114968595A (zh) * | 2022-06-15 | 2022-08-30 | 网易(杭州)网络有限公司 | Nft所有者信息的处理方法、装置、计算机设备及存储介质 |
CN115499172A (zh) * | 2022-08-27 | 2022-12-20 | 中原工学院 | 基于区块链和nft的数据可信流转与访问控制方法、装置及系统 |
WO2023248034A1 (en) * | 2022-06-22 | 2023-12-28 | Sony Group Corporation | Data provisioning framework using non-fungible tokens |
-
2021
- 2021-12-01 CN CN202111455313.2A patent/CN114398686A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726554A (zh) * | 2022-06-08 | 2022-07-08 | 青岛理工大学 | 一种基于联盟链和nft的版权认证系统及认证方法 |
CN114726554B (zh) * | 2022-06-08 | 2022-09-20 | 青岛理工大学 | 一种基于联盟链和nft的版权认证系统及认证方法 |
CN114968595A (zh) * | 2022-06-15 | 2022-08-30 | 网易(杭州)网络有限公司 | Nft所有者信息的处理方法、装置、计算机设备及存储介质 |
WO2023248034A1 (en) * | 2022-06-22 | 2023-12-28 | Sony Group Corporation | Data provisioning framework using non-fungible tokens |
CN115499172A (zh) * | 2022-08-27 | 2022-12-20 | 中原工学院 | 基于区块链和nft的数据可信流转与访问控制方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100546B2 (en) | Method and system for provenance tracking in software ecosystems | |
CN109691015B (zh) | 一种区块链上的动态访问控制方法及系统 | |
CN114398686A (zh) | 基于区块链的文件存储方法、装置、设备和存储介质 | |
RU2375739C2 (ru) | Способ и система для ограничения обновлений программного обеспечения | |
JP3753885B2 (ja) | 国際暗号体系のホストシステム要素 | |
US7734549B2 (en) | Methods and apparatus for managing secured software for a wireless device | |
JP4794217B2 (ja) | ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム | |
CN110855777B (zh) | 一种基于区块链的节点管理方法及装置 | |
US7500267B2 (en) | Systems and methods for disabling software components to protect digital media | |
JP2008005156A (ja) | 情報処理端末および状態通知方法 | |
JP2003500722A (ja) | 情報保護方法および装置 | |
CN110555293A (zh) | 用于保护数据的方法、装置、电子设备和计算机可读介质 | |
JP2010205270A (ja) | 取り外し可能な媒体に格納された実行可能なコードにタンパーエビデント性を提供する装置 | |
WO2022216625A1 (en) | Enhanced asset management using an electronic ledger | |
TWI623904B (zh) | 基於區塊鏈智能合約的函證系統及其方法 | |
KR101034127B1 (ko) | 무결성 보증 및 검증을 위한 시스템 및 방법 | |
US20220092155A1 (en) | Protecting an item of software | |
US20230281321A1 (en) | Secure application development using distributed ledgers | |
KR20050039528A (ko) | 리소스 획득 방법 및 컴퓨터 판독 가능 매체 | |
JP4842836B2 (ja) | 認証コードを復旧する方法 | |
KR20140011021A (ko) | 안드로이드 플랫폼 기반의 어플리케이션의 무단복제 방지 및 최초 복제 추적을 위한 디지털 워터마킹 삽입 방법 | |
KR101012054B1 (ko) | 저작권자의 저작물 직접 관리 방법 및 그 시스템 | |
US20240143805A1 (en) | Document protection mechanism | |
KR102483869B1 (ko) | 블록체인 기반 nft와 관련된 콘텐츠의 ip 추적 및 did 정보를 이용한 위변조 방지 방법 및 장치 | |
US20240242284A1 (en) | Steganographic asset validation |
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 |