CN113067822A - Block chain-based information processing method, apparatus, device, medium, and product - Google Patents

Block chain-based information processing method, apparatus, device, medium, and product Download PDF

Info

Publication number
CN113067822A
CN113067822A CN202110299798.4A CN202110299798A CN113067822A CN 113067822 A CN113067822 A CN 113067822A CN 202110299798 A CN202110299798 A CN 202110299798A CN 113067822 A CN113067822 A CN 113067822A
Authority
CN
China
Prior art keywords
message
information
intelligent contract
data
computing
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.)
Granted
Application number
CN202110299798.4A
Other languages
Chinese (zh)
Other versions
CN113067822B (en
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110299798.4A priority Critical patent/CN113067822B/en
Publication of CN113067822A publication Critical patent/CN113067822A/en
Application granted granted Critical
Publication of CN113067822B publication Critical patent/CN113067822B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The disclosure provides an information processing method based on a block chain, which can be used in the technical field of finance and the technical field of block chains. The information processing method is applied to a blockchain network comprising a plurality of computing nodes which are communicated with each other, and comprises the following steps: receiving a message; analyzing the message to obtain the message type of the message; determining an intelligent contract matched with the message type and an intelligent contract engine matched with the message type; and operating an intelligent contract based on an intelligent contract engine to process the message, wherein the message type comprises any one of the following types: secure multi-party computation messages, node relation messages, pull mechanism messages, status messages, auxiliary messages. The present disclosure also provides an information processing apparatus, device, medium, and product based on the blockchain.

Description

Block chain-based information processing method, apparatus, device, medium, and product
Technical Field
The present disclosure relates to the field of computer technologies, particularly to the field of financial technologies and the field of blockchain technologies, and more particularly, to a method, an apparatus, a device, a medium, and a product for processing information based on a blockchain.
Background
In trusted computing, blockchains and secure multiparty computing are two important technical branches. At the data protection level, the blockchain ensures the authenticity of data, prevents the data from being maliciously tampered, and Secure Multi-Party computing (MPC) can ensure that participants perform Computation in an environment without mutual trust and do not reveal their respective information.
In the related art, the result obtained by computing using the secure multi-party technology is usually stored in the blockchain, so that the blockchain and the secure multi-party computing are combined to ensure that the computation result stored in the blockchain is secure and credible.
Disclosure of Invention
In view of the foregoing, the present disclosure provides block chain based information processing methods, apparatuses, devices, media and products for improving information security and reliability in a process flow.
According to a first aspect of the present disclosure, there is provided a block chain-based information processing method applied in a block chain network including a plurality of computing nodes communicating with each other. The method comprises the following steps: receiving a message; analyzing the message to obtain the message type of the message; determining an intelligent contract matched with the message type and an intelligent contract engine matched with the message type; and running an intelligent contract based on an intelligent contract engine to process the message, wherein the message type security multi-party calculates the message and any one of the following message types: node relation message, pull mechanism message, status message, auxiliary message.
According to the embodiment of the disclosure, in the case that the message type is a secure multiparty computation message, the message includes information of participants, and the block chain-based information processing method further includes, before running an intelligent contract based on an intelligent contract engine: determining a node aiming at a participant in a plurality of computing nodes as a participant node according to the participant information; and constructing a short connection with the participating node by invoking the secure multi-party computing port with an intelligent contract engine matched with the secure multi-party computing message.
According to the embodiment of the present disclosure, the message further includes storage information of data to be calculated; the operation of the intelligent contract based on the intelligent contract engine comprises the following steps: reading encrypted data to be calculated according to the storage information; and calculating the encrypted data to be calculated based on the trusted computing contract to obtain a calculation result. Wherein the data to be computed is stored in a database for the participating nodes.
According to the embodiment of the disclosure, the evidence information of the data to be calculated is stored in the distributed database of the block chain. The running of the intelligent contract based on the intelligent contract engine further comprises the following steps before the calculation of the encrypted data to be calculated: determining the evidence storing information of the encrypted data to be calculated; and carrying out consistency check on the encrypted evidence storing information of the data to be calculated and the evidence storing information of the data to be calculated stored in the distributed database, wherein the encrypted data to be calculated is calculated under the condition that the evidence storing information of the encrypted data to be calculated is checked to be consistent with the evidence storing information of the data to be calculated stored in the distributed database.
According to an embodiment of the present disclosure, the above block chain-based information processing method further includes: encrypting the calculation result by adopting a public key of a preset asymmetric key to obtain an encrypted calculation result; and feeding back the encrypted calculation result to the sending equipment of the message so that the sending equipment can obtain the calculation result by adopting the private key of the asymmetric key for decryption, wherein the asymmetric key only corresponds to the sending equipment.
According to the embodiment of the present disclosure, the sending device for feeding back the encrypted calculation result to the message includes: determining the evidence storage information of the calculation result; the certificate storing information of the calculation result and the encrypted calculation result are fed back to the sending equipment; the block chain-based information processing method further includes: and storing the certificate storing information of the calculation result as a block in a distributed database so that the sending equipment can carry out consistency check on the received certificate storing information and the certificate storing information stored in the distributed database.
According to an embodiment of the present disclosure, the information processing method based on a block chain further includes, before receiving the message packet: receiving data authority application information, wherein the data authority application information comprises participant information; based on a preset intelligent contract, storing the data authority application information into a distributed database of a block chain, and setting the state of the authority application information as an initial state; responding to reply information aiming at the authority application information stored in the distributed database by the participatory node, and performing identity verification on a provider of the reply information; and under the condition that the identity authentication is passed, changing the state of the authority application information according to the reply information. Wherein, in case the reply information is an agreement, the right to read data from the database for the participating node is obtained.
A second aspect of the present disclosure provides a block chain-based information processing apparatus applied in a block chain network including a plurality of computing nodes communicating with each other. The information processing apparatus includes: the message receiving module is used for receiving a message; the message analysis module is used for analyzing the message to obtain the message type of the message; the matching information determining module is used for determining an intelligent contract matched with the message type and an intelligent contract engine matched with the message type; and the message processing module is used for operating the intelligent contract based on the intelligent contract engine so as to process the message, wherein the message type comprises the secure multi-party calculation message and any one of the following information types: node relation message, pull mechanism message, status message, auxiliary message.
A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the above block chain based information processing method.
The fourth aspect of the present disclosure also provides a computer-readable storage medium having stored thereon executable instructions, which, when executed by a processor, cause the processor to perform the above-mentioned block chain-based information processing method.
The fifth aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the above-mentioned block chain-based information processing method.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following description of embodiments of the disclosure, which proceeds with reference to the accompanying drawings, in which:
FIG. 1 schematically illustrates a system architecture diagram for running secure multi-party computing;
FIG. 2 schematically illustrates an application scenario diagram of a block chain based information processing method, apparatus, device, medium, and product according to an embodiment of the present disclosure;
fig. 3 schematically shows a flow chart of a block chain based information processing method according to an embodiment of the present disclosure;
fig. 4 schematically shows a flow chart of a block chain based information processing method according to another embodiment of the present disclosure;
FIG. 5 schematically illustrates a schematic diagram of a block chain based information processing method according to an embodiment of the present disclosure;
FIG. 6 schematically illustrates a schematic diagram of a block chain-based information processing method according to another embodiment of the present disclosure;
fig. 7 schematically illustrates a flow diagram of a data permission application before receiving a message according to an embodiment of the present disclosure;
fig. 8 schematically shows an overall flowchart of a block chain based information processing method according to an embodiment of the present disclosure;
fig. 9 is a block diagram schematically illustrating a structure of a computing node that performs a block chain-based information processing method according to an embodiment of the present disclosure;
FIG. 10 schematically illustrates a block diagram of a message communication module in a computing node, according to an embodiment of the disclosure;
fig. 11 schematically shows a block diagram of a block chain-based information processing apparatus according to an embodiment of the present disclosure; and
fig. 12 schematically shows a block diagram of an electronic device adapted to implement a blockchain-based information processing method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
The embodiment of the disclosure provides an information processing method based on a block chain, which is applied to a block chain network comprising a plurality of computation nodes which are communicated with each other. In the message receiving phase, a message is received. And in the message analysis stage, analyzing the message to obtain the message type of the message. In the matched contract determining stage, an intelligent contract matched with the message type and an intelligent contract engine matched with the message type are determined. In the message processing stage, an intelligent contract is operated based on an intelligent contract engine so as to process the message. Wherein the message type comprises a secure multiparty computation message and any one of the following message types: node relation message, pull mechanism message, status message, auxiliary message.
FIG. 1 schematically illustrates a system architecture diagram for running secure multi-party computing.
As shown in FIG. 1, the architecture of the present disclosure for running secure multiparty computing is a compute node 131 in a trusted computing network system 130. The trusted computing network system 130 is a network system built in conjunction with the blockchain network system 110 and the secure multi-party computing network system 120. Compute node 131 has both the functionality of blockchain node 111 in blockchain network system 110 and the functionality of secure multi-party compute node 121 in secure multi-party compute network system 120.
The blockchain network system 110 may be, for example, a federation chain, such as Hyperridge Fabric, Ether, or a blockchain product self-developed by various vendors.
The blockchain node 111 refers to a server or a virtual machine in the blockchain network system 110, which forms a blockchain network and generally performs endorsement, consensus, accounting, and other tasks in the blockchain network.
The secure multi-party computing network system 120 is a trusted computing cluster, and performs arithmetic or logic operations using cryptography techniques such as inadvertent transmission, secret sharing, and garbled circuits to ensure that computing data provided by each participant is "available" and invisible.
Secure multi-party computing node 121 refers to a server or virtual machine in secure multi-party computing network system 120 that forms a secure multi-party computing network. The cryptograph data provided by each participant is calculated by adopting the cryptology technologies such as careless transmission, secret sharing, a garbled circuit and the like.
The trusted computing network system 130 is essentially a blockchain network system, but the functionality and intelligent contracts to follow, etc. of the nodes in the blockchain network system are modified.
The computing node 131 refers to a server or a virtual machine constituting a trusted computing network in the trusted computing network system 130. The computing node 131 can undertake tasks such as endorsement, accounting and consensus, and can undertake secure multi-party computing tasks.
The trusted computing network system 130 and the computing node 131 are arranged, so that in secure multi-party computing, computing data of each participant is trusted before, during and after computing, and data in each stage is not leaked to the outside, thereby achieving the effect of 'available invisible' of data in the trusted computing network.
Fig. 2 schematically illustrates an application scenario diagram of a block chain based information processing method, apparatus, device, medium, and product according to an embodiment of the present disclosure.
As shown in fig. 2, the application scenario 200 includes a trusted computing network system 210 and a client device 220.
The trusted computing network system 210 includes a plurality of computing nodes 211 that may communicate with each other. The computing node 211 and the trusted computing network system 210 are similar to the computing node and the trusted computing network system described in fig. 1, and are not described in detail here.
The client device 220 may be a terminal that initiates secure multi-party computing tasks, and the client device 220 may be communicatively coupled over a network to one or more computing nodes 211 in the trusted computing network system 210 to initiate secure multi-party computing tasks via the communicatively coupled computing nodes. The network may include, for example, wired or wireless communication links.
According to an embodiment of the present disclosure, the client device 220 may be, for example, various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
It is to be appreciated that the blockchain-based information processing method provided by the present disclosure may be performed by a trusted computing node. Accordingly, the block chain based trusted computing device provided by the present disclosure may be provided in a computing node.
The block chain based information processing method provided by the present disclosure will be described in detail below with reference to fig. 3 to 8.
Fig. 3 schematically shows a flowchart of a block chain based information processing method according to an embodiment of the present disclosure.
As shown in fig. 3, the block chain-based information processing method 300 of this embodiment includes operations S310 to S340. The method may be performed by a computing node as described above, for example.
In operation S310, a message packet is received.
The message may be a transaction message initiated by the client device 220, a secure multi-party computing message, or the like. Alternatively, the message may also be a consensus message, a data pull message, a status verification message, and the like sent by any computing node in a block chain network including a plurality of computing nodes communicating with each other. The blockchain network may be a trusted computing network to which the secure multi-party computing network system operates, and each of the plurality of computing nodes may be the aforementioned computing node.
In operation S320, the message packet is analyzed to obtain a message type of the message packet.
According to the embodiment of the disclosure, after receiving the message, the message can be analyzed by a general method, a key-value pair (key-value) with the key being the type (type) in the message is obtained, and the message type of the message is determined according to the value of the value in the key-value pair.
The embodiment of the present disclosure may maintain a mapping relationship between a message type and a corresponding value, and after obtaining a value of a value in a message packet through analysis, the embodiment may find a message type matching the value according to the mapping relationship, and use the message type as the message type of the message packet.
According to an embodiment of the disclosure, the message type comprises a secure multiparty computation message and any one of the following message types: node relation message, pull mechanism message, status message, auxiliary message. The message type of the received message may be any one of the secure multiparty computation message, the node relation message, the pull mechanism message, the status message, and the auxiliary message. The message type may include messages that are processed based on the Goosip service.
Illustratively, when the message type is a secure multiparty computation message, the message is a secure multiparty computation message for the client device 220 to initiate a secure multiparty computation task.
Illustratively, the node relationship Message specifically refers to a Message type related to channel Membership, relationship and presence, and may include, for example, an Alive Message (Alive Message), a member relationship Request Message (Membership Request), a member relationship Response Message (Membership Response), and the like. The channel member refers to any node in the block chain network except the node executing the message processing method.
Illustratively, the Pull mechanism message specifically refers to a message with block Data as content, or a message with identity Data as content, and may include a Hello message (Gossip Hello), a message Digest (Data Digest), a Digest Request (Data Request), and a Digest response (Data Update), for example.
Illustratively, a status message specifically refers to a status related message, where status refers to the data State of a block chain. The status Message (State Information) may include, for example, a Data Message (Data Message), Transaction Data (Transaction Message), and the like.
Illustratively, the auxiliary class messages do not assume the task of specifically communicating the broadcast data, but are instead auxiliary. The auxiliary class message may include, for example, an empty message, a connessablish message, and the like. The null message (Empty) is used for Ping (to test whether nodes are connected) and testing between nodes. The ConnEstablish message is used for handshaking between gossip, that is, whenever a node wants to communicate with another node, it needs to send the message to prove its identity.
In operation S330, an intelligent contract matching the message type and an intelligent contract engine matching the message type are determined.
According to the embodiment of the disclosure, for different types of message messages, matched intelligent contracts are adopted for processing. For example, the smart contracts and smart contract engines that match the message type of the message packet may be determined by switch-case logic. The matched intelligent contract engine may have a mapping relationship with the intelligent contract matched to the message type, and the type of the intelligent contract engine may be specifically related to the writing language of the intelligent contract. And mapping the intelligent contracts written by different writing languages to different intelligent contract engines. For example, if the smart contract is written in the Java language, the smart contract engine is a JVM.
Illustratively, if the message type of the message packet is a secure multi-party computing message, the matched intelligent contract is a secure multi-party computing intelligent contract (e.g., a DoTask intelligent contract), which is typically a bytecode file compiled in python language, and the matched intelligent contract engine may be a wasm (web assembly) engine capable of supporting running python compiled bytecode.
For example, if the message type of the message is the message generated in the block chain network system 110 in fig. 1, the matched intelligent contract may be one of the following two types: the GetStatus contract and the PutSatus contract. The smart contract engine may also be EVM, JAM, GO, etc.
In operation S340, the intelligent contract is executed based on the intelligent contract engine to process the message.
After the intelligent contract engine and the intelligent contracts are obtained, the intelligent contracts can be operated in the intelligent contract engine. The intelligent contract specifies the processing logic of the message of the matched message type, so that the message is processed by operating the intelligent contract.
For example, when the message is a message generated in a common blockchain network such as a node relation message, a pull mechanism message, a status message, an auxiliary message, etc., the method for processing the message in the foregoing blockchain network system 110 may be used to implement the processing of the message. When the message is a secure multiparty computation message, the secure multiparty computation message can be processed by adopting the method for executing the secure multiparty computation task in the secure multiparty computation network system, and the detailed description is omitted in the present disclosure.
According to the embodiment of the present disclosure, after the calculation result is obtained by processing the message, the information processing method 300 of the embodiment may also feed back the calculation result to the sending device of the message, for example.
In summary, in the information processing method based on the blockchain according to the embodiment, the message type is determined by analyzing the message, and the matched intelligent contract and the intelligent contract engine are determined according to the message type, so that not only can the processing of the node relation message, the pull mechanism message, the status message, the auxiliary message and the like in the general blockchain network be realized, but also the processing of the secure multi-party calculation message can be realized. By the method, when the safe multi-party computation is carried out, the evidence uplink of the computation result can be directly realized by operating the node of the safe multi-party computation, so that the information transmission stage between the safe multi-party computation system and the block chain system is avoided, and the condition that the message of the computation result is falsified in the transmission process is avoided.
According to the embodiment of the disclosure, after the message is processed to obtain the calculation result, the information processing method based on the block chain may further store the evidence storage information of the calculation result as a block in a distributed database for tracing by an organization or a supervision department, for example.
Fig. 4 schematically shows a flowchart of a block chain based information processing method according to another embodiment of the present disclosure.
According to the embodiment of the disclosure, in the case that the message type is a secure multiparty computation message, a connection with a node for a participant may be constructed first based on the participant information, so as to perform a secure multiparty computation task. Wherein the participant information is included in a secure multiparty computed message.
As shown in fig. 4, the block chain-based information processing method 400 of this embodiment may include operations S450 and S460 in addition to the aforementioned operations S310 to S340, and the operations S450 and S460 may be performed before the operation S340.
In operation S450, a node for a participant among the plurality of computing nodes is determined as a participant node according to the participant information.
The message includes the participant identification, and the block chain network maintains the mapping relationship between the participant and the computing node in the block chain network. After the participant identifier is obtained by parsing the message, the node for the participant can be determined.
In operation S460, a short connection with the participating node is constructed by invoking the secure multi-party computation port using the intelligent contract engine matched to the secure multi-party computation message.
After determining the participating node, a connection proposal request may be sent to the participating node via the communication protocol. Specifically, the connection of the block chain network can be multiplexed for secondary networking, and short connection with the participating nodes is formed.
According to the embodiment of the disclosure, the computing node may be provided with a plurality of intelligent contract ports based on the Docker container, and the plurality of intelligent contract ports are respectively packaged with an intelligent contract method. The plurality of intelligent contract ports may include, for example, a query (GetStatus) port, a presence (PutStatus) port, a trusted computing (DoTask) port, and so forth. When a short connection with a participant node is constructed, the embodiment may invoke a secure multi-party computing port (i.e., a trusted computing port) by using an intelligent contract engine matched with the secure multi-party computing message to send a connection request to the participant node, for example, a connection with the participant node may be established based on a TCP communication protocol. The connection is a short connection to disconnect the short connection after the secure multiparty computing task is completed.
According to an embodiment of the present disclosure, the intelligent contract may be run after the short connection with the participating node is established. Specifically, the data to be calculated can be read according to the storage information of the data to be calculated in the message. And then calculating the read data to be calculated based on a trusted computing (DoTask) contract to obtain a calculation result. The data to be calculated is encrypted data, and therefore the data can be used and cannot be known. It is understood that the data reading and data computation processes are similar to the related art methods for performing secure multiparty computation tasks, and the disclosure is not further detailed.
According to the embodiment of the disclosure, the participating nodes are nodes of which the data to be calculated is stored in the corresponding database in a plurality of calculation nodes of the block chain network. Thus, when reading the data to be computed, it is actually read from the database for the participating nodes.
Fig. 5 schematically illustrates a principle schematic diagram of a block chain-based information processing method according to an embodiment of the present disclosure.
As shown in fig. 5, in this embodiment 500, each computing node in the blockchain network may, for example, uplink data 510 in a database for itself. In particular, the evidence information of the data 510 in the database may be stored in the distributed database 520 of the blockchain. Therefore, the data 510 is ensured not to be tampered, and the truthfulness and the credibility of the data 510 are improved. The evidence information of the data may be, for example, a hash digest of the data calculated by using a hash function, and the evidence information may be used as a digital fingerprint.
According to the embodiment of the disclosure, when the intelligent contract is run based on the intelligent contract engine, if the computing node 540 reads the full amount of the data to be computed 530, the authenticity of the data to be computed 530 may be verified first, and then the data to be computed is computed based on the trusted computing contract after the verification is passed. The authenticity of the data to be calculated may be specifically verified according to the evidence storing information of the data stored in the distributed database 520 of the block chain. Specifically, the computing node 540 may first determine the evidence information of the read data 530 to be computed. Then, the determined certificate storing information is subjected to consistency check with the certificate storing information of the to-be-calculated data 530 stored in the distributed database, namely, the two are compared. If the two are consistent, it is determined that the read data to be calculated is authentic and credible, the read data to be calculated can be pushed to the secure multi-party calculation executor 541, and the secure multi-party calculation executor 541 calculates the data to be calculated based on trusted calculation.
The embodiment of the disclosure compares the data to be calculated with the evidence storing information of the data to be calculated stored on the chain before the data to be calculated is calculated, so as to determine the authenticity of the data to be calculated, and can ensure the safety and credibility of the data before calculation when the safe multi-party calculation is executed.
Fig. 6 schematically illustrates a principle schematic diagram of a block chain-based information processing method according to another embodiment of the present disclosure.
According to the embodiment of the present disclosure, as shown in fig. 6, after the message type is a secure multiparty computation message and the computation result is obtained by processing the message, the embodiment 600 may store the certificate information of the computation result 610 in the distributed database 620 of the block chain. Therefore, the calculation result is prevented from being tampered, and the safety and the credibility of the calculation result are ensured. The evidence information may be, for example, a hash digest of the calculation result.
According to the embodiment of the disclosure, after the calculation result is obtained by processing the message, for example, the calculation result and the evidence information thereof can be fed back to the sending device of the message. After receiving the computation result and the evidence storing information thereof, the sending device may first obtain the evidence storing information of the computation result corresponding to the secure multiparty computation task initiated by the sending device from the distributed database 620 of the blockchain, for example. And then, carrying out consistency check on the acquired certificate storing information and the received certificate storing information. If the two are consistent, the received calculation result can be determined to be accurate and not tampered.
According to the embodiment of the present disclosure, after the calculation result is obtained by processing the message, the calculation result may be encrypted by using, for example, a public key of a predetermined asymmetric key pair. The encrypted computation result (i.e., ciphertext result 630) obtained by the encryption is then fed back to the sending device that sent the message. Wherein the predetermined asymmetric key pair may for example correspond uniquely to the transmitting device. The public key of the predetermined asymmetric key pair may be sent, for example, to a node in the blockchain network that performs secure multiparty computation, concurrently with the message packet. Accordingly, when the sending device receives the encrypted computation result, the encrypted computation result may be decrypted using a private key of a predetermined asymmetric key pair, thereby obtaining a computation result of the secure multiparty computation (i.e., plaintext result 640). By the method, the calculation result of the safe multi-party calculation only has the authority to check the calculation result by the initiator of the safe multi-party calculation, so that the safety and the credibility of the calculation result are further ensured.
According to the embodiment of the disclosure, when the encrypted calculation result is fed back to the sending device, for example, the evidence storing information of the determined calculation result can be fed back to the sending device together, so that the sending device performs consistency check on the received evidence storing information and the evidence storing information of the calculation result of the secure multiparty calculation stored in the distributed database.
Fig. 7 schematically shows a flowchart of a data permission application before receiving a message packet according to an embodiment of the present disclosure.
According to the embodiment of the present disclosure, when the message type is a secure multiparty computation message, since a node receiving the secure multiparty computation message needs to acquire data to be computed from a participating node when performing the secure multiparty computation, the node executing the information processing method based on the block chain of the embodiment needs to acquire a data reading right before receiving the secure multiparty computation message. The application for the data reading right may for example be generated by the initiator of the secure multiparty computation task, i.e. the sending device of the secure multiparty computation message. Accordingly, the block chain-based information processing method according to this embodiment may apply for obtaining the permission to access the database for the participant based on the received data permission before receiving the message packet, for example, may receive the data permission application information first, where the data permission application information includes the participant information. And then storing the data authority application information into a distributed database of the block chain based on a preset intelligent contract, and setting the state of the authority application information as an initial state. Then responding to the fact that the participating nodes store reply information aiming at the authority application information in the distributed database, and carrying out identity verification on a provider of the reply information; and under the condition that the identity authentication is passed, changing the state of the authority application information according to the reply information. And when the reply information is the agreement, obtaining the authority of reading data in the database aiming at the participating node. The preset intelligent contract provides processing logic for storing the data authority application information into a distributed database of the block chain and changing the state of the authority application information.
This obtaining of access rights to the database for the participant will be described below in connection with fig. 7.
As shown in fig. 7, the initiator client 710 of the secure multiparty computation task may initiate a data permission application request in response to a user operation performing operation S711. The data permission application request may include calculation task information, participant information, a data set in which data to be calculated is located, and identity information of an initiator.
After receiving the data permission application, the computing node 720 in the blockchain network may check the identity of the client (i.e., perform operation S721) to ensure the authenticity of the data permission application request.
After the identity authentication is passed, the predetermined intelligent contract may be started/scheduled, so as to store the data permission application information into the distributed database of the block chain, specifically link information such as the calculation task information, the participant information, and the data set where the data to be calculated is located, and set the state of the linked data as WAIT (operation S722).
Clients communicating with the compute nodes in the blockchain network may listen for changes in data on the chain using a listen/subscribe mechanism. If the participant client listens to the chain with information added to the data set stored in the corresponding database, the to-do information may be generated (operation S731 is performed).
The participating party may perform an operation through the participating party client 730 such that the participating party client 730 responds to the data permission application, the response result may be approval or rejection, and the response result is stored in the distributed database via the interaction between the participating party client and the computing node in the blockchain system, i.e., the response result is uplinked (operation S732). When the response result is stored, the response result may be stored in association with the stored calculation task information, the participant information, and the data set in which the data to be calculated is located.
After monitoring that the chain stores the response result, the computing node may check the identity information of the participating client to ensure the authenticity of the response (perform operation S723). After the identity information passes the check, the predetermined intelligent contract is continuously called, and the states of the computing task information, the participant information and the data to be computed stored on the chain are switched from WAIT to age or REJECT (operation S724 is executed). If the answer result is agreement, the system switches to AGEE, and if the answer result is rejection, the system switches to REJECT. Meanwhile, the response result can be fed back to the initiator client as a data application result.
After receiving the data application result (performing operation S712), the initiator client may initiate secure multiparty computation for the data in the data set with permission.
After the access authority of the data set is obtained, if a safe multi-party computing task aiming at the data in the data set is subsequently initiated, the safe multi-party computing task can be directly initiated according to the obtained access authority without performing authority application.
Fig. 8 schematically shows an overall flowchart of a block chain-based information processing method according to an embodiment of the present disclosure.
As shown in fig. 8, the overall implementation of the blockchain-based information processing method involves an initiator client 810 and computing nodes that serve different roles at various stages, which may serve as an endorsement node 820, a trusted computing node 830, a ranking node 840, and an accounting node 850.
In response to the user operation, performing operation S811 at the initiator client, initiating a trusted computing task and sending the trusted computing task to the communicatively connected computing node. The trusted computing task may be, for example, a computing task for computing an aggregate point of a customer on a plurality of online shopping channels.
After receiving the trusted computing task, the computing node may perform operations S821 to S822 as an endorsement node. In operation S821, verifying the identity of the initiator client; in operation S822, the execution of the intelligent contract is simulated, and when the type of the intelligent contract is a DoTask, trusted computing nodes of all participants are scheduled, and the current computing node is used as a trusted computing node to execute operations S831 to S833.
In operation S831, the trusted computing node performs secondary networking on the computing node corresponding to the participant and the current trusted computing node by multiplexing the connection of the block chain network according to the participant information in the trusted computing task.
In operation S832, after networking is completed, according to information of data to be calculated in the trusted computing task, the computing data is read from the storage space corresponding to the participating party, and the read computing data is stored in the memory in an encrypted manner (this process may be verified for the storage information to ensure that the read computing data is trusted). After the calculation data is read, operation S833 is performed, the secure multiparty calculation is performed, and the MPC scheduling interface is called to obtain the simulation calculation result of the secure multiparty calculation.
After obtaining the simulation calculation result of the secure multiparty calculation, the calculation node may perform operation S823 as an endorsement node, that is, the simulation calculation result of the secure multiparty calculation is returned to the initiator client, and specifically, the certificate information of the simulation calculation result and the calculation result encrypted by using the public key of the initiator may be returned to the initiator client together.
The initiator client receives the simulation calculation result fed back by the endorsement node through operation S812, and determines whether the simulation calculation result satisfies the endorsement policy. If the endorsement policy is satisfied, the computation result is encapsulated through operation S813, and an application request for performing uplink on the encapsulated computation result is submitted to the compute node for performing uplink sequencing.
After receiving the request for uplink application, the compute node may receive the encapsulation result as a sort node (operation S841), assemble the encapsulation result into blocks according to the time sequence of uplink sorting (operation S842), and after obtaining the blocks, may send the blocks to the blockchain network for block consensus (operation S843). The block consensus may be implemented by using a consensus algorithm such as PBFT (physical Byzantine Fault Tolerance algorithm) or RAFT, for example.
After receiving the blocks passing the consensus in operation S851 as the accounting node, the computing node may verify the blocks in operation S852, specifically, verify the read/write set, version number, etc. of the blocks. After the verification is passed, the block data and the world state are updated through operation S853, so that the ledger is updated. After the ledger update is completed, an update completion event may be sent to the initiator client.
After monitoring the update completion event, the initiator client determines that the block normally falls, then performs operation S814, decrypts the analog computation result obtained in operation S812 using the key of the initiator, and restores the plaintext of the analog computation result to obtain the computation result of the secure multiparty computation (i.e., obtains the result on the chain).
The structure of a computing node that executes the blockchain-based information processing method, and the improvement of the computing node over the prior art are described in detail below based on fig. 9 to 10.
Fig. 9 schematically shows a structural block diagram of a computing node that executes a block chain-based information processing method according to an embodiment of the present disclosure. Fig. 10 schematically shows a block diagram of a message communication module in a computing node according to an embodiment of the present disclosure.
As shown in fig. 9, the computing node 900 of the block chain-based information processing method of this embodiment may include a message communication module 910, a consensus module 920, an intelligent contract module 930, and a data storage module 940.
The messaging module 910 is responsible for network messaging and adds MPC communication protocol over traditional blockchain communication protocol.
The consensus module 920 is responsible for computing the consensus function between nodes, and may select a consensus policy based on the system configuration, such as: PBFT, RAFT, etc. in the present disclosure, a compute node will first assume the role of a blockchain node, receive a trusted compute task initiated by a client, generate a block, and consensus in the network.
The intelligent contract module 930 is responsible for reading the transaction information in the blocks and executing the intelligent contracts corresponding to the transactions in sequence. In the present disclosure, intelligent contracts relating to trusted computing may be written in the python language.
The data storage module 940 is responsible for storing the block information and the world state, but for the secure multiparty computation result, the result is only stored in the form of a data fingerprint, and the final data result is sent to the task initiator in a ciphertext state.
Illustratively, as shown in fig. 10, the message communication module 910 includes a message receiving unit 1011, a protocol parsing unit 1012, a policy selecting unit 1013, a block chain execution unit 1014, a secure multiparty computation execution unit 1015, and a message sending unit 1016.
The message receiving unit 1011 and the message sending unit 1016 are essentially trusted computing networks P2P message communicators responsible for receiving and sending information. The traffic can be divided into two broad categories, blockchain traffic and MPC traffic.
The protocol parsing unit 1012 is responsible for unpacking the message and obtaining the protocol type of the message.
The policy selection unit 1013 is responsible for classifying the message according to the protocol type, and if the message is the blockchain communication information, the message is sent to the blockchain execution unit 1014 for processing, and if the message is the MPC communication information, the message is sent to the secure multi-party computation execution unit 1015 for processing. The policy selection unit is essentially a switch-case logic module, different policies are executed for messages of different Gossip protocol types, and the policy selection unit 1013 adds a processing policy for secure multi-party computation messages on the basis of the prior art.
The blockchain execution unit 1014 is a logical concept essentially comprising a plurality of modules, such as a blockchain communication module, a node survival confirmation module, etc., which schedule different modules to process communication information based on different blockchain communication information.
The secure multiparty computing execution unit 1015 performs secondary networking on the participating reception users of the related tasks according to the content of the message, the meaning of the secondary networking is that a network with a built multiplexing block chain is established, and a multiparty secure computing network is established on the network.
Illustratively, the intelligent contract module 930 may include an intelligent contract interface, an intelligent contract scheduler, and an intelligent contract engine.
The intelligent contract interface encapsulates various contract methods, and in the fabric network, contracts can be divided into two major categories, namely inquiry and evidence storage. In addition to querying and crediting, the smart contract interface may provide a trusted computing interface in the present disclosure.
The intelligent contract scheduler is used for analyzing the transaction information in the block and selecting different intelligent contract interfaces and intelligent contract engines according to the message types.
The intelligent contract engine is essentially an engine library, and not only comprises the common contract engines in the alliance chain, such as EVM, JVM, GO, and the like, but also introduces the WASM engine library in the present disclosure, mainly because most of the programming languages adopted by the secure multi-party computing in the industry at present are python, and the engines support running byte codes compiled by python.
Fig. 11 schematically shows a block diagram of a block chain-based information processing apparatus according to an embodiment of the present disclosure.
As shown in fig. 11, the block chain-based information processing apparatus 1100 of this embodiment includes a message receiving module 1110, a message parsing module 1120, a matching information determining module 1130, and a message processing module 1140. The block chain-based information processing apparatus 1100 can be applied to a block chain network including a plurality of computing nodes communicating with each other.
The message receiving module 1110 is configured to receive a message. In an embodiment, the message receiving module 1110 is configured to perform the operation S310 described above, which is not described herein again.
The message parsing module 1120 is configured to parse the message to obtain a message type of the message. The message type includes a secure multiparty computation message and any of the following message types: node relation message, pull mechanism message, status message, auxiliary message. In an embodiment, the message parsing module 1120 is configured to perform the operation S320 described above, which is not described herein again.
The matching information determination module 1130 is used to determine the intelligent contracts matching the message type and the intelligent contract engines matching the message type. In an embodiment, the matching information determining module 1130 is configured to perform the operation S330 described above, which is not described herein again.
The message processing module 1140 is used for running an intelligent contract based on an intelligent contract engine to process the message. In an embodiment, the message processing module 1140 is configured to perform the operation S340 described above, which is not described herein again.
According to the embodiment of the disclosure, in the case that the message type is a secure multiparty computation message, the message contains participant information. The above block chain-based information processing apparatus 1100 further includes a node determination module and a connection construction module. The node determination module is configured to determine a node of the plurality of computing nodes that is to be a participant node according to the participant information before the message processing module 1140 runs the intelligent contract based on the intelligent contract engine. The connection construction module is used for constructing the short connection between the participating nodes by calling the secure multi-party computing port by adopting the intelligent contract engine matched with the secure multi-party computing message.
According to the embodiment of the present disclosure, the message further contains storage information of data to be calculated. The message processing module 1140 includes a data reading sub-module and a calculating sub-module. And the data reading submodule is used for reading the encrypted data to be calculated according to the storage information, wherein the data to be calculated is stored in a database aiming at the participating nodes. And the calculation submodule is used for calculating the encrypted data to be calculated based on the trusted calculation contract to obtain a calculation result.
According to an embodiment of the present disclosure, the credentialing information for the data to be computed is stored in a distributed database of a blockchain. The message processing module 1140 further includes a first authentication information determining submodule and a checking submodule. The first evidence storing information determining submodule is used for determining the evidence storing information of the encrypted data to be calculated before the calculating submodule calculates the encrypted data to be calculated. The verification submodule is used for carrying out consistency verification on the encrypted certificate storage information of the data to be calculated and the certificate storage information of the data to be calculated stored in the distributed database. And the calculation sub-module calculates the encrypted data to be calculated under the condition that the verification sub-module verifies that the encrypted evidence storing information of the data to be calculated is consistent with the evidence storing information of the data to be calculated stored in the distributed database.
According to an embodiment of the present disclosure, the above block chain-based information processing apparatus 1100 further includes a calculation result encryption module and a calculation result feedback module, where the calculation result encryption module is configured to encrypt the calculation result by using a public key of a predetermined asymmetric key, so as to obtain an encrypted calculation result. And the calculation result feedback module is used for feeding back the encrypted calculation result to the sending equipment of the message so that the sending equipment can decrypt the encrypted calculation result by adopting the private key of the asymmetric key to obtain the calculation result. Wherein the asymmetric key uniquely corresponds to the transmitting device.
According to the embodiment of the disclosure, the calculation result feedback module comprises a second evidence storing information determining submodule and a feedback submodule. The second evidence storing information determining submodule is used for determining the evidence storing information of the calculation result. And the feedback sub-module is used for feeding back the certificate storing information of the calculation result and the encrypted calculation result to the sending equipment. The information processing apparatus 1100 based on the block chain further includes a storage module for storing the storage information of the calculation result as a block in the distributed database, so that the sending device can perform consistency check on the received storage information and the storage information stored in the distributed database.
According to an embodiment of the present disclosure, the information processing apparatus 1100 based on a block chain further includes an information receiving module, a permission application storage module, an authentication module, and a status changing module. The information receiving module is configured to receive data permission application information before the message receiving module 1110 receives the message packet, where the data permission application information includes information of a participant. And the permission application storage module is used for storing the data permission application information into a distributed database of the block chain based on a preset intelligent contract and setting the state of the permission application information as an initial state. And the identity authentication module is used for responding to the reply information aiming at the authority application information stored in the distributed database by the participatory node and authenticating the identity of the provider of the reply information. And the state changing module is used for changing the state of the authority application information according to the reply information under the condition that the identity authentication is passed. Wherein, in case the reply information is an agreement, the right to read data from the database for the participating node is obtained.
According to an embodiment of the present disclosure, any plurality of the message receiving module 1110, the message parsing module 1120, the matching information determining module 1130, and the message processing module 1140 may be combined to be implemented in one module, or any one of them may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the message receiving module 1110, the message parsing module 1120, the matching information determining module 1130, and the message processing module 1140 may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented in any one of three implementations of software, hardware, and firmware, or in a suitable combination of any of them. Alternatively, at least one of the message receiving module 1110, the message parsing module 1120, the matching information determining module 1130, and the message processing module 1140 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
Fig. 12 schematically shows a block diagram of an electronic device adapted to implement a blockchain-based information processing method according to an embodiment of the present disclosure.
As shown in fig. 12, an electronic apparatus 1200 according to an embodiment of the present disclosure includes a processor 1201, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)1202 or a program loaded from a storage section 1208 into a Random Access Memory (RAM) 1203. The processor 1201 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 1201 may also include on-board memory for caching purposes. The processor 1201 may include a single processing unit or multiple processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
In the RAM 1203, various programs and data necessary for the operation of the electronic apparatus 1200 are stored. The processor 1201, the ROM 1202, and the RAM 1203 are connected to each other by a bus 1204. The processor 1201 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 1202 and/or the RAM 1203. Note that the programs may also be stored in one or more memories other than the ROM 1202 and the RAM 1203. The processor 1201 may also perform various operations of method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
Electronic device 1200 may also include input/output (I/O) interface 1205, according to an embodiment of the disclosure, input/output (I/O) interface 1205 also connected to bus 1204. The electronic device 1200 may also include one or more of the following components connected to the I/O interface 1205: an input section 1206 including a keyboard, a mouse, and the like; an output portion 1207 including a display device such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 1208 including a hard disk and the like; and a communication section 1209 including a network interface card such as a LAN card, a modem, or the like. The communication section 1209 performs communication processing via a network such as the internet. A driver 1210 is also connected to the I/O interface 1205 as needed. A removable medium 1211, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is mounted on the drive 1210 as necessary, so that a computer program read out therefrom is mounted into the storage section 1208 as necessary.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: 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), 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. For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM 1202 and/or the RAM 1203 and/or one or more memories other than the ROM 1202 and the RAM 1203 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method illustrated in the flow chart. When the computer program product runs in a computer system, the program code is used for causing the computer system to realize the information processing method based on the block chain provided by the embodiment of the disclosure.
The computer program performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure when executed by the processor 1201. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed in the form of a signal on a network medium, downloaded and installed through the communication section 1209, and/or installed from the removable medium 1211. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 1209, and/or installed from the removable medium 1211. The computer program, when executed by the processor 1201, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., 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 or flowchart illustration, and combinations of blocks in the block diagrams 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.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (11)

