CN113191895B - Transaction execution method, system and device - Google Patents

Transaction execution method, system and device Download PDF

Info

Publication number
CN113191895B
CN113191895B CN202110395679.9A CN202110395679A CN113191895B CN 113191895 B CN113191895 B CN 113191895B CN 202110395679 A CN202110395679 A CN 202110395679A CN 113191895 B CN113191895 B CN 113191895B
Authority
CN
China
Prior art keywords
transaction
result
intelligent contract
processing
execution
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
CN202110395679.9A
Other languages
Chinese (zh)
Other versions
CN113191895A (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110395679.9A priority Critical patent/CN113191895B/en
Publication of CN113191895A publication Critical patent/CN113191895A/en
Application granted granted Critical
Publication of CN113191895B publication Critical patent/CN113191895B/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
    • 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)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the specification discloses a transaction execution method, a system and a device. The method is performed by a block link point, comprising: acquiring a transaction; executing a first transaction processing stage of the target intelligent contract to complete part of the processing flow of the transaction to obtain a first processing result; and triggering a checking program to check the first processing result so as to execute the second transaction processing stage of the target intelligent contract to obtain the execution result of the transaction or terminate the processing of the transaction based on the checking result. The safety monitoring of the intelligent contract is achieved, and the safety of the intelligent contract is improved.

Description

