WO2021227457A1 - Blockchain-based electronic data evidence preservation method and system, and storage medium and terminal - Google Patents

Blockchain-based electronic data evidence preservation method and system, and storage medium and terminal Download PDF

Info

Publication number
WO2021227457A1
WO2021227457A1 PCT/CN2020/133925 CN2020133925W WO2021227457A1 WO 2021227457 A1 WO2021227457 A1 WO 2021227457A1 CN 2020133925 W CN2020133925 W CN 2020133925W WO 2021227457 A1 WO2021227457 A1 WO 2021227457A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
electronic data
server
blockchain
hash value
Prior art date
Application number
PCT/CN2020/133925
Other languages
French (fr)
Chinese (zh)
Inventor
申志国
方红波
丁哲
张文娟
Original Assignee
特斯联科技集团有限公司
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 特斯联科技集团有限公司 filed Critical 特斯联科技集团有限公司
Publication of WO2021227457A1 publication Critical patent/WO2021227457A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention relates to the technical field of blockchain, and in particular to a method, system, storage medium and terminal for electronic data storage based on blockchain.
  • Blockchain technology uses chained data structures to verify and store data. , Use the distributed node consensus algorithm to generate core update data, and use cryptography to ensure the security of data transmission and access.
  • the embodiments of the application provide a blockchain-based electronic data storage method, system, storage medium, and terminal.
  • a brief summary is given below. This summary is not a general comment, nor is it intended to determine key/important elements or describe the scope of protection of these embodiments. Its sole purpose is to present some concepts in a simple form as a prelude to the detailed description that follows.
  • the embodiments of the present application provide a blockchain-based electronic data storage method, which is applied to the server, and the method includes:
  • the method further includes:
  • an embodiment of the present application provides a blockchain-based electronic data storage method, which is applied to a client, and the method includes:
  • the method further includes:
  • the parameter combination is performed to generate a deposit certificate.
  • the embodiments of the present application provide a blockchain-based electronic data storage method, the method includes:
  • the client receives the electronic data storage request and sends the electronic data storage request to the server;
  • the server receives the electronic data storage certificate request, generates a random string and sends it to the client;
  • the client obtains electronic data and splices the electronic data with the random character string to generate spliced data, calculates the hash value of the spliced data, generates a set of electronic data attestation parameters, and sends it to the server;
  • the server receives the deposit certificate parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  • the method further includes:
  • the server According to the successful broadcast of the transaction data, the server generates broadcast success information and sends it to the client;
  • the client receives the broadcast success information, and sends a parameter information download instruction to the server;
  • the server downloads the parameter information of the electronic data and sends it to the client;
  • the client combines the parameter information to generate a deposit certificate; wherein, the deposit certificate is composed of a server-side random string, a hash value of the deposit data, the Merkel tree of the deposit business, and the blockchain number And transaction number.
  • said generating the deposit certificate further includes:
  • a hash algorithm is used to calculate whether the hash value of the Merkel tree root node in the deposit certificate is consistent with the hash value of the Merkel tree root node stored in the blockchain, and the integrity of the Merkel tree is checked ;
  • the data integrity is checked.
  • an embodiment of the present application provides a blockchain-based electronic data storage system, the system includes:
  • the request sending module is used for the client to receive the electronic data storage request and send the electronic data storage request to the server;
  • a random character string generation module used for the server to receive the electronic data storage request, generate a random character string and send it to the client;
  • the parameter sending module is used for the client to obtain electronic data and splice the electronic data with the random character string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the service end;
  • the data broadcasting module is used for the server to receive the certificate parameter set and calculate the root hash value corresponding to the Merkel tree of the certificate parameter set to generate transaction data and broadcast the transaction data to the blockchain .
  • an embodiment of the present application provides a computer storage medium, the computer storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the above method steps.
  • an embodiment of the present application provides a terminal, which may include a processor and a memory; wherein the memory stores a computer program, and the computer program is adapted to be loaded by the processor and execute the above method steps.
  • the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  • Fig. 1 is a schematic flowchart of a blockchain-based electronic data storage method provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of the system architecture of a blockchain-based electronic data storage system provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a Merkel tree composed of deposit information received within a time period provided by an embodiment of the present application
  • FIG. 4 is a schematic diagram of a deposit certificate format of a deposit certificate provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a deposit certificate data structure of a deposit certificate provided by an embodiment of the present application.
  • Fig. 6 is a system schematic diagram of a blockchain-based electronic data storage system provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a terminal provided by an embodiment of the present application.
  • this application uses the existing mature blockchain network to provide data storage services, by using the largest-scale blockchain network in reality (larger scale means more secure), you can make full use of The data tamper-proof ability of the block chain, without the need to build a block chain network by itself, through the organization and summary of the deposit request to reduce the user's deposit cost, and at the same time reduce the risk level of data leakage, the following is an example The examples are described in detail.
  • the blockchain-based electronic data storage method provided by the embodiments of the present application will be described in detail with reference to accompanying drawings 1 to 5.
  • the method can be implemented by relying on a computer program, and can be run on a blockchain-based electronic data storage system based on the von Neumann system.
  • the computer program can be integrated in the application or run as an independent tool application.
  • the client corresponding to the blockchain-based electronic data storage system in the embodiment of the present application may be a user terminal, including but not limited to: personal computers, tablet computers, handheld devices, vehicle-mounted devices, wearable devices, and computing devices Or other processing equipment connected to a wireless modem, etc.
  • User terminals can be called different names in different networks, such as: user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication Devices, user agents or user systems, cellular phones, cordless phones, personal digital assistants (PDAs), terminal devices in 5G networks or future evolution networks, etc.
  • networks such as: user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication Devices, user agents or user systems, cellular phones, cordless phones, personal digital assistants (PDAs), terminal devices in 5G networks or future evolution networks, etc.
  • PDAs personal digital assistants
  • FIG. 1 provides a schematic flowchart of a blockchain-based electronic data storage method for an embodiment of this application.
  • the method of the embodiment of the present application may include the following steps:
  • S101 The client receives the electronic data storage request, and sends the electronic data storage request to the server;
  • the client and the server constitute the electronic data storage system of this scheme.
  • the electronic storage system is shown in Figure 2.
  • the system includes the server and the client (not including the blockchain network).
  • the server is composed of the district
  • the blockchain network is composed of docking services and proxy sub-services.
  • the blockchain network is only used to receive transaction data sent by the server.
  • Electronic data storage is the solidification and preservation of electronic data, so that electronic evidence can meet the requirements of legal admissibility, that is, electronic data can be evidenced.
  • the client of the deposit certificate system is the user terminal, and the server is composed of the blockchain network docking service and one or more proxy sub-services.
  • the blockchain docking service forms a Merkel Tree (Merkel Tree) with the evidence information of user data collected by the proxy sub-service, and then calculates the root hash value of the Merkel Tree.
  • it It is equivalent to a client of the blockchain network, which stores the calculated root hash value in the transaction data and broadcasts the transaction data to the blockchain, but does not participate in the competition for accounting rights (ie, mining).
  • the function of the proxy sub-service is to respond to the client's deposit request and upload the deposit information for a period of time to the blockchain docking service.
  • the entire server implements these functions: summarize the deposit information, calculate a batch of Merkel Tree of deposit information, and promote the successful storage of the deposit business in the blockchain.
  • the client when there is a deposit request, the client initiates a deposit request to the proxy sub-service in the server in a wired or wireless manner.
  • the user first triggers the electronic data storage request through the client (user terminal), and when the request is triggered, the user terminal generates the storage instruction and sends it to the server in a wired or wireless manner.
  • the user Xiaoming when the user Xiaoming wants to perform electronic data storage for a file saved by the user terminal, Xiaoming first selects a specified electronic file on the user terminal, and then triggers an electronic storage request for the electronic file through the user terminal.
  • the user terminal detects the storage After the certificate request is triggered, the user terminal generates an electronic deposit request instruction and sends it to the server in a wired or wireless manner.
  • the server receives the electronic data storage request, generates a random character string, and sends it to the client;
  • the random character string is generated by the server through any combination of characters.
  • the proxy sub-service of the server receives the electronic deposit request, and then obtains multiple characters through an internal preset program for combination, generates a random character string and sends it to the user terminal in a wired or wireless manner.
  • the proxy sub-service of the server when the proxy sub-service of the server receives the electronic data storage request instruction from the user terminal, it first obtains the preset random string generation program, and then according to the preset random string The generating program obtains multiple character strings for random combination, generates a random character string after the combination is completed, and finally sends the generated random character string to the user terminal in a wired or wireless manner.
  • the client obtains electronic data and splices the electronic data with the random character string to generate spliced data, calculates a hash value of the spliced data, generates a set of electronic data attestation parameters, and sends it to the server;
  • the user terminal receives the random character string sent by the server. After receiving the random character string, first obtain the stored electronic data through the string splicing program of the client, and then combine the electronic data with the received random string. The string is spliced, and the spliced data is generated after the splicing is completed. The user terminal calculates the hash value of the spliced data according to the generated spliced data to generate the attestation parameter set of the electronic data, and finally the attestation parameter set of the electronic data is wireless or Send to the server in a wired way.
  • S104 The server receives the deposit certificate parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  • the proxy sub-service of the server receives the deposit information for a period of time, and then uploads the deposit information for a period of time to the blockchain docking service of the server, and the blockchain docking service receives a period of time.
  • the deposit information for a period of time is formed into a leaf node of a Merkel Tree (Merkel Tree), such as the graph As shown in 3, the root hash value of the Merkel Tree is calculated through a preset algorithm, and finally the root hash value of the Merkel Tree is stored in the transaction data and the transaction data is broadcast to the blockchain.
  • this Merkel Tree is used as a part of the deposit certificate and is ultimately saved by the user.
  • the server when the transaction data is broadcast successfully, the server first generates the broadcast success message and sends it to the client, then the client receives the broadcast success message, sends a parameter information download instruction to the server, and the server downloads the parameter information of the electronic data and sends it to The client, and finally the client combines the parameter information to generate a certificate.
  • the deposit certificate is composed of a random string of the server, the hash value of the deposit data, the Merkel tree of the deposit service, the blockchain number and the transaction number, as shown in Figures 4 and 5.
  • a hash algorithm is first used to calculate the random value in the deposit certificate and the hash value of the new data after the data is spliced, and then according to the Merkel tree stored in the blockchain Whether the hash value corresponding to the random value of the deposit certificate is consistent with the hash value of the new data, the data integrity is checked.
  • Figures 4 and 5 show the main parameters of the deposit information and the storage format of the data certificate on the user side.
  • the server returns a random value to the client (the form can be a random string), and the client concatenates the obtained random value and the certificate data in the memory, and calculates the result of the splicing
  • the hash value (users can choose one of the recognized hash algorithms for calculation), and this hash value will be sent to the server.
  • the client downloads the entire Merkel Tree data of this batch of deposit certificates, as well as the block number, transaction number, etc. from the server.
  • the client can use the structure described in Figure 5 to save the deposit certificate as a file.
  • the integrity of the Merkel tree and the integrity of the data need to be checked separately.
  • verifying the integrity of the Merkel tree first find the hash value of the root node of the Merkel Tree that was saved from the transaction information disclosed by the blockchain according to the blockchain parameters in the certificate, and then according to the Merkel tree in the certificate. Tree and the hash algorithm published by the service can check the integrity of Merkel Tree, that is, to determine whether the calculated root hash value is consistent with the one stored in the blockchain. If it is consistent, it means that Merkel Tree has not been tampered with. Finally, the integrity of the data is checked.
  • the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  • FIG. 6 shows a schematic structural diagram of a blockchain-based electronic data storage system provided by an exemplary embodiment of the present invention.
  • the blockchain-based electronic data storage system can be implemented as all or part of the terminal through software, hardware or a combination of both.
  • the system 1 includes a request sending module 10, a random character string generating module 20, a parameter sending module 30, and a data broadcasting module 40.
  • the request sending module 10 is used for the client to receive the electronic data storage request and send the electronic data storage request to the server;
  • the random character string generation module 20 is used for the server to receive the electronic data storage request, generate a random character string and send it to the client;
  • the parameter sending module 30 is used for the client to obtain electronic data and splice the electronic data with the random character string to generate spliced data, calculate the hash value of the spliced data, generate a set of evidence parameters of the electronic data, and send it to Server;
  • the data broadcasting module 40 is used for the server to receive the deposit parameter set and calculate the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the block chain.
  • the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  • the present invention also provides a computer-readable medium on which program instructions are stored, and when the program instructions are executed by a processor, the block chain-based electronic data storage method provided by the foregoing method embodiments is implemented.
  • the present invention also provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the blockchain-based electronic data storage method described in the foregoing method embodiments.
  • the terminal 1000 may include: at least one processor 1001, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002.
  • the communication bus 1002 is used to implement connection and communication between these components.
  • the user interface 1003 may include a display screen (Display) and a camera (Camera), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
  • Display display screen
  • Camera Camera
  • the optional user interface 1003 may also include a standard wired interface and a wireless interface.
  • the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
  • the processor 1001 may include one or more processing cores.
  • the processor 1001 uses various excuses and lines to connect various parts of the entire electronic device 1000, and executes by running or executing instructions, programs, code sets, or instruction sets stored in the memory 1005, and calling data stored in the memory 1005.
  • Various functions and processing data of the electronic device 1000 may adopt at least one of digital signal processing (Digital Signal Processing, DSP), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), and Programmable Logic Array (Programmable Logic Array, PLA).
  • DSP Digital Signal Processing
  • FPGA Field-Programmable Gate Array
  • PLA Programmable Logic Array
  • the processor 1001 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), a modem, and the like.
  • the CPU mainly processes the operating system, user interface, and application programs; the GPU is used to render and draw the content that needs to be displayed on the display screen; the modem is used to process wireless communication. It is understandable that the above-mentioned modem may not be integrated into the processor 1001, but may be implemented by a chip alone.
  • the memory 1005 may include random access memory (Random Access Memory, RAM), and may also include read-only memory (Read-Only Memory).
  • the memory 1005 includes a non-transitory computer-readable storage medium.
  • the memory 1005 may be used to store instructions, programs, codes, code sets or instruction sets.
  • the memory 1005 may include a program storage area and a data storage area, where the program storage area may store instructions for implementing the operating system and instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), Instructions and the like used to implement the above method embodiments; the storage data area can store the data and the like involved in the above method embodiments.
  • the memory 1005 may also be at least one storage system located far away from the foregoing processor 1001. As shown in FIG. 7, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a blockchain-based electronic data storage application program.
  • the user interface 1003 is mainly used to provide an input interface for the user to obtain the data input by the user; and the processor 1001 can be used to call the block chain-based electronic data storage stored in the memory 1005. Approval application, and specifically perform the following operations:
  • the processor 1001 executes the calculation of the hash value corresponding to the spliced attestation data and sends the hash value as attestation information to the server, it also performs the following operations:
  • the parameter combination is performed to generate a deposit certificate.
  • the processor 1001 performs the following operations after performing the parameter combination after downloading the parameter information of the electronic data, and generating the attestation voucher:
  • a hash algorithm is used to calculate whether the hash value of the Merkel tree root node in the deposit certificate is consistent with the hash value of the Merkel tree root node stored in the blockchain, and the integrity of the Merkel tree is checked ;
  • the data integrity is checked.
  • the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  • the program can be stored in a computer-readable storage medium. When executed, it may include the procedures of the above-mentioned method embodiments.
  • the storage medium can be a magnetic disk, an optical disc, a read-only storage memory, or a random storage memory, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed are a blockchain-based electronic data evidence preservation method and system, and a storage medium and a terminal. The method comprises: a client receiving an electronic data evidence preservation request and sending the electronic data evidence preservation request to a server; the server receiving the electronic data evidence preservation request, generating a random character string, and sending the random character string to the client; the client acquiring electronic data, splicing the electronic data with the random character string to generate spliced data, calculating a hash value of the spliced data, generating an evidence preservation parameter set of the electronic data, and sending the evidence preservation parameter set to the server; and the server receiving the evidence preservation parameter set, calculating a root hash value corresponding to a Merkle tree of the evidence preservation parameter set, so as to generate transaction data, and broadcasting the transaction data to a blockchain. Therefore, by using the embodiments of the present application, the blockchain data evidence preservation cost and the risk of data leakage can be reduced.