1. An information processing method based on a block chain is applied to a block chain network comprising a plurality of computing nodes which are communicated with each other, and the method comprises the following steps:
receiving a message;
analyzing the message to obtain the message type of the message;
determining an intelligent contract matched with the message type and an intelligent contract engine matched with the message type; and
running the intelligent contract based on the intelligent contract engine to process the message,
wherein the message type comprises a secure multiparty computation message and any one of the following message types: node relation message, pull mechanism message, status message, auxiliary message.
2. The method of claim 1, wherein, in the event that the message type is a secure multiparty computing message, the message contains party information, the method further comprising, prior to running the intelligent contract based on the intelligent contract engine:
determining a node aiming at a participant in the plurality of computing nodes as a participant node according to the participant information; and
and constructing a short connection with the participating node by invoking a secure multi-party computing port with an intelligent contract engine matched with the secure multi-party computing message.
3. The method of claim 2, wherein the message further contains storage information of data to be computed; running the intelligent contract based on the intelligent contract engine comprises:
reading encrypted data to be calculated according to the storage information; and
computing the encrypted data to be computed based on a trusted computing contract to obtain a computation result,
wherein the data to be computed is stored in a database for the participating nodes.
4. The method of claim 3, wherein the credentialing information for the data to be computed is stored in a distributed database of the blockchain; the running the intelligent contract based on the intelligent contract engine further comprises, prior to computing the encrypted data to be computed:
determining the evidence storing information of the encrypted data to be calculated; and
the certification information of the encrypted data to be calculated and the certification information of the data to be calculated stored in the distributed database are subjected to consistency check,
and under the condition that the evidence storing information of the encrypted data to be calculated is verified to be consistent with the evidence storing information of the data to be calculated stored in the distributed database, calculating the encrypted data to be calculated.
5. The method of claim 3, further comprising:
encrypting the calculation result by adopting a public key of a preset asymmetric key pair to obtain an encrypted calculation result; and
feeding back the encrypted calculation result to the sending equipment of the message for the sending equipment to decrypt by using the private key of the asymmetric key pair to obtain the calculation result,
wherein the asymmetric key uniquely corresponds to the transmitting device.
6. The method of claim 5, wherein:
the sending device for feeding back the encrypted calculation result to the message comprises:
determining the evidence storage information of the calculation result;
feeding back the certificate storing information of the calculation result and the encrypted calculation result to the sending equipment;
the method further comprises the following steps: and storing the certificate storing information of the calculation result as a block in the distributed database so that the sending equipment can carry out consistency check on the received certificate storing information and the certificate storing information stored in the distributed database.
7. The method of claim 3, further comprising, prior to receiving the message packet:
receiving data authority application information, wherein the data authority application information comprises participant information;
based on a preset intelligent contract, storing the data permission application information into a distributed database of the block chain, and setting the state of the permission application information as an initial state;
responding to the participation node to store reply information aiming at the authority application information in the distributed database, and authenticating the provider of the reply information; and
changing the state of the authority application information according to the reply information under the condition that the identity authentication is passed,
wherein, in case the reply information is an agreement, obtaining a right to read data from a database for the participating node.
8. An information processing apparatus based on a blockchain, applied in a blockchain network including a plurality of computing nodes communicating with each other, the apparatus comprising:
the message receiving module is used for receiving a message;
the message analysis module is used for analyzing the message to obtain the message type of the message;
the matching information determining module is used for determining an intelligent contract matched with the message type and an intelligent contract engine matched with the message type; and
a message processing module for operating the intelligent contract based on the intelligent contract engine to process the message,
wherein the message type comprises a secure multiparty computation message and any one of the following message types: node relation message, pull mechanism message, status message, auxiliary message.
9. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-7.
10. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 1 to 7.
11. A computer program product comprising a computer program which, when executed by a processor, implements a method according to any one of claims 1 to 7.
CN202110299798.4A 2021-03-19 2021-03-19 Information processing method, device, equipment, medium and product based on block chain Active CN113067822B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110299798.4A CN113067822B (en) 2021-03-19 2021-03-19 Information processing method, device, equipment, medium and product based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110299798.4A CN113067822B (en) 2021-03-19 2021-03-19 Information processing method, device, equipment, medium and product based on block chain