Transaction execution method, system and device
Description of the cases
The present application is a divisional application filed on the basis of the chinese application having an application date of 04/09/2020, an application number of 202010924362.5, entitled "a transaction execution method, system and apparatus".
Technical Field
The present disclosure relates to the field of block chain technologies, and in particular, to a method, a system, and an apparatus for executing a transaction.
Background
In recent years, the intelligent block chain contract is public, and any tiny bug in the intelligent block chain contract can be discovered and attacked by an attacker, so that the intelligent block chain contract system has low security. Therefore, a method for monitoring the security of the intelligent contract is needed to improve the security of the intelligent contract.
Disclosure of Invention
One embodiment of the present disclosure provides a transaction execution method, which is executed by a block link point. The method comprises the following steps: acquiring a transaction; executing a first transaction processing stage of the target intelligent contract to complete part of the processing flow of the transaction to obtain a first processing result; and triggering a checking program to check the first processing result so as to execute the second transaction processing stage of the target intelligent contract to obtain the execution result of the transaction or terminate the processing of the transaction based on the checking result.
One of the embodiments of the present specification provides a transaction execution system, including: an acquisition module for acquiring a transaction; the first execution module is used for executing a first transaction processing stage of the target intelligent contract to complete part of processing flow of the transaction to obtain a first processing result; the checking request module is used for triggering a checking program to check the first processing result; and the second execution module is used for executing a second transaction processing stage of the target intelligent contract to obtain an execution result of the transaction or terminating the processing of the transaction based on the checking result.
One embodiment of the present disclosure provides a transaction execution device. The apparatus includes a processor. The processor may be configured to perform the transaction execution method described above.
Drawings
The present description will be further explained by way of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not intended to be limiting, and in these embodiments like numerals are used to indicate like structures, wherein:
FIG. 1 is a schematic diagram of an application scenario of a transaction processing system according to some embodiments of the present description;
FIG. 2 is an exemplary flow diagram of a transaction execution method according to some embodiments of the present description;
FIG. 3 is an exemplary flow diagram of another transaction execution method according to some embodiments of the present description;
FIG. 4 is an exemplary block diagram of a transaction execution system according to some embodiments of the present description.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only examples or embodiments of the present description, and that for a person skilled in the art, the present description can also be applied to other similar scenarios on the basis of these drawings without inventive effort. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
It should be understood that "system", "device", "unit" and/or "module" as used herein is a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, other words may be substituted by other expressions if they accomplish the same purpose.
As used in this specification and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
Flow charts are used in this description to illustrate operations performed by a system according to embodiments of the present description. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
In order to ensure that the intelligent contract can complete the execution task safely as expected, in some embodiments, the intelligent contract is subjected to security detection, and the intelligent contract is deployed on the block chain after the intelligent contract passes the detection. One current practice is to perform security audits (automated means including formal verification) of code on smart contracts, for example, by machine (e.g., model or algorithm) or manually. If the personnel who performs security audit on the code of the intelligent contract is not specialized or does not know the code rules in the field, or the machine used for security audit of the code of the intelligent contract is not perfect, the vulnerability in the intelligent contract may not be discovered, or the vulnerability in the intelligent contract is not discovered completely, and the problem occurs when the intelligent contract with the vulnerability runs.
Some embodiments of the present disclosure provide a method for triggering a bypass (for example, a processing logic code with an information checking function) to check a processing result (such as an intermediate processing result) of an intelligent contract during an execution process of the intelligent contract, and using the bypass checking result to intervene in an execution step of the intelligent contract, so as to achieve an effect of performing security monitoring on the intelligent contract during the execution process of the intelligent contract, and improve security of the intelligent contract. The following is a detailed description of this scheme.
FIG. 1 is a schematic diagram of an application scenario of a transaction execution system according to some embodiments of the present description.
The transaction processing system 100 may be used in the blockchain domain. For example, the transaction processing system 100 may trigger execution of the corresponding smart contract through the acquired transaction. The first transaction processing stage of the transaction may be completed after the execution of a portion of the processing flow of the target smart contract. Subsequently, the result of the first transaction processing stage of executing the first transaction processing stage may be checked by triggering the checking program, so that the second transaction processing stage of the target smart contract is executed to obtain the execution result of the transaction or the processing of the transaction is terminated based on the check result. Therefore, partial execution results in the intelligent contract execution process can be checked through the check program serving as a bypass, and the subsequent execution steps of the intelligent contract can be intervened according to the check results. Therefore, the system can be used for carrying out safety monitoring on the intelligent contract and improving the safety of the intelligent contract. As shown in fig. 1, the transaction processing system 100 may include a blockchain network 110, a terminal 120, and a third party device 130.
Blockchain network 110 may be comprised of a plurality of nodes, including nodes 110-1, 110-2, 110-3 … 110-n. Each node may have a virtual machine (e.g., EVM/WASM) installed thereon, which may be used to run intelligent contracts. In some embodiments, a node may have its corresponding client, e.g., a terminal device (e.g., terminal 120) or terminal application of a blockchain user. Nodes in the blockchain network 110 may receive transaction requests from their corresponding clients or from transactions broadcast by other nodes. The transaction request may include invoked smart contracts, such as addresses of the smart contracts, functions in the smart contracts, and parameters of inputs. After the transaction requests are agreed upon, each node in the blockchain network 110 may independently execute the invoked smart contract. For example, a node may load byte code of a contract from storage into a virtual machine according to an address of an intelligent contract, and an interpreter in the virtual machine interprets and executes a stream of instructions represented by the byte code to execute the intelligent contract.
The terminal 120 may be a terminal of a device having a data processing function, and may include one or any combination of a mobile phone 120-1, a tablet computer 120-2, a notebook computer 120-3, a computer 120-4, and the like. The user of terminal 120 can be a block chain user. For example, the terminal 120 may be a client, or a portion of a client, to which a node in the blockchain network 110 corresponds. In one aspect, a user of terminal 120 (also referred to herein as a "user") may perform intelligent contract development thereon, for example, writing byte codes of an intelligent contract, or writing intelligent contract codes using a high-level programming language such as solid, and generating byte codes after compiling by a compiler. The bytecode may then be deployed onto the blockchain network 110. On the other hand, the user of the terminal 120 may send a transaction request, such as a transaction request for invoking the deployed intelligent contract, to the corresponding node through the terminal 120. After consensus, the node can execute the called intelligent contract. For the deployment of the intelligent contract, the user of the terminal 120 may send a transaction request for creating the intelligent contract to the blockchain network 110 through the terminal 120, and after the transaction is executed by each node of the blockchain network 110 after the agreement is passed, the deployment of the intelligent contract is completed.
The third party device 130 may be a data processing enabled device, such as a computer or a cluster of computers. The third party device 130 may be configured to process the data generated by the blockchain network 110 to obtain a processing result. For example, the third party device 130 may check the blockdata generated by the nodes on the blockchain network 110 when executing the smart contract, and obtain a check result. In some embodiments, the third party device 130 may communicate with the blockchain network 110. For example, the third party device 130 may send the collation results for the block data to the nodes of the blockchain network 110. In some embodiments, the third party device 130 may contain one or more processing devices (e.g., a single core processing device or a multi-core processing device). By way of example only, the third party device 130 may include a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), an Application Specific Instruction Processor (ASIP), a Graphics Processing Unit (GPU), a Physical Processing Unit (PPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), a programmable logic circuit (PLD), a controller, a micro-controller unit, a Reduced Instruction Set Computer (RISC), a microprocessor, and the like or any combination thereof. In some embodiments, the third party device may access the blockchain network 110 through the client as a blockchain user.
Currently, a user may send a transaction request to blockchain network 110 via terminal 120 (e.g., received by a corresponding blockchain node), and after consensus, each node in blockchain network 110 (e.g., blockchain nodes 110-1, 110-2, 110-3 … 110-n) may independently complete processing of the transaction, e.g., invoke an intelligent contract to execute the transaction. When a node first completes a transaction, the block containing the transaction may be broadcast to other nodes, and the other nodes may check the block to determine whether the transaction is a valid result. If the check passes, the block is accepted and the block chain is accessed. Other nodes may synchronize the block. Intelligent contracts (whether secure intelligent contracts or intelligent contracts with vulnerabilities) cannot find out whether the contracts are problematic or not in the execution process, and once the intelligent contracts (such as incompleteness in auditing) with vulnerabilities after code auditing are started, the contracts cannot be effectively prevented from being continuously executed. Due to the non-tamper-ability of the block chain, the intelligent closure with the vulnerability will bring non-traceable loss after being called.
Thus, the present specification provides a transaction execution system, for example, the transaction processing system 100, after executing a first transaction processing stage of an intelligent contract (or referred to as a target intelligent contract), checks a processing result of executing the first transaction processing stage by triggering a checking program to determine whether a bug exists in the intelligent contract. And based on the check result, when the check is consistent (the contract has no loophole), executing the rest transaction processing stage (or called as a second transaction processing stage) of the intelligent contract to obtain the execution result of the transaction. If the checks are inconsistent (the contracts are vulnerable), the transaction is terminated and the necessary data rollback is executed. Therefore, the purpose of carrying out safety monitoring on the intelligent contract is achieved, and the safety of the intelligent contract is improved. The checking program may be code implementing another processing logic of the first transaction processing stage of the target intelligent contract, in other words, the checking program may adopt a different algorithm than the first transaction processing stage, but may implement the same calculation purpose. For example, the first transaction processing stage of the target smart contract may be reading the first account balance to determine whether the first account balance is greater than the transfer amount, and the checking procedure may be calculating the historical transaction amount of the first account and counting the account balance to determine whether the first account balance is greater than the transfer amount. I.e. both achieve the same purpose of acquiring the first account balance by different algorithmic logic. In some embodiments, the verification program may include supplemental verification code for the first transaction processing stage of the target smart contract, in other words, the verification program may verify the data involved in the first transaction processing stage to determine whether the processing of the data is legitimate. For example, the first transaction processing stage may be to deduct a target amount from account a, and the verification code may be to compare the balance of account a with the target amount, and to consider the processing illegal when the balance of account a is less than the target amount. It should be understood that the verification procedure may be used in any manner to achieve the purpose of verifying the results of the processing of the first transaction processing stage, and the present description is not intended to be limited thereto. In some embodiments, the collation program may be an intelligent contract deployed in the blockchain network 110. After the target intelligent contract is executed in the first transaction processing stage, the checking intelligent contract in the blockchain network 110 is automatically called to perform a checking process of whether the target intelligent contract has a bug. In other embodiments, the verification program may be a program installed in a third party device 130 communicatively connected to the blockchain network 110, for example, the verification program may be processing logic code in the third party device 130. After the target intelligent contract is executed in the first transaction processing stage, the processing result may be stored in the blockchain, and the third-party device 130 may obtain the processing result by initiating the query transaction to the blockchain and check the obtained processing result, thereby achieving the monitoring effect of detecting whether the target intelligent contract has a bug.
FIG. 2 is an exemplary flow diagram of a transaction execution method according to some embodiments of the present description. The flow of interactions between a called smart contract and a co-located reconciliation program monitoring the smart contract (e.g., reconciling the smart contracts) during execution of a transaction is illustrated in FIG. 2. In some embodiments, flow 200 may be performed by any of nodes 110-1, 110-2, 110-3 … 110-n in blockchain network 110. In some embodiments, the process 200 may be performed by a transaction execution system 400 located on a node. As shown in fig. 2, the process 200 may include the following steps.
At step 202, a transaction is obtained. This step may be performed by the acquisition module 410.
In some embodiments, the transaction may include a transaction initiated by a user through a terminal 120 corresponding to the node, and may also include a received transaction broadcast by other nodes in the blockchain network 110. The transaction may contain information of the invoked smart contract. For example, the data field of the transaction may hold methods and parameters that invoke the smart contract. The acquisition module 410 may acquire the transaction by communicating with the terminal 120 or with other nodes of the blockchain network 110.
Step 204, executing a first transaction processing stage of the target intelligent contract to complete a part of the processing flow of the transaction, and obtaining a first processing result. This step may be performed by the first execution module 420.
In some embodiments, the target smart contract may be a smart contract that needs to be invoked in order to execute a transaction. In processing the transaction, a node (or transaction execution system 400) may execute the target smart contract to complete processing of the transaction.
In some embodiments, the target intelligent contract may be a multi-segment design. The target intelligent contract can be developed by writing byte codes, so that the contract has the capability of segmented processing during execution. For example, the target intelligent contract may be suspended (e.g., suspend subsequent data computations/processing) after completing a portion of the data computation, and continue to complete the remaining portion of the data computation after acquiring trigger information (e.g., an instruction to permit continued computation/processing).
It can be known that, when a target intelligent contract has a leak or is incomplete, when a block link point executes the target intelligent contract, a corresponding transaction cannot be completed according to an original expectation of the transaction, and even when the transaction is completed, a violation transaction behavior occurs, which negatively affects an execution result of the transaction. For example, when the transaction is a transfer transaction, such as user A transferring one ten thousand dollars to user B, user A does not have an account with an insufficient balance. Under the condition that the intelligent contract has a vulnerability, an attacker can bypass the judgment of the system through balance overflow, so that the one-ten-thousand-yuan account transfer is successful. For another example, when the fund is cleared and the fund expires, the fund issuing company needs to redeem the corresponding shares, each share corresponding to the amount of money, to the user who purchased the fund. In the case of a vulnerability in the intelligent contract, an attacker can obtain benefits through illegal actions, such as changing the share of a fund holder.
Therefore, the multi-section design of the target intelligent contract can avoid the irreconcilability of the contract during execution, and the monitoring of the operation process of the contract becomes possible. When the target intelligent contract is invoked, the first execution module 420 will execute the first transaction processing stage of the target intelligent contract to complete a partial processing flow of the transaction. The first transaction processing stage may be a portion of code in the target intelligent contract that is associated with a transaction processing flow. When the partial code is executed, partial processing flow of the transaction processing flow can be completed. The partial processing flow may be a part of the whole transaction processing flow, or may be a related processing flow of the transaction processing flow. As an example, assuming the transaction is a transfer, the corresponding transaction processing flow is to complete the transfer of the target amount from account A to account B. The first transaction processing stage of the target intelligent contract may be performed by completing the process of deducting the target amount from account a. Or transfer the target amount from account a to account C to complete the processing flow associated with the transaction processing flow. Where account C may be a secure account on blockchain network 110.
In some embodiments, the first processing result may be processing data generated by a portion of the processing flow of the transaction after processing. The first processing result may include at least start data of the parties involved in the transaction, as well as alteration data, such as a comparison of a pre-transaction balance and a transfer amount of an account of the parties involved in the transaction (including the sender, the receiver), a pre-transaction balance, a post-transaction balance, etc. of the account of the parties involved in the transaction. By checking the first processing result, whether the transaction is normal can be ensured, and whether the target intelligent contract has a vulnerability and is attacked to cause abnormal transaction to be executed is further judged.
In some embodiments, due to the segmented design of the target intelligent contract, after the execution of the part of the code related to the transaction processing flow corresponding to the first transaction processing stage is finished, the rest of the code part of the target intelligent contract will be in a temporary non-execution state (for example, a to-be-checked state or a suspended state). Thereby providing possibility for realizing the check of the target intelligent contract in the execution process.
Step 206, triggering a checking program to check the first processing result. This step may be performed by reconciliation request module 430.
In some embodiments, the reconciliation procedure may comprise a reconciliation intelligence contract deployed in the blockchain network 110 for validating the transaction-related data. After the first transaction processing stage (part of code related to the transaction processing flow) of the target intelligent contract is executed, the target intelligent contract can generate a request for calling the check intelligent contract. For example, written into bytecode at the time of development of the target intelligent contract. Reconciliation request module 430 may execute the request, for example, including the address of the reconciliation intelligent contract, the function in the reconciliation intelligent contract, the parameters input to the reconciliation intelligent contract, and the like. Subsequently, the reconciliation intelligence contract may be executed. In some embodiments, the checking intelligent contract may obtain a processing result with the same purpose as the first transaction processing stage according to different processing logic, and compare the processing result with the first processing result, so as to check the first processing result. For example, the first processing result may be a comparison result that the pre-transaction balance of accounts of parties to the transaction (including the sender and the receiver) is greater than the transfer amount. The intelligent contract checking can obtain the comparison result of the rest amount according to different processing logics, and then the comparison result of the rest amount is compared with the first processing result to obtain the checking result which is consistent or inconsistent. In some embodiments, the checking of the intelligent contract may be performed by checking data involved in the first transaction processing stage, and further checking the first processing result to obtain a legal or illegal checking result. For example, the first transaction processing stage is to deduct a target amount from account a, and the verification smart contract may compare the original balance of the parties to the transaction with the transaction amount to verify that the transaction is legitimate. Assuming that the balance of the sending account a for the transaction is eight thousand dollars and the transaction amount as a transfer transaction reaches one ten thousand dollars, the transaction cannot be conducted according to the transfer logic. Thus, checking the smart contract may determine that the transaction is an illegal transaction. But the target intelligent contract has executed part of the code related to the transaction processing flow, and obtains one ten thousand dollars of the transfer amount. This indicates that the target smart contract has a vulnerability that is exploited by an attacker to cause the execution of the transaction. Further, checking the intelligent contracts can judge that the target intelligent contracts have vulnerabilities and have security risks.
And step 208, executing the second transaction processing stage of the target intelligent contract to obtain the execution result of the transaction or terminating the transaction processing based on the checking result. This step may be performed by the second execution module 440.
In some embodiments, the verification result may be a first type of result, such as a match or a legal result, or may be a second type of result, such as a mismatch or an illegal result. The first type of check result may indicate that the data associated with the parties to the transaction meet the transaction requirements and that the target intelligent contract is secure. The second type of check may indicate that the data associated with the parties to the transaction does not meet the transaction requirements and that the target intelligent contract is not secure. In some embodiments, second execution module 440 may make further calls to the target smart contract to continue subsequent processing of the transaction based on the reconciliation result. In some embodiments, second execution module 440 may execute the second transaction processing stage of the target intelligent contract when the reconciliation result is that the target intelligent contract is secure. The second transaction processing stage may be another portion of code in the target smart contract that is associated with the transaction processing flow. When the other part of the code is executed, the rest of the transaction processing flow can be completed. In other words, after the code corresponding to the first transaction processing stage and the code corresponding to the second transaction processing stage are executed respectively, the transaction can be completed. As an example, assuming the transaction is a transfer, the corresponding transaction processing flow is to complete the transfer of the target amount from account A to account B. The second transaction processing stage of the target intelligent contract may be performed by completing a portion of the processing flow of transferring the target amount deducted from the account a to the account B. Or the target amount may be transferred from account C to account B, completing the processing flow associated with the transaction processing flow. Where account C may be a secure account on blockchain network 110. The execution result of the transaction may include the transaction execution success, the status update data of the transaction-related account, and the like.
In some embodiments, when the verification result is that the target smart contract is not secure, second execution module 440 may terminate the transaction and perform the necessary data rollback. The data rollback may be to restore data involved in a partial process flow of the transaction completed by the first transaction processing stage executing the target smart contract to a state prior to the partial process flow. For example, the partial processing flow may be a partial processing flow of the transaction processing flow, or may be a related processing flow of the transaction processing flow. As an example, in a transfer transaction, the portion of the processing flow completed by the first transaction processing stage is the transfer of a target amount from the sender A account to the receiver C account (intermediate account) of the transfer transaction. The data rollback may be to deduct the target amount from the C account and restore the balance in the a account to the amount of balance before the transfer. And when the check result is negative, the target intelligent contract belongs to an unsafe contract and a vulnerability exists. The target smart contract may not continue to be executed for the purpose of transaction-related security of the account. The block link point terminates execution of the target contract and performs data rollback to ensure that the user account data is not affected by the intelligent contract in which the vulnerability exists. Therefore, when the intelligent contract with the instant loophole is executed, whether the intelligent contract has the loophole or not can be judged, whether the intelligent contract has safety or not is judged, the safety monitoring of the intelligent contract is realized, and the safety of the intelligent contract is improved. It will be appreciated that in some embodiments, when referring to terminating processing of a transaction, it may be implicitly defined that a rollback of data changes resulting from a portion of the transaction processing that has been performed will restore the changed data to a state prior to transaction processing.
It should be noted that the above description of the various steps in fig. 2 is for illustration and description only and does not limit the scope of applicability of the present description. Various modifications and changes to the various steps in fig. 2 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 3 is an exemplary flow diagram of another transaction execution method according to some embodiments of the present description. The flow of interaction between a called intelligent contract and a check program located on a different chain monitoring the intelligent contract during execution of a transaction is shown in fig. 3. In some embodiments, the flow 300 may be performed by any of the nodes 110-1, 110-2, 110-3 … 110-n in the blockchain network 110. In some embodiments, the process 300 may be performed by a transaction execution system 400 located on a node. As shown in fig. 3, the process 300 may include the following steps.
At step 302, a transaction is obtained. This step may be performed by the acquisition module 410.
Step 302 may be similar to step 202 and reference may be made to the description relating to step 202.
Step 304, a first transaction processing stage of the target intelligent contract is executed to complete a part of the processing flow of the transaction, and a first processing result is obtained. This step may be performed by the first execution module 420.
In some embodiments, the target intelligent contract may be composed of a plurality of intelligent contracts. Each smart contract may correspond to a portion of the processing flow of the transaction. Thus, a multi-stage design of the target intelligent contract can be achieved. The first transaction processing stage of the target smart contract may include a first smart contract relating to a partial flow of a transaction processing flow of the transaction. By executing the first intelligent contract, a portion of the processing flow of the transaction may be completed.
In some embodiments, reference may be made to step 204 for a portion of the processing flow of the transaction, as well as a description of the result of the first processing. And will not be described in detail herein.
Step 306, writing the first processing result into the block chain, so that the third-party device obtains the first processing result from the block chain, and checking the first processing result through a checking program deployed on the third-party device. This step may be performed by reconciliation request module 430.
In some embodiments, the verification request module 430 may add the first processing result to the block after the partial processing flow of the transaction is completed. The step of block uplink is completed after the common identification with other nodes, so that the first processing result is written into a block chain, for example, the block chain network 110.
It is to be appreciated that the tile data is public. This may also make these data available to devices outside the blockchain network 110. The third party device, such as third party device 130, may be a device that has a kernel pair program deployed, may be located outside of blockchain network 110, and may be a blockchain user. For example, the third party device may initiate a query transaction to the blockchain network 110 to obtain a first processing result. After receiving the query transaction of the third-party equipment, the blockchain link point can execute an intelligent contract for blockchain data query to obtain a first processing result. In some embodiments, the query transaction may include an identification of the aforementioned transfer transaction to facilitate the query. And after the data query is completed by the block chain node, returning the query result to the third-party equipment. The third-party device may execute the checking program to check the first processing result, and further determine whether a bug exists in the target intelligent contract, thereby implementing security monitoring on the target intelligent contract. The reconciliation procedure may be essentially the same as reconciling the intelligent contracts, more of which is described in relation to FIG. 2.
Step 308, receiving a second transaction from the third party device, the second transaction including the verification result. This step may be performed by the second execution module 440.
In some embodiments, the verification result may be described with reference to step 208.
The verification result may be generated when the third party device completes verification of the first processing result. At the same time, the third party device may generate to initiate a second transaction to the blockchain network 110 based on the verification result.
Due to the difference in the verification results, the second transaction will also result in a different processing flow when processed by the second execution module 440. For example, when the verification result is the first type of result, the second execution module 440 may continue to invoke the target smart contract to process the remaining portion of the transaction. If the check result is the second type of result, the second execution module 440 terminates the transaction and performs a data rollback.
Based on the result of the verification, a second transaction processing stage of the target smart contract is executed to obtain an execution result of the transaction or to terminate processing of the transaction and perform a data rollback, step 310. This step may be performed by the second execution module 440.
In conjunction with the description in step 308, the second execution module 440 may have a different process flow for the second transaction based on the verification result. In some embodiments, when a block chain node receives a second transaction, a new smart contract may be invoked to process the transaction. At this point, a second smart contract corresponding to the second transaction processing stage of the target smart contract may be invoked by the new smart contract. When the result of the check is a first type of result, second execution module 440 may execute a second transaction processing stage of the target smart contract. When the result of the check is a second type of result, the second execution module 440 may terminate processing the transaction and perform a data rollback. In some embodiments, the second transaction processing stage may include a second smart contract relating to a remaining flow of the transaction processing flow of the transaction outside of the partial flow. By executing the second smart contract, the remaining processing flow of the transaction processing flow may be completed. In other words, after the code corresponding to the first transaction processing stage and the code corresponding to the second transaction processing stage are executed respectively, the transaction can be completed. Similarly, after the transaction is completed, the execution result of the transaction including the transaction execution success, the status update data of the transaction-related account, and the like can be obtained.
In some embodiments, when the verification result is that the target smart contract is not secure, second execution module 440 may terminate the transaction and perform a data rollback. The data rollback may be to restore data involved in a partial process flow of the transaction completed by the first transaction processing stage executing the target smart contract to a state prior to the partial process flow. Refer specifically to step 208. And when the check results are inconsistent, the target intelligent contract belongs to an unsafe contract and a vulnerability exists. The target smart contract may not continue to be executed for the purpose of transaction-related security of the account. The block link point terminates execution of the target intelligent contract and performs data rollback to ensure that the user account data is not affected by the intelligent contract with the vulnerability. Therefore, when the intelligent contract with the instant loophole is executed, whether the intelligent contract has the loophole or not can be judged, whether the intelligent contract has safety or not is judged, the safety monitoring of the intelligent contract is realized, and the safety of the intelligent contract is improved.
Fig. 4 is a block diagram of a transaction processing system according to some embodiments of the present description. In some embodiments, the transaction execution system 400 may be implemented in a node of the blockchain network 110, such as node 110-1, 110-2, 110-3 …, or 110-n.
As shown in FIG. 4, the transaction execution system 400 may include an acquisition module 410, a first execution module 420, a reconciliation request module 430, and a second execution module 440.
The acquisition module 410 may be used to acquire transactions. The transaction may include a transaction initiated by a user through a terminal 120 corresponding to the node, and may also include a received transaction broadcast by other nodes in the blockchain network 110. The transaction may contain information of the invoked smart contract. For example, the data field of the transaction may hold methods and parameters that invoke the smart contract. The acquisition module 410 may acquire the transaction by communicating with the terminal 120 or with other nodes of the blockchain network 110.
The first execution module 420 may be configured to execute a first transaction processing stage of the target smart contract to complete a portion of a processing flow of the transaction, resulting in a first processing result. In some embodiments, the target smart contract may be a smart contract that needs to be invoked in order to execute a transaction. In processing the transaction, a node (or transaction execution system 400) may execute the target smart contract to complete processing of the transaction. The target intelligent contract may be a multi-segment design. The first execution module 420 will execute the first transaction processing stage of the target smart contract to complete a partial process flow of the transaction. The first transaction processing stage may be a portion of code in the target intelligent contract that is associated with a transaction processing flow. When the partial code is executed, partial processing flow of the transaction processing flow can be completed. The partial processing flow may be a part of the whole transaction processing flow, or may be a related processing flow of the transaction processing flow. The first processing result may be processing data generated after the partial processing flow of the transaction is processed. The first processing result may include at least start data of the parties involved in the transaction, as well as alteration data, such as a comparison of a pre-transaction balance and a transfer amount of an account of the parties involved in the transaction (including the sender, the receiver), a pre-transaction balance, a post-transaction balance, etc. of the account of the parties involved in the transaction. By checking the first processing result, whether the transaction is normal can be ensured, and whether the target intelligent contract has a vulnerability and is attacked to cause abnormal transaction to be executed is further judged. In some embodiments, due to the segmented design of the target intelligent contract, after the execution of the part of the code related to the transaction processing flow corresponding to the first transaction processing stage is finished, the rest of the code part of the target intelligent contract will be in a temporary non-execution state (for example, a to-be-checked state or a suspended state).
In some embodiments, the target intelligent contract may be composed of a plurality of intelligent contracts. Each smart contract may correspond to a portion of the processing flow of the transaction. Thus, a multi-stage design of the target intelligent contract can be achieved. The first transaction processing stage of the target smart contract may include a first smart contract relating to a partial flow of a transaction processing flow of the transaction. By executing the first intelligent contract, a portion of the processing flow of the transaction may be completed.
The collation request module 430 may be used to trigger the collation program to collate the first processing result. The verification program may include a verification intelligence contract deployed in the blockchain network 110 for verifying the transaction-related data. After the first transaction processing stage (part of code related to the transaction processing flow) of the target intelligent contract is executed, the target intelligent contract can generate a request for calling the check intelligent contract. The collation request module 430 may execute the request to collate the first processing result.
In some embodiments, the checking request module 430 may write the first processing result into the blockchain, so that the third-party device obtains the first processing result from the blockchain and checks the first processing result through a checking program disposed thereon. When the partial processing flow of the transaction is completed, the check request module 430 may add the first processing result to the block. The step of block uplink is completed after the common identification with other nodes, so that the first processing result is written into a block chain, for example, the block chain network 110. The third-party device may be a device located outside the blockchain network 110, and may execute the checking program to check the first processing result, so as to determine whether a vulnerability exists in the target intelligent contract, thereby implementing security monitoring on the target intelligent contract.
In some embodiments, the verification result may be generated when the third party device completes verification of the first processing result. At the same time, the third party device may generate to initiate a second transaction to the blockchain network 110 based on the verification result.
The second execution module 430 may be configured to execute a second transaction processing stage of the target smart contract to obtain an execution result of the transaction or terminate processing of the transaction based on the reconciliation result. In some embodiments, the verification result may be a first type of result, such as a match or a legal result, or may be a second type of result, such as a mismatch or an illegal result. The first type of check result may indicate that the data associated with the parties to the transaction meet the transaction requirements and that the target intelligent contract is secure. The second type of check may indicate that the data associated with the parties to the transaction does not meet the transaction requirements and that the target intelligent contract is not secure. The second execution module 440 may make further calls to the target smart contract to continue subsequent processing of the transaction based on the reconciliation result. In some embodiments, second execution module 440 may execute the second transaction processing stage of the target intelligent contract when the reconciliation result is that the target intelligent contract is secure. The second transaction processing stage may be another portion of code in the target smart contract that is associated with the transaction processing flow. When the other part of the code is executed, the rest of the transaction processing flow can be completed. In other words, after the code corresponding to the first transaction processing stage and the code corresponding to the second transaction processing stage are executed respectively, the transaction can be completed. In some embodiments, when the verification result is that the target smart contract is not secure, second execution module 440 may terminate the transaction and perform the necessary data rollback. The data rollback may be to restore data involved in a partial process flow of the transaction completed by the first transaction processing stage executing the target smart contract to a state prior to the partial process flow.
In some embodiments, when the reconciliation result is from a third party device (e.g., from a second transaction), the second execution module 440 may invoke a new smart contract to process the transaction. At this point, a second smart contract corresponding to the second transaction processing stage of the target smart contract may be invoked by the new smart contract.
It should be understood that the system and its modules shown in FIG. 4 may be implemented in a variety of ways. For example, in some embodiments, the system and its modules may be implemented in hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may be stored in a memory for execution by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and systems described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided, for example, on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above descriptions of the candidate item display and determination system and the modules thereof are only for convenience of description, and the description is not limited to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, given the teachings of the present system, any combination of modules or sub-system configurations may be used to connect to other modules without departing from such teachings. For example, the first execution module 420 and the second execution module 440 disclosed in fig. 4 may be different modules in a system, or may be a module that implements the functions of two or more modules described above. For example, each module may share one memory module, and each module may have its own memory module. Such variations are within the scope of the present disclosure.
The beneficial effects that may be brought by the embodiments of the present description include, but are not limited to: by dividing the contract execution into two stages, in the process from the contract execution to the first stage, the bypass check program is triggered to check the intelligent contract, and the check result is interfered in the execution steps of the subsequent stages of the contract, so that the contract execution process is monitored, and the safety of the contract is improved. It is to be noted that different embodiments may produce different advantages, and in different embodiments, any one or combination of the above advantages may be produced, or any other advantages may be obtained.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be regarded as illustrative only and not as limiting the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, the description uses specific words to describe embodiments of the description. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification is included. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Moreover, those skilled in the art will appreciate that aspects of the present description may be illustrated and described in terms of several patentable species or situations, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereof. Accordingly, aspects of this description may be performed entirely by hardware, entirely by software (including firmware, resident software, micro-code, etc.), or by a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. Furthermore, aspects of the present description may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.
The computer storage medium may comprise a propagated data signal with the computer program code embodied therewith, for example, on baseband or as part of a carrier wave. The propagated signal may take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination. A computer storage medium may be any computer-readable medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code located on a computer storage medium may be propagated over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or any combination of the preceding.
Computer program code required for the operation of various portions of this specification may be written in any one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C + +, C #, VB.NET, Python, and the like, a conventional programming language such as C, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, a dynamic programming language such as Python, Ruby, and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any network format, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud computing environment, or as a service, such as a software as a service (SaaS).
Additionally, the order in which the elements and sequences of the process are recited in the specification, the use of alphanumeric characters, or other designations, is not intended to limit the order in which the processes and methods of the specification occur, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Numerals describing the number of components, attributes, etc. are used in some embodiments, it being understood that such numerals used in the description of the embodiments are modified in some instances by the use of the modifier "about", "approximately" or "substantially". Unless otherwise indicated, "about", "approximately" or "substantially" indicates that the number allows a variation of ± 20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximations that may vary depending upon the desired properties of the individual embodiments. In some embodiments, the numerical parameter should take into account the specified significant digits and employ a general digit preserving approach. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the range are approximations, in the specific examples, such numerical values are set forth as precisely as possible within the scope of the application.
For each patent, patent application publication, and other material, such as articles, books, specifications, publications, documents, etc., cited in this specification, the entire contents of each are hereby incorporated by reference into this specification. Except where the application history document does not conform to or conflict with the contents of the present specification, it is to be understood that the application history document, as used herein in the present specification or appended claims, is intended to define the broadest scope of the present specification (whether presently or later in the specification) rather than the broadest scope of the present specification. It is to be understood that the descriptions, definitions and/or uses of terms in the accompanying materials of this specification shall control if they are inconsistent or contrary to the descriptions and/or uses of terms in this specification.
Finally, it should be understood that the embodiments described herein are merely illustrative of the principles of the embodiments of the present disclosure. Other variations are also possible within the scope of the present description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.