Description

一种基于区块链的电子数据存证方法、系统、存储介质及终端A blockchain-based electronic data storage method, system, storage medium and terminal 技术领域Technical field
本发明涉及区块链技术领域,特别涉及一种基于区块链的电子数据存证方法、系统、存储介质及终端。The present invention relates to the technical field of blockchain, and in particular to a method, system, storage medium and terminal for electronic data storage based on blockchain.
背景技术Background technique
随着信息现代化的不断发展,信息数据安全成为了每个人关心的问题,在信息数据安全保障中,区块链技术无疑成为了首选,区块链技术是利用链式数据结构来验证与存储数据、利用分布式节点共识算法来生成核更新数据、利用密码学的方式保障数据传输和访问的安全。With the continuous development of information modernization, information and data security has become a concern for everyone. In the protection of information and data security, blockchain technology has undoubtedly become the first choice. Blockchain technology uses chained data structures to verify and store data. , Use the distributed node consensus algorithm to generate core update data, and use cryptography to ensure the security of data transmission and access.
目前在利用区块链技术进行数据存证中,首先需要自建区块链底层平台,或者加入由若干家厂商组建联盟链,在此基础上对用户上传的数据做加密存证,最终用户数据最终被存入到自有“区块链”或联盟链节点中。由于自建区块链网络或多家联合组建联盟链难以从实践上杜绝联盟“作恶”的可能性,同时使用成本较高,不适用于低预算客户和低价值数据存证的场景,当用户将数据上传到平台在传输、存储和调试过程中,同时增加了数据泄露的风险等级。At present, in the use of blockchain technology for data storage and certification, it is first necessary to build the underlying blockchain platform by itself, or join a consortium chain formed by several manufacturers, and on this basis, the data uploaded by users is encrypted for storage. Eventually it will be stored in its own "blockchain" or consortium chain node. Since the self-built blockchain network or multiple alliance chains jointly formed are difficult to prevent the possibility of alliance "doing evil" in practice, and the use cost is high, it is not suitable for low-budget customers and low-value data storage scenarios. Uploading data to the platform in the process of transmission, storage, and debugging also increases the risk of data leakage.
发明内容Summary of the invention
本申请实施例提供了一种基于区块链的电子数据存证方法、系统、存储介质及终端。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。The embodiments of the application provide a blockchain-based electronic data storage method, system, storage medium, and terminal. In order to have a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not a general comment, nor is it intended to determine key/important elements or describe the scope of protection of these embodiments. Its sole purpose is to present some concepts in a simple form as a prelude to the detailed description that follows.
第一方面,本申请实施例提供了一种基于区块链的电子数据存证方法,应用于服务端,所述方法包括:In the first aspect, the embodiments of the present application provide a blockchain-based electronic data storage method, which is applied to the server, and the method includes:
接收来自客户端发送的存证信息进行汇总,生成存证信息集合;Receive the deposit information sent from the client and summarize it to generate the deposit information collection;
将所述存证信息集合中各存证信息组合生成存证信息的默克尔树;Combine each of the deposit information in the deposit information set to generate a Merkel tree of the deposit information;
计算所述存证信息的默克尔树对应的根散列值;Calculating the root hash value corresponding to the Merkel tree of the evidence information;
根据所述根散列值生成交易数据并将所述交易数据广播至区块链。Generate transaction data according to the root hash value and broadcast the transaction data to the blockchain.
可选的,所述根据所述根散列值生成交易数据并将所述交易数据广播至区块链之后,还包括:Optionally, after the generating transaction data according to the root hash value and broadcasting the transaction data to the blockchain, the method further includes:
当所述交易数据成功广播至区块链时,生成广播成功信息并发送至客户端。When the transaction data is successfully broadcast to the blockchain, a broadcast success message is generated and sent to the client.
第二方面,本申请实施例提供了一种基于区块链的电子数据存证方法,应用于客户端,所述方法包括:In the second aspect, an embodiment of the present application provides a blockchain-based electronic data storage method, which is applied to a client, and the method includes:
接收输入的电子数据存证指令,向服务端发送电子数据存证请求并接收来自服务端返回的随机字符串;Receive the input electronic data storage instruction, send the electronic data storage request to the server and receive the random character string returned from the server;
获取电子数据;Access to electronic data;
将所述随机字符串和电子数据拼接后生成拼接存证数据;Splicing the random character string and the electronic data to generate spliced certificate data;
计算所述拼接存证数据对应的散列值并将所述散列值作为存证信息发送至服务端。Calculate the hash value corresponding to the spliced certificate data and send the hash value to the server as the certificate information.
可选的,所述计算所述拼接存证数据对应的散列值并将所述散列值作为存证信息发送至服务端之后,还包括:Optionally, after calculating the hash value corresponding to the spliced attestation data and sending the hash value to the server as attestation information, the method further includes:
接收广播成功信息,发送参数信息下载指令至服务端;Receive broadcast success information, and send parameter information download instructions to the server;
将所述电子数据的参数信息下载后进行参数组合,生成存证凭证。After downloading the parameter information of the electronic data, the parameter combination is performed to generate a deposit certificate.
第三方面,本申请实施例提供了一种基于区块链的电子数据存证方法,所述方法包括:In the third aspect, the embodiments of the present application provide a blockchain-based electronic data storage method, the method includes:
客户端接收电子数据存证请求,向服务端发送电子数据存证请求;The client receives the electronic data storage request and sends the electronic data storage request to the server;
服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端;The server receives the electronic data storage certificate request, generates a random string and sends it to the client;
客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端;The client obtains electronic data and splices the electronic data with the random character string to generate spliced data, calculates the hash value of the spliced data, generates a set of electronic data attestation parameters, and sends it to the server;
服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。The server receives the deposit certificate parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
可选的,所述生成交易数据并将所述交易数据广播至区块链之后,还包括:Optionally, after generating the transaction data and broadcasting the transaction data to the blockchain, the method further includes:
根据所述交易数据广播成功,服务端生成广播成功信息发送至客户端;According to the successful broadcast of the transaction data, the server generates broadcast success information and sends it to the client;
客户端接收所述广播成功信息,发送参数信息下载指令至服务端;The client receives the broadcast success information, and sends a parameter information download instruction to the server;
服务端下载所述电子数据的参数信息下载并发送给客户端;The server downloads the parameter information of the electronic data and sends it to the client;
客户端对所述参数信息进行参数组合,生成存证凭证;其中,所述存证凭证由服务端随机字符串、存证数据散列值、存证业务的默克尔树、区块链编号和交易编号组成。The client combines the parameter information to generate a deposit certificate; wherein, the deposit certificate is composed of a server-side random string, a hash value of the deposit data, the Merkel tree of the deposit business, and the blockchain number And transaction number.
可选的,所述生成存证凭证之后,还包括:Optionally, after said generating the deposit certificate, it further includes:
采用散列算法计算所述存证凭证中的默克尔树根节点的散列值和区块链中保存的默克尔树根节点的散列值是否一致,检验默克尔树的完整性;A hash algorithm is used to calculate whether the hash value of the Merkel tree root node in the deposit certificate is consistent with the hash value of the Merkel tree root node stored in the blockchain, and the integrity of the Merkel tree is checked ;
采用散列算法计算所述存证凭证中的随机值与数据拼接后的新数据的散列值;Using a hash algorithm to calculate the hash value of the new data after the random value in the deposit certificate and the data are spliced;
根据区块链中保存的默克尔树中存证凭证的随机值对应的散列值与所述新数据的散列值是否一致,检验数据完整性。According to whether the hash value corresponding to the random value of the certificate voucher in the Merkel tree stored in the blockchain is consistent with the hash value of the new data, the data integrity is checked.
第四方面,本申请实施例提供了一种基于区块链的电子数据存证系统,所述系统包括:In a fourth aspect, an embodiment of the present application provides a blockchain-based electronic data storage system, the system includes:
请求发送模块,用于客户端接收电子数据存证请求,向服务端发送电子数据存证请求;The request sending module is used for the client to receive the electronic data storage request and send the electronic data storage request to the server;
随机字符串生成模块,用于服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端;A random character string generation module, used for the server to receive the electronic data storage request, generate a random character string and send it to the client;
参数发送模块,用于客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端;The parameter sending module is used for the client to obtain electronic data and splice the electronic data with the random character string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the service end;
数据广播模块,用于服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。The data broadcasting module is used for the server to receive the certificate parameter set and calculate the root hash value corresponding to the Merkel tree of the certificate parameter set to generate transaction data and broadcast the transaction data to the blockchain .
第五方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。In a fifth aspect, an embodiment of the present application provides a computer storage medium, the computer storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the above method steps.
第六方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。In a sixth aspect, an embodiment of the present application provides a terminal, which may include a processor and a memory; wherein the memory stores a computer program, and the computer program is adapted to be loaded by the processor and execute the above method steps.
本申请实施例提供的技术方案可以包括以下有益效果:The technical solutions provided by the embodiments of the present application may include the following beneficial effects:
在本申请实施例中,系统首先通过客户端接收电子数据存证请求,向服务端发送电子数据存证请求,再通过服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端,然后通过客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端,最后通过服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。由于本申请利用现实中已有成熟区块链网络提供数据存证服务,通过使用现实中最大规模的区块链网络(规模大意味着更安全),可以充分利用区块链的数据防篡改能力,在不需要自建区块链网络条件下,通过对存证请求进行组织汇总达到降低用户的存证成本,同时降低了数据泄露的风险等级。In the embodiment of this application, the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain. Since this application uses the existing mature blockchain network to provide data storage services, by using the largest blockchain network in reality (larger scale means more security), you can make full use of the blockchain's data tamper-proof capability , Without the need to build a self-built blockchain network, by organizing and summarizing the deposit request to reduce the user's deposit cost, and at the same time reduce the risk level of data leakage.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present invention.
附图说明Description of the drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。The drawings here are incorporated into the specification and constitute a part of the specification, show embodiments consistent with the present invention, and together with the specification are used to explain the principle of the present invention.
图1是本申请实施例提供的一种基于区块链的电子数据存证方法的流程示意图;Fig. 1 is a schematic flowchart of a blockchain-based electronic data storage method provided by an embodiment of the present application;
图2是本申请实施例提供的一种基于区块链的电子数据存证系统的系统架构示意图;2 is a schematic diagram of the system architecture of a blockchain-based electronic data storage system provided by an embodiment of the present application;
图3是本申请实施例提供的一种时间段内接收到的存证信息构成的默克尔树示意图;FIG. 3 is a schematic diagram of a Merkel tree composed of deposit information received within a time period provided by an embodiment of the present application;
图4是本申请实施例提供的一种存证凭证的存证格式示意图;FIG. 4 is a schematic diagram of a deposit certificate format of a deposit certificate provided by an embodiment of the present application;
图5是本申请实施例提供的一种存证凭证的存证数据结构的结构示意图;FIG. 5 is a schematic structural diagram of a deposit certificate data structure of a deposit certificate provided by an embodiment of the present application;
图6是本申请实施例提供的一种基于区块链的电子数据存证系统的系统示意图;Fig. 6 is a system schematic diagram of a blockchain-based electronic data storage system provided by an embodiment of the present application;
图7是本申请实施例提供的一种终端的结构示意图。FIG. 7 is a schematic structural diagram of a terminal provided by an embodiment of the present application.
具体实施方式Detailed ways
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。The following description and drawings fully illustrate specific embodiments of the present invention to enable those skilled in the art to practice them.
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。It should be clear that the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present invention. Rather, they are merely examples of systems and methods consistent with some aspects of the present invention as detailed in the appended claims.
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。In the description of the present invention, it should be understood that the terms "first", "second", etc. are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance. For those of ordinary skill in the art, the specific meanings of the above-mentioned terms in the present invention can be understood in specific situations. In addition, in the description of the present invention, unless otherwise specified, "plurality" means two or more. "And/or" describes the association relationship of the associated objects, indicating that there can be three types of relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone. The character "/" generally indicates that the associated objects before and after are in an "or" relationship.
到目前为止,对于基于区块链的电子数据存证,首先需要自建区块链底层平台,或者加入由若干家厂商组建联盟链,在此基础上对用户上传的数据做加密存证,最终用户数据最终被存入到自有“区块链”或联盟链节点中。由于自建区块链网络或多家联合组建联盟链难以从实践上杜绝联盟“作恶”的可能性,同时使用成本较高,不适用于低预算客户和低价值数据存证的场景,当用户将数据上传到平台在传输、存储和调试过程中,同时增加了数据泄露的风险等级。为此,本申请提供了一种基于区块链的电子数据存证方法、系统、存储介质及终端,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,由于本申请利用现实中已有成熟区块链网络提供数据存证服务,通过使用现实中最大规模的区块链网络(规模大意味着更安全),可以充分利用区块链的数据防篡改能力,在不需要自建区块链网络条件下,通过对存证请求进行组织汇总达到降低用户的存证成本,同时降低了数据泄露的风险等级,下面采用示例性的实施例进行详细说明。So far, for electronic data storage certificates based on blockchain, it is first necessary to build the underlying blockchain platform by itself, or join a consortium chain formed by several manufacturers, and encrypt the data uploaded by users on this basis. Finally, User data is finally stored in its own "blockchain" or alliance chain nodes. Since the self-built blockchain network or multiple alliance chains jointly formed are difficult to prevent the possibility of alliance "doing evil" in practice, and the use cost is high, it is not suitable for low-budget customers and low-value data storage scenarios. Uploading data to the platform in the process of transmission, storage, and debugging also increases the risk of data leakage. To this end, this application provides a blockchain-based electronic data storage method, system, storage medium, and terminal to solve the above-mentioned related technical problems. In the technical solution provided by this application, since this application uses the existing mature blockchain network to provide data storage services, by using the largest-scale blockchain network in reality (larger scale means more secure), you can make full use of The data tamper-proof ability of the block chain, without the need to build a block chain network by itself, through the organization and summary of the deposit request to reduce the user's deposit cost, and at the same time reduce the risk level of data leakage, the following is an example The examples are described in detail.
下面将结合附图1-附图5,对本申请实施例提供的基于区块链的电子数据存证方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的基于区块链的电子数据存证系统上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的基于区块链的电子数据存证系统对应的客户端可以为用户终端,包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中用户终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户系统、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、5G网络或未来演进网络中的终端设备等。In the following, the blockchain-based electronic data storage method provided by the embodiments of the present application will be described in detail with reference to accompanying drawings 1 to 5. The method can be implemented by relying on a computer program, and can be run on a blockchain-based electronic data storage system based on the von Neumann system. The computer program can be integrated in the application or run as an independent tool application. Among them, the client corresponding to the blockchain-based electronic data storage system in the embodiment of the present application may be a user terminal, including but not limited to: personal computers, tablet computers, handheld devices, vehicle-mounted devices, wearable devices, and computing devices Or other processing equipment connected to a wireless modem, etc. User terminals can be called different names in different networks, such as: user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication Devices, user agents or user systems, cellular phones, cordless phones, personal digital assistants (PDAs), terminal devices in 5G networks or future evolution networks, etc.
请参见图1,为本申请实施例提供了一种基于区块链的电子数据存证方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:Please refer to FIG. 1, which provides a schematic flowchart of a blockchain-based electronic data storage method for an embodiment of this application. As shown in FIG. 1, the method of the embodiment of the present application may include the following steps:
S101,客户端接收电子数据存证请求,向服务端发送电子数据存证请求;S101: The client receives the electronic data storage request, and sends the electronic data storage request to the server;
其中,客户端和服务端构成了本方案的电子数据存证系统,电子存证系统例如图2所示,该系统包括服务端和客户端构成(不包括区块链网络),服务端由区块链网络对接服务和代理子服务构成,区块链网络仅用来接收服务端发送的交易数据。电子数据存证是电子数据进行固化保全,使电子证据能符合法律采信要求,即让电子数据证据化。Among them, the client and the server constitute the electronic data storage system of this scheme. The electronic storage system is shown in Figure 2. The system includes the server and the client (not including the blockchain network). The server is composed of the district The blockchain network is composed of docking services and proxy sub-services. The blockchain network is only used to receive transaction data sent by the server. Electronic data storage is the solidification and preservation of electronic data, so that electronic evidence can meet the requirements of legal admissibility, that is, electronic data can be evidenced.
通常,存证系统的客户端就是用户终端,服务端由区块链网络对接服务以及一个或多个代理子服务组成。其中区块链对接服务,一方面将代理子服务收集的用户数据的存证信息,组成一个默克尔树(Merkel Tree),然后计算出该Merkel Tree的根散列值,另一方面,它相当于区块链网络的一个客户端,将计算出的根散列值存入交易数据并向区块链广播这条交易数据,但不参与竞争记账权(即挖矿)。代理子服务的功能是响应客户端的存证请求,将一段时间内的存证信息上传到区块链对接服务。Usually, the client of the deposit certificate system is the user terminal, and the server is composed of the blockchain network docking service and one or more proxy sub-services. Among them, the blockchain docking service, on the one hand, forms a Merkel Tree (Merkel Tree) with the evidence information of user data collected by the proxy sub-service, and then calculates the root hash value of the Merkel Tree. On the other hand, it It is equivalent to a client of the blockchain network, which stores the calculated root hash value in the transaction data and broadcasts the transaction data to the blockchain, but does not participate in the competition for accounting rights (ie, mining). The function of the proxy sub-service is to respond to the client's deposit request and upload the deposit information for a period of time to the blockchain docking service.
因此整个服务端实现了这些功能:汇总存证信息,计算一批存证信息的Merkel Tree,促成存证业务成功保存到区块链中。Therefore, the entire server implements these functions: summarize the deposit information, calculate a batch of Merkel Tree of deposit information, and promote the successful storage of the deposit business in the blockchain.
在本申请实施例中,当有存证请求时,客户端通过有线或者无线的方式向服务端中的代理子服务发起一个存证申请。In this embodiment of the application, when there is a deposit request, the client initiates a deposit request to the proxy sub-service in the server in a wired or wireless manner.
在一种可能的实现方式中,用户首先通过客户端(用户终端)触发电子数据存证请求,当请求触发后,用户终端生成存证指令通过有线或者无线的方式发送至服务端。In a possible implementation manner, the user first triggers the electronic data storage request through the client (user terminal), and when the request is triggered, the user terminal generates the storage instruction and sends it to the server in a wired or wireless manner.
例如,用户小明想针对用户终端保存的文件进行电子数据存证时,小明首先在用户终端选择指定的电子文件,然后通过用户终端触发针对该电子文件的电子存证请求,当用户终端检测到存证请求触发后,用户终端生成电子存证请求指令通过有线或者无线的方式发送至服务端。For example, when the user Xiaoming wants to perform electronic data storage for a file saved by the user terminal, Xiaoming first selects a specified electronic file on the user terminal, and then triggers an electronic storage request for the electronic file through the user terminal. When the user terminal detects the storage After the certificate request is triggered, the user terminal generates an electronic deposit request instruction and sends it to the server in a wired or wireless manner.
S102,服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端;S102: The server receives the electronic data storage request, generates a random character string, and sends it to the client;
其中,随机字符串是服务端通过任意字符进行组合生成。Among them, the random character string is generated by the server through any combination of characters.
在本申请实施例中,服务端的代理子服务接收电子存证请求,然后通过内部预先设定的程序获取多个字符进行组合,生成随机字符串通过有线或者无线的方式发送至用户终端。In the embodiment of the present application, the proxy sub-service of the server receives the electronic deposit request, and then obtains multiple characters through an internal preset program for combination, generates a random character string and sends it to the user terminal in a wired or wireless manner.
在一种可能的实现方式中,当服务端的代理子服务接收到来自用户终端的电子数据存证请求指令时,首先获取预先设定的随机字符串生成程序,然后根据预先设定的随机字符串生成程序获取多个字符串进行随机组合,组合完成后生成随机字符串,最后将生成的随机字符串通过有线或者无线的方式发送至用户终端。In a possible implementation, when the proxy sub-service of the server receives the electronic data storage request instruction from the user terminal, it first obtains the preset random string generation program, and then according to the preset random string The generating program obtains multiple character strings for random combination, generates a random character string after the combination is completed, and finally sends the generated random character string to the user terminal in a wired or wireless manner.
S103,客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端;S103: The client obtains electronic data and splices the electronic data with the random character string to generate spliced data, calculates a hash value of the spliced data, generates a set of electronic data attestation parameters, and sends it to the server;
在一种可能的实现方式中,用户终端接收服务端发送的随机字符串,当接收到随机字符串之后,通过客户端的字符串拼接程序首先获取保存的电子数据,然后将电子数据和接收的随机字符串进行拼接,拼接完成后生成拼接数据,用户终端再根据生成的拼接数据计算拼接数据的散列值生成该电子数据的存证参数集合,最后将该电子数据的存证参数集合通过无线或者有线的方式发送至服务端。In a possible implementation, the user terminal receives the random character string sent by the server. After receiving the random character string, first obtain the stored electronic data through the string splicing program of the client, and then combine the electronic data with the received random string. The string is spliced, and the spliced data is generated after the splicing is completed. The user terminal calculates the hash value of the spliced data according to the generated spliced data to generate the attestation parameter set of the electronic data, and finally the attestation parameter set of the electronic data is wireless or Send to the server in a wired way.
S104,服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。S104: The server receives the deposit certificate parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
在一种可能的实现方式中,服务端的代理子服务接收一段时间内的存证信息,再将一段时间内的存证信息上传到服务端的区块链对接服务,区块链对接服务接收到一段时间内的存证信息(即服务端生成的随机值和据此计算出的散列值)后,将一段时间内的存证信息组成一个默克尔树(Merkel Tree)的叶子节点,例如图3所示,然后通过预先设定的算法计算出的该Merkel Tree的根散列值,最后将该Merkel Tree的根散列值存入交易数据并向区块链广播这条交易数据。其中这个Merkel Tree作为存证凭证的一部分,最终由用户自己保存。In a possible implementation, the proxy sub-service of the server receives the deposit information for a period of time, and then uploads the deposit information for a period of time to the blockchain docking service of the server, and the blockchain docking service receives a period of time. After the deposit information within a period of time (that is, the random value generated by the server and the hash value calculated accordingly), the deposit information for a period of time is formed into a leaf node of a Merkel Tree (Merkel Tree), such as the graph As shown in 3, the root hash value of the Merkel Tree is calculated through a preset algorithm, and finally the root hash value of the Merkel Tree is stored in the transaction data and the transaction data is broadcast to the blockchain. Among them, this Merkel Tree is used as a part of the deposit certificate and is ultimately saved by the user.
进一步地,当交易数据广播成功后,首先服务端生成广播成功信息发送至客户端,然后客户端接收广播成功信息,发送参数信息下载指令至服务端,服务端下载电子数据的参数信息并发送给客户端,最后客户端对参数信息进行参数组合,生成存证凭证。其中,存证凭证由服务端随机字符串、存证数据散列值、存证业务的默克尔树、区块链编号和交易编号组成例如图4和图5所示。Further, when the transaction data is broadcast successfully, the server first generates the broadcast success message and sends it to the client, then the client receives the broadcast success message, sends a parameter information download instruction to the server, and the server downloads the parameter information of the electronic data and sends it to The client, and finally the client combines the parameter information to generate a certificate. Among them, the deposit certificate is composed of a random string of the server, the hash value of the deposit data, the Merkel tree of the deposit service, the blockchain number and the transaction number, as shown in Figures 4 and 5.
进一步地,当进行数据完整性校验时,首先采用散列算法计算存证凭证中的随机值与数据拼接后的新数据的散列值,然后根据区块链中保存的默克尔树中存证凭证的随机值对应的散列值与所述新数据的散列值是否一致,检验数据完整性。Further, when the data integrity check is performed, a hash algorithm is first used to calculate the random value in the deposit certificate and the hash value of the new data after the data is spliced, and then according to the Merkel tree stored in the blockchain Whether the hash value corresponding to the random value of the deposit certificate is consistent with the hash value of the new data, the data integrity is checked.
具体的,图4和图5展示的是存证信息的主要参数,以及数据凭证在用户端的保存格式。客户端向服务端发起存证请求时,服务端返回给客户端一个随机值(形式可以采用随机字符串),客户端在内存中将获取的随机值和存证数据拼接,对拼接的结果计算散列值(用户可以自己从公认的散列算法中选择一种进行计算),这个散列值将被发往服务端。在服务端成功向区块链存入交易信息后,客户端从服务端下载本批次存证的整个Merkel Tree数据,以及区块编号,交易编号等。客户端可以采用图5中描述的结构,将存证凭证保存成文件。Specifically, Figures 4 and 5 show the main parameters of the deposit information and the storage format of the data certificate on the user side. When the client initiates a certificate deposit request to the server, the server returns a random value to the client (the form can be a random string), and the client concatenates the obtained random value and the certificate data in the memory, and calculates the result of the splicing The hash value (users can choose one of the recognized hash algorithms for calculation), and this hash value will be sent to the server. After the server successfully saves the transaction information to the blockchain, the client downloads the entire Merkel Tree data of this batch of deposit certificates, as well as the block number, transaction number, etc. from the server. The client can use the structure described in Figure 5 to save the deposit certificate as a file.
当需要检验用户数据完整性的时候,需要分别检验默克尔树的完整性和数据的完整性。在检验默克尔树完整性时,首先根据凭证中的区块链参数,从区块链公开的交易信息中,查找当初保存的Merkel Tree的根节点的散列值,然 后根据凭证中的Merkel Tree,以及服务公布的散列算法可以检验Merkel Tree的完整性,也就是判断计算出的根散列值是否和区块链中保存的一致,如果一致,则说明Merkel Tree未被篡改。最后检验数据的完整性,在检验数据完整性时,先采用凭证中记录的用户选择的散列算法,通过选择的散列算法计算凭证中的随机值与数据拼接后的新数据的散列值,如果得到的结果与Merkel Tree中该随机值对应的散列值一致,则可以说明文件完整未被篡改。When the integrity of user data needs to be checked, the integrity of the Merkel tree and the integrity of the data need to be checked separately. When verifying the integrity of the Merkel tree, first find the hash value of the root node of the Merkel Tree that was saved from the transaction information disclosed by the blockchain according to the blockchain parameters in the certificate, and then according to the Merkel tree in the certificate. Tree and the hash algorithm published by the service can check the integrity of Merkel Tree, that is, to determine whether the calculated root hash value is consistent with the one stored in the blockchain. If it is consistent, it means that Merkel Tree has not been tampered with. Finally, the integrity of the data is checked. When checking the integrity of the data, first use the hash algorithm selected by the user recorded in the voucher, and calculate the random value in the voucher and the hash value of the new data after the data is spliced by the selected hash algorithm. If the result obtained is consistent with the hash value corresponding to the random value in Merkel Tree, it can indicate that the file is intact and has not been tampered with.
在本申请实施例中,系统首先通过客户端接收电子数据存证请求,向服务端发送电子数据存证请求,再通过服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端,然后通过客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端,最后通过服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。由于本申请利用现实中已有成熟区块链网络提供数据存证服务,通过使用现实中最大规模的区块链网络(规模大意味着更安全),可以充分利用区块链的数据防篡改能力,在不需要自建区块链网络条件下,通过对存证请求进行组织汇总达到降低用户的存证成本,同时降低了数据泄露的风险等级。In the embodiment of this application, the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain. Since this application uses the existing mature blockchain network to provide data storage services, by using the largest blockchain network in reality (larger scale means more security), you can make full use of the blockchain's data tamper-proof capability , Without the need to build a self-built blockchain network, by organizing and summarizing the deposit request to reduce the user's deposit cost, and at the same time reduce the risk level of data leakage.
下述为本发明系统实施例,可以用于执行本发明方法实施例。对于本发明系统实施例中未披露的细节,请参照本发明方法实施例。The following are system embodiments of the present invention, which can be used to implement the method embodiments of the present invention. For details not disclosed in the system embodiment of the present invention, please refer to the method embodiment of the present invention.
请参见图6,其示出了本发明一个示例性实施例提供的基于区块链的电子数据存证系统的结构示意图。该基于区块链的电子数据存证系统可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该系统1包括请求发送模块10、随机字符串生成模块20、参数发送模块30、数据广播模块40。Please refer to FIG. 6, which shows a schematic structural diagram of a blockchain-based electronic data storage system provided by an exemplary embodiment of the present invention. The blockchain-based electronic data storage system can be implemented as all or part of the terminal through software, hardware or a combination of both. The system 1 includes a request sending module 10, a random character string generating module 20, a parameter sending module 30, and a data broadcasting module 40.
请求发送模块10,用于客户端接收电子数据存证请求,向服务端发送电子数据存证请求;The request sending module 10 is used for the client to receive the electronic data storage request and send the electronic data storage request to the server;
随机字符串生成模块20,用于服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端;The random character string generation module 20 is used for the server to receive the electronic data storage request, generate a random character string and send it to the client;
参数发送模块30,用于客户端获取电子数据并将所述电子数据与所述随机 字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端;The parameter sending module 30 is used for the client to obtain electronic data and splice the electronic data with the random character string to generate spliced data, calculate the hash value of the spliced data, generate a set of evidence parameters of the electronic data, and send it to Server;
数据广播模块40,用于服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。The data broadcasting module 40 is used for the server to receive the deposit parameter set and calculate the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the block chain.
需要说明的是,上述实施例提供的基于区块链的电子数据存证系统在执行基于区块链的电子数据存证方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于区块链的电子数据存证系统与基于区块链的电子数据存证方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。It should be noted that, when the blockchain-based electronic data storage system provided in the above embodiment executes the blockchain-based electronic data storage method, only the division of the above-mentioned functional modules is used for illustration. In actual applications, The above-mentioned function allocation can be completed by different function modules according to needs, that is, the internal structure of the device is divided into different function modules to complete all or part of the functions described above. In addition, the block chain-based electronic data storage system provided in the above-mentioned embodiment and the block chain-based electronic data storage method embodiment belong to the same concept, and the implementation process is detailed in the method embodiment, which will not be repeated here.
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the foregoing embodiments of the present application are only for description, and do not represent the superiority or inferiority of the embodiments.
在本申请实施例中,系统首先通过客户端接收电子数据存证请求,向服务端发送电子数据存证请求,再通过服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端,然后通过客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端,最后通过服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。由于本申请利用现实中已有成熟区块链网络提供数据存证服务,通过使用现实中最大规模的区块链网络(规模大意味着更安全),可以充分利用区块链的数据防篡改能力,在不需要自建区块链网络条件下,通过对存证请求进行组织汇总达到降低用户的存证成本,同时降低了数据泄露的风险等级。In the embodiment of this application, the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain. Since this application uses the existing mature blockchain network to provide data storage services, by using the largest blockchain network in reality (larger scale means more security), you can make full use of the blockchain's data tamper-proof capability , Without the need to build a self-built blockchain network, by organizing and summarizing the deposit request to reduce the user's deposit cost, and at the same time reduce the risk level of data leakage.
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的基于区块链的电子数据存证方法。The present invention also provides a computer-readable medium on which program instructions are stored, and when the program instructions are executed by a processor, the block chain-based electronic data storage method provided by the foregoing method embodiments is implemented.
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时, 使得计算机执行上述各个方法实施例所述的基于区块链的电子数据存证方法。The present invention also provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the blockchain-based electronic data storage method described in the foregoing method embodiments.
请参见图7,为本申请实施例提供了一种终端的结构示意图。如图7所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。Refer to FIG. 7, which provides a schematic structural diagram of a terminal according to an embodiment of the present application. As shown in FIG. 7, the terminal 1000 may include: at least one processor 1001, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002.
其中,通信总线1002用于实现这些组件之间的连接通信。Among them, the communication bus 1002 is used to implement connection and communication between these components.
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。The user interface 1003 may include a display screen (Display) and a camera (Camera), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。Among them, the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。The processor 1001 may include one or more processing cores. The processor 1001 uses various excuses and lines to connect various parts of the entire electronic device 1000, and executes by running or executing instructions, programs, code sets, or instruction sets stored in the memory 1005, and calling data stored in the memory 1005. Various functions and processing data of the electronic device 1000. Optionally, the processor 1001 may adopt at least one of digital signal processing (Digital Signal Processing, DSP), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), and Programmable Logic Array (Programmable Logic Array, PLA). A kind of hardware form to realize. The processor 1001 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), a modem, and the like. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is used to render and draw the content that needs to be displayed on the display screen; the modem is used to process wireless communication. It is understandable that the above-mentioned modem may not be integrated into the processor 1001, but may be implemented by a chip alone.
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方 法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储系统。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的电子数据存证应用程序。The memory 1005 may include random access memory (Random Access Memory, RAM), and may also include read-only memory (Read-Only Memory). Optionally, the memory 1005 includes a non-transitory computer-readable storage medium. The memory 1005 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 1005 may include a program storage area and a data storage area, where the program storage area may store instructions for implementing the operating system and instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), Instructions and the like used to implement the above method embodiments; the storage data area can store the data and the like involved in the above method embodiments. Optionally, the memory 1005 may also be at least one storage system located far away from the foregoing processor 1001. As shown in FIG. 7, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a blockchain-based electronic data storage application program.
在图7所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的基于区块链的电子数据存证应用程序,并具体执行以下操作:In the terminal 1000 shown in FIG. 7, the user interface 1003 is mainly used to provide an input interface for the user to obtain the data input by the user; and the processor 1001 can be used to call the block chain-based electronic data storage stored in the memory 1005. Approval application, and specifically perform the following operations:
接收输入的电子数据存证指令,向服务端发送电子数据存证请求并接收来自服务端返回的随机字符串;Receive the input electronic data storage instruction, send the electronic data storage request to the server and receive the random character string returned from the server;
获取电子数据;Access to electronic data;
将所述随机字符串和电子数据拼接后生成拼接存证数据;Splicing the random character string and the electronic data to generate spliced certificate data;
计算所述拼接存证数据对应的散列值并将所述散列值作为存证信息发送至服务端。Calculate the hash value corresponding to the spliced certificate data and send the hash value to the server as the certificate information.
在一个实施例中,所述处理器1001在执行所述计算所述拼接存证数据对应的散列值并将所述散列值作为存证信息发送至服务端之后时,还执行以下操作:In an embodiment, after the processor 1001 executes the calculation of the hash value corresponding to the spliced attestation data and sends the hash value as attestation information to the server, it also performs the following operations:
接收广播成功信息,发送参数信息下载指令至服务端;Receive broadcast success information, and send parameter information download instructions to the server;
将所述电子数据的参数信息下载后进行参数组合,生成存证凭证。After downloading the parameter information of the electronic data, the parameter combination is performed to generate a deposit certificate.
在一个实施例中,所述处理器1001在执行所述将所述电子数据的参数信息下载后进行参数组合,生成存证凭证之后时,还执行以下操作:In one embodiment, the processor 1001 performs the following operations after performing the parameter combination after downloading the parameter information of the electronic data, and generating the attestation voucher:
采用散列算法计算所述存证凭证中的默克尔树根节点的散列值和区块链中保存的默克尔树根节点的散列值是否一致,检验默克尔树的完整性;A hash algorithm is used to calculate whether the hash value of the Merkel tree root node in the deposit certificate is consistent with the hash value of the Merkel tree root node stored in the blockchain, and the integrity of the Merkel tree is checked ;
采用散列算法计算所述存证凭证中的随机值与数据拼接后的新数据的散列值;Using a hash algorithm to calculate the hash value of the new data after the random value in the deposit certificate and the data are spliced;
根据区块链中保存的默克尔树中存证凭证的随机值对应的散列值与所述新数据的散列值是否一致,检验数据完整性。According to whether the hash value corresponding to the random value of the certificate voucher in the Merkel tree stored in the blockchain is consistent with the hash value of the new data, the data integrity is checked.
在本申请实施例中,系统首先通过客户端接收电子数据存证请求,向服务端发送电子数据存证请求,再通过服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端,然后通过客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数 据的存证参数集合并发送至服务端,最后通过服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。由于本申请利用现实中已有成熟区块链网络提供数据存证服务,通过使用现实中最大规模的区块链网络(规模大意味着更安全),可以充分利用区块链的数据防篡改能力,在不需要自建区块链网络条件下,通过对存证请求进行组织汇总达到降低用户的存证成本,同时降低了数据泄露的风险等级。In the embodiment of this application, the system first receives the electronic data storage request through the client, sends the electronic data storage request to the server, and then receives the electronic data storage request through the server, generates a random string and sends it to the client Then, obtain electronic data through the client and splice the electronic data with the random string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the server, Finally, the server receives the deposit parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain. Since this application uses the existing mature blockchain network to provide data storage services, by using the largest blockchain network in reality (larger scale means more security), you can make full use of the blockchain's data tamper-proof capability , Without the need to build a self-built blockchain network, by organizing and summarizing the deposit request to reduce the user's deposit cost, and at the same time reduce the risk level of data leakage.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When executed, it may include the procedures of the above-mentioned method embodiments. Wherein, the storage medium can be a magnetic disk, an optical disc, a read-only storage memory, or a random storage memory, etc.
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。The above-disclosed are only preferred embodiments of this application, and of course the scope of rights of this application cannot be limited by this. Therefore, equivalent changes made in accordance with the claims of this application still fall within the scope of this application.

