CN113569276A - 区块链存证方法及相关设备 - Google Patents
区块链存证方法及相关设备 Download PDFInfo
- Publication number
- CN113569276A CN113569276A CN202110697849.9A CN202110697849A CN113569276A CN 113569276 A CN113569276 A CN 113569276A CN 202110697849 A CN202110697849 A CN 202110697849A CN 113569276 A CN113569276 A CN 113569276A
- Authority
- CN
- China
- Prior art keywords
- target file
- verification
- data
- script
- verification script
- 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 49
- 238000003860 storage Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 128
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000505 pernicious effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Abstract
本公开提供一种区块链存证方法及相关设备,具体的,首先数据拥有者将目标文件上传到第三方平台,根据上传的目标文件,数据拥有者本地的虚拟机计算目标文件的验证脚本并上传到区块链中,然后数据请求者从第三方平台获取目标文件,从区块链获取目标文件的验证脚本,通过其本地的虚拟机对获取到的目标文件进行验证,得到最终的验证结果。通过在用户本地的虚拟机计算和验证目标文件的哈希值和验证脚本,避免了在第三方平台的哈希值计算和智能合约的生成,同时采用验证脚本的方式验证有效解决了智能合约占用较多区块链储存资源的问题,提高了区块链存证系统的安全性和隐私性,缓解了区块链的储存压力。
Description
技术领域
本公开涉及数据验证技术领域,尤其涉及一种区块链存证方法及相关设备。
背景技术
现有基于区块链的存证系统主要采用文件hash验证的方式,通过智能合约来完成。首先,用户通过系统平台计算文件hash值,并创建区块链交易记录该hash值到区块链上;然后,用户可编写用于文件校验的智能合约,该智能合约实际为存储在区块链上的一段代码;最后,其他用户可通过调用该智能合约,比对hash值进行文件验证。但这样的过程存在许多安全隐私问题,且智能合约会占用较多的区块链存储资源。
发明内容
有鉴于此,本公开的目的在于提出一种区块链存证方法及相关设备。
基于上述目的,本公开提供了一种区块链存证方法,包括:
数据拥有者上传目标文件至第三方平台;
所述数据拥有者通过其本地的虚拟机计算所述目标文件文件的验证脚本,并将所述验证脚本上传到区块链中;
数据请求者从所述第三方平台获取所述目标文件;
所述区块链响应于从数据请求者接收到对目标文件的获取请求,将所述验证脚本发送给数据请求者;
所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果。
进一步,所述验证脚本包括所述目标文件的哈希值和所述目标文件的签名。
进一步,所述验证脚本被储存在区块链交易的payload字段中,所述区块链交易的payload字段还包括标识交易字段和虚拟机版本字段。
进一步,所述验证脚本的长度小于50字节。
进一步,所述所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果,包括:
所述数据请求者将所述验证脚本复制并将复制的验证脚本入栈;
所述数据请求者计算所述目标文件的哈希值;
所述数据请求者将计算得到的哈希值与所述验证脚本中的哈希值进行验证;
所述数据请求者响应于确定所述计算得到的的哈希值与所述验证脚本中的哈希值验证成功,验证所述目标文件的签名;
所述数据请求者响应于确定验证所述目标文件的签名成功,完成验证,得到验证结果。
基于同一发明构思,本公开还提供了一种区块链存证系统,包括:数据拥有者、数据请求者、虚拟机、区块链和第三方平台,其中
数据拥有者被配置为上传目标文件到第三方平台供数据请求者获取,上传所述目标文件的验证脚本到区块链上供数据请求者获取;
数据请求者被配置为从第三方平台上获取目标文件,从区块链上获取所述目标文件的验证脚本;
虚拟机被配置为为数据拥有者的目标文件生成验证脚本,为数据请求者验证从第三方平台获取到的目标文件与从区块链上获取到的验证脚本是否一致;
区块链被配置为能够储存和发送所述验证脚本;
第三方平台被配置为能够储存和发送所述目标文件。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
基于同一发明构思,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任意一项所述的方法。
从上面所述可以看出,本公开提供的区块链存证方法及相关设备,在数据拥有者的本地计算文件的验证脚本,在数据请求者的本地验证文件的验证脚本,取代了需要在第三方平台进行hash计算和存证储存的过程,避免了权威机构作恶的可能,同时使用验证脚本代替智能合约,减少了区块链储存空间的占用。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的区块链存证方法流程图;
图2为本公开实施例的验证脚本示意图;
图3为本公开实施例的区块链存证方法验证过程流程图;
图4为本公开实施例的区块链存证交互过程示意图;
图5为本公开实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
如背景技术部分所述,现有的区块链存证方案还难以满足安全和储存需要,申请人在实现本公开的过程中发现,现有的区块链存证方案采用智能合约来完成。系统平台首先提供模块主要有存证hash生成模块、存证存储模块、存证读取等,用户通过系统平台进行文件hash的计算并创建区块链交易;文件的验证则通过部署智能合约,获取智能合约地址,并计算电子存证文件的hash值,并通过调用智能合约的函数,完成存证文件的查询和管理。解决日常生活中存证存储的安全性问题,保证存证文件的有效性。但是其主要问题在于:1、用户使用系统平台所提供的模块进行hash计算,存证存储等,该过程是链下操作,使用系统平台代码或通过系统平台来完成,并且用户的行为可被平台所获取,该过程存在诸多安全与隐私问题,如文件真实性,密钥泄漏等。2、设计文件的验证通过智能合约来完成,但由于智能合约的计算能力有限,本质上,文件hash的计算仍是链下操作,后将结果传回到智能合约中。因此实际应用中,如在第三方权威机构认证的场景下,包含文件验证,则可能出现权威机构作恶的可能性。3、智能合约是存储在区块链上的一段代码,且相较于文件hash(64字节),智能合约的字节长度较大(如:以太坊中,完成基本的hash校验的智能合约约为200字节,完成基本的hash校验和签名验证的智能合约约为400字节),占用区块链存储,造成冗余。
有鉴于此,本公开一个或多个实施例提供了一种区块链存证方案,具体的,首先数据拥有者将目标文件上传到第三方平台,根据上传的目标文件,数据拥有者本地的虚拟机计算目标文件的验证脚本并上传到区块链中,然后数据请求者从第三方平台获取目标文件,从区块链获取目标文件的验证脚本,通过其本地的虚拟机对获取到的目标文件进行验证,得到最终的验证结果。
可见,本公开提供的区块链存证方案,在数据拥有者的本地计算文件的验证脚本,在数据请求者的本地验证文件的验证脚本,取代了需要在第三方平台进行hash计算和存证储存的过程,避免了权威机构作恶的可能,同时使用验证脚本代替智能合约,减少了区块链储存空间的占用。
以下,通过具体的实施例来详细说明本说明书一个或多个实施例的技术方案。
参考图1,本说明书一个实施例的区块链存证方法,包括以下步骤:
步骤S101、数据拥有者上传目标文件至第三方平台;
本步骤中,首先数据拥有者上传目标文件至第三方平台,该第三方平台用于储存目标文件,以供数据请求者获取,具体的,第三方平台可以是某网盘,也可以是某数据库。显然,第三方平台可以根据具体的实施需要满足目标文件的存取即可。
步骤S102、所述数据拥有者通过其本地的虚拟机计算所述目标文件文件的验证脚本,并将所述验证脚本上传到区块链中;
本步骤中,首先在数据拥有者的本地定义虚拟机的相关计算储存操作的操作码,然后运行虚拟机,计算目标文件的哈希值和签名,最后将目标文件的哈希值和签名封装成验证脚本上传到区块链中。其中验证脚本是被储存在区块链交易的payload字段中的。
在本实施例中,参考图2,验证脚本的结构包括目标文件的哈希值和签名,将目标文件的哈希值和签名封装成验证脚本(小于50字节,约为40字节)的方式与智能合约(如:以太坊中,完成基本的hash校验的智能合约约为200字节,完成基本的hash校验和签名验证的智能合约约为400字节)相比占用储存空间要小得多。
步骤S103、数据请求者从所述第三方平台获取所述目标文件;
步骤S104、所述区块链响应于从数据请求者接收到对目标文件的获取请求,将所述验证脚本发送给数据请求者;
步骤S105、所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果。
本步骤中,具体的,参考图3,验证过程还可以包括以下步骤:
步骤S301、所述数据请求者将所述验证脚本复制并将复制的验证脚本入栈;
本步骤中,为了避免验证的运算过程中破坏原始数据,运行OP_SNAPSHOT操作码将验证脚本<file_obj>拷贝一份<snap_file_obj>,入栈
步骤S302、所述数据请求者计算所述目标文件的哈希值;
本步骤中,使用<snap_file_obj>内容,运行OP_SHASH,OP_CHASH,OP_MROOT操作码进行文件哈希的计算。
步骤S303、所述数据请求者将计算得到的哈希值与所述验证脚本中的哈希值进行验证;
本步骤中,运行OP_CKMROOT操作码将计算所得哈希与从区块链所获取哈希进行检验,返回bool类型结果。
步骤S304、所述数据请求者响应于确定所述计算得到的的哈希值与所述验证脚本中的哈希值验证成功,验证所述目标文件的签名;
本步骤中,运行OP_CKTRUE操作码检测验证是否成功。
步骤S305、所述数据请求者响应于确定验证所述目标文件的签名成功,完成验证,得到验证结果。
可见,在本实施例中,通过在用户本地的虚拟机计算和验证目标文件的哈希值和验证脚本,避免了在第三方平台的哈希值计算和智能合约的生成,同时采用验证脚本的方式验证有效解决了智能合约占用较多区块链储存资源的问题,提高了区块链存证系统的安全性和隐私性,缓解了区块链的储存压力。
在一些实施例中,区块链交易的payload字段可以包括以下三个字段:“MagicNumber”用于标识交易,方便应用于任意区块链系统中;“VM Version”表示虚拟机的版本号,预留以备后续虚拟机升级,“VM Script”记录虚拟机的文件验证脚本。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种区块链存证系统。
所述区块链存证系统,包括:数据拥有者、数据请求者、虚拟机、区块链和第三方平台,其中
数据拥有者被配置为上传目标文件到第三方平台供数据请求者获取,上传所述目标文件的验证脚本到区块链上供数据请求者获取;
数据请求者被配置为从第三方平台上获取目标文件,从区块链上获取所述目标文件的验证脚本;
虚拟机被配置为为数据拥有者的目标文件生成验证脚本,为数据请求者验证从第三方平台获取到的目标文件与从区块链上获取到的验证脚本是否一致;
区块链被配置为能够储存和发送所述验证脚本;
第三方平台被配置为能够储存和发送所述目标文件。
参考图4,为验证脚本上传和验证过程,①②③分别表示数据计算、存储和修改的虚拟机脚本。
1.对于文件hash计算,用户(数据拥有者和数据获取者)可运行虚拟机脚本①处理数据,返回结果。
2.对于文件hash存储,用户可运行虚拟机脚本②将对应内容记录在交易的“payload”字段中,后发送至区块链网络。
3.对于文件验证,用户可运行虚拟机脚本③,计算文件并从区块链中获取hash完成验证。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的区块链存证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的区块链存证方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的区块链存证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的区块链存证方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的区块链存证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
需要说明的是,本公开的实施例还可以以下方式进一步描述:
一种区块链存证方法,包括:
数据拥有者上传目标文件至第三方平台;
所述数据拥有者通过其本地的虚拟机计算所述目标文件文件的验证脚本,并将所述验证脚本上传到区块链中;
数据请求者从所述第三方平台获取所述目标文件;
所述区块链响应于从数据请求者接收到对目标文件的获取请求,将所述验证脚本发送给数据请求者;
所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果。
进一步,所述验证脚本包括所述目标文件的哈希值和所述目标文件的签名。
进一步,所述验证脚本被储存在区块链交易的payload字段中,所述区块链交易的payload字段还包括标识交易字段和虚拟机版本字段。
进一步,所述验证脚本的长度小于50字节。
进一步,所述所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果,包括:
所述数据请求者将所述验证脚本复制并将复制的验证脚本入栈;
所述数据请求者计算所述目标文件的哈希值;
所述数据请求者将计算得到的哈希值与所述验证脚本中的哈希值进行验证;
所述数据请求者响应于确定所述计算得到的的哈希值与所述验证脚本中的哈希值验证成功,验证所述目标文件的签名;
所述数据请求者响应于确定验证所述目标文件的签名成功,完成验证,得到验证结果。
进一步,一种区块链存证系统,包括:数据拥有者、数据请求者、虚拟机、区块链和第三方平台,其中
数据拥有者被配置为上传目标文件到第三方平台供数据请求者获取,上传所述目标文件的验证脚本到区块链上供数据请求者获取;
数据请求者被配置为从第三方平台上获取目标文件,从区块链上获取所述目标文件的验证脚本;
虚拟机被配置为为数据拥有者的目标文件生成验证脚本,为数据请求者验证从第三方平台获取到的目标文件与从区块链上获取到的验证脚本是否一致;
区块链被配置为能够储存和发送所述验证脚本;
第三方平台被配置为能够储存和发送所述目标文件。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (8)
1.一种区块链存证方法,包括:
数据拥有者上传目标文件至第三方平台;
所述数据拥有者通过其本地的虚拟机计算所述目标文件文件的验证脚本,并将所述验证脚本上传到区块链中;
数据请求者从所述第三方平台获取所述目标文件;
所述区块链响应于从数据请求者接收到对目标文件的获取请求,将所述验证脚本发送给数据请求者;
所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果。
2.根据权利要求1所述的方法,其中,所述验证脚本包括所述目标文件的哈希值和所述目标文件的签名。
3.根据权利要求1所述的方法,其中,所述验证脚本被储存在区块链交易的payload字段中,所述区块链交易的payload字段还包括标识交易字段和虚拟机版本字段。
4.根据权利要求1所述的方法,其中,所述验证脚本的长度小于50字节。
5.根据权利要求2所述的方法,其中,所述所述数据请求者根据所述验证脚本,通过其本地的虚拟机对所述目标文件进行验证,得到验证结果,包括:
所述数据请求者将所述验证脚本复制并将复制的验证脚本入栈;
所述数据请求者计算所述目标文件的哈希值;
所述数据请求者将计算得到的哈希值与所述验证脚本中的哈希值进行验证;
所述数据请求者响应于确定所述计算得到的的哈希值与所述验证脚本中的哈希值验证成功,验证所述目标文件的签名;
所述数据请求者响应于确定验证所述目标文件的签名成功,完成验证,得到验证结果。
6.一种区块链存证系统,包括:数据拥有者、数据请求者、虚拟机、区块链和第三方平台,其中
数据拥有者被配置为上传目标文件到第三方平台供数据请求者获取,上传所述目标文件的验证脚本到区块链上供数据请求者获取;
数据请求者被配置为从第三方平台上获取目标文件,从区块链上获取所述目标文件的验证脚本;
虚拟机被配置为为数据拥有者的目标文件生成验证脚本,为数据请求者验证从第三方平台获取到的目标文件与从区块链上获取到的验证脚本是否一致;
区块链被配置为能够储存和发送所述验证脚本;
第三方平台被配置为能够储存和发送所述目标文件。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至5任意一项所述的方法。
8.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至5任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110697849.9A CN113569276A (zh) | 2021-06-23 | 2021-06-23 | 区块链存证方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110697849.9A CN113569276A (zh) | 2021-06-23 | 2021-06-23 | 区块链存证方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569276A true CN113569276A (zh) | 2021-10-29 |
Family
ID=78162592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110697849.9A Pending CN113569276A (zh) | 2021-06-23 | 2021-06-23 | 区块链存证方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569276A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472164A (zh) * | 2018-09-13 | 2019-03-15 | 远光软件股份有限公司 | 合同数据的验证方法及其网络和电子设备 |
CN109871709A (zh) * | 2018-12-20 | 2019-06-11 | 顺丰科技有限公司 | 区块链隐私数据存证方法、系统及存储介质 |
CN110321669A (zh) * | 2019-06-04 | 2019-10-11 | 平安科技(深圳)有限公司 | 应用程序重签名的方法、装置、设备及存储介质 |
CN112084164A (zh) * | 2020-09-16 | 2020-12-15 | 厦门市美亚柏科信息安全研究所有限公司 | 一种基于区块链与星际文件系统的数据存证方法及系统 |
CN112699416A (zh) * | 2021-01-04 | 2021-04-23 | 烽火通信科技股份有限公司 | 文件存储方法、文件验证方法及电子设备 |
-
2021
- 2021-06-23 CN CN202110697849.9A patent/CN113569276A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472164A (zh) * | 2018-09-13 | 2019-03-15 | 远光软件股份有限公司 | 合同数据的验证方法及其网络和电子设备 |
CN109871709A (zh) * | 2018-12-20 | 2019-06-11 | 顺丰科技有限公司 | 区块链隐私数据存证方法、系统及存储介质 |
CN110321669A (zh) * | 2019-06-04 | 2019-10-11 | 平安科技(深圳)有限公司 | 应用程序重签名的方法、装置、设备及存储介质 |
CN112084164A (zh) * | 2020-09-16 | 2020-12-15 | 厦门市美亚柏科信息安全研究所有限公司 | 一种基于区块链与星际文件系统的数据存证方法及系统 |
CN112699416A (zh) * | 2021-01-04 | 2021-04-23 | 烽火通信科技股份有限公司 | 文件存储方法、文件验证方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN109981679B (zh) | 在区块链网络中执行事务的方法和装置 | |
JP6940182B2 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
EP3553725A1 (en) | Business data processing method, verification method, apparatus and system | |
CN110334542B (zh) | 一种网络证据保全、网络证据存证校验方法及装置 | |
CN110597916B (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN110189122B (zh) | 为区块链上的数据锚定时间的方法及装置、电子设备 | |
CN110020854B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN110060153B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN110020945B (zh) | 一种基于多个区块链网络的数据读取方法及系统 | |
CN110990820A (zh) | 税盘授权方法、装置、电子设备及存储介质 | |
CN111899097A (zh) | 一种受理区块链存证交易的方法及系统 | |
CN110659905A (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN112037058A (zh) | 数据验证方法、装置及存储介质 | |
CN111444216A (zh) | 一种基于中心化块链式账本的数据块删除方法 | |
CN113220640B (zh) | 一种基于区块链的仲裁方法及装置 | |
CN111464319B (zh) | 一种基于中心化块链式账本的交易存储、签名校验方法 | |
CN111899104B (zh) | 一种业务执行方法及装置 | |
CN108171063A (zh) | 访问安全元件的方法、终端及计算机可读存储介质 | |
US20220114276A1 (en) | Controlling a data network with respect to a use of a distributed database | |
CN114296651B (zh) | 一种用于存储自定义数据信息的方法与设备 | |
CN113868691B (zh) | 一种基于云原生的区块链的授权运行方法及装置 | |
CN113569276A (zh) | 区块链存证方法及相关设备 | |
CN110060152B (zh) | 一种基于多个区块链网络的数据读取方法及系统 | |
CN111444215A (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 |