Claims (9)

1. A transaction execution method, the method being performed by a block link point, comprising:
acquiring a transaction;
executing a first transaction processing stage of the target intelligent contract to complete part of the processing flow of the transaction to obtain a first processing result; the first transaction processing stage of the target intelligent contract corresponds to a part of codes related to a transaction processing flow in the target intelligent contract;
triggering a checking program to check the first processing result so as to execute a second transaction processing stage of the target intelligent contract to obtain an execution result of the transaction or terminate the processing of the transaction based on the checking result; the second transaction processing stage of the target intelligent contract corresponds to another part of code in the target intelligent contract related to the transaction processing flow.
2. The method of claim 1, wherein the triggering verification procedure verifies the first processing result, including:
and calling a checking intelligent contract to check the first processing result.
3. The method of claim 2, wherein said executing a second transaction processing stage of a target smart contract to obtain an execution result of the transaction or terminating processing of the transaction based on the reconciliation result comprises:
obtaining a check result returned by checking the intelligent contract;
if the check result is the first type of result, executing a second transaction processing stage of the target intelligent contract to obtain an execution result of the transaction;
and if the check result is the second type result, terminating the transaction processing.
4. The method of claim 1, wherein the verification program includes code implementing another processing logic of the first transaction processing stage of the targeted intelligent contract or includes supplemental verification code for the first transaction processing stage of the targeted intelligent contract.
5. A transaction execution system, comprising:
an acquisition module for acquiring a transaction;
the first execution module is used for executing a first transaction processing stage of the target intelligent contract to complete part of processing flow of the transaction to obtain a first processing result; the first transaction processing stage of the target intelligent contract corresponds to a part of codes related to a transaction processing flow in the target intelligent contract;
a checking request module for triggering a checking program to check the first processing result,
the second execution module is used for executing a second transaction processing stage of the target intelligent contract to obtain an execution result of the transaction or terminating the transaction processing based on the checking result; the second transaction processing stage of the target intelligent contract corresponds to another part of code in the target intelligent contract related to the transaction processing flow.
6. The system of claim 5, wherein to trigger a reconciliation procedure to reconcile the first processing result, the reconciliation request module is to:
and calling a checking intelligent contract to check the first processing result.
7. The system of claim 6, wherein to execute a second transaction processing stage of a target smart contract to obtain an execution result of the transaction or to terminate processing of the transaction based on the reconciliation result, the second execution module is to:
obtaining a check result returned by checking the intelligent contract;
if the check result is the first type of result, executing a second transaction processing stage of the target intelligent contract to obtain an execution result of the transaction;
and if the check result is the second type result, terminating the transaction processing.
8. The system of claim 5, wherein said collation program includes code implementing further processing logic of the first transaction processing stage of said target intelligent contract.
9. A transaction execution apparatus, wherein the apparatus comprises a processor for executing the transaction execution method of any of claims 1-4.
CN202110395679.9A 2020-09-04 2020-09-04 Transaction execution method, system and device Active CN113191895B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110395679.9A CN113191895B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110395679.9A CN113191895B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device
CN202010924362.5A CN111815455B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010924362.5A Division CN111815455B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device