Claims (10)

  1. 一种基于区块链的电子数据存证方法,应用于服务端,其特征在于,所述方法包括:A blockchain-based electronic data storage method applied to a server, characterized in that the method includes:
    接收来自客户端发送的存证信息进行汇总,生成存证信息集合;Receive the deposit information sent from the client and summarize it to generate the deposit information collection;
    将所述存证信息集合中各存证信息组合生成存证信息的默克尔树;Combine each of the deposit information in the deposit information set to generate a Merkel tree of the deposit information;
    计算所述存证信息的默克尔树对应的根散列值;Calculating the root hash value corresponding to the Merkel tree of the evidence information;
    根据所述根散列值生成交易数据并将所述交易数据广播至区块链。Generate transaction data according to the root hash value and broadcast the transaction data to the blockchain.
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述根散列值生成交易数据并将所述交易数据广播至区块链之后,还包括:The method according to claim 1, wherein after generating transaction data according to the root hash value and broadcasting the transaction data to a blockchain, the method further comprises:
    当所述交易数据成功广播至区块链时,生成广播成功信息并发送至客户端。When the transaction data is successfully broadcast to the blockchain, a broadcast success message is generated and sent to the client.
  3. 一种基于区块链的电子数据存证方法,应用于客户端,其特征在于,所述方法包括:A blockchain-based electronic data storage method, applied to a client, is characterized in that the method includes:
    接收输入的电子数据存证指令,向服务端发送电子数据存证请求并接收来自服务端返回的随机字符串;Receive the input electronic data storage instruction, send the electronic data storage request to the server and receive the random character string returned from the server;
    获取电子数据;Access to electronic data;
    将所述随机字符串和电子数据拼接后生成拼接存证数据;Splicing the random character string and the electronic data to generate spliced certificate data;
    计算所述拼接存证数据对应的散列值并将所述散列值作为存证信息发送至服务端。Calculate the hash value corresponding to the spliced certificate data and send the hash value to the server as the certificate information.
  4. 根据权利要求3所述的方法,其特征在于,所述计算所述拼接存证数据对应的散列值并将所述散列值作为存证信息发送至服务端之后,还包括:The method according to claim 3, wherein after calculating the hash value corresponding to the spliced attestation data and sending the hash value to the server as attestation information, the method further comprises:
    接收广播成功信息,发送参数信息下载指令至服务端;Receive broadcast success information, and send parameter information download instructions to the server;
    将所述电子数据的参数信息下载后进行参数组合,生成存证凭证。After downloading the parameter information of the electronic data, the parameter combination is performed to generate a deposit certificate.
  5. 一种基于区块链的电子数据存证方法,其特征在于,所述方法包括:A blockchain-based electronic data storage method, characterized in that, the method includes:
    客户端接收电子数据存证请求,向服务端发送电子数据存证请求;The client receives the electronic data storage request and sends the electronic data storage request to the server;
    服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端;The server receives the electronic data storage certificate request, generates a random string and sends it to the client;
    客户端获取电子数据并将所述电子数据与所述随机字符串拼接生成拼接数 据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端;The client obtains electronic data and splices the electronic data with the random character string to generate spliced data, calculates the hash value of the spliced data, generates a set of electronic data attestation parameters, and sends it to the server;
    服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。The server receives the deposit certificate parameter set and calculates the root hash value corresponding to the Merkel tree of the deposit parameter set to generate transaction data and broadcast the transaction data to the blockchain.
  6. 根据权利要求5所述的方法,其特征在于,所述生成交易数据并将所述交易数据广播至区块链之后,还包括:The method according to claim 5, wherein after the generating transaction data and broadcasting the transaction data to the blockchain, the method further comprises:
    根据所述交易数据广播成功,服务端生成广播成功信息发送至客户端;According to the successful broadcast of the transaction data, the server generates broadcast success information and sends it to the client;
    客户端接收所述广播成功信息,发送参数信息下载指令至服务端;The client receives the broadcast success information, and sends a parameter information download instruction to the server;
    服务端下载所述电子数据的参数信息并发送给客户端;The server downloads the parameter information of the electronic data and sends it to the client;
    客户端对所述参数信息进行参数组合,生成存证凭证;其中,所述存证凭证由服务端随机字符串、存证数据散列值、存证业务的默克尔树、区块链编号和交易编号组成。The client combines the parameter information to generate a deposit certificate; wherein, the deposit certificate is composed of a server-side random string, a hash value of the deposit data, the Merkel tree of the deposit business, and the blockchain number And transaction number.
  7. 根据权利要求6所述的方法,其特征在于,所述生成存证凭证之后,还包括:The method according to claim 6, characterized in that, after said generating a deposit certificate, it further comprises:
    采用散列算法计算所述存证凭证中的默克尔树根节点的散列值和区块链中保存的默克尔树根节点的散列值是否一致,检验默克尔树的完整性;A hash algorithm is used to calculate whether the hash value of the Merkel tree root node in the deposit certificate is consistent with the hash value of the Merkel tree root node stored in the blockchain, and the integrity of the Merkel tree is checked ;
    采用散列算法计算所述存证凭证中的随机值与数据拼接后的新数据的散列值;Using a hash algorithm to calculate the hash value of the new data after the random value in the deposit certificate and the data are spliced;
    根据区块链中保存的默克尔树中存证凭证的随机值对应的散列值与所述新数据的散列值是否一致,检验数据完整性。According to whether the hash value corresponding to the random value of the certificate voucher in the Merkel tree stored in the blockchain is consistent with the hash value of the new data, the data integrity is checked.
  8. 一种基于区块链的电子数据存证系统,其特征在于,所述系统包括:A blockchain-based electronic data storage system, characterized in that, the system includes:
    请求发送模块,用于客户端接收电子数据存证请求,向服务端发送电子数据存证请求;The request sending module is used for the client to receive the electronic data storage request and send the electronic data storage request to the server;
    随机字符串生成模块,用于服务端接收所述电子数据存证请求,产生随机字符串并发送至客户端;A random character string generation module, used for the server to receive the electronic data storage request, generate a random character string and send it to the client;
    参数发送模块,用于客户端获取电子数据并将所述电子数据与所述随机字 符串拼接生成拼接数据并计算所述拼接数据的散列值,生成电子数据的存证参数集合并发送至服务端;The parameter sending module is used for the client to obtain electronic data and splice the electronic data with the random character string to generate spliced data, calculate the hash value of the spliced data, generate a set of electronic data attestation parameters, and send it to the service end;
    数据广播模块,用于服务端接收所述存证参数集合并计算出所述存证参数集合的默克尔树对应的根散列值以生成交易数据并将所述交易数据广播至区块链。The data broadcasting module is used for the server to receive the certificate parameter set and calculate the root hash value corresponding to the Merkel tree of the certificate parameter set to generate transaction data and broadcast the transaction data to the blockchain .
  9. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。A computer storage medium, wherein the computer storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the method steps according to any one of claims 1-7.
  10. 一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。A terminal, comprising: a processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the method according to any one of claims 1-7 step.
