CN111950032A - Block chain-based data storage method, terminal device and storage medium - Google Patents

Block chain-based data storage method, terminal device and storage medium Download PDF

Info

Publication number
CN111950032A
CN111950032A CN202010905942.XA CN202010905942A CN111950032A CN 111950032 A CN111950032 A CN 111950032A CN 202010905942 A CN202010905942 A CN 202010905942A CN 111950032 A CN111950032 A CN 111950032A
Authority
CN
China
Prior art keywords
target data
information
storage
contract
information set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202010905942.XA
Other languages
Chinese (zh)
Inventor
刘国庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Fuwan Information Technology Co ltd
Original Assignee
Ningbo Fuwan Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo Fuwan Information Technology Co ltd filed Critical Ningbo Fuwan Information Technology Co ltd
Priority to CN202010905942.XA priority Critical patent/CN111950032A/en
Publication of CN111950032A publication Critical patent/CN111950032A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

The embodiment of the disclosure discloses a data storage method based on a block chain, a terminal device and a storage medium. One embodiment of the method comprises: receiving target data to be stored and a target data information set sent by a target user terminal; sending the target data to a first terminal; receiving a storage address of target data sent back by a first terminal; generating abstract information and signature information of target data; determining a contract storage information set based on the summary information, the signature information, the storage address and the target data information set; writing the contract storage information set into an intelligent contract; and calling an intelligent contract and writing the target data into the block chain. According to the method, the target data in the object storage process is stored in the first terminal, the storage address, the abstract information and the signature information are stored in the block chain, the trusted certificate is provided for the target data, the user can conveniently carry out evidence storage and evidence obtaining, and the problem of data tampering in an untrusted environment is solved.

Description

