CN109359957B - Safe multiparty computing method and related device - Google Patents

Safe multiparty computing method and related device Download PDF

Info

Publication number
CN109359957B
CN109359957B CN201811082290.3A CN201811082290A CN109359957B CN 109359957 B CN109359957 B CN 109359957B CN 201811082290 A CN201811082290 A CN 201811082290A CN 109359957 B CN109359957 B CN 109359957B
Authority
CN
China
Prior art keywords
node
intelligent contract
party
tasks
contract
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.)
Active
Application number
CN201811082290.3A
Other languages
Chinese (zh)
Other versions
CN109359957A (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201811082290.3A priority Critical patent/CN109359957B/en
Publication of CN109359957A publication Critical patent/CN109359957A/en
Application granted granted Critical
Publication of CN109359957B publication Critical patent/CN109359957B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a safe multiparty computing method and a related device, wherein the method comprises the following steps: the first node determines a task of an intelligent contract which needs to be executed by a contractual party corresponding to the first node when the multi-party computing request is processed according to the multi-party computing request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; after the tasks to be executed are processed, the first node determines a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request; the first node sends a notification message to the second node; the notification message is used to instruct the second node to process the multi-party computation request.

Description

Safe multiparty computing method and related device
Technical Field
The present invention relates to the field of distributed computing and cloud computing technologies, and in particular, to a secure multiparty computing method and a related apparatus.
Background
Secure Multi-party computing (SMPC) refers to a distributed network in which multiple users need to cooperate together to complete a task, each user holds some private data as input of the task, and they want to complete the Computation of the data together, and meanwhile, each user cannot know any input information of other users except the Computation result. The safe multi-party calculation aims to solve the problem that a group of distrusted parties finish cooperative calculation under the premise of protecting privacy, and the safe multi-party calculation ensures the independence of input and the correctness of calculation and does not reveal all input data to other members participating in calculation. Mainly aims at the problem of how to safely calculate an appointed function under the condition of no trusted third party, and the safe multiparty calculation plays an important role in the scenes of electronic election, electronic voting, electronic auction, secret sharing, threshold signature and the like.
The current block chain intelligent contract implementation mode does not have safe and efficient multi-party computing capability, mainly because the current intelligent contract takes an account book as a core, the influence of cooperation of all parties on the account book is realized, the operation of one party on account book data may influence other partners according to the agreement of the contract, and the influence may generate 'transaction' and also generate events required by transaction achievement. In this mode, more than two parties cooperate to require each cooperating party to continuously inquire the ledger data, calculate according to the inquiry result, and record and confirm the calculation result through the intelligent contract.
There are two problems with this approach: one is that the synergy efficiency is very low. Each cooperative party needs to poll the intelligent contract continuously to obtain an event or notice for starting a related task by the cooperative party; secondly, the safety is lower. All data of the intelligent contracts are stored in all task nodes or all accounting nodes, the safety of the data completely depends on the normal execution of the node engine, and once the node engine fails or has a vulnerability, the data is easy to leak.
Disclosure of Invention
The embodiment of the invention provides a safe multiparty computing method and a related device, which are used for solving the problems of low cooperative efficiency, low safety and the like in the implementation scheme of a block chain.
The embodiment of the invention provides a safe multiparty computing method, which comprises the following steps:
the first node determines a task of an intelligent contract which needs to be executed by a contractual party corresponding to the first node when the multiparty computing request is processed according to the multiparty computing request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties;
after the tasks needing to be executed are processed, the first node determines a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
the first node sends a notification message to the second node; the notification message is used to instruct the second node to process the multi-party computing request.
The embodiment of the invention provides a secure multiparty computing method, the content of an intelligent contract comprises tasks of all contract parties for executing the intelligent contract, a plurality of tasks exist in the intelligent contract, and the tasks have sequential logical relations. Moreover, the switching between the tasks is driven according to the execution result of the previous task, the intelligent contract does not need to poll each contract party to obtain the execution state of the intelligent contract, the data privacy of each contract party is ensured, and the secure multi-party calculation is realized.
In one possible implementation, the method further includes:
and the node corresponding to the requester of the intelligent contract calls the intelligent contract according to the multi-party calculation request.
The intelligent contract can be only called by a requester of the intelligent contract, so that the intelligent contract is not called by other nodes, and the safety of multi-party calculation is effectively improved.
A possible implementation manner in which the first node sends the notification message to the second node includes:
and the first node sends the notification message to the second node in a point-to-point mode.
By the method, the task is transmitted between the nodes of the related tasks when the task in the intelligent contract is executed, other nodes cannot contact the data, and the privacy of the data in the multi-party calculation is effectively improved.
In a possible implementation manner, the intelligent contract further comprises a feedback agreement that the task is executed; the method further comprises the following steps:
and the node corresponding to the requester receives a feedback message sent by the second node, wherein the feedback message is sent by the second node after the second node determines that the intelligent contract is executed completely.
By means of sending the feedback message, the first node can directly determine the execution result of the intelligent contract according to the received feedback message without periodically querying in the block chain, so that query pressure of the block chain is reduced, and real-time performance and convenience of safe multi-party computing are improved.
In one possible implementation, the method further includes:
and after the current task to be executed is processed, the first node sends the processing result of the current task to be executed to the block chain to which the intelligent contract belongs and achieves consensus.
And linking the contract execution results to ensure the authenticity and reliability of the secure multi-party computation.
Compared with the situation that the intelligent contract in the prior art needs to poll the state of the intelligent contract to obtain the execution condition of the current intelligent contract, the situation that a plurality of contract parties can execute in one task cannot be processed in parallel; in a possible implementation manner, the number of the second nodes is multiple; after the first node sends the notification message to the plurality of second nodes, the method further includes:
the plurality of second nodes respectively determine tasks which need to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request according to the intelligent contract; after the tasks which need to be executed currently are processed, the second nodes determine third nodes according to the execution relation among the tasks and send notification messages to the third nodes; and the notification message is used for determining a winning node by the third node according to the plurality of notification messages and processing the task currently required to be executed by the third node according to the notification message of the winning node.
In the embodiment of the invention, if the execution relation among the tasks is determined to be executable by a plurality of contracting parties, the winning node is determined in a parallel processing mode according to the execution results of the plurality of contracting parties and the optimized execution results, so that the multi-thread processing of the tasks is realized, the execution diversity of the intelligent contract is realized, and the execution efficiency of the safe multi-party calculation is effectively improved.
The embodiment of the invention provides a safe multiparty computing method, which comprises the following steps:
a first node compiles an intelligent contract; the intelligent contract comprises node information of each contract party, tasks of the intelligent contract executed by each contract party and task execution relations among the tasks;
the first node issues the intelligent contract on a blockchain, and issues the intelligent contract successfully after reaching the consensus on the blockchain.
The embodiment of the invention provides a safe multi-party computing method, which is realized by an intelligent contract, the content of the intelligent contract comprises tasks of executing the intelligent contract by all contract parties, not only a state storage and access interface of ledger data, but also does not depend on a business system corresponding to each contract party when the intelligent contract is executed, and the effective decoupling with the business system is realized. The intelligent contract can be directly issued to the block chain after being written, and is issued after all contract parties are authorized, so that the intelligent contract is issued more conveniently, and the efficiency of establishing the intelligent contract is improved.
In one possible implementation, the method further includes:
the first node sends an authorization request to a node of a contractual party in the intelligent contract;
and the first node determines whether the intelligent contract is executable or not according to the authorization result of the node of the contractual party.
After the contract is issued, the related cooperative parties sign the contract by sending an authorization request, and whether the intelligent contract is executable or not is confirmed according to the authorization results of all the cooperative parties, so that the reliability of safe multi-party calculation is ensured.
In a possible implementation manner, before the first node writes the intelligent contract, the method further includes:
the first node acquires at least one capability service interface issued by at least one second node; the at least one capability service interface is used to characterize services provided by the at least one second node;
the first node writes an intelligent contract, comprising:
and the first node determines the contractual parties of the intelligent contract and tasks required to be executed by each contractual party node according to the at least one capability service interface and the service requirement of the first node.
By the method, when the first node writes the intelligent contract, the task and the execution mode of the task can be determined only through the capability service interface issued by the second node, and the intelligent contract does not need to be written for a service system. Therefore, the intelligent contract in the embodiment of the invention only needs to modify the intelligent contract according to the business requirement and the capability service interface, does not need to consider whether the business systems of all contract parties are compatible, and does not need all cooperation parties to modify or upgrade the systems, thereby effectively improving the efficiency of upgrading and maintaining the intelligent contract.
One possible implementation, the first node writing an intelligent contract, comprising:
the first node sets an access right for calling the intelligent contract; the access right is used for setting the right of invoking the intelligent contract for the node of the requester of the intelligent contract.
By the method, potential safety hazards such as random calling of intelligent contracts and data leakage are avoided, and safety of multi-party calculation can be effectively improved.
The embodiment of the invention provides a device for safe multi-party computation, which comprises:
the processing unit is used for determining the intelligent contract needing to be called according to the multiparty calculation request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; according to the intelligent contract, determining a task which is currently required to be executed when a contractual party corresponding to the first node processes the multi-party computing request; after the task to be executed currently is processed, determining a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
a receiving and sending unit, configured to send a notification message to the second node; the notification message is used to instruct the second node to process the multi-party computation request.
In a possible implementation manner, the processing unit is specifically configured to: according to the multi-party computing request, determining the access right of the intelligent contract needing to be called, wherein the access right is used for setting the right of calling the intelligent contract for the node of the requesting party of the intelligent contract.
In a possible implementation manner, the transceiver unit is further configured to: and after the current task to be executed is processed, sending a processing result of the current task to be executed to the block chain to which the intelligent contract belongs and achieving consensus.
In one possible implementation, the transceiver unit is further configured to: and receiving a feedback message sent by the second node, wherein the feedback message is sent by the second node after the second node determines that the intelligent contract is completely executed.
In a possible implementation manner, the number of the second nodes is multiple; the plurality of second nodes respectively determine tasks which need to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request according to the intelligent contract; after the tasks which need to be executed currently are processed, the second nodes determine a third node according to the execution relation among the tasks and send a notification message to the third node; and the notification message is used for determining a winning node by the third node according to the plurality of notification messages and processing the task currently required to be executed by the third node according to the notification message of the winning node.
The embodiment of the invention provides a device for safe multi-party computation, which comprises:
the processing unit is used for compiling the intelligent contract; the intelligent contract comprises node information of each contract party, tasks of the intelligent contract executed by each contract party and task execution relations among the tasks;
and the receiving and sending unit is used for issuing the intelligent contract on the blockchain, and issuing the intelligent contract successfully after the consensus is achieved on the blockchain.
In a possible implementation manner, the transceiver unit is further configured to send an authorization request to a node of a contractual party in the intelligent contract;
the processing unit is further configured to determine whether the intelligent contract is executable according to an authorization result of the node of the contractual party.
In one possible implementation manner, the transceiver unit is further configured to: acquiring at least one capability service interface issued by at least one second node; the at least one capability service interface is used for characterizing the provided services of the at least one second node;
the processing unit is configured to: and determining contractual parties of the intelligent contract and tasks required to be executed by the nodes of each contractual party according to the at least one capability service interface and the business requirements of the first node.
In a possible implementation manner, the processing unit is further configured to set an access right to invoke the intelligent contract; the access right is used for setting a node of a requester of the intelligent contract to call the intelligent contract.
An embodiment of the present invention provides a computing device, including a memory and a processor, wherein:
the memory to store program instructions;
the processor is used for calling the program instructions stored in the memory and executing the secure multiparty computing method provided by the embodiment of the invention according to the obtained program.
An embodiment of the present invention provides a computer storage medium, where computer-executable instructions are stored, and the computer-executable instructions are used to enable a computer to execute a secure multiparty computing method provided by an embodiment of the present invention.
An embodiment of the present invention provides a computing device, including a memory and a processor, wherein:
the memory to store program instructions;
the processor is used for calling the program instructions stored in the memory and executing the secure multiparty computation method according to the obtained program.
In addition, an embodiment of the present invention provides a computer storage medium, where the computer storage medium stores computer-executable instructions, where the computer-executable instructions are configured to enable the computer to perform the secure multiparty computation method described in the embodiment of the present invention.
Further, an embodiment of the present invention provides a computing device, including a storage unit and a processing unit, where:
the storage unit is used for storing program instructions;
the processing unit is used for calling the program instructions stored in the memory and executing the secure multiparty computing method according to the obtained program.
Optionally, an embodiment of the present invention provides a computer storage medium storing computer-executable instructions, where the computer-executable instructions are configured to enable the computer to perform the secure multiparty computing method described in the embodiment of the present invention.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a flow chart illustrating a method for secure multi-party computing according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a method for secure multi-party computing provided in an embodiment of the present invention;
FIG. 3 is a flow chart illustrating a method for secure multi-party computing according to an embodiment of the present invention;
FIG. 4 is a diagram illustrating a method for secure multi-party computing according to an embodiment of the present invention;
FIG. 5 is a block diagram of an apparatus for secure multi-party computing according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a secure multi-party computing apparatus provided in an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The following takes ethernet as an example to illustrate an intelligent contract established on the block chain technology.
In the prior art, there are two types of accounts in an etherhouse: an external account and a contract account. The external account is private key controlled (by a person) and has no associated code. One external account may sign a transaction with a private key and send a message to another external account or a contract account. Transferring messages between two external accounts is a process of value transfer. Contract accounts are controlled by and have code associated with their contract code. A message from the external account to the contract account activates the code of the contract account and the contract account performs the corresponding operation (e.g., transfer of a token, writing to internal storage, digging up a new token, performing some operation, sending other messages, creating a new contract, etc.).
The intelligent contract construction based on the block chain, namely a plurality of participants jointly participate in making an intelligent contract, comprises the following steps:
firstly, a user needs to register as a user of a block chain, and the block chain is returned to the user for a pair of public keys and private keys; the public key is used as an account address of the user on the block chain, and the private key is used as a unique key for operating the account.
Step two, two or more than two users jointly agree a commitment according to the needs, and the commitment comprises the rights and obligations of both sides; these rights and obligations are written electronically, in machine language; each participant signs with respective private keys; to ensure the validity of the contract.
Step three, the signed intelligent contract is diffused and stored in a block chain through a P2P network according to the promised content in the intelligent contract;
step four, the intelligent contracts are diffused in the block chain whole network in a P2P mode, and each node receives one contract; the verification node in the block chain can firstly store the received contract into the memory, wait for a new round of consensus time and trigger consensus and processing of the contract.
Step five, when the consensus time arrives, the verification node packages all contracts stored in the latest period of time into a contract set (set), calculates the Hash value of the contract set, and finally assembles the Hash value of the contract set into a block structure to be diffused to the whole network; after receiving the block structure, other verification nodes take out the Hash of the contract set contained in the block structure and compare the Hash with the contract set stored by the other verification nodes; simultaneously sending a contract set approved by the user to other verification nodes; through such multiple rounds of sending and comparing; all the verification nodes eventually agree on the latest contract set within a specified time.
Step six, spreading the newly achieved contract set to the whole network in a block form, wherein each block comprises the following information: the Hash value of the current block, the Hash value of the previous block, the timestamp when the consensus is achieved, and other description information; the most important information of the block chain in the same time is a set of contracts with agreed consensus; and the nodes receiving the contract set verify each contract, and the verified contract is finally written into the block chain only, wherein the verified content mainly refers to whether the private key signature of the contract participant is matched with the account.
When the compiled contract bytecode is deployed on an ethernet blockchain in the form of a transmission transaction via an external account number, the contract is marked using the address of the contract account. After the intelligent contract is deployed, when the method of the intelligent contract needs to be called, only a message needs to be sent to the contract account, and the code of the intelligent contract is executed in the EVM after being triggered by the message.
From the above process, it can be known that: in the prior art, each participant only takes an intelligent contract as an account book when completing multi-party calculation, and the account book encapsulates state data required by each participant and an interface for state data access; completing a complete logic service, possibly compiling a plurality of intelligent contracts according to the service system of each participant, wherein the coupling degree of the intelligent contracts and the service system is very high; in addition, because the intelligent contract stores the state data and the final result of multi-party collaboration, and the data in the intelligent contract is still sensitive information, for the prior art, all participants can obtain the information at will, and the security is very low.
In view of the above problem, as shown in fig. 1, an embodiment of the present invention provides a secure multiparty computing method, including:
step 101: a first node compiles an intelligent contract; the intelligent contract comprises node information of each contract party, tasks of the intelligent contract executed by each contract party and task execution relations among the tasks;
step 102: the first node issues the intelligent contract on a blockchain, and issues the intelligent contract successfully after reaching the consensus on the blockchain.
The embodiment of the invention provides a secure multiparty computing method, the content of an intelligent contract comprises tasks of all contract parties executing the intelligent contract, more than state storage and access interfaces of account data are stored in the intelligent contract, a plurality of tasks exist in the intelligent contract, and the tasks have sequential logic relation.
It should be noted that, the secure multiparty computing method and the related apparatus in the embodiment of the present application may be implemented based on a distributed network of a block chain, and may also be implemented in a system docking manner, which is not limited herein.
In the embodiment of the application, in order to further realize the decoupling of the service system and the intelligent contract, before realizing the multi-party cooperative computing, each party can hide the task details required to be undertaken by the party and then issue the hidden task details as the capability interface for the requesting party to write the contract.
In a possible implementation manner, before the first node writes the intelligent contract, the method further includes:
the first node acquires at least one capability service interface issued by at least one second node; the at least one capability service interface is used for characterizing the provided services of the at least one second node;
the first node writes an intelligent contract, comprising:
and the first node determines the contractual parties of the intelligent contract and tasks required to be executed by each contractual party node according to the at least one capability service interface and the service requirement of the first node.
By the method, when the first node writes the intelligent contract, the task and the execution mode of the task can be determined only through the capability service interface issued by the second node, and the intelligent contract does not need to be written for a service system. Therefore, the intelligent contract in the embodiment of the invention only needs to modify the intelligent contract according to the business requirement and the capability service interface, does not need to consider whether the business systems of all contract parties are compatible, and does not need all cooperation parties to modify or upgrade the systems, thereby effectively improving the efficiency of upgrading and maintaining the intelligent contract.
It should be noted that, in the block chain, a contractual agent corresponding to each node may define a capability service interface according to its own resources and capabilities, and issue the capability service interface through the node. The contractor corresponding to the first node writing the intelligent contract may be the initial initiator of the intelligent contract. The intelligent contract is usually written and issued by an initial initiator, and the intelligent contract is determined to be in an executable state after being authorized by related nodes of all contracting parties of the intelligent contract. Other nodes which do not participate in the intelligent contract are also included in the blockchain network and are used for participating in the verification and state recording of the contract execution result. The three nodes comprise node machines and node information, the node information can comprise node accounts of the nodes and business accounts of contractual parties accessing the nodes, different contractual parties have unique business accounts, and intelligent contracts are executed on block chains through node servers of the node login nodes through the node accounts of the nodes.
Before the intelligent contracts are compiled, the first node also needs to acquire the capability service interface issued by each intelligent contract. The capability service interface is an interface defined by each second node according to own resources and capabilities. Elements of the capability service interface may include the contents as shown in table 1:
Figure BDA0001802271990000111
Figure BDA0001802271990000121
TABLE 1
Of course, the elements of the interface may also include the service type, the service element, and the like, for determining the service scope of the capability service interface.
The name of the capability service interface API can be any function or method name which accords with the operating environment; the capability service interface input parameters can be of two data types: integer or hexadecimal character string, and the number is not limited. The capability service interface return value may be defined as a hexadecimal string that is at least 2 bytes in length. The definition is as follows:
Figure BDA0001802271990000122
Figure BDA0001802271990000131
TABLE 2
The issuing mode of the ability service interface can use an account corresponding to the node, the ability service interface is issued through the self node, the issuing action triggers a block chain transaction, and after the transaction is agreed in the whole network, the success of issuing the ability service interface is determined. It should be noted that the transaction here refers to a "behavior" required by the blockchain itself to achieve consensus over the whole network, and may be a real transaction or a specific message type, depending on the technical scheme implemented by the blockchain itself, but once the consensus is achieved, a certificate of the "transaction" needs to be given. The credentials of the transaction are used to confirm on the blockchain network whether the corresponding "action" has occurred.
A second node that successfully publishes a capability service interface may be credited with an account of the node that published the capability service interface to gain access to the capability service interface. After the transaction of the published capability service interface is confirmed by the blockchain, all nodes in the chain retain the capability service interface. The reference of the capability service interface is indexed by the account of the second node issuing the capability service interface plus the identifier of the capability service interface, the capability service interface is kept unique in the account of the second node, and the issued capability service interface can be used in an agreed reference mode.
In step 101, an intelligent contract may contain the following information, as shown in table 3:
Figure BDA0001802271990000132
Figure BDA0001802271990000141
TABLE 3
The contractual party accounts are all contractual parties in the intelligent contract, and the contractual party account list comprises the accounts of all the contractual parties in the block chain network.
In order to improve the security of multi-party calculation, aiming at each contract party, the authority for calling the intelligent contract can be set according to the contract requirement.
In one possible implementation manner, the first node sets an access right for calling the intelligent contract; the access authority is used for setting the authority for invoking the intelligent contract for the requester of the intelligent contract.
In order to improve the security of invoking the intelligent contract, only the node corresponding to the requester triggering the intelligent contract is set with access authority, and other contractual parties in the contract do not have the authority of invoking the intelligent contract. And in the process of executing the intelligent contract, when the node corresponding to the task needs to be triggered, the node is activated to execute the task in a mode of sending a notification message to the node.
Of course, the authority for executing different tasks can be set for each contract party according to the requirement, so that the data of different contract parties are kept secret in the execution process of the intelligent contract, and the data privacy of multi-party calculation is ensured.
The task list includes tasks required by all parties in the intelligent contract to participate in the intelligent contract. The task script may be defined by a process-oriented custom script, for example, as shown in Table 4:
Figure BDA0001802271990000142
Figure BDA0001802271990000151
TABLE 4
The tasks in the contract are written according to the capability service interfaces issued by the nodes, and the corresponding nodes can execute the corresponding tasks by calling the corresponding capability service interfaces (function calling); moreover, each contract party can be automatically awakened by an intelligent contract engine (such as EVM) and executes related tasks without polling, so that the execution efficiency of the intelligent contract is effectively improved, and the data privacy is enhanced. The task that the contract needs to be coordinated by multiple parties is completely described into the intelligent contract, so that the business logic of the intelligent contract is complete, the task is not only a state storage and access interface of the book data, and the coupling degree of the task and the business system outside the chain is very low.
In step 102, the publisher uses an account corresponding to a first node in the intelligent contract to publish the intelligent contract through the first node, the publishing action triggers a transaction of a block chain, and the transaction confirms that the intelligent contract is successfully published after the transaction is agreed on all over the network. After the intelligent contracts are successfully issued, the intelligent contracts can be maintained in the nodes of all contracting parties, and the change of data in the intelligent contracts is recorded in the blockchain. Wherein, the common recognition algorithm of all messages in the running environment of the intelligent contract can adopt PBFT or RAFT algorithm. The record right of the ledger may be agreed as a node related to the current intelligent contract, or the record right of the ledger may be determined in other manners, which is not limited herein.
Because each contract party of the current intelligent contract can be issued after signing, the intelligent contract has the defects of low customization degree, low efficiency and certain lack of flexibility, and the applicability of the intelligent contract is limited.
Therefore, in the embodiment of the present invention, in order to improve the flexibility of the intelligent contract, one possible implementation manner includes:
the first node sends an authorization request to a node of a contractual party in the intelligent contract;
and the first node determines whether the intelligent contract is executable or not according to the authorization result of the node of the contractual party.
After the intelligent contract is successfully issued, the intelligent contract cannot be operated immediately, all contract parties need to confirm and authorize the intelligent contract, and the intelligent contract can be authorized in a dynamic signing mode.
The specific authorization method may include the following steps:
step one, a first node determines an intelligent contract related to an authorization request according to an account;
wherein the node may be a node of any contractor in an intelligent contract; the authorization request may be sent by a node issuing an intelligent contract to a node of each contracting party, and the specific sending mode may be a point-to-point sending mode, or may be a broadcast mode, which is not limited herein.
Step two, the first node checks contract information in the intelligent contract and confirms whether the intelligent contract is agreed;
for the transmission of the authorization result, the state of the intelligent contract can be synchronized to the nodes of other contractual parties as a blockchain transaction, and the intelligent contract is identified to the relevant contractual parties to agree to execute.
And step three, the first node sends an authorization result to the nodes of all the contracting parties in the intelligent contract.
The authorization result may be "signed" or "denied," among other things. Authorization "signing", including the signed account association node can obtain authorization to use the account, running the tasks specified in the contract.
And step four, the first node receives the authorization results of all the contracting parties and determines whether the intelligent contract can be executed according to the authorization results of all the contracting parties.
After the intelligent contract is issued, each contract party signs the contract, and the contract can be executed only when all contract parties agreed in the contract complete signing, all cooperation parties complete signing and the contract enters an executable state.
The intelligent contract can be directly issued to the block chain after being written, and is issued after all contract parties are authorized, so that the intelligent contract is issued more conveniently, and the efficiency of establishing the intelligent contract is improved. After the contract is issued, the related cooperative parties sign the contract by sending an authorization request, and whether the intelligent contract is executable or not is confirmed according to the authorization results of all the cooperative parties, so that the reliability of safe multi-party calculation is ensured.
As shown in fig. 2, the following description is made by using an embodiment of intelligent contract for B2C point exchange, and the following method is established by using an intelligent contract for exchanging points of a service system a corresponding to a first server with points of a service system B corresponding to a second server, and includes:
step one, a second node corresponding to the service system B issues an integral exchange interface API to each node in the block chain.
The point exchange interface API comprises an authorized party which can exchange points of the business system B and price parameters for exchanging the points.
And secondly, writing an intelligent contract by a first node corresponding to the service system A, designating a second node corresponding to the service system B as a contract party, and writing all tasks for performing point conversion and the execution relation of the tasks in the service system A and the service system B into the intelligent contract in the intelligent contract.
And the intelligent contract needs to call a point exchange interface API issued by the second node. Specifically, the input parameters for calling the point swap-out interface API are point type identification, account identification and number to be purchased.
And step two, the first node corresponding to the service system A issues an intelligent contract to the block chain.
And step four, the second node authorizes the intelligent contract and sends an authorization result to the first node.
And step five, the first node receives that the authorization result is signed, and confirms that the intelligent contract enters an effective state.
And establishing an intelligent contract for exchanging the points in the service system A and the points in the service system B. By establishing the contract, the user in the service system A can directly exchange the points in the service system A and the points in the service system B through the intelligent contract without exchanging the points among the users in the 2 service systems, and the mode of point exchange is directly changed from the existing C2C mode to the B2B mode, so that the service of point exchange is more convenient and quicker.
The following describes a method for establishing an intelligent contract according to an embodiment of the present invention, with data sharing as a specific embodiment, where the method includes: a contractual party R, a contractual party T, a contractual party B and a contractual party U. And the contractor R is a data sharing demander and is used for acquiring a verification result of the consistency of the user information and data of consumption capability evaluation. The user information may include a user name, a user address, a user mobile phone number MP, and a user card number PAN.
Step one, a node corresponding to a contractual party issues a capability service interface.
In the specific implementation process, nodes corresponding to a contractual party T, a contractual party B and a contractual party U issue a capacity service interface to the block chain. Specifically, the capability service interface 1 issued by the contractual party T can verify the consistency of the user name, the MP and the address; the capability service interface 2 issued by the contractual party B can verify the consistency of the user name and the PAN; the ability service interface 3 issued by the contractual party U may provide periodic consumption ability assessment based on PAN.
Secondly, a node corresponding to the contract party R acquires capability service interfaces 1-3 issued by the contract party T, the contract party B and the contract party U, and writes an intelligent contract according to the self requirement, wherein the contract party in the intelligent contract comprises: a contractual party R, a contractual party T, a contractual party B and a contractual party U. In the smart contract, tasks 1-3 are included. Wherein, task 1 is the task of the node corresponding to the contractual party T, and comprises: the consistency of the user name, the user mobile phone number and the address is verified, if the consistency is successful, a notification message is sent to a node of a contractual party B, and the notification message is used for notifying the node of the contractual party B to execute a task 2; and uploading the consistency results to the blockchain.
Task 2 is a task of a node corresponding to the contractual party B, and includes: verifying the consistency of the user name and the MP, and if the consistency is successful, sending a notification message to a node of a contractual party U, wherein the notification message is used for notifying the node of the contractual party U to execute a task 3; and uploads the consistency results to the blockchain.
Task 3 is a task of a node corresponding to the contractual party U, and includes: and providing the consumption capability evaluation of the last year according to the PAN, sending the consumption capability evaluation result to the block chain, sending a feedback message to the node of the contractual party R, and sending the received feedback message to the service system of the contractual party R by the node of the contractual party R.
It should be noted that, the above description of the tasks is only an example, the number of the tasks and the content of the tasks may be set according to actual needs, a same node may execute multiple tasks, a task may also be executed by multiple nodes, and an execution result is determined according to the execution results of the multiple nodes, which is not limited herein.
And step three, the node corresponding to the contract party R issues an intelligent contract to the block chain.
And step four, receiving the intelligent contract by the nodes corresponding to the contract party T, the contract party B and the contract party U, and signing the contract according to actual needs. And if the contractual party T, the contractual party B and the contractual party U are all signed, the node of each contractual party determines that the intelligent contract enters an effective state.
In the prior art, taking an ethernet house as an example, when triggering an intelligent contract, the execution of the intelligent contract may include: the contract party is a related participant for executing the intelligent contract and sends a message through an external account of the contract party to trigger the intelligent contract; a contract resource set, participant resources involved in executing for an intelligent contract, such as contractual accounts, owned digital property, etc.; the affairs in the intelligent contract mainly contain data to be sent; and the events in the intelligent contracts are descriptive information of the data. After the affair and the event information are received by the execution node of the intelligent contract, the resource state in the contract resource set is updated, and then the intelligent contract is triggered to judge the state machine. The state machine comprises current resource state judgment, next contract transaction execution selection and the like; if the intelligent contract system determines that the trigger condition contained in the event is met, automatically sending out preset data resources and the event comprising the trigger condition from an automatic state machine of the intelligent contract; and the contract transaction set is a next action or behavior set of the intelligent contract, controls the assets of the intelligent contract and responds to the received information.
Specifically, the execution of the intelligent contract based on the blockchain may include:
step one, regularly checking intelligent contracts in a block, and traversing a state machine, a transaction and a trigger condition in each contract one by one; pushing the transaction meeting the condition to a queue to be verified, and waiting for consensus; transactions that do not meet the trigger condition will continue to be deposited on the blockchain.
Step two, the latest round of verified transactions can be diffused to each verification node, and the verification nodes firstly carry out signature verification to ensure the validity of the transactions as common block chain transactions or transactions; the transaction passing the verification enters a to-be-identified set, and after most verification nodes achieve the identity, the transaction is successfully executed and the user is informed. The nodes execute the intelligent contracts independently, when the nodes execute the intelligent contracts completely, the nodes verify whether the results are consistent with each other, and after the verification is passed, the results are returned to the user.
After the transaction is successfully executed, the state opportunity of the intelligent contract judges the state of the contract, and after all the transactions included in the contract are sequentially executed, the state opportunity marks the state of the contract as finished and removes the contract from the latest block; otherwise, the mark is marked as in progress, and the mark is continuously stored in the latest block to wait for the next round of processing until the processing is finished; the whole transaction and state processing is automatically completed by an intelligent contract system arranged in the bottom layer of the block chain, and the whole process is transparent and cannot be tampered.
In addition, in the existing intelligent contract, only the account information, the access interfaces and the methods for accessing the interfaces of each contractual party are stored. When the contract is issued, the access interface is distributed to the appointed partner for authorization according to the agreement of each party, and each contract party can realize the access to the data in the contract through the access interface.
When each contract party executes the intelligent contract, the intelligent contract is required to be polled continuously through the data access interface, the task required to be completed is judged according to the polling result, and the execution result of the task still needs to be stored in the intelligent contract through the interface of the intelligent contract.
In the execution process, the node of the contractual party adopts a polling mechanism, and the state of the intelligent contract needs to be continuously inquired in the block chain to determine whether the intelligent contract can be executed, so that the data of the intelligent contract can be known by each contractual party, and the privacy of the data cannot be ensured.
In the specific implementation process, the node of the contractual party determines the currently executable service according to the state in the intelligent contract, and uploads the processed data onto the block chain after the service is processed, so as to complete the update of the intelligent contract data and the state in the block chain. Because the state of the intelligent contract needs to be actively inquired by each contract party, the intelligent contract can only carry out serial processing although the intelligent contract can carry out multi-party cooperative tasks, the efficiency is low, and the implementation operation is difficult.
In addition, because the intelligent contract only contains the processing states and data access interfaces of all parties, the actual service processing method for each interface exists in the service system of each contract party, the intelligent contract cannot determine the specific implementation method for processing the intelligent contract by each contract party, and the node can not understand the intelligent contract from the service logic point of view only according to the intelligent contract. If the concrete implementation method of the business is changed when each contractual party executes the contract, the contract and the business system of each contractual party are required to be modified adaptively, the modification period is long, the cost is high, and the modification is difficult.
As shown in fig. 3, an embodiment of the present invention provides a secure multiparty computing method, including:
step 301: the first node determines a task of an intelligent contract which needs to be executed by a contractual party corresponding to the first node when the multi-party computing request is processed according to the multi-party computing request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties;
step 302: after the tasks to be executed are processed, the first node determines a second node according to the execution relation among the tasks;
the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
step 303: the first node sends a notification message to the second node; the notification message is used to instruct the second node to process the multi-party computation request.
It should be noted that the first node for writing the intelligent contract is a requester of the intelligent contract, and the requester may be a contractor executing the intelligent contract, or may not be a contractor executing the intelligent contract, and is not limited herein.
The embodiment of the invention provides a secure multiparty computing method, the content of an intelligent contract comprises tasks of executing the intelligent contract by all contract parties, not only state storage and access interfaces of account book data, but also does not depend on a business system corresponding to each contract party when the intelligent contract is executed, a plurality of tasks exist in the intelligent contract, the tasks have sequential logic relation, and switching between the tasks is driven according to the execution result of the last task, so that the execution process of the contract can be executed in order in a task driving mode, the business system outside a chain does not need to poll a contact computer, and the automation of secure multiparty computing is realized. Moreover, each contract party can automatically wake up and execute related tasks through the notification message without polling, so that the execution efficiency of the intelligent contract is effectively improved, and the privacy of data is enhanced.
In step 301, as shown in fig. 4, the first node executes an intelligent contract according to a user's multiparty computation request received by the service system a. In the embodiment of the present invention, the intelligent contract execution may be performed in two ways, one is interpretation execution, and the other is execution after compilation, which is not limited in the embodiment of the present invention. The environment in which the intelligent contract executes may be termed the contract "runtime environment". The running environment can be all in the memory and isolated from other environments to enhance the security of data. The execution of the contract is divided into two steps: contract wake-up and contract run.
In the process of awakening the contract, in order to ensure that the intelligent contract can only be called by a requester of the intelligent contract, the access right for calling the intelligent contract can be set for the intelligent contract. Specifically, the method further comprises:
the first node sets an access right for calling the intelligent contract; the access right is used for setting the right of invoking the intelligent contract for the node of the requester of the intelligent contract.
In a specific implementation process, a calling authority can be set for an external access interface of the intelligent contract. By the method, other contracting parties except the requesting party in the intelligent contract or other nodes on the blockchain cannot wake up the intelligent contract, and the safety of multi-party calculation is enhanced.
In a specific implementation process, the waking up of the smart contract may include the following steps:
step one, a first node logs in a node server by using an account related to a task appointed in an intelligent contract;
and step two, the first node determines an intelligent contract to be executed through contract identification and attaches parameters specified by the contract.
When the intelligent contract is awakened, the operating environment of the intelligent contract can read all contents in the intelligent contract into the memory so as to accelerate the execution of tasks.
The intelligent contract consists of a plurality of tasks, and the triggering of the intelligent contract and the execution of the tasks are driven by the execution results of the tasks. The execution result of the task can be issued to the node executing the next task in a notification message manner. The notification message may include: a list of accounts of performers for a next task; contract identification; the task result of the executed preposed task, the multi-party computing request and the additional data are authorized by the account of the executor of the current task, only the executor of the current task can obtain the data, and the safety of the data in the safe multi-party computing is ensured. Certainly, the node of the next task may be further automatically woken up by an intelligent contract engine (e.g., EVM) to execute the corresponding task, and the specific implementation may refer to a notification message manner, which is not described herein again.
Of course, according to the requirement, the authority for executing different tasks can be set for the contract party in the execution process of the contract, so that the data of different contract parties are kept secret in the execution process of the intelligent contract, and the data privacy of multi-party calculation is ensured.
In addition, when a task in the contract is executed, after the node of the next task is determined, the notification message can be sent in a point-to-point mode, so that the task of the intelligent contract is only sent between related task nodes, other nodes cannot be contacted with the data, and the privacy of the data is enhanced.
The contact machine running environment accessed by the current account needs to check whether the current account is consistent with the account specified by the task and whether the contract is already in a signed state, and if the conditions are met, an instance is generated for the current contract and the task is started to run.
When the execution of the tasks in the contract is finished, the execution environment needs to automatically send out an execution result according to the contract content, and the execution result can be sent in a form of a notification message.
In a specific implementation, the contract execution may further include:
and the second node determines whether the second node obtains the authorization of the account appointed in the task according to the notification message. If the authorization condition is satisfied, the task specified in the notification message is run.
The execution of tasks and the chaining of execution results may be two logically separate parallel operations, not on one logical chain. The process of executing the task by the contract is remote-end execution, the running environment of the contract ensures that the current node obtains the authorization of the publisher of the capability service interface, when the capability service interface is called, environment protection and data isolation can be carried out, the independence of respective user systems of contractual parties is ensured, the intelligent contract cannot know the user information of the participating parties, the safety of user data is improved, and the data chaining returned after the task is executed is stored in the intelligent contract, so that the data in safe multi-party calculation cannot be falsified.
In the embodiment of the invention, the intelligent contract comprises all tasks in the intelligent contract and the execution relation among all the tasks, and by sending the notification message to the node executing the next task, the multi-party nodes can determine the tasks to be executed and the time for executing the tasks according to the notification message and the intelligent contract; compared with the prior art, each node does not need to poll the execution state of the intelligent contract, and the execution efficiency of the secure multi-party calculation is effectively improved.
After each task is completed, the embodiment of the present invention may further include:
and after the current task to be executed is processed, the first node sends the processing result of the current task to be executed to the block chain to which the intelligent contract belongs.
In the specific implementation process, the processing result of the sending task can trigger a blockchain transaction by sending an event message, so that the execution result of the contract is recorded on the blockchain, and the authenticity and reliability of safe multi-party calculation are ensured.
After the intelligent contract processing is completed, the method further comprises:
a node corresponding to a requester receives a feedback message sent by a second node;
and the feedback message is sent by the second node after the second node determines that the intelligent contract is executed.
It should be noted that the processing of the intelligent contract may be that the intelligent contract is terminated due to failure of processing of a certain task, and the task association relationship in the intelligent contract may be written when the processing of the intelligent contract is determined to be completed; or after all tasks in the intelligent contract are executed, the intelligent contract is confirmed to be executed completely.
By means of sending the feedback message, the node corresponding to the requester can directly determine the execution result of the intelligent contract according to the received feedback message without periodically querying the block chain, so that query pressure of the block chain is reduced, and real-time performance and convenience of safe multi-party computing are improved.
Compared with the situation that the intelligent contract in the prior art needs to poll the state of the intelligent contract to obtain the execution condition of the current intelligent contract, the situation that a plurality of contract parties can execute in one task cannot be processed in parallel; in a possible implementation manner, the number of the second nodes is multiple; after the first node sends the notification message to the plurality of second nodes, the method further includes:
the second nodes respectively determine tasks which need to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request according to the intelligent contract; after the tasks which need to be executed currently are processed, the second nodes determine third nodes according to the execution relation among the tasks and send notification messages to the third nodes; and the notification message is used for determining a winning node by the third node according to the plurality of notification messages and processing the task currently required to be executed by the third node according to the notification message of the winning node.
For a specific task, accounts corresponding to nodes of multiple contractual parties may be specified, or multiple accounts in one contractual party, at this time, the task may be independently run after the nodes where the multiple accounts are located receive the notification message, and a winning node of the task may be determined according to a preset rule.
In the specific implementation process, the preset rule can be that the completion time is prior, namely, the node which issues the task result earliest wins; the priority of the low price can also be given, namely if a plurality of nodes are finished simultaneously, the ordering is appointed according to the price defined by the capability service interface quoted by the target node, and the low price is the winner; the determination may also be based on a predetermined sorting rule, for example, if neither of the two preset rules can distinguish a winning node, the winning node may be sorted in the top according to the account order specified by the task in the smart contract.
In the embodiment of the invention, if the execution relation among the tasks is determined to be executable by a plurality of contracting parties, the winning node is determined in a parallel processing mode according to the execution results of the plurality of contracting parties and the optimized execution results, so that the multi-thread processing of the tasks is realized, the execution diversity of the intelligent contract is realized, and the execution efficiency of the safe multi-party calculation is effectively improved.
With reference to fig. 4, the following description is made by taking a multiparty computation request of a smart contract with points interchanged by B2C as an example, and the following transaction method of a smart contract with points of a service system a corresponding to a first node being exchanged by points of a service system B corresponding to a second node includes:
step one, a user of a service system A determines to need point exchange through the service system A, and sends a point exchange request to the service system A;
step two, the service system A generates a multi-party calculation request corresponding to an intelligent contract for calling point interchange according to the point interchange request, and sends the multi-party calculation request to a first node; the associated intelligent contracts and related parameters are identified in the multi-party computing request.
And step three, the first node checks the intelligent contract according to the multi-party calculation request, and if the state of the intelligent contract is effective, an execution message of the intelligent contract is generated and sent to a contract execution engine of the first node.
Wherein the state of the intelligent contract effectively comprises the state that the intelligent contract is signed and can be executed; the first node determines that the account of the contractual party corresponding to the first node can call the intelligent contract according to the call authority of the intelligent contract.
And step four, automatically executing the contract execution engine of the first node according to the intelligent contract, if the task needing to be executed is determined to be the second node, generating a notification message, and sending the notification message to the second node of the associated task.
And step four, the second node transmits the received notification message to a contract execution engine of the second node, starts local execution of the related task corresponding to the second node, and transmits an execution result to a node of the next task through an inter-task message until all tasks are executed.
Step five, if the node executing the last task determines that the execution of the intelligent contract is finished, an execution result is sent to a service system A of the first node; and feeds back to the service system B according to the contract agreement mode.
For example, if the node executing the last task is the second node, the second node sends an execution result to the service system a of the first node; and if the node executing the last task is the first node, the first node sends an execution result to the service system A.
And step six, the first node feeds back the returned result of the received integral interchange task to the service system A in an agreed mode.
The following describes a transaction method of an intelligent contract in an embodiment of the present invention, taking data sharing as a specific embodiment, where the data-sharing intelligent contract includes: a contractual party R, a contractual party T, a contractual party B and a contractual party U. And the contractor R is a data sharing demander and is used for acquiring a verification result of the consistency of the user information and data of consumption capability evaluation. The user information may include a user name, a user address, a user mobile phone number, a user card number, and the like. A method of trading a data-sharing smart contract may include the steps of:
step one, a service system of a contract party R triggers an intelligent contract of data sharing according to scene requirements;
step two, a first node of a contractual party R starts and executes a contract, and generates a notification message to a second node corresponding to the contractual party T;
thirdly, executing the corresponding tasks according to the logic sequence of the task execution in the intelligent contract by each node of the contractual party T, and if the task corresponding to the contractual party T is executed, determining the contractual party corresponding to the node for executing the next task as a contractual party B; sending the executed result to a node corresponding to the contractual party B in the form of a notification message;
step four, the node of the contract party B executes the corresponding tasks according to the logic sequence of the task execution in the intelligent contract; for example, if the execution of the task corresponding to the contractual party B is completed, and the contractual party corresponding to the node for executing the next task is determined to be the contractual party U; sending the executed result to a node corresponding to the contractual party U in the form of a notification message;
step five, starting a subsequent task specified in the notification message by the contractual party U; after the execution is finished, if the fact that all tasks in the intelligent contract are executed is determined, the fact that the intelligent contract is executed is determined; and feeding back the execution result serving as the execution result of the intelligent contract to a node corresponding to the contract party R.
And step six, the node corresponding to the contract party R feeds back the execution result of the intelligent contract to the service system corresponding to the contract party R in a feedback message mode.
Based on the same inventive concept, as shown in fig. 5, an embodiment of the present invention provides an apparatus for secure multi-party computing, including:
the processing unit 501 is configured to determine an intelligent contract to be invoked according to the multiparty computation request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; according to the intelligent contract, determining a task which needs to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request; after the task to be executed currently is processed, determining a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
a transceiver 502, configured to send a notification message to the second node; the notification message is used to instruct the second node to process the multi-party computing request.
In a possible implementation manner, the processing unit 501 is specifically configured to: according to the multi-party calculation request, determining the access authority of the intelligent contract needing to be invoked, wherein the access authority is used for setting the authority for invoking the intelligent contract for the node of the requester of the intelligent contract.
In one possible implementation, the transceiver unit 502 is further configured to: and receiving a feedback message sent by the second node, wherein the feedback message is sent by the second node after the second node determines that the intelligent contract is completely executed.
In one possible implementation manner, the transceiver unit 502 is further configured to: and after the current task to be executed is processed, sending a processing result of the current task to be executed to a block chain to which the intelligent contract belongs and achieving consensus.
In a possible implementation manner, the number of the second nodes is multiple; the plurality of second nodes respectively determine tasks which need to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request according to the intelligent contract; after the tasks which need to be executed currently are processed, the second nodes determine a third node according to the execution relation among the tasks and send a notification message to the third node; and the notification message is used for determining a winning node by the third node according to the plurality of notification messages and processing the task currently required to be executed by the third node according to the notification message of the winning node.
As shown in fig. 6, an embodiment of the present invention provides an apparatus for secure multi-party computing, including:
the processing unit 601 is used for compiling the intelligent contract; the intelligent contract comprises node information of each contract party, tasks of the intelligent contract executed by each contract party and task execution relations among the tasks;
the transceiving unit 602 is configured to issue the smart contract on the blockchain, and issue the smart contract successfully after reaching the consensus on the blockchain.
In one possible implementation manner, the transceiving unit 602 is further configured to send an authorization request to a node of a contractual party in the intelligent contract;
the processing unit 601 is further configured to determine whether the intelligent contract is executable according to an authorization result of the node of the contractual party.
In one possible implementation manner, the transceiving unit 602 is further configured to: acquiring at least one capability service interface issued by at least one second node; the at least one capability service interface is used for characterizing the provided services of the at least one second node;
a processing unit 601, configured to: and determining contractual parties of the intelligent contract and tasks required to be executed by each contractual party node according to the at least one capability service interface and the business requirements of the first node.
In a possible implementation manner, the processing unit 601 is further configured to set an access right to invoke the intelligent contract; the access right is used for setting a node of a requester of the intelligent contract to call the intelligent contract. An embodiment of the present invention provides a computing device, including a memory and a processor, wherein:
the memory to store program instructions;
the processor is used for calling the program instructions stored in the memory and executing the transaction method of the intelligent contract or the establishment method of the intelligent contract according to the obtained program.
An embodiment of the present invention provides a computer storage medium, where computer-executable instructions are stored, and the computer-executable instructions are configured to enable a computer to execute a transaction method of an intelligent contract or an establishment method of an intelligent contract provided by an embodiment of the present invention.
The embodiment of the invention provides a safe multiparty computing method, the content of an intelligent contract comprises tasks of all contract parties executing the intelligent contract, the intelligent contract stores a state storage and access interface which is not ledger data, a plurality of tasks exist in the intelligent contract, the tasks can process input data of the tasks and can refer to a capability service interface which is issued by a node on a block chain and used for completing specific computing tasks, the tasks are complete description of the tasks which are coordinated by multiple parties and are complete encapsulation of business logic, the tasks are not only state storage and access interfaces of the ledger data, sequential logic relations exist among the tasks, switching and execution among the tasks are driven by the logic relations described when the intelligent contract is defined, and the tasks can be executed in parallel, in serial or any combination of parallel and serial. Therefore, when the intelligent contract is executed, the intelligent contract in the embodiment of the invention does not depend on the service systems corresponding to all contract parties, the tasks born by all parties can be executed in the local environment outside the chain, the local data cannot be leaked out, and the safe multi-party calculation is realized.
The intelligent contract can also set the authority of an external access interface required by triggering the intelligent contract, and the safety of the intelligent contract is enhanced.
The contract content can refer to a capability interface which is issued by a node on the chain and used for completing a specific computing task so as to realize the decoupling of the task and an off-chain system, therefore, the intelligent contract is only required to be modified according to the service requirement in the embodiment per se, and whether the service systems of all contract parties are compatible or not is not required to be considered, so that the upgrading and the maintenance of the intelligent contract can be realized.
The intelligent contract can be directly issued to the block chain after being written, and is issued after all contract parties are authorized, so that the intelligent contract is issued more conveniently, and the efficiency of establishing the intelligent contract is improved. After the contract is issued, the related cooperative parties sign the contract by sending an authorization request, and whether the intelligent contract is executable or not is confirmed according to the authorization results of all the cooperative parties, so that the reliability of safe multi-party calculation is ensured.
The embodiment of the invention provides a secure multiparty computing method, the content of an intelligent contract comprises tasks of all contract parties executing the intelligent contract, not only state storage and access interfaces of account book data, the intelligent contract is executed without depending on a business system corresponding to each contract party, a plurality of tasks are stored in the intelligent contract, the tasks have sequential logic relation, and switching between the tasks is driven according to an execution result of the last task, so that the execution process of the contract can be executed in order in a task driving mode, the business system outside a chain does not need to poll a contact machine, compared with the prior art, each node does not need to poll the execution state of the intelligent contract, the execution efficiency of the intelligent contract is effectively improved, the automation of secure multiparty computing is realized, and the data privacy is enhanced. And linking the contract execution result, so that the trueness and the reliability of data in secure multi-party computation are ensured. By means of sending the feedback message, the first node can determine the execution result of the intelligent contract directly according to the received feedback message without periodically querying the block chain, so that query pressure of the block chain is reduced, and real-time performance and convenience of safe multi-party computing are improved. Compared with the situation that the intelligent contract in the prior art needs to poll the state of the intelligent contract to obtain the execution condition of the current intelligent contract, the situation that a plurality of contract parties can execute in one task cannot be processed in parallel; in the embodiment of the invention, if the execution relation among the tasks is determined to exist, the execution of a plurality of contracting parties can be carried out, the winning node is determined in a parallel processing mode according to the execution results of the plurality of contracting parties, preferably the execution results, the multithreading processing of the tasks is realized, the execution diversity of the safe multi-party calculation is realized, and the execution efficiency of the safe multi-party calculation is effectively improved.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus (device), or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (20)

1. A method of secure multi-party computing, comprising:
the first node determines a task of an intelligent contract which needs to be executed by a contractual party corresponding to the first node when the multi-party computing request is processed according to the multi-party computing request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; the first node sets an access right for calling the intelligent contract; the access authority is used for setting the authority for calling the intelligent contract for the node of the requester of the intelligent contract; the intelligent contracts are written by the first nodes according to the capability service interfaces of the second nodes; the capability service interface is defined by each second node according to own resources and capability;
after the tasks to be executed are processed, the first node determines a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
the first node sends a notification message to the second node; the notification message includes an execution result of a task of the first node; the notification message is used to instruct the second node to process the multi-party computation request.
2. The method for secure multi-party computing according to claim 1, wherein the method further comprises:
and the node corresponding to the requester of the intelligent contract calls the intelligent contract according to the multi-party calculation request.
3. The method for secure multi-party computing according to claim 2, wherein the method further comprises:
and the node corresponding to the requester receives a feedback message sent by the second node, wherein the feedback message is sent by the second node after the second node determines that the intelligent contract is completely executed.
4. The secure multi-party computing method of claim 1, further comprising:
and after the current task to be executed is processed, the first node sends the processing result of the current task to be executed to the block chain to which the intelligent contract belongs and achieves consensus.
5. The secure multi-party computing method of claim 1, wherein the second node is plural; after the first node sends the notification message to the plurality of second nodes, the method further includes:
the plurality of second nodes respectively determine tasks which need to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request according to the intelligent contract; after the tasks which need to be executed currently are processed, the second nodes determine third nodes according to the execution relation among the tasks and send notification messages to the third nodes; and the notification message is used for determining a winning node by the third node according to the plurality of notification messages and processing the task currently required to be executed by the third node according to the notification message of the winning node.
6. A method of secure multi-party computing, comprising:
the first node compiles an intelligent contract according to the capability service interface of each second node; the intelligent contract comprises node information of each contract party, tasks of the intelligent contract executed by each contract party and task execution relations among the tasks; the capability service interface is defined by each second node according to own resources and capability;
the first node issues the intelligent contract on a blockchain, and issues the intelligent contract successfully after consensus is achieved on the blockchain;
the first node determines a task of an intelligent contract which needs to be executed by a contractual party corresponding to the first node when the multiparty computing request is processed according to the multiparty computing request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; the first node sets an access right for calling the intelligent contract; the access authority is used for setting the authority for calling the intelligent contract for the node of the requester of the intelligent contract;
after the tasks to be executed are processed, the first node determines a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
the first node sends a notification message to the second node; the notification message includes an execution result of a task of the first node; the notification message is used to instruct the second node to process the multi-party computation request.
7. The method for secure multi-party computing according to claim 6, wherein the method further comprises:
the first node sends an authorization request to a node of a contractual party in the intelligent contract;
and the first node determines whether the intelligent contract is executable or not according to the authorization result of the node of the contractual party.
8. The secure multi-party computing method of claim 6, wherein prior to the first node writing an intelligent contract, further comprising:
the first node acquires at least one capability service interface issued by at least one second node; the at least one capability service interface is used for characterizing the provided services of the at least one second node;
the first node writes an intelligent contract, comprising:
and the first node determines the contractual parties of the intelligent contract and tasks required to be executed by each contractual party node according to the at least one capability service interface and the service requirement of the first node.
9. The secure multi-party computing method of claim 6, wherein the first node writes an intelligent contract comprising:
the first node sets an access right for calling the intelligent contract; the access right is used for setting the right of invoking the intelligent contract for the node of the requester of the intelligent contract.
10. An apparatus for multi-party computing, comprising:
the processing unit is used for determining the intelligent contract needing to be called according to the multiparty calculation request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; the first node sets an access right for calling the intelligent contract; the access authority is used for setting the authority for calling the intelligent contract for the node of the requester of the intelligent contract; the intelligent contracts are written by the first nodes according to the capability service interfaces of the second nodes; the capability service interface is defined by each second node according to own resources and capability; according to the intelligent contract, determining a task which needs to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request; after the task to be executed currently is processed, determining a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
a receiving and sending unit, configured to send a notification message to the second node; the notification message comprises an execution result of a task of the first node; the notification message is used to instruct the second node to process the multi-party computing request.
11. The multi-party computing apparatus as recited in claim 10, wherein the processing unit is specifically configured to: according to the multi-party computing request, determining the access right of the intelligent contract needing to be called, wherein the access right is used for setting the right of calling the intelligent contract for the node of the requesting party of the intelligent contract.
12. The multi-party computing apparatus of claim 11, wherein the transceiver unit is further configured to: and receiving a feedback message sent by the second node, wherein the feedback message is sent by the second node after the second node determines that the intelligent contract is completely executed.
13. The multi-party computing apparatus of claim 10, wherein the transceiver unit is further configured to: and after the current task to be executed is processed, sending a processing result of the current task to be executed to a block chain to which the intelligent contract belongs and achieving consensus.
14. The multi-party computing apparatus of claim 10, wherein the second node is plural; the second nodes respectively determine tasks which need to be executed currently when a contractual party corresponding to the first node processes the multi-party computing request according to the intelligent contract; after the tasks which need to be executed currently are processed, the second nodes determine a third node according to the execution relation among the tasks and send a notification message to the third node; and the notification message is used for determining a winning node by the third node according to the plurality of notification messages and processing the task currently required to be executed by the third node according to the notification message of the winning node.
15. An apparatus for multi-party computing, comprising:
the processing unit is used for compiling an intelligent contract according to the capability service interface of each second node; the intelligent contract comprises node information of each contractual party, tasks of the intelligent contract executed by each contractual party and task execution relations among the tasks; the capability service interface is defined by each second node according to own resources and capability;
the receiving and sending unit is used for issuing the intelligent contract on the block chain, and issuing the intelligent contract successfully after the consensus is achieved on the block chain;
the processing unit is used for determining the intelligent contract required to be called according to the multiparty calculation request; the intelligent contract comprises tasks of all contractual parties executing the multi-party computing request and execution relations among the tasks; the first node is any one of the contracting parties; the first node sets an access right for calling the intelligent contract; the access authority is used for setting the authority for calling the intelligent contract for the node of the requester of the intelligent contract; according to the intelligent contract, determining a task which is currently required to be executed when a contractual party corresponding to the first node processes the multi-party computing request; after the task to be executed currently is processed, determining a second node according to the execution relation among the tasks; the second node is a node corresponding to the next task in each contractual party executing the multi-party computing request;
the receiving and sending unit is configured to send a notification message to the second node; the notification message includes an execution result of a task of the first node; the notification message is used to instruct the second node to process the multi-party computation request.
16. The multi-party computing apparatus of claim 15,
the receiving and sending unit is further used for sending an authorization request to a node of a contractual party in the intelligent contract;
the processing unit is further configured to determine whether the intelligent contract is executable according to an authorization result of the node of the contractual party.
17. The multi-party computing apparatus of claim 15, wherein the transceiver unit is further configured to: acquiring at least one capability service interface issued by at least one second node; the at least one capability service interface is used for characterizing the provided services of the at least one second node;
the processing unit is configured to: and determining contractual parties of the intelligent contract and tasks required to be executed by the nodes of each contractual party according to the at least one capability service interface and the business requirements of the first node.
18. The multi-party computing apparatus of claim 15, wherein the processing unit is further configured to set access rights to invoke the smart contract; the access right is used for setting a node of a requester of the intelligent contract to call the intelligent contract.
19. A computing device comprising a memory and a processor, wherein:
the memory to store program instructions;
the processor is configured to call the program instructions stored in the memory and execute the secure multiparty computation method according to any one of claims 1 to 5 or the secure multiparty computation method according to any one of claims 6 to 9 according to the obtained program.
20. A computer storage medium storing computer-executable instructions for causing a computer to perform the method for secure multi-party computing according to any one of claims 1-5 or the method for secure multi-party computing according to any one of claims 6-9.
CN201811082290.3A 2018-09-17 2018-09-17 Safe multiparty computing method and related device Active CN109359957B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811082290.3A CN109359957B (en) 2018-09-17 2018-09-17 Safe multiparty computing method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811082290.3A CN109359957B (en) 2018-09-17 2018-09-17 Safe multiparty computing method and related device

Publications (2)

Publication Number Publication Date
CN109359957A CN109359957A (en) 2019-02-19
CN109359957B true CN109359957B (en) 2022-11-22

Family

ID=65350906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811082290.3A Active CN109359957B (en) 2018-09-17 2018-09-17 Safe multiparty computing method and related device

Country Status (1)

Country Link
CN (1) CN109359957B (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109873866B (en) * 2019-02-20 2020-10-09 北京邮电大学 Data sharing method and device based on block chain and electronic equipment
CN109903163A (en) * 2019-03-05 2019-06-18 杭州秘猿科技有限公司 A kind of block bonusing method, device and the electronic equipment out of block chain
CN110335037A (en) * 2019-04-19 2019-10-15 矩阵元技术(深圳)有限公司 Method of commerce, device and the storage medium calculated based on block chain and Secure
CN110298190A (en) * 2019-04-19 2019-10-01 矩阵元技术(深圳)有限公司 Decentralization Secure data processing method, device and storage medium
CN110175461A (en) * 2019-05-08 2019-08-27 矩阵元技术(深圳)有限公司 Implementation method, device, computer equipment and the storage medium of multi-party computations
CN110135847A (en) * 2019-05-22 2019-08-16 同济大学 The system and method for being used to improve electronic auction safety based on block chain
WO2020237453A1 (en) * 2019-05-27 2020-12-03 云图有限公司 Method and apparatus for implementing secure multi-party computation, computer device, and storage medium
CN110247960B (en) * 2019-05-27 2021-12-07 矩阵元技术(深圳)有限公司 Method and device for realizing secure multi-party computation, computer equipment and storage medium
CN110138802B (en) * 2019-06-02 2021-09-24 四川虹微技术有限公司 User characteristic information acquisition method, device, block chain node, network and storage medium
CN110348882A (en) * 2019-06-19 2019-10-18 阿里巴巴集团控股有限公司 Integration method, system, device and equipment based on intelligent contract
CN110363528B (en) * 2019-06-27 2022-06-24 矩阵元技术(深圳)有限公司 Collaborative address generation method, collaborative address generation device, transaction signature method, transaction signature device and storage medium
CN113238806A (en) * 2019-08-30 2021-08-10 创新先进技术有限公司 Method and apparatus for concurrently executing transactions in a blockchain
CN113496398A (en) * 2020-03-19 2021-10-12 中移(上海)信息通信科技有限公司 Data processing method, device, equipment and medium based on intelligent contract
CN111585994A (en) * 2020-04-27 2020-08-25 中国银行股份有限公司 Data processing method and system
CN111683148B (en) * 2020-06-09 2023-01-31 吉林亿联银行股份有限公司 Service processing system and method, service publishing method
CN112766960A (en) * 2020-08-22 2021-05-07 王红建 Information security protection method and system applied to block chain financial fusion and online payment
CN112272208B (en) * 2020-09-22 2023-03-31 国网上海市电力公司 Secure multiparty computing method, electronic device and storage medium
CN112115204A (en) * 2020-10-26 2020-12-22 大唐网络有限公司 Multi-party security calculation implementation method based on block chain technology
WO2022133827A1 (en) * 2020-12-23 2022-06-30 杭州趣链科技有限公司 Method and apparatus for processing task processing request, and blockchain node device
CN112686671B (en) * 2021-01-07 2022-07-12 腾讯科技(深圳)有限公司 Intelligent contract deployment method, device, equipment and medium based on block chain
CN112861169B (en) * 2021-01-14 2022-06-14 支付宝(杭州)信息技术有限公司 Data processing method, device and equipment based on privacy protection
CN113159944A (en) * 2021-03-10 2021-07-23 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN113067822B (en) * 2021-03-19 2023-11-10 中国工商银行股份有限公司 Information processing method, device, equipment, medium and product based on block chain
CN113098983B (en) * 2021-06-02 2021-10-15 支付宝(杭州)信息技术有限公司 Task execution method and device based on intelligent contract
CN113067900B (en) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 Intelligent contract deployment method and device
CN114268634A (en) * 2021-06-02 2022-04-01 支付宝(杭州)信息技术有限公司 Business execution method based on off-chain computing service
US11782952B2 (en) 2021-08-18 2023-10-10 International Business Machines Corporation Automation of multi-party computation as a service according to user regulations and requirements
CN113472538B (en) * 2021-09-02 2021-12-10 富算科技(上海)有限公司 Method, device, equipment and medium for detecting privacy of result of multi-party security calculation
CN114363336A (en) * 2021-12-31 2022-04-15 支付宝(杭州)信息技术有限公司 Method and device for starting/closing block link point service
CN115829561B (en) * 2022-12-23 2023-12-19 星环信息科技(上海)股份有限公司 Transaction method, system, computing node and storage medium for data products

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117808A1 (en) * 2006-11-16 2008-05-22 Mark Henrik Sandstrom Automatic configuration of network elements based on service contract definitions
CN106911557B (en) * 2017-01-17 2020-12-01 腾讯科技(深圳)有限公司 Message transmission method and device
US10158479B2 (en) * 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes
CN107273759B (en) * 2017-05-08 2020-07-14 上海点融信息科技有限责任公司 Method, apparatus, and computer-readable storage medium for protecting blockchain data
CN107301536B (en) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 Resource transfers method and device
CN107707410B (en) * 2017-10-26 2021-04-27 上海点融信息科技有限责任公司 Method for configuring system audit service, information processing device and readable storage medium
CN107943951B (en) * 2017-11-24 2020-08-11 中钞信用卡产业发展有限公司杭州区块链技术研究院 Method and system for retrieving block chain service information

Also Published As

Publication number Publication date
CN109359957A (en) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109359957B (en) Safe multiparty computing method and related device
JP7407895B2 (en) Blockchain for general calculations
CN108492180B (en) Asset management method and device and electronic equipment
CN108810137B (en) Alliance block chain system
CN109863719B (en) Method and system for controlling transfer through block chain
TWI765019B (en) Rapid distributed consensus on blockchain
CN108335206B (en) Asset management method and device and electronic equipment
CN108667632B (en) Credit record sharing method and device based on block chain and electronic equipment
CN109003185B (en) Intelligent contract establishing method and device, computing equipment and storage medium
CN107341402B (en) Program execution method and device
CN110557403B (en) Resource allocation method and device based on block chain, storage medium and node equipment
JP7319961B2 (en) Computer-implemented systems and methods related to binary blockchains forming a pair of coupled blockchains
CN111445333A (en) Block generation method and device, computer equipment and storage medium
CN111818185B (en) Method and device for starting intelligent contract, electronic equipment and storage medium
CN110264351B (en) Copyright distribution method and device based on block chain
CN111383114A (en) Asset information management method and device based on block chain
CN111402033A (en) Asset information management method and device based on block chain
CN109711840B (en) Transaction data processing method and device and storage medium
CN112200567A (en) Resource management method and device based on block chain and electronic equipment
CN111047327A (en) Intelligent contract execution method, device and equipment
CN112115204A (en) Multi-party security calculation implementation method based on block chain technology
CN111597269A (en) Block chain-based contract implementation method, device and equipment
CN111046439A (en) Intelligent contract task verifiable method and system based on block chain
CN116866340A (en) Method, device, equipment and storage medium for capacity sharing cooperation based on block chain
CN111447216B (en) Method and apparatus for changing consensus node

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