PCT/CN2020/133925 2020-05-14 2020-12-04 Blockchain-based electronic data evidence preservation method and system, and storage medium and terminal WO2021227457A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010407710.1A CN111711655A (en) 2020-05-14 2020-05-14 Block chain-based electronic data evidence storing method, system, storage medium and terminal
CN202010407710.1 2020-05-14

Publications (1)

Publication Number Publication Date
WO2021227457A1 true WO2021227457A1 (en) 2021-11-18

Family

ID=72537820

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/133925 WO2021227457A1 (en) 2020-05-14 2020-12-04 Blockchain-based electronic data evidence preservation method and system, and storage medium and terminal

Country Status (2)

Country Link
CN (1) CN111711655A (en)
WO (1) WO2021227457A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844654A (en) * 2022-07-06 2022-08-02 湖南密码工程研究中心有限公司 Vehicle networking credible state data proving method
CN118283031A (en) * 2024-06-03 2024-07-02 成都赛力斯科技有限公司 Upgrading method, device, equipment and medium of vehicle-mounted controller

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711655A (en) * 2020-05-14 2020-09-25 特斯联科技集团有限公司 Block chain-based electronic data evidence storing method, system, storage medium and terminal
CN112784312A (en) * 2021-01-13 2021-05-11 杭州溪塔科技有限公司 Method and device for executing multiple deposit certificate transactions in combined mode and electronic equipment
CN113129145B (en) * 2021-03-12 2022-03-22 广州广电仲达数字科技有限公司 Electronic evidence storing and verifying method and device based on block chain
CN116957579A (en) * 2021-04-27 2023-10-27 支付宝(杭州)信息技术有限公司 Data storage method and device based on blockchain
CN113256470A (en) * 2021-05-25 2021-08-13 特斯联科技集团有限公司 Weapon equipment management system and method based on block chain

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975868A (en) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 Block chain-based evidence preservation method and apparatus
CN108897760A (en) * 2018-05-22 2018-11-27 贵阳信息技术研究院(中科院软件所贵阳分部) Electronic evidence chain integrity verification method based on Merkel tree
CN109101572A (en) * 2018-07-17 2018-12-28 何晓行 Card method, apparatus and server, storage medium are deposited based on block chain
US10581591B1 (en) * 2017-10-17 2020-03-03 Matthew Branton Probabilistic secondary token issuance on a blockchain based on burning of a primary token of the blockchain
CN111444542A (en) * 2020-03-30 2020-07-24 陈兴芜 Data processing method, device and storage medium for copyright file
CN111444257A (en) * 2020-02-11 2020-07-24 江苏荣泽信息科技股份有限公司 Block chain-based electronic evidence storage method and system
CN111460394A (en) * 2020-03-30 2020-07-28 陈兴芜 Copyright file verification method and device and computer readable storage medium
CN111711655A (en) * 2020-05-14 2020-09-25 特斯联科技集团有限公司 Block chain-based electronic data evidence storing method, system, storage medium and terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825145B (en) * 2016-03-16 2018-08-31 孙凤鸣 Electronic evidence-collecting method, evidence obtaining server, evidence obtaining intelligent terminal and evidence-obtaining system
CN107682308B (en) * 2017-08-16 2019-12-13 北京航空航天大学 Electronic evidence preservation system based on block chain latent channel technology
CN108898032A (en) * 2018-07-20 2018-11-27 杭州尚尚签网络科技有限公司 A kind of electronic data based on block chain technology deposits the high-efficient treatment method of card
CN109766724A (en) * 2018-12-19 2019-05-17 四川商通实业有限公司 Data evidence storing method based on block chain
SG11202010724PA (en) * 2019-11-06 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd Consenus of shared blockchain data storage based on error correction code

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975868A (en) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 Block chain-based evidence preservation method and apparatus
US10581591B1 (en) * 2017-10-17 2020-03-03 Matthew Branton Probabilistic secondary token issuance on a blockchain based on burning of a primary token of the blockchain
CN108897760A (en) * 2018-05-22 2018-11-27 贵阳信息技术研究院(中科院软件所贵阳分部) Electronic evidence chain integrity verification method based on Merkel tree
CN109101572A (en) * 2018-07-17 2018-12-28 何晓行 Card method, apparatus and server, storage medium are deposited based on block chain
CN111444257A (en) * 2020-02-11 2020-07-24 江苏荣泽信息科技股份有限公司 Block chain-based electronic evidence storage method and system
CN111444542A (en) * 2020-03-30 2020-07-24 陈兴芜 Data processing method, device and storage medium for copyright file
CN111460394A (en) * 2020-03-30 2020-07-28 陈兴芜 Copyright file verification method and device and computer readable storage medium
CN111711655A (en) * 2020-05-14 2020-09-25 特斯联科技集团有限公司 Block chain-based electronic data evidence storing method, system, storage medium and terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI ZHENSHAN: "Research on the Block-Chain based Method of Electronic Certificate Deposit with Integrity", no. 12, 31 December 2019 (2019-12-31), pages 1 - 4, XP055866776, ISSN: 1006-8228, DOI: 10.16644/j.cnki.cn33-1094/tp.2019.12.001 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844654A (en) * 2022-07-06 2022-08-02 湖南密码工程研究中心有限公司 Vehicle networking credible state data proving method
CN114844654B (en) * 2022-07-06 2022-09-06 湖南密码工程研究中心有限公司 Vehicle networking credible state data proving method
CN118283031A (en) * 2024-06-03 2024-07-02 成都赛力斯科技有限公司 Upgrading method, device, equipment and medium of vehicle-mounted controller