Block chain-based data storage method, terminal device and storage medium
Technical Field
The embodiment of the disclosure relates to the field of block chains, in particular to a data storage method based on a block chain.
Background
With the development of information technology, enormous scale data is generated in numerous application fields such as scientific technology and commercial computing, and the amount of data is still rapidly increasing. Object storage is the primary enterprise-level system storage method. Due to the characteristics of decentralized block chain technology, transparent process disclosure, non-falsification and the like, the method has great application value in the field of object storage and is widely concerned by academia and industry.
However, the following technical problems still exist in the data storage based on the block chain:
first, there are still potential security risks such as forgery and tampering based on the data stored in the blockchain, and it is difficult to form a trusted deposit certificate. Conventional key-based encryption methods run the risk of being compromised by a number of malicious attacks in a decentralized blockchain environment.
Secondly, the process of file access between different enterprise-level organizations based on block chains is tedious and time-consuming, and the intelligent contracts cannot provide efficient endorsements. Under the condition that a large number of endorsement nodes exist, the development of the process automation of a business system is greatly hindered by the random and unordered verification process of the endorsement node information.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Some embodiments of the present disclosure propose a block chain based data storage method, a terminal device and a storage medium to solve one or more of the technical problems mentioned in the above background section.
In a first aspect, an embodiment of the present disclosure provides a data storage method based on a block chain, where the method includes: receiving target data to be stored and a target data information set sent by a target user terminal; sending target data to a first terminal, wherein the first terminal stores the target data; receiving a storage address of target data sent back by a first terminal; generating abstract information and signature information of target data; determining a contract storage information set based on the summary information, the signature information, the storage address and the target data information set; writing the contract storage information set into an intelligent contract; and calling an intelligent contract and writing the target data into the block chain.
In some embodiments, the target data information set includes a target user identification, a target data file name, a target data creation time, an encryption private key, and an encryption public key.
In some embodiments, generating the digest information and the signature information of the target data includes: filling target data to generate process data; randomly generating an initial value set; generating abstract information of the target data by utilizing a hash function based on the initial value set and the process data; inputting the target data into a hash function to generate a hash value of the target data; points in the elliptic curve are determined using the following equation:
(x,y)=k*G,
wherein (x, y) represents a point in the elliptic curve, x represents an abscissa value of a midpoint of the elliptic curve, y represents an ordinate value of the midpoint of the elliptic curve, G represents a point on the elliptic curve, and the elliptic curve is y2=x3+ ax + b, a and b are parameters of an elliptic curve respectively, a and b are any integers, and k is any integer; determining a first tag value using:
r=xmodn,
wherein x represents the abscissa value of a point in the elliptic curve, mod is modulo processing, d is an encryption private key, n is an encryption public key, and r represents a first label value; determining a second label value using:
s=k-1(z+rd)modn,
wherein mod is modulo processing, d is an encryption private key, n is an encryption public key, r represents a first tag value, z represents a value in the highest second number of digits of the hash value of the target data, k is an arbitrary integer, and s is a second tag value; a set of the first tag value and the second tag value is determined as signature information.
In some embodiments, the contract storage information set includes a target user identification, a target data file name, a target data creation time, summary information, a storage address, signature information.
In some embodiments, the blockchain includes an endorsement node, a sort node, and a commit node.
In some embodiments, invoking the smart contract to write the target data into the blockchain includes: generating a uplink proposal, wherein the uplink proposal comprises a contract storage information set, an intelligent contract identifier, a contract method and contract parameters; sending the uplink proposal to a first number of endorsement nodes, wherein the first number of endorsement nodes generate a first number of endorsement information; receiving a first number of endorsement information sent back by a first number of endorsement nodes; generating an endorsement information set in response to the first number of endorsement information satisfying the contract method requirements; sending the endorsement information set to a sequencing node, wherein the sequencing node generates an uplink information set; receiving an uplink information set sent back by the sequencing node; and sending the uplink information set to the submitting node, wherein the submitting node distributes the uplink information set in the block chain.
In a second aspect, an embodiment of the present disclosure provides a terminal device, where the terminal device includes: one or more processors; a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the method as described in any implementation manner of the first aspect.
In a third aspect, the disclosed embodiments provide a computer readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
The embodiment of the disclosure provides a data storage method based on a block chain, a terminal device and a storage medium. One embodiment of the method comprises: receiving target data to be stored and a target data information set sent by a target user terminal; sending the target data to a first terminal; receiving a storage address of target data sent back by a first terminal; generating abstract information and signature information of target data; determining a contract storage information set based on the summary information, the signature information, the storage address and the target data information set; writing the contract storage information set into an intelligent contract; and calling an intelligent contract and writing the target data into the block chain.
One of the above-described various embodiments of the present disclosure has the following advantageous effects: and sending the target data to a first terminal for storage, and generating summary information and signature information of the target data. And forming a contract storage information set based on an original target data information set of the target data and a storage address of the target data at the first terminal, and adding the summary information and the signature information. The contract storage information set includes information related to the target data, storage information, signature information, and the like. And writing the contract storage information set into the intelligent contract and then chaining the intelligent contract to realize the shared storage of the target data. According to the embodiment of the disclosure, the target data in the object storage process is stored in the first terminal, the storage address, the abstract information and the signature information are stored in the block chain, a trusted certificate is provided for the target data, a user can conveniently perform evidence storage and evidence obtaining, and the problem of data tampering in an untrusted environment is solved.
Drawings
Other features, objects and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an architectural diagram of an exemplary system in which some embodiments of the present disclosure may be applied;
FIG. 2 is a flow diagram of some embodiments of a blockchain based data storage method according to the present disclosure;
FIG. 3 is a schematic diagram of one application scenario of a blockchain-based data storage method according to some embodiments of the present disclosure;
FIG. 4 is a schematic block diagram of a computer system suitable for use as a server for implementing some embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the blockchain-based data storage method of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have installed thereon various communication client applications, such as a data storage application, a text analysis application, a natural language processing application, and the like.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various terminal devices having a display screen, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the above-listed terminal apparatuses. Which may be implemented as multiple software or software modules (e.g., to provide targeted data input, etc.), or may be implemented as a single software or software module. And is not particularly limited herein.
The server 105 may be a server that provides various services, such as a server that stores target data input by the terminal apparatuses 101, 102, 103, and the like. The server may perform processing such as encoding and storing on the received target data, and feed back a processing result (e.g., encrypted data) to the terminal device.
It should be noted that the data storage method based on the block chain provided by the embodiment of the present disclosure may be executed by the server 105, or may be executed by the terminal device.
It should be noted that the local area of the server 105 may also directly store data, and the server 105 may directly extract the local data and obtain encrypted data through encryption processing, in this case, the exemplary system architecture 100 may not include the terminal devices 101, 102, 103 and the network 104.
It should be noted that the terminal apparatuses 101, 102, and 103 may also have a data storage application installed therein, and in this case, the encryption processing method may also be executed by the terminal apparatuses 101, 102, and 103. At this point, the exemplary system architecture 100 may also not include the server 105 and the network 104.
The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server is software, it may be implemented as a plurality of software or software modules (for example, for providing storage services), or as a single software or software module. And is not particularly limited herein.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, a flow 200 of some embodiments of a blockchain-based data storage method according to the present disclosure is shown. The data storage method based on the block chain comprises the following steps:
step 201, receiving target data and a target data information set to be stored, which are sent by a target user terminal.
In some embodiments, an executing body (e.g., the terminal device shown in fig. 1) of the blockchain-based data storage method may directly obtain target data and a target data information set to be stored, which are sent by a target user. Alternatively, the target user refers to a user who provides target data to be stored. The target data information set comprises a target user identifier, a target data file name, target data creating time, an encryption private key and an encryption public key. In particular, the target data may be data generated in an enterprise-level application system.
Step 202, sending the target data to the first terminal.
In some embodiments, the executing entity sends the target data to the first terminal. Wherein the first terminal stores the target data. The first terminal may be a storage terminal, the primary purpose of which is to store data.
Step 203, receiving the storage address of the target data sent back by the first terminal.
In some embodiments, the execution subject receives a storage address of the target data sent back by the first terminal. Specifically, the memory address is an address of the memory cell. The storage unit may be a server, a terminal device, or the like having functions of storing data and reading and writing data. An 8-bit binary system may be used as a memory cell, i.e., a byte. Each memory cell has an address, is an integer code, and can be represented as a binary integer. The binary integer may be a memory address.
Step 204, generating the summary information and the signature information of the target data.
In some embodiments, the execution subject generates summary information of the target data. Optionally, the target data is filled in, and process data is generated. Specifically, the input target data is padded so that the data length satisfies a multiple of 512 bits. First, a "1" is added after the last bit of the target data, followed by a "0" being complemented until the length satisfies 448 which is the result of modulo 512. Next, the length value of the target data is continued to be filled as the next 64 bits. Specifically, the target data length after the padding is a multiple of 512 bits. And taking the filled data as process data.
Optionally, an initial value set is randomly generated, where the initial value set includes a first number of initial values. Specifically, the first number may be 5. The initial set of values may be { A, B, C, D, E }. Where, a is "0 x 67452301", B is "0 xefclab 89", C is "0 x98 BADCFE", D is "0 x 10325476", and E is "0 xC3D2E1F 0".
Optionally, a hash function is used to generate a digest value of the target data based on the initial value set and the process data. In particular, the hash function may be a random function. The process data is divided into data blocks with the length of 512 bits, each data block and an initial value in a randomly selected initial value set are input into a random function, sub summary information of the data block is generated, and summary information of target data is obtained.
In an alternative implementation of some embodiments, the execution body generates signature information of the target data. And inputting the target data into a hash function to generate a hash value of the target data.
Optionally, the executing entity determines the point in the elliptic curve by using the following formula:
(x,y)=k*G,
wherein, (x, y) represents a point in the elliptic curve, x represents an abscissa value of the midpoint of the elliptic curve, and y represents an ordinate value of the midpoint of the elliptic curve. G represents a point on an elliptic curve, the elliptic curve being y2=x3+ ax + b. a and b are parameters of the elliptic curve respectively, a and b are any integers, and k is any integer.
Determining a first tag value using:
r=xmodn,
where x represents the abscissa value of a point in the elliptic curve and mod is the modulo process. d is the encryption private key, n is the encryption public key, and r represents the first tag value.
Determining a second label value using:
s=k-1(z+rd)modn,
wherein mod is modulo processing, d is an encryption private key, n is an encryption public key, and r represents a first tag value. z denotes a value in the highest second number of digits of the hash value of the target data, k is an arbitrary integer, s is a second tag value, specifically, the hash value of the target data may be "1 ABC 123", the second number may be "3", and the value in the highest second number of digits of the hash value of the target data is "1 AB". Z may be "1 AB". The set of the first tag value and the second tag value is determined as signature information of the target data.
The execution subject generates the summary information and the signature information of the target data, which is an invention point of the embodiment of the disclosure, thereby solving the technical problem mentioned in the background art, that is, the summary information and the signature information provide a trusted certificate for the target data, so that a user can conveniently perform evidence collection and evidence collection, and the problem of data tampering in an untrusted environment based on a block chain is solved. The summary information of the target data is used for representing key information of the target data, and main information stored in the target data can be judged under the condition that the target data is not exposed according to the summary information. The signature information is encrypted information generated based on the target data. The first tag value is generated using an elliptic curve method and the second tag value is generated using a conventional encryption method. The set of the first tag value and the second tag value is determined as signature information of the target data. The encryption method improves the security of the encrypted data in the non-trusted environment based on the block chain.
Step 205, based on the summary information, the signature information, the storage address and the target data information set, a contract storage information set is determined.
In some embodiments, the execution agent determines the contract storage information set based on the digest information, the signature information, the storage address, and the target data information set. Optionally, the contract storage information set includes a target user identifier, a target data file name, a target data creation time, summary information, a storage address, and signature information.
At step 206, the contract storage information set is written into the intelligent contract.
In some embodiments, the execution principal writes the set of contract storage information into an intelligent contract. An intelligent contract is a set of commitments defined in digital form. The intelligent contract can control data in the block chain and appoint the rights and obligations of each participating terminal in the block chain. The smart contracts may be automatically executed by the computer system. In particular, the intelligent contract includes intelligent contract code, instances, and execution data. The intelligent contract code may be the source code of the intelligent contract. The intelligent contract code may be a piece of code that the computer system is capable of executing. An instance may be an actual service in a blockchain running an intelligent contract. The execution data may be data that remains in the blockchain after execution of an instance.
Step 207, calling the intelligent contract, and writing the target data into the block chain.
In some embodiments, the execution agent invokes an intelligent contract to write target data into the blockchain. Optionally, the blockchain includes an endorsement node, a sort node, and a commit node. Wherein, the endorsement node is used for providing endorsements for the transactions of other nodes. The endorsement node is responsible for verifying the transactions in the block chain, endorses each transaction according to an endorsement strategy and submits the transactions to the sequencing node. Only transactions meeting the endorsement policy can be finally written into the account book, and meanwhile, the endorsement node is also responsible for maintaining the state of the account book. The sequencing node is used for sequencing all the received transactions. The commit node is used to commit the results into the blockchain.
Optionally, the execution entity generates a uplink proposal, where the uplink proposal includes a contract storage information set, an intelligent contract identifier, a contract method, and contract parameters. The uplink proposal may be a proposal, scheme to submit a blockchain discussion decision. Specifically, the uplink proposal may be a scheme for storing the target data in the first terminal. The uplink proposal may call a memory function in the intelligent contract.
An uplink proposal is sent into a first number of endorsement nodes. Wherein the first number of endorsement nodes generates the first number of endorsement information. Receiving a first number of endorsement information sent back by a first number of endorsement nodes. And forming credible data evidence and access authority information through the endorsement information of the first number sent back by the endorsement nodes of the first number.
Generating an endorsement information set in response to the first number of endorsement information satisfying a contract method requirement. Wherein the endorsement information set comprises a first number of endorsement information. And sending the endorsement information set to a sequencing node. The sequencing node generates an uplink information set according to the endorsement information set collected in a certain time period. Receiving the uplink information set sent back by the sequencing node.
Optionally, the uplink information set is sent to the submitting node. Wherein the submitting node publishes the set of uplink information in a blockchain. And the uplink information set is released in the block chain, and the contract storage information set corresponding to the target data is written into an account book of the block chain, so that shared data storage based on the block chain is realized. Endorsement nodes in the block chain endorse the operation, so that all participants cannot deny the data on the chain, and the data on the chain is credible. Therefore, reliable data storage based on the block chain is realized.
The execution main body generates uplink information by using the endorsement nodes and the sequencing nodes, and delivers the uplink information to the submitting node to be issued in the block chain as an invention point of the embodiment of the disclosure, thereby solving the second technical problem mentioned in the background technology, namely, forming the credible data evidence and the access authority information by the endorsement information of the first number sent back by the endorsement nodes of the first number. Under the condition that a large number of endorsement nodes exist, the random and unordered verification process of endorsement node information can be avoided, the endorsement nodes are sequenced by the sequencing nodes and then efficiently and sequentially executed, the file access flow based on the block chain is simplified, and the file access efficiency is improved.
One embodiment presented in fig. 2 has the following beneficial effects: and sending the target data to a first terminal for storage, and generating summary information and signature information of the target data. And forming a contract storage information set based on an original target data information set of the target data and a storage address of the target data at the first terminal, and adding the summary information and the signature information. The contract storage information set includes target data information, storage information, signature information, and the like. And writing the contract storage information set into the intelligent contract and then chaining the intelligent contract to realize the shared storage of the target data. The embodiment of the disclosure stores the target data in the object storage process in the first terminal. The summary information of the target data is generated to represent key information of the target data, and main information stored in the target data can be judged under the condition that the target data is not exposed according to the summary information. Signature information of the target data is generated as encryption information. The first tag value is generated using an elliptic curve method and the second tag value is generated using a conventional encryption method. The set of the first tag value and the second tag value is determined as signature information of the target data. The encryption method improves the security of the encrypted data in the non-trusted environment based on the block chain. The storage address, the abstract information and the signature information are stored in the block chain, so that a trusted certificate is provided for target data, a user can conveniently carry out evidence storage and evidence obtaining, and the problem of data tampering in an untrusted environment is solved. And forming credible data evidence and access authority information through the endorsement information of the first number sent back by the endorsement nodes of the first number. Under the condition that a large number of endorsement nodes exist, the random and unordered verification process of endorsement node information can be avoided, the endorsement nodes are sequenced by the sequencing nodes and then efficiently and sequentially executed, the file access flow based on the block chain is simplified, and the file access efficiency is improved.
With continued reference to fig. 3, a schematic diagram of one application scenario of a blockchain-based data storage method according to the present disclosure is shown.
In the application scenario of fig. 3, a user sends target data to be stored and a set of target data information 301 to a server. After receiving the target data, the server sends the target data to the first terminal 302. The first terminal stores the target data 303. The memory address 304 of the target data sent back by the first terminal is received. The server generates digest information and signature information for the target data and ultimately determines a contract store information set 305 for the target data. The server writes a set of contract storage information to intelligent contract 306. And calling an intelligent contract, writing the target data into the block chain, and realizing data storage 307 based on the block chain.
According to the data storage method based on the block chain, the target data are stored in the first terminal, and a contract storage information set is generated and written into the block chain. The decentralized storage of the target data is realized based on the block chain, and the reliable storage of the data is realized by utilizing the endorsement characteristics of the multi-endorsement nodes of the block chain.
Referring now to FIG. 4, a block diagram of a computer system 400 suitable for use in implementing a server of an embodiment of the present disclosure is shown. The server shown in fig. 4 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present disclosure.
As shown in fig. 4, the computer system 400 includes a Central Processing Unit (CPU)401 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 402 or a program loaded from a storage section 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the system 400 are also stored. The CPU 401, ROM 402, and RAM 403 are connected to each other via a bus 404. An Input/Output (I/O) interface 405 is also connected to the bus 404.
The following components are connected to the I/O interface 405: a storage section 406 including a hard disk and the like; and a communication section 407 including a Network interface card such as a LAN (Local Area Network) card, a modem, or the like. The communication section 407 performs communication processing via a network such as the internet. A drive 408 is also connected to the I/O interface 405 as needed. A removable medium 409 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted as necessary on the drive 408, so that a computer program read out therefrom is mounted as necessary in the storage section 406.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 407 and/or installed from the removable medium 409. The above-described functions defined in the method of the present disclosure are performed when the computer program is executed by a Central Processing Unit (CPU) 401. It should be noted that the computer readable medium in the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the C language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is possible without departing from the inventive concept as defined above. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (7)

