Reconciliation method and device based on block chain oracle machine and secure multi-party computing
By combining blockchain oracles and secure multi-party computation, the privacy, credibility, and security of blockchain inter-network settlement and reconciliation are improved without disclosing the original reconciliation data. This resolves the contradiction between privacy and verifiability of reconciliation data in existing technologies and improves reconciliation efficiency and the reliability of result feedback.
Patent Information
- Application Number
- CN202511167647.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-20
- Publication Date
- 2025-12-19
AI Technical Summary
Existing blockchain inter-network settlement and reconciliation technologies suffer from a conflict between data privacy and verifiability. Direct reconciliation affects accuracy, message digest reconciliation is complex and cumbersome, and account encryption technology increases the risk of code vulnerabilities and delays may hinder high-frequency reconciliation.
By employing a method based on blockchain oracles and secure multi-party computation, preliminary reconciliation is performed through on-chain smart contracts, complex calculations are performed using off-chain oracles, and the results are pushed back to the on-chain contract, thus solving the issues of privacy, trustworthiness, and security of reconciliation data.
It significantly improves the privacy, credibility, and security of reconciliation data without disclosing the original reconciliation data, and solves the problems of low reconciliation efficiency, lack of process supervision, and lack of closed-loop feedback of results.
Smart Images

Figure CN121173499A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of Internet settlement, and in particular to a settlement method and device based on a blockchain oracle and secure multi-party computation, a computer device, a non-transitory computer readable storage medium, and a computer program product. BACKGROUND
[0002] Internet settlement between communication operators refers to the settlement of fees generated due to the use of the network resources of the other party when communicating between different operator networks (such as cross-network calls, short messages, data traffic, etc.). The core purpose of Internet settlement is to fairly allocate network costs and ensure interconnection.
[0003] At present, blockchain is the best carrier of a decentralized and trustworthy platform, and has the characteristics of tamper resistance, verifiability, and trust. Existing settlement accounting technologies using blockchain mainly include three types: direct settlement, message digest settlement, and account encryption.
[0004] For example, the direct settlement technology of CN109670924B allows all users in the chain to directly view the settlement data in the contract. Publicizing the ledger data before the settlement is completed can lead to modification of the settlement data, affecting the accuracy of the settlement. For example, the message digest settlement technology of CN116263925A can well ensure the privacy of the settlement data before the settlement is completed. However, the settlement work is very complex and tedious, and some inconsistencies within the acceptable error range can be accepted during the settlement process. The message digest cannot complete this task. For example, the account encryption technology of CN114297721B requires customized contract logic for encrypted data, which increases the risk of code vulnerabilities. The delay in processing encrypted data can hinder high-frequency settlement. SUMMARY
[0005] The present application aims to at least partially solve one of the technical problems in the related art.
[0006] To this end, the first object of the present application is to propose a settlement method based on a blockchain oracle and secure multi-party computation to complete complex comparison calculations without revealing the original settlement data under the premise of "data available but not visible", thereby significantly improving the privacy, credibility, and security of the settlement data.
[0007] The second object of the present application is to propose a settlement device based on a blockchain oracle and secure multi-party computation.
[0008] The third object of the present application is to propose a computer device.
[0009] The fourth object of the present application is to propose a non-transitory computer readable storage medium.
[0010] A fifth object of the present application is to provide a computer program product.
[0011] To achieve the above object, the first aspect of the present application provides a reconciliation method based on a blockchain oracle and secure multi-party computation, comprising:
[0012] In the case of receiving a reconciliation request, the reconciliation operation is performed based on the on-chain smart contract;
[0013] In the case of determining that the accounts of the two parties are inconsistent, the error between the two parties is calculated by the off-chain oracle and secure multi-party computation, and the error calculation result is pushed back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0014] The method of the present application provides a trusted, automated and transparent scenario on the chain based on the smart contract of the blockchain, and solves the contradiction between the privacy and verifiability of the reconciliation data between the operators by using the secure multi-party computation and the "privacy-aware" method. The complex calculation in the smart contract is performed on the off-chain oracle, and finally the difference vector set of the reconciliation is obtained accurately, and it is determined whether to continue the inter-network settlement task. The cooperation of the three guarantees the privacy, credibility and security of the reconciliation data, and solves the problems of low reconciliation efficiency, no supervision in the reconciliation process, no closed-loop feedback of the reconciliation result, etc.
[0015] To achieve the above object, the second aspect of the present application provides a reconciliation device based on a blockchain oracle and secure multi-party computation, comprising:
[0016] The reconciliation task module is configured to perform a reconciliation operation based on an on-chain smart contract in the case of receiving a reconciliation request;
[0017] The transfer task module is configured to, in the case of determining that the accounts of the two parties are inconsistent, perform secure multi-party computation on the error between the two parties by using an off-chain oracle, and push the error calculation result back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0018] To achieve the above object, the third aspect of the present application provides a computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor executes the computer program, the reconciliation method based on a blockchain oracle and secure multi-party computation is implemented.
[0019] To achieve the above object, the fourth aspect of the present application provides a non-transitory computer readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the reconciliation method based on a blockchain oracle and secure multi-party computation is implemented.
[0020] To achieve the above object, the fifth aspect of the present application provides a computer program product, when instructions in the computer program product are executed by a processor, a reconciliation method based on a blockchain oracle and secure multi-party computation is executed.
[0021] Additional aspects and advantages of the present application will be made apparent from the following description of embodiments that proceeds with reference to the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS
[0022] The above and / or additional aspects and advantages of the present application will become apparent and be more readily understood from the following description, by way of example, with reference to the drawings, in which:
[0023] Figure 1 A flowchart of a reconciliation method based on a blockchain oracle and secure multi-party computation provided by an embodiment of the present application;
[0024] Figure 2 A flowchart of another reconciliation method based on a blockchain oracle and secure multi-party computation provided by an embodiment of the present application;
[0025] Figure 3 A reconciliation process in a blockchain based on homomorphic encryption provided by a specific embodiment of the present application;
[0026] Figure 4 A secure multi-party computation process based on an oracle provided by a specific embodiment of the present application;
[0027] Figure 5 A structure diagram of a reconciliation device based on a blockchain oracle and secure multi-party computation provided by an embodiment of the present application;
[0028] Figure 6 A structure diagram of another reconciliation device based on a blockchain oracle and secure multi-party computation provided by an embodiment of the present application. DETAILED DESCRIPTION
[0029] Embodiments of the present application are described in detail below with reference to the attached drawings, which are examples of embodiments of the present application. The same or similar components are denoted by the same or similar reference numerals throughout the drawings. The embodiments described below are intended to explain the present application, and should not be understood as limiting the present application.
[0030] The implementation of the reconciliation on the blockchain can take advantage of the transparency, non-tamperability, automation and trust of the chain, but due to the transparency, all users in the chain can directly view the reconciliation data in the contract, and the public ledger data before the completion of the reconciliation will affect the accuracy of the reconciliation, so in order to solve the contradiction between the privacy and verifiability of the reconciliation data in the blockchain, the secure multi-party encryption technology is introduced.
[0031] The secure multi-party encryption realizes the automatic verification under the premise of "data available and invisible", and directly calculates (such as the call duration difference within the error range) under the encryption state, and the reconciliation result can be verified without decryption. However, the calculation and storage overhead of the secure multi-party encryption algorithm is large, if the operation operation is placed on the smart contract, the public chain will need to spend a large amount of Gas fee, and the alliance chain will also increase the chain overhead work. In fact, the essence of the blockchain is "consensus-driven result consistency verification", so in order to balance the efficient engineering application demand, keep the chain efficient and simple work, the complex operation can be placed in the off-chain oracle processing, and finally the reconciliation result is saved on the chain.
[0032] The oracle is a trust bridge between the blockchain and the real world, which can introduce the off-chain data into the blockchain smart contract and promote the wider application of the blockchain. The present application is a reverse operation, which places the complex secure multi-party calculation data operation in the off-chain oracle processing, and finally pushes the processing result back to the smart contract.
[0033] Figure 1 A flowchart of a reconciliation method based on a blockchain oracle and secure multi-party computation provided by an embodiment of the present application is shown in FIG. 1. Figure 1 As shown in the figure, the reconciliation method based on the blockchain oracle and the secure multi-party computation includes the following steps:
[0034] Step S101: In the case of receiving a reconciliation request, performing reconciliation operation based on the on-chain smart contract;
[0035] Step S102: In the case of determining that the accounts of the two parties are inconsistent, performing secure multi-party computation on the error of the two parties by using the off-chain oracle, and pushing the error calculation result back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0036] In this embodiment, the blockchain-based smart contract provides a trusted, automated and transparent scenario on the chain, and the secure multi-party computation solves the contradiction between the privacy and verifiability of the inter-operator settlement data through "privacy perception", and the oracles are operated reversely, the complex calculation in the smart contract is put into the off-chain oracle operation, and finally the difference vector set of the settlement is accurately obtained, and it is judged whether to continue the inter-network settlement and transfer task. Under the premise of ensuring the privacy, credibility and security of the settlement data, the problems of low settlement efficiency, no supervision in the settlement process, no closed-loop feedback of the settlement result and the like are solved.
[0037] Based on the above embodiments, in some embodiments, step S101 can specifically include:
[0038] After receiving the settlement request initiated by the called party, the first settlement bill is obtained and uploaded to the on-chain smart contract;
[0039] In the case where the calling party listens to the settlement task of the corresponding time within the limited time, the second settlement bill is obtained and uploaded to the on-chain smart contract;
[0040] Compare the data fingerprints corresponding to the first settlement bill and the second settlement bill, and determine that the accounts of both parties are consistent in the case of equality, and inconsistent in the case of inequality.
[0041] Specifically: the settlement bills of each operator (A, B...N) can form summary information through time dimension, classification, etc., which can reduce the risk of data leakage; the settlement bill is generated by counting the detailed bill in integer time period, and the summary information of the bill in each time period within N hours (such as 24 hours) is recorded, and the bill format is as follows:
[0042] {time period, calling party, called party, call duration}
[0043] The settlement bill in this embodiment is divided into a first settlement bill and a second settlement bill:
[0044] The first settlement bill refers to the settlement bill initiated by the called party;
[0045] The second settlement bill is the settlement bill compared by the calling party.
[0046] Based on the above embodiments:
[0047] In order to avoid errors caused by calculation problems (such as decimal numbers), the data fingerprint of the call duration can be used for comparison; based on the above embodiments, in some embodiments, the contents of the first settlement bill and the second settlement bill include settlement bill ID, date, data fingerprint of total call duration in preset duration, and homomorphic encryption vector of call duration in each time period in preset duration.
[0048] Based on the above embodiments, step 102 can specifically include:
[0049] In the case of determining that the accounts of the two parties are inconsistent, a chain-offline oracle is used to perform secure multi-party computation on the errors of the two parties, and the error calculation result is pushed back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0050] In the case of determining that the accounts of the two parties are consistent, the inter-network settlement and transfer task is continued.
[0051] Based on the above embodiments, as Figure 2 , Figure 2 The flowchart of another account reconciliation method based on a blockchain oracle and secure multi-party computation provided by the embodiments of the present application specifically includes:
[0052] S201: In the case of receiving an account reconciliation request initiated by the called party, a first account statement is obtained and uploaded to the on-chain smart contract;
[0053] S202: In the case of the calling party listening to the account reconciliation task of the corresponding time within the limited time, a second account statement is obtained and uploaded to the on-chain smart contract;
[0054] S203: Compare the data fingerprints corresponding to the first account statement and the second account statement, and determine that the accounts of the two parties are consistent in the case of equality, and determine that the accounts of the two parties are inconsistent in the case of inequality;
[0055] S204: In the case of determining that the accounts of the two parties are inconsistent, a chain-offline oracle is used to perform secure multi-party computation on the errors of the two parties, and the error calculation result is pushed back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0056] S205: In the case of determining that the accounts of the two parties are consistent, the inter-network settlement and transfer task is continued.
[0057] Based on the above embodiments, in some embodiments, step S202 can further include:
[0058] In the case that the called party does not listen to the on-chain smart contract receiving the second account statement within the limited time, the account reconciliation operation is cancelled.
[0059] Based on the above embodiments, step S203 can further include:
[0060] Locking the IDs of the first account statement and the second account statement to prevent multiple operations on the data, and waiting for the account reconciliation operation.
[0061] Based on the above embodiments, step S204 is described in detail as follows:
[0062] Based on the above embodiments, in some embodiments, the secure multi-party computation of the error of the two errors by the off-chain oracle can specifically include:
[0063] The error value of the homomorphic encryption vector of the call duration of each time period within the preset time period between the first and second bills is calculated by the off-chain oracle.
[0064] Based on the above embodiments, in some specific embodiments, pushing the error calculation result back to the on-chain smart contract can specifically include:
[0065] The error value is decrypted by fragmentation to obtain a multi-dimensional error vector, and is signed and pushed back to the on-chain smart contract.
[0066] There will be some errors (such as system, data, time, etc.) in the accounting process of N parties, so as long as the accounting error is within the required range, it is defined as successful accounting; therefore, based on the above embodiments, in some embodiments, the judgment whether to continue the inter-network settlement and transfer task can specifically include:
[0067] Based on the on-chain smart contract, the multi-dimensional error vector is verified and read;
[0068] In the case where the multi-dimensional error vector is not greater than the preset threshold, the inter-network settlement and transfer task is continued.
[0069] Based on the above embodiments, the judgment whether to continue the inter-network settlement and transfer task can also include:
[0070] In the case where the multi-dimensional error vector is greater than the preset threshold:
[0071] The multi-dimensional problem vector is calculated and fed back to the called party and the calling party to re-statistically account the problem time period;
[0072] The inter-network settlement and transfer task is cancelled.
[0073] Based on the above embodiments, in some embodiments, the inter-network settlement and transfer task can specifically include:
[0074] The total call duration of the statistical date uploaded by the calling party is obtained, and in the case where the data fingerprint of the total call duration is equal to the data fingerprint corresponding to the second bill, the transfer amount from the calling party to the called party is calculated, and the inter-network settlement and transfer task is completed.
[0075] Based on the above embodiments, in a specific embodiment, the on-chain reconciliation alliance jointly formulates a smart contract ChainCode to process the step-by-step interaction of reconciliation business, which has a reconciliation ID lock and four contract states {Prepare, Commit, Rollback, Fail} to trigger events Event to complete the interaction of reconciliation. All reconciliation businesses in the chain are initiated by the called party. For example Figure 3 The reconciliation process of Operator A and Operator B, that is, the bill of a certain period A as the caller and B as the called party, has the following reconciliation process:
[0076] (1) First, the called party B initiates a reconciliation request:
[0077] The call duration of B with the caller A in each period within 24 hours is represented as: The homomorphic encryption vector after
[0078] Each item of the first reconciliation bill is a four-tuple
[0079] · Random reconciliation bill ID
[0080] · Date accurate to day
[0081] · Reconciliation bill 24-hour call duration total data fingerprint Hash B
[0082] · 24-dimensional call duration homomorphic encryption vector
[0083] (2) Initiate a reconciliation request and upload the four-tuple of the first reconciliation bill to the reconciliation contract. The contract logs the current first reconciliation bill ID state as Prepare, and starts timing;
[0084] (3) Event listens to events and processes the next step:
[0085] (3.1) In the case of exceeding the limited time, the contract has not received the second reconciliation bill, and the task of the first reconciliation bill ID is timed out. The contract logs the current first reconciliation bill ID state as Rollback, and the contract is revoked.
[0086] (3.2) In the case of the caller A listening to the corresponding time task, the second reconciliation bill Upload data;
[0088] (4) The reconciliation contract locks two reconciliation bill IDs to prevent multiple operations on data, and waits for reconciliation operation;
[0089] (5) Compare the data fingerprints of the first reconciliation bill and the second reconciliation bill:
[0090] (5.1) If the data fingerprints are different, the oracle listens and then performs subsequent processing comparison operations;
[0091] (5.2) If the data fingerprints are the same, the next step is performed;
[0092] (6) The calling party A uploads the total call duration of the statistical date;
[0093] (7) Calculate whether the data fingerprint of the total call duration is equal to the 24-hour total call duration data fingerprint Hash in the four-tuple of the second bill for comparison A If they are equal, it means that the data is original and has not been changed. The smart contract calculates the transfer amount of the calling party A to the called party B according to the call duration, and completes the inter-network settlement transfer task.
[0094] Based on the above reconciliation process, if Hash (first bill) ≠ Hash (second bill), the digital fingerprints are different, indicating that there is a difference in the 24-dimensional reconciliation data. The difference between the two needs to be calculated to determine the error range, that is, the off-chain oracle cluster is used to process complex secure multi-party computation and slice decryption, and the smart contract is returned, so that the smart contract calculates the difference vector and finally obtains the problem vector. For example Figure 4 The subsequent processing comparison operation process after the oracle listens in the above (5.1) is as follows:
[0095] (1) In the case of Hash (first bill) ≠ Hash (second bill), the subsequent comparison is performed using a secure method of homomorphic encryption calculation. At this time, the state of the reconciliation record is compare;
[0096] (2) The distributed oracle cluster listens. In the case of compare, the homomorphic encryption vector of the call duration in each time period within 24 hours corresponding to the first bill and the second bill reconciliation ID is obtained And
[0097] (3) Some nodes in the oracle cluster are allocated to calculate the error value
[0098] (4) Other nodes in the oracle cluster perform slice decryption to obtain the decrypted error vector value And combine to obtain a 24-dimensional error vector Then sign;
[0099] (5) The reconciliation contract is verified, and the 24-dimensional error vector is read
[0100] (6) If the 24-dimensional error vector Then the calculation problem Boolean vector {0, 1, 0, 1} 24 Where 0 / 1 marks different periods of account reconciliation;
[0101] (7) Each node Event listens to obtain the problem vector corresponding to the first and second bill IDs, and performs offline re-statistics of the account data of the problem period;
[0102] (8) If the initiator of the account reconciliation B, then the first bill ID task is revoked, and the Rollback operation is performed;
[0103] (9) Record the current first bill ID task state as fail, and unlock the bill ID, end the task;
[0104] (10) If the 24-dimensional error vector Then initiate the transfer of inter-network settlement;
[0105] (11) The calling party A uploads the total call duration;
[0106] (12) If Hash (total duration) = Hash A Then the data is not changed, and the smart contract calculates the transfer of the calling party A to the called party B according to the duration, updates the account reconciliation task state to Commit, and finally unlocks the account ID.
[0107] The present application adopts a blockchain-based operator inter-network settlement account reconciliation system, first, the smart contract ChainCode triggers events for step-by-step account reconciliation work through the account ID lock and state value; then, using secure multi-party technology, the privacy and verifiability of the account data are solved; finally, for the questioned account, the off-chain oracle is used for processing, and the problem vector is accurately calculated; the present application uses secure multi-party computing and off-chain processing of the oracle + on-chain verification collaborative operation to solve the account reconciliation difficulties: secure multi-party computing solves the contradiction between the privacy and verifiability of the on-chain account data; the oracle is used reversely, the complex secure multi-party computing in the on-chain smart contract is processed in the off-chain oracle, and then the calculation result is returned to the smart contract for subsequent account reconciliation. The chain, secure multi-party computing and oracle complete the trigger, comparison, submission, failure and analysis of the first and second account reconciliation tasks on the chain.
[0108] As Figure 5 In order to realize the above-mentioned embodiment, the present application also proposes an account reconciliation device based on blockchain oracle and secure multi-party computing, which comprises:
[0109] The account reconciliation task module 100 is used for performing account reconciliation operation based on the on-chain smart contract when receiving the account reconciliation request;
[0110] The transfer task module 200 is configured to, in the case of determining that the accounts of the two parties are inconsistent, perform secure multi-party computation on the errors of the two parties by using an off-chain oracle, and push the error calculation result back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0111] As Figure 6 Based on the above embodiments, the application further provides another possible implementation of the reconciliation device based on the blockchain oracle and secure multi-party computation. In the above embodiment, the reconciliation task module can specifically include:
[0112] The first bill acquisition unit 110 is configured to, in the case of receiving a reconciliation request initiated by the called party, acquire a first reconciliation bill and upload the first reconciliation bill to the on-chain smart contract.
[0113] The second bill acquisition unit 120 is configured to, in the case of the calling party listening to the reconciliation task of the corresponding time within the limited time, acquire a second reconciliation bill and upload the second reconciliation bill to the on-chain smart contract.
[0114] The reconciliation calculation unit 130 is configured to compare the data fingerprints corresponding to the first reconciliation bill and the second reconciliation bill, and determine that the accounts of the two parties are consistent in the case of equality, and determine that the accounts of the two parties are inconsistent in the case of inequality.
[0115] The transfer task module can specifically include:
[0116] The first execution unit 210 is configured to, in the case of determining that the accounts of the two parties are inconsistent, perform secure multi-party computation on the errors of the two parties by using an off-chain oracle, and push the error calculation result back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
[0117] The second execution unit 220 is configured to, in the case of determining that the accounts of the two parties are consistent, continue the inter-network settlement and transfer task.
[0118] Based on the above embodiments, the content of the first reconciliation bill and the second reconciliation bill includes a reconciliation bill ID, a date, a data fingerprint of a total call duration in a preset time period, and a homomorphic encryption vector of the call duration in each time period in the preset time period.
[0119] Based on the above embodiments, the reconciliation task module can further include:
[0120] The reconciliation end triggering unit is configured to, in the case of the called party not listening to the on-chain smart contract receiving the second reconciliation bill within the limited time, cancel the reconciliation operation.
[0121] Based on the above embodiments, the transfer task module can further include:
[0122] The inter-network settlement and transfer calculation unit is configured to obtain a total call duration of a statistical date uploaded by a calling party, and calculate a transfer amount of the calling party to a called party in a case where a data fingerprint of the total call duration is equal to a data fingerprint corresponding to a second bill, so as to complete an inter-network settlement and transfer task.
[0123] Based on the above embodiment, the first execution unit can comprise:
[0124] The secure multi-party computation sub-unit is configured to calculate error values of homomorphic encryption vectors of call durations in each time period within a preset time duration between the first bill and the second bill by using an off-chain oracle.
[0125] Based on the above embodiment, the first execution unit can further comprise:
[0126] The decryption sub-unit is configured to perform fragmented decryption on the error values to obtain a multi-dimensional error vector, and push the multi-dimensional error vector back to the on-chain smart contract after signing.
[0127] Based on the above embodiment, the first execution unit can further comprise:
[0128] The inter-network settlement and transfer judgment sub-unit is configured to verify the multi-dimensional error vector based on the on-chain smart contract, read the multi-dimensional error vector, and continue the inter-network settlement and transfer task in a case where the multi-dimensional error vector is not greater than a preset threshold.
[0129] Based on the above embodiment, the inter-network settlement and transfer judgment sub-unit is further configured to:
[0130] In a case where the multi-dimensional error vector is greater than the preset threshold:
[0131] Calculate a multi-dimensional problem vector and feed back to the called party and the calling party to re-statistically calculate the problem time period of the bill offline;
[0132] Cancel the inter-network settlement and transfer task.
[0133] It should be noted that the above description of the method for checking bills based on a blockchain oracle and secure multi-party computation is also applicable to the device for checking bills based on a blockchain oracle and secure multi-party computation, which will not be described here.
[0134] In order to realize the above-mentioned embodiments, the present application further proposes a computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to realize the above-mentioned method for checking bills based on a blockchain oracle and secure multi-party computation.
[0135] To achieve the above-mentioned embodiments, the application further provides a non-transitory computer-readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the above-mentioned account reconciliation method based on a blockchain oracle and secure multi-party computation.
[0136] To achieve the above-mentioned embodiments, the application further provides a computer program product, which executes the above-mentioned account reconciliation method based on a blockchain oracle and secure multi-party computation when an instruction processor in the computer program product executes.
[0137] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples without contradiction.
[0138] In addition, the terms "first", "second" are only for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is at least two, for example, two, three, etc., unless otherwise explicitly specified.
[0139] Any process or method descriptions in flow charts or otherwise described herein can be understood as representing code modules, segments, or portions of code that include one or more executable instructions for implementing the specified logic functions (or steps) and / or can be implemented as computer-executable instructions stored in a computer-readable memory that are executed by a processing unit. The embodiments of the application include additional implementations, in which the order of execution can be changed, functions can be performed in parallel, functions can be performed at different times, functions can be performed in a different order, and / or functions can be performed by different entities, in accordance with the described functions.
[0140] The logic and / or steps represented in flow diagrams or otherwise described herein, for example, can be considered as a sequence of instructions to implement logic functions, and can be embodied in any computer-readable medium for use by an instruction execution system, apparatus, or device, such as a computer-based system, processor- containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this specification, a "computer-readable medium" can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be a machine-readable storage device (e.g., magnetic, optical or other) a machine-readable storage diskette (e.g., floppy disk, optical disk, CD- ROM, etc.), a machine- readable storage card (e.g., PCMCIA card, etc.), a machine-readable storage tape (e.g., magnetic tape, optical tape, etc.), a machine-readable storage medium (e.g., RAM, ROM, etc.), a machine-readable signal (e.g., electrical, optical, etc.), a machine-readable medium (e.g., carrier wave, etc.) or any other suitable medium or means of embodying the program. More specific examples (a non-exhaustive list) of the computer-readable medium include the following: an electrical connection having one or more wires (e.g., a bus that has thin film resistors for
[0141] It should be understood that aspects of the application can be implemented in hardware, software, firmware or combinations thereof. In the embodiments described above, various steps or methods can be implemented in software or firmware that is stored in memory and executed by a suitable instruction execution system. As such, in some embodiments, the steps or methods can be implemented in program code that is stored in a memory and executed by a suitable instruction execution system. If desired, the functions described can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the
[0142] Those of skill in the art could readily implement the above described example methods with all or a portion of the disclosed steps carried out by a program for use with a computer system or similar electronic computing device, or carried out by a special purpose computer, a programmed microprocessor or microcontroller, peripheral integrated circuit elements, an integrated circuit having other bits, a logic circuit, a digital signal processor, a central processing unit, a field programmable gate array, any
[0143] In addition, each function unit in each embodiment of the present application can be integrated in one processing module, or each unit can be physically present separately, or two or more units can be integrated in one module. The integrated module can be realized in the form of hardware or in the form of a software function module. When the integrated module is realized in the form of a software function module and sold or used as an independent product, it can also be stored in a computer readable storage medium.
[0144] The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it should be understood that the above embodiments are exemplary and should not be construed as limiting the present application, and those skilled in the art can make changes, modifications, replacements and variations to the above embodiments within the scope of the present application.
Claims
1. A reconciliation method based on blockchain oracles and secure multi-party computation, characterized in that, include: Upon receiving a reconciliation request, a reconciliation operation is performed based on an on-chain smart contract. If the accounts of the two parties are determined to be inconsistent, an off-chain oracle is used to perform a secure multi-party calculation on the error between the two parties, and the error calculation result is pushed back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task.
2. The reconciliation method according to claim 1, characterized in that, If the accounts of both parties are determined to be consistent, the inter-network settlement and transfer task will continue.
3. The reconciliation method according to claim 1, characterized in that, Upon receiving a reconciliation request, the reconciliation operation based on the on-chain smart contract includes: Upon receiving a reconciliation request from the called party, obtain the first reconciliation statement and upload it to the on-chain smart contract; If the caller detects the reconciliation task within the specified time, the second reconciliation statement is obtained and uploaded to the on-chain smart contract. Compare the data fingerprints corresponding to the first and second statements. If they are equal, the accounts are considered to be consistent. If they are not equal, the accounts are considered to be inconsistent.
4. The reconciliation method according to claim 3, characterized in that, If the called party does not receive a second reconciliation statement from the on-chain smart contract within the specified time, the reconciliation operation will be cancelled.
5. The reconciliation method according to claim 3, characterized in that, Both the first and second statements include the statement ID, date, data fingerprint of the total call duration within a preset duration, and homomorphic encrypted vectors of call duration for each time period within the preset duration.
6. The reconciliation method according to claim 5, characterized in that, Before comparing the data fingerprints of the first and second bank statements, the following is also included: Lock the IDs of the first and second statements.
7. The reconciliation method according to claim 5, characterized in that, The inter-network settlement and transfer tasks include: Obtain the total call duration for the statistical date uploaded by the caller. If the data fingerprint of the total call duration is equal to the data fingerprint corresponding to the second statement, calculate the transfer amount from the caller to the called party and complete the inter-network settlement transfer task.
8. The reconciliation method according to claim 5, characterized in that, The method of using an off-chain oracle to perform secure multi-party computation on the error between the two includes: An off-chain oracle is used to calculate the error value of the homomorphic encrypted vector of call duration for each time period within a preset time range between the first and second reconciliation statements.
9. The reconciliation method according to claim 8, characterized in that, The step of pushing the error calculation result back to the on-chain smart contract includes: The error value is fragmented and decrypted to obtain a multi-dimensional error vector, which is then signed and pushed back to the on-chain smart contract.
10. The reconciliation method according to claim 9, characterized in that, The determination of whether to continue the inter-network settlement and transfer task includes: Verify signatures based on multi-dimensional error vectors using on-chain smart contracts, and read multi-dimensional error vectors. If the multidimensional error vector is not greater than the preset threshold, continue the inter-network settlement and transfer task.
11. The reconciliation method according to claim 10, characterized in that, When the multidimensional error vector is greater than a preset threshold: Calculate the multidimensional problem vector and feed it back to the called party and the calling party to re-collect the reconciliation data for the problem period offline; Cancel the inter-network settlement and transfer task.
12. A reconciliation device based on a blockchain oracle and secure multi-party computation, characterized in that, include: The reconciliation task module is used to perform reconciliation operations based on on-chain smart contracts when a reconciliation request is received. The transfer task module is used to perform secure multi-party calculations on the discrepancy between the accounts of the two parties using an off-chain oracle, and push the error calculation results back to the on-chain smart contract to determine whether to continue the inter-network settlement transfer task.
13. The reconciliation device according to claim 12, characterized in that, The reconciliation task module includes: The first statement acquisition unit is used to acquire the first statement and upload it to the on-chain smart contract when a statement acquisition request is received from the called party. The second statement acquisition unit is used to acquire the second statement and upload it to the on-chain smart contract when the caller listens to the statement acquisition task at the corresponding time within the time limit. The reconciliation calculation unit is used to compare the data fingerprints corresponding to the first reconciliation statement and the second reconciliation statement. If they are equal, it is determined that the accounts of both parties are consistent; if they are not equal, it is determined that the accounts of both parties are inconsistent.
14. The reconciliation device according to claim 13, characterized in that, The reconciliation task module also includes: The reconciliation termination trigger unit is used to cancel the reconciliation operation if the called party does not hear that the on-chain smart contract has received a second reconciliation statement within the limited time.
15. The reconciliation device according to claim 13, characterized in that, Both the first and second statements include the statement ID, date, data fingerprint of the total call duration within a preset duration, and homomorphic encrypted vectors of call duration for each time period within the preset duration.
16. The reconciliation device according to claim 15, characterized in that, The transfer task module includes: The first execution unit is used to perform secure multi-party calculations on the error between the two parties using an off-chain oracle when the accounts of the two parties are determined to be inconsistent, and pushes the error calculation results back to the on-chain smart contract to determine whether to continue the inter-network settlement and transfer task. The second execution unit is used to continue the inter-network settlement and transfer task if it is determined that the accounts of the two parties are consistent.
17. The reconciliation device according to claim 16, characterized in that, The transfer task module also includes: The inter-network settlement transfer calculation unit is used to obtain the total call duration for the statistical date uploaded by the caller. If the data fingerprint of the total call duration is equal to the data fingerprint corresponding to the second statement, the unit calculates the transfer amount from the caller to the called party and completes the inter-network settlement transfer task.
18. The reconciliation device according to claim 16, characterized in that, The first execution unit includes: The secure multi-party computation subunit is used to calculate the error value of the homomorphic encrypted vector of call duration for each time period within a preset duration between the first and second reconciliation statements using an off-chain oracle.
19. The reconciliation device according to claim 18, characterized in that, The first execution unit includes: The decryption subunit is used to decrypt the error value in segments to obtain a multi-dimensional error vector, and then sign it and push it back to the on-chain smart contract.
20. The reconciliation device according to claim 19, characterized in that, The first execution unit includes: The inter-network settlement and transfer judgment subunit is used to verify the signature of the multi-dimensional error vector based on the on-chain smart contract, read the multi-dimensional error vector, and continue to carry out the inter-network settlement and transfer task if the multi-dimensional error vector is not greater than a preset threshold.
21. The reconciliation method according to claim 19, characterized in that, The inter-network settlement and transfer judgment subunit is also used for: When the multidimensional error vector is greater than a preset threshold: Calculate the multidimensional problem vector and feed it back to the called party and the calling party to re-collect the reconciliation data for the problem period offline; Cancel the inter-network settlement and transfer task.
22. A computer device, characterized in that, The device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements a reconciliation method based on a blockchain oracle and secure multi-party computation as described in any one of claims 1-11.
23. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements a reconciliation method based on a blockchain oracle and secure multi-party computation as described in any one of claims 1-11.
24. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor, a reconciliation method based on a blockchain oracle and secure multi-party computation as described in any one of claims 1-11 is performed.
Citation Information
Patent Citations
A real-time reconciliation method and device based on blockchain, and electronic equipment
CN109670924B
Information processing method, information processing device, blockchain platform and storage medium
CN114297721B
Reconciliation method and device based on block chain
CN116263925A