Also Published As

Publication number Publication date
CN111711655A (en) 2020-09-25

Similar Documents

Publication Publication Date Title
WO2021227457A1 (en) Blockchain-based electronic data evidence preservation method and system, and storage medium and terminal
TWI672648B (en) Business process method and device, data share system, and storage medium
CN107862216B (en) Privacy protection method, device and storage medium for anonymous cross-link transaction
CN112434818B (en) Model construction method, device, medium and electronic equipment
CN113157648A (en) Block chain based distributed data storage method, device, node and system
CN112418446B (en) Model processing method, system, device, medium and electronic equipment
CN112804354B (en) Method and device for data transmission across chains, computer equipment and storage medium
CN110875850A (en) Firmware upgrading method and system, readable storage medium and terminal equipment
CN113873004B (en) Task execution method and device and distributed computing system
CN110851210A (en) Interface program calling method, device, equipment and storage medium
WO2024146285A1 (en) Blockchain-based data processing method, device, and readable storage medium
CN116700907B (en) Service call demand document storage method, device, electronic equipment and readable medium
US20240160505A1 (en) Method of processing agreement task
CN113472785B (en) Data processing method and device, electronic equipment and readable storage medium
CN112380411B (en) Sensitive word processing method, device, electronic equipment, system and storage medium
CN112257039B (en) Identity attribute adding method and device and electronic equipment
CN114418769A (en) Block chain transaction charging method and device and readable storage medium
JP2023546131A (en) Client-side device bloom filter mapping
CN113485731A (en) Intelligent contract upgrading method and system for block chain
CN113283891A (en) Information processing method and device and electronic equipment
CN111367590A (en) Interrupt event processing method and device
CN111835846B (en) Information updating method and device and electronic equipment
CN118157839B (en) Public data operation authorization method and system based on people chain
CN113452771B (en) Interface calling method, device and system
US20240231969A9 (en) Technology and protocol agnostic key-value pair based user interface and data rendering to support a transaction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20934916

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20934916

Country of ref document: EP

Kind code of ref document: A1