1. A data storage method based on a block chain comprises the following steps:
receiving target data to be stored and a target data information set sent by a target user terminal;
sending the target data to a first terminal, wherein the first terminal stores the target data;
receiving a storage address of the target data sent back by the first terminal;
generating abstract information and signature information of the target data;
determining a contract storage information set based on the summary information, the signature information, the storage address and the target data information set;
writing the contract storage information set into an intelligent contract;
and calling the intelligent contract and writing the target data into a block chain.
2. The method of claim 1, wherein the set of target data information includes a target user identification, a target data file name, a target data creation time, an encryption private key, and an encryption public key.
3. The method of claim 2, wherein the contract storage information set includes the target user identification, the target data file name, the target data creation time, the summary information, the storage address, the signature information.
4. The method of claim 3, wherein the blockchain includes an endorsement node, a sort node, and a commit node.
5. The method of claim 4, wherein said invoking the smart contract to write the target data into a blockchain comprises:
generating a uplink proposal, wherein the uplink proposal comprises the contract storage information set, the intelligent contract identification, a contract method and contract parameters;
sending the uplink proposal to a first number of endorsement nodes, wherein the first number of endorsement nodes generate a first number of endorsement information;
receiving a first number of endorsement information sent back by the first number of endorsement nodes;
generating an endorsement information set in response to the first number of endorsement information satisfying a contract method requirement;
sending the endorsement information set to a sequencing node, wherein the sequencing node generates an uplink information set;
receiving an uplink information set sent back by the sequencing node;
and sending the uplink information set to a submitting node, wherein the submitting node distributes the uplink information set in a block chain.
6. A first terminal device comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
7. A computer-readable storage medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1-5.
CN202010905942.XA 2020-09-01 2020-09-01 Block chain-based data storage method, terminal device and storage medium Withdrawn CN111950032A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010905942.XA CN111950032A (en) 2020-09-01 2020-09-01 Block chain-based data storage method, terminal device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010905942.XA CN111950032A (en) 2020-09-01 2020-09-01 Block chain-based data storage method, terminal device and storage medium