Publications (2)

Publication Number Publication Date
CN113191895A CN113191895A (en) 2021-07-30
CN113191895B true CN113191895B (en) 2022-04-26

Family

ID=72859979

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110395679.9A Active CN113191895B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device
CN202010924362.5A Active CN111815455B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010924362.5A Active CN111815455B (en) 2020-09-04 2020-09-04 Transaction execution method, system and device

Country Status (1)

Country Link
CN (2) CN113191895B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117478716B (en) * 2023-12-27 2024-04-05 珠海格力电器股份有限公司 Communication method and device of equipment, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407430A (en) * 2016-09-27 2017-02-15 北京天德科技有限公司 Complex and intelligent contract state synchronization method based on phase buckets
WO2019072305A2 (en) * 2018-12-28 2019-04-18 Alibaba Group Holding Limited Parallel execution of transactions in a blockchain network based on smart contract whitelists
CN110033244A (en) * 2019-03-15 2019-07-19 阿里巴巴集团控股有限公司 Intelligent contract based on block chain executes method and device and electronic equipment
CN110517140A (en) * 2019-08-26 2019-11-29 华东师范大学 A kind of transaction of block chain intelligence contract concurrently executes method
CN110809042A (en) * 2019-10-31 2020-02-18 杭州云象网络技术有限公司 Intelligent contract fragmentation storage method based on de bruijn sequence generation technology

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976231A (en) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 Asset management method based on intelligent block chain contracts and nodes
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
CN107862600A (en) * 2017-10-24 2018-03-30 深圳四方精创资讯股份有限公司 Bank transfer method and its system based on block chain
CN107833060B (en) * 2017-11-13 2020-12-25 中国银行股份有限公司 Verification method and system for intelligent contract transaction in block chain
CN109360091B (en) * 2018-08-30 2020-09-01 阿里巴巴集团控股有限公司 Random object selection method and device based on block chain
CN109978681A (en) * 2019-03-20 2019-07-05 银清科技(北京)有限公司 The method and apparatus of the cross-border business verification of RMB
CN110163634B (en) * 2019-04-29 2023-10-10 创新先进技术有限公司 Refund method and device based on blockchain and electronic equipment
CN110276689B (en) * 2019-06-19 2023-05-02 辽宁大学 Intelligent contract implementation method based on dynamic decision

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407430A (en) * 2016-09-27 2017-02-15 北京天德科技有限公司 Complex and intelligent contract state synchronization method based on phase buckets
WO2019072305A2 (en) * 2018-12-28 2019-04-18 Alibaba Group Holding Limited Parallel execution of transactions in a blockchain network based on smart contract whitelists
CN110033244A (en) * 2019-03-15 2019-07-19 阿里巴巴集团控股有限公司 Intelligent contract based on block chain executes method and device and electronic equipment
CN110517140A (en) * 2019-08-26 2019-11-29 华东师范大学 A kind of transaction of block chain intelligence contract concurrently executes method
CN110809042A (en) * 2019-10-31 2020-02-18 杭州云象网络技术有限公司 Intelligent contract fragmentation storage method based on de bruijn sequence generation technology