Publications (2)

Publication Number Publication Date
CN113067822A true CN113067822A (en) 2021-07-02
CN113067822B CN113067822B (en) 2023-11-10

Family

ID=76563275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110299798.4A Active CN113067822B (en) 2021-03-19 2021-03-19 Information processing method, device, equipment, medium and product based on block chain

Country Status (1)

Country Link
CN (1) CN113067822B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612821A (en) * 2021-07-14 2021-11-05 支付宝(杭州)信息技术有限公司 Data interaction method and device in multi-party security computing
CN115550472A (en) * 2022-11-22 2022-12-30 浙江大华技术股份有限公司 Heterogeneous data processing method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359957A (en) * 2018-09-17 2019-02-19 ***股份有限公司 A kind of method and relevant apparatus of multi-party computations
CN109615378A (en) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 Multi-party computations method, apparatus and readable storage medium storing program for executing based on block chain
US10637659B1 (en) * 2019-03-18 2020-04-28 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation
CN111736954A (en) * 2020-06-24 2020-10-02 陈鹏 Multi-intelligent contract virtual machine implementation method, multi-intelligent contract virtual machine and system
CN112115204A (en) * 2020-10-26 2020-12-22 大唐网络有限公司 Multi-party security calculation implementation method based on block chain technology
CN112184218A (en) * 2020-09-18 2021-01-05 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN112380565A (en) * 2020-11-20 2021-02-19 天翼电子商务有限公司 Secure multi-party computing method based on trusted hardware and block chain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359957A (en) * 2018-09-17 2019-02-19 ***股份有限公司 A kind of method and relevant apparatus of multi-party computations
CN109615378A (en) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 Multi-party computations method, apparatus and readable storage medium storing program for executing based on block chain
US10637659B1 (en) * 2019-03-18 2020-04-28 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation
CN111736954A (en) * 2020-06-24 2020-10-02 陈鹏 Multi-intelligent contract virtual machine implementation method, multi-intelligent contract virtual machine and system
CN112184218A (en) * 2020-09-18 2021-01-05 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN112115204A (en) * 2020-10-26 2020-12-22 大唐网络有限公司 Multi-party security calculation implementation method based on block chain technology
CN112380565A (en) * 2020-11-20 2021-02-19 天翼电子商务有限公司 Secure multi-party computing method based on trusted hardware and block chain

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612821A (en) * 2021-07-14 2021-11-05 支付宝(杭州)信息技术有限公司 Data interaction method and device in multi-party security computing
CN115550472A (en) * 2022-11-22 2022-12-30 浙江大华技术股份有限公司 Heterogeneous data processing method and device
CN115550472B (en) * 2022-11-22 2023-03-28 浙江大华技术股份有限公司 Heterogeneous data processing method and device