Publications (1)

Publication Number Publication Date
CN111950032A true CN111950032A (en) 2020-11-17

Family

ID=73367852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010905942.XA Withdrawn CN111950032A (en) 2020-09-01 2020-09-01 Block chain-based data storage method, terminal device and storage medium

Country Status (1)

Country Link
CN (1) CN111950032A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565448A (en) * 2020-12-16 2021-03-26 宁波云麟信息科技有限公司 Block chain-based electronic evidence storage node selection method and electronic equipment
CN112925853A (en) * 2021-03-08 2021-06-08 宁波金狮科技有限公司 Trusted data exchange method and device based on block chain, terminal equipment and medium
CN113721833A (en) * 2020-11-26 2021-11-30 北京沃东天骏信息技术有限公司 Method for storing information, method, device, equipment and medium for acquiring information
CN115510504A (en) * 2022-10-20 2022-12-23 牛津(海南)区块链研究院有限公司 Data sharing method, system, device and medium based on ring signature and commitment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721833A (en) * 2020-11-26 2021-11-30 北京沃东天骏信息技术有限公司 Method for storing information, method, device, equipment and medium for acquiring information
CN112565448A (en) * 2020-12-16 2021-03-26 宁波云麟信息科技有限公司 Block chain-based electronic evidence storage node selection method and electronic equipment
CN112925853A (en) * 2021-03-08 2021-06-08 宁波金狮科技有限公司 Trusted data exchange method and device based on block chain, terminal equipment and medium
CN112925853B (en) * 2021-03-08 2022-08-02 山东审核通信息科技有限公司 Trusted data exchange method and device based on block chain, terminal equipment and medium
CN115510504A (en) * 2022-10-20 2022-12-23 牛津(海南)区块链研究院有限公司 Data sharing method, system, device and medium based on ring signature and commitment
CN115510504B (en) * 2022-10-20 2023-06-16 牛津(海南)区块链研究院有限公司 Data sharing method, system, equipment and medium based on ring signature and promise