Also Published As

Publication number Publication date
CN111815455B (en) 2021-02-26
CN111815455A (en) 2020-10-23
CN113191895A (en) 2021-07-30

Similar Documents

Publication Publication Date Title
Praitheeshan et al. Security analysis methods on ethereum smart contract vulnerabilities: a survey
TWI739432B (en) Intelligent risk control decision-making method and system, business processing method and system
JP2019083013A (en) Method and system for securing smart contracts in blockchains
US20190386834A1 (en) Blockchain management apparatus, blockchain management method, and program
EP2630606B1 (en) Application usage policy enforcement
JP2018535490A (en) Service processing method and apparatus
US20200201838A1 (en) Middleware to automatically verify smart contracts on blockchains
Hwang et al. CodeNet: Code-targeted convolutional neural network architecture for smart contract vulnerability detection
CN111770112B (en) Information sharing method, device and equipment
CN111340475A (en) Prepaid card transaction processing method and device based on block chain and intelligent terminal
Liu et al. Smacs: smart contract access control service
CN113191895B (en) Transaction execution method, system and device
CN109889477A (en) Server based on trusted cryptography's engine starts method and device
JP6926349B2 (en) How to process secure financial transactions using commercial off-the-shelf or Internet of Things devices
CN117495544A (en) Sandbox-based wind control evaluation method, sandbox-based wind control evaluation system, sandbox-based wind control evaluation terminal and storage medium
CN109727040B (en) Data publishing method, data calling method, device and storage medium
CN110580624B (en) Chain code upgrading method and device
TW202040462A (en) Payee identity verification method and device
CN116842496A (en) Language-independent intelligent contract verification method and device, electronic equipment and storage medium
CN109359991A (en) Cut-in method, device and the calculating equipment of internet of things equipment
US11743051B2 (en) Blockchain machine compute acceleration engine with a block verify and a block validate
CN115170312A (en) Asset state information changing method and device on block chain
CN110751483A (en) Financial accounting and sales rushing method and device based on block chain and electronic equipment
CN111273897A (en) Block chain resource consumption method and device, storage medium and electronic equipment
US20240089128A1 (en) Blockchain monitoring platform

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