Also Published As

Publication number Publication date
CN113067822B (en) 2023-11-10

Similar Documents

Publication Publication Date Title
US10700851B2 (en) System and method for implementing a resolver service for decentralized identifiers
US11165576B2 (en) System and method for creating decentralized identifiers
US11277268B2 (en) System and method for verifying verifiable claims
US20200143019A1 (en) System and method for mapping decentralized identifiers to real-world entities
CN110162992B (en) Data processing method, data processing device and computer system
CN112567366A (en) System and method for securing an electronic trading platform
CN110602138A (en) Data processing method and device for block chain network, electronic equipment and storage medium
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
CN113067822B (en) Information processing method, device, equipment, medium and product based on block chain
WO2021224210A1 (en) Multi-directional zero-knowledge attestation systems and methods
Chen et al. TrustBuilder: A non-repudiation scheme for IoT cloud applications
CN115022012B (en) Data transmission method, device, system, equipment and storage medium
CN111510462A (en) Communication method, system, device, electronic equipment and readable storage medium
CN115549984A (en) Cross-chain transaction method, device, equipment and storage medium
CN111125734B (en) Data processing method and system
CN116032494B (en) Data interaction method, blockchain predictor, device and medium
US20230421540A1 (en) Systems and methods for generating secure, encrypted communications using multi-party computations in order to perform blockchain operations in decentralized applications
CN116668030A (en) Block chain-based data processing method and device, electronic equipment and storage medium
CN116226932A (en) Service data verification method and device, computer medium and electronic equipment
CN117992536A (en) Block chain data processing method, device, equipment and medium
CN114553570A (en) Method and device for generating token, electronic equipment and storage medium
CN118074937A (en) Data processing method and device, electronic equipment and storage medium
CN114791922A (en) Query statement processing method, electronic device and computer-readable storage medium

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
GR01 Patent grant
GR01 Patent grant