Similar Documents

Publication Publication Date Title
RU2731417C1 (en) Parallel execution of transactions in network of blockchains based on white lists of smart contracts
JP6892513B2 (en) Off-chain smart contract service based on a reliable execution environment
RU2738826C1 (en) Concurrent execution of transactions in a network of blockchains
CN111566649A (en) Verifying integrity of data stored in a federation blockchain using a public side chain
CN111950032A (en) Block chain-based data storage method, terminal device and storage medium
RU2744827C2 (en) White lists of smart contracts
CN111295650A (en) Performing mapping iterations in a blockchain based system
CN112182612A (en) Random number generation method and device, terminal equipment and storage medium
CN111950030A (en) Data sharing storage method based on block chain, terminal equipment and storage medium
CN111008863A (en) Lottery drawing method and system based on block chain
CN111047314A (en) Financial data processing method and system based on block chain
CN115840787B (en) Block chain-based supply chain data sharing method, device, equipment and medium
CN112541775A (en) Transaction tracing method based on block chain, electronic device and computer storage medium
CN115203749A (en) Data transaction method and system based on block chain
CN112182109A (en) Distributed data coding storage method based on block chain and electronic equipment
CN113206746B (en) Digital certificate management method and device
US20230316241A1 (en) Partitioning a request into transactions for a blockchain
CN111949737A (en) Block chain-based data integrity verification method, terminal device and storage medium
CN111050326A (en) Short message verification method, device, equipment and medium based on block chain
CN115085934A (en) Contract management method based on block chain and combined key and related equipment
CN113626848A (en) Sample data generation method and device, electronic equipment and computer readable medium
CN111949738A (en) Block chain-based data storage deduplication method, terminal device and storage medium
CN115375303A (en) Calling method and device of intelligent contract, computer readable medium and electronic equipment
CN112181308A (en) Block chain based distributed data storage method and electronic equipment
CN112712428A (en) Block chain-based electronic certificate storage method and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201117