A blockchain-based reconciliation method and device, electronic equipment and storage medium
By storing and automatically verifying the reconciliation information of multiple users on the blockchain, the problem of low efficiency and mutual trust in enterprise business data reconciliation is solved, and efficient and reliable reconciliation record generation is achieved.
Patent Information
- Application Number
- CN202210514072.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-11
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2042-05-11
AI Technical Summary
In the process of reconciling business data, manual reconciliation is inefficient, time-consuming, and has a high error rate. When data from multiple parties is inconsistent, it is difficult to determine the true and accurate business data, and there is a lack of mutual trust.
By deploying smart contracts on the blockchain, the reconciliation information of multiple users is stored, and the decentralized, tamper-proof, and traceable characteristics of the blockchain are utilized to automatically perform reconciliation verification and information merging, generating a successful reconciliation record.
It improves reconciliation efficiency, ensures the credibility of reconciliation information, prevents tampering, provides reliable audit evidence, and supports the supervision of regulatory and auditing agencies.
Smart Images

Figure CN114971827B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of blockchain technology, and more particularly to a blockchain-based reconciliation method, apparatus, electronic device, and storage medium. Background Technology
[0002] In the course of business operations, it is necessary to regularly reconcile accounts with customers with whom there are business dealings to verify the accuracy of the business data recorded by all parties, so as to promptly identify problems, correct errors, and ensure the authenticity, completeness and accuracy of business data.
[0003] In practical applications, business data generated during the business process can usually be recorded in the form of local documents, and the business data recorded by both parties in the business cooperation can be reconciled manually. When there is a discrepancy between the business data recorded by the two parties, a difference check is required, and one party may need to compromise and update its own recorded business data according to the business data recorded by the other party.
[0004] Therefore, on the one hand, when the amount of business data is large, such as when there are many customers or many transactions in business cooperation, manual reconciliation is inefficient, time-consuming, and has a high error rate. On the other hand, when there are inconsistencies in the business data recorded by multiple parties involved in the business cooperation, each party finds it difficult to trust the business data recorded by other parties and to determine which data is true and accurate. Summary of the Invention
[0005] This application provides a blockchain-based reconciliation method, wherein a first smart contract for reconciliation management is deployed on the blockchain; the blockchain stores reconciliation information provided by multiple users with business cooperation; the method includes:
[0006] Obtain the evidence storage request submitted by the first user; wherein, the evidence storage request includes first reconciliation information provided by the first user corresponding to the target business between the target business and other users among the multiple users;
[0007] In response to the evidence storage request, the query logic contained in the first smart contract is invoked to determine whether the first reconciliation information is stored in the blockchain; if the first reconciliation information is stored in the blockchain, then the second reconciliation information provided by the other user and corresponding to the target business, which is associated with the first reconciliation information, is queried in the blockchain.
[0008] In response to the discovery of the second reconciliation information associated with the first reconciliation information, the reconciliation logic contained in the first smart contract is further invoked to perform reconciliation verification on the first reconciliation information and the second reconciliation information. If the reconciliation verification on the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information associated with the blockchain is merged to generate a successful reconciliation record corresponding to the target business.
[0009] This application also provides a blockchain-based reconciliation device, wherein a first smart contract for reconciliation management is deployed on the blockchain; the blockchain stores reconciliation information provided by multiple users with business cooperation; the device includes:
[0010] The acquisition unit is used to acquire a proof-of-existence request submitted by a first user; wherein, the proof-of-existence request includes first reconciliation information provided by the first user corresponding to a target business between the first user and other users among the multiple users;
[0011] The query unit is used to respond to the notarization request by invoking the query logic contained in the first smart contract to determine whether the first reconciliation information is notarized in the blockchain; if the first reconciliation information is notarized in the blockchain, then query the blockchain for second reconciliation information provided by the other user and corresponding to the target business that is notarized in association with the first reconciliation information.
[0012] The reconciliation unit is used to respond to the query of the second reconciliation information that is associated with the first reconciliation information and further call the reconciliation logic contained in the first smart contract to perform reconciliation verification on the first reconciliation information and the second reconciliation information; if the reconciliation verification on the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information associated with the blockchain is merged to generate a reconciliation success record corresponding to the target business.
[0013] This application also provides an electronic device, including a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus;
[0014] The memory stores machine-readable instructions, and the processor executes any of the above methods by invoking the machine-readable instructions.
[0015] This application also provides a machine-readable storage medium storing machine-readable instructions that, when called and executed by a processor, implement any of the methods described above.
[0016] In the above embodiments, on the one hand, by linking and storing the reconciliation information provided by multiple users with business cooperation in the blockchain, the credibility of the first and second reconciliation information used for subsequent reconciliation verification can be guaranteed based on the decentralized, immutable, and traceable characteristics of the blockchain, thereby solving the problem of mutual trust among various business participants.
[0017] On the other hand, in response to the evidence storage request submitted by the first user, that is, to obtain the first reconciliation information corresponding to the target business provided by the first user, the first smart contract deployed on the chain for reconciliation management is invoked. If the first reconciliation information has been stored in the blockchain and the second reconciliation information associated with the first reconciliation information is found in the blockchain, the reconciliation verification between the first reconciliation information provided by the first user and the second reconciliation information provided by other users can be automatically performed, thereby improving the reconciliation efficiency.
[0018] On the other hand, if the reconciliation verification between the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information that are associated and stored in the blockchain can be merged to generate a successful reconciliation record corresponding to the target business. Therefore, based on the generated successful reconciliation record, the multiple users cannot tamper with the business data that has been successfully reconciled. This is conducive to the regulatory authorities to conduct more accurate supervision of the business data generated by the multiple users in the business cooperation process of the target business, and can also provide the auditing institution with true and effective evidence for auditing the business data related to the target business. Attached Figure Description
[0019] To more clearly illustrate the technical solutions of the embodiments in this specification, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of a blockchain-related network environment in one embodiment of this specification;
[0021] Figure 2 This is a flowchart of a blockchain-based reconciliation method in one embodiment of this specification;
[0022] Figure 3 This is a schematic diagram of the structure of the electronic device containing the blockchain-based reconciliation device in one embodiment of this specification;
[0023] Figure 4This is a block diagram of a blockchain-based reconciliation device in one embodiment of this specification. Detailed Implementation
[0024] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0025] To enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the relevant blockchain technologies involved in the embodiments of this specification will be briefly described below.
[0026] Blockchain is generally classified into three types: public blockchain, private blockchain, and consortium blockchain. Furthermore, combinations of these types are possible, such as a combination of private and consortium blockchains, or a combination of consortium and public blockchains.
[0027] Of the three types of blockchains mentioned above, public blockchains offer the highest degree of decentralization. Participants in a public blockchain (also known as nodes in the blockchain) can read data records on the chain, participate in transactions, and compete for the right to record new blocks. Moreover, nodes can freely join or leave the network and perform related operations.
[0028] In contrast, private blockchains have write permissions controlled by a specific organization or institution, and data read permissions are governed by the organization's regulations. That is, a private blockchain can be viewed as a weakly centralized system, with strict restrictions on the number of nodes and a relatively small number of nodes. This type of blockchain is more suitable for use within specific organizations.
[0029] Consortium blockchains fall between public and private blockchains, enabling "partial decentralization." Each node in a consortium blockchain typically has a corresponding entity or organization; nodes join the network through authorization and form a consortium of stakeholders to jointly maintain the operation of the blockchain.
[0030] In a blockchain network, a blockchain node is a logical communication entity; multiple blockchain nodes of different types can run on the same physical server or on different physical servers.
[0031] Please refer to Figure 1 , Figure 1This is a schematic diagram of a blockchain-related network environment in one embodiment of this specification. Figure 1 The network environment shown may include a user-side computing device 101, a server 102, and at least one blockchain system; for example, blockchain system 103, blockchain system 104, and blockchain system 105.
[0032] In one embodiment shown, the user-side computing device 101 may include various different types of user-side computing devices; for example, user-side computing devices may include PC computing devices, mobile computing devices, Internet of Things devices, and other forms of smart devices with certain computing capabilities, etc.
[0033] It should be noted that user-side computing device 101 does not mean that all user-side computing devices are in the same communication network, but is merely a collective term for these user-side computing devices.
[0034] In one embodiment shown, some computing devices in the user-side computing device 101 can be coupled to the server 102 via various communication networks; for example, device 3 is coupled to the server 102.
[0035] Some computing devices in the user-side computing device 101 may not be coupled to the server 102, but may be directly coupled to the blockchain system as blockchain nodes; for example, device 4 may be directly coupled to the blockchain system 103 as a blockchain node.
[0036] In one embodiment shown, the user-side computing device 101 may further include one or more user-side servers, such as devices 5 and 6. Some computing devices in the user-side computing device 101 may be coupled to the user-side server; for example, device 1 is coupled to device 5, and device 2 is coupled to device 6. The user-side server may further be directly coupled to the blockchain system as a blockchain node, or it may be further coupled to the server-side 102 via various communication networks; for example, device 5 may be directly coupled to the blockchain system as a blockchain node, and device 6 may be further coupled to the server-side 102.
[0037] In one embodiment shown, the user-side server can be implemented by a service entity that has established a user account system; the service entity may include the operating entity of the service carrier that provides various online and / or offline services to users. Accordingly, the operating entity may include the operator corresponding to the service carrier; for example, the operating entity may include individuals, institutions, organizations, etc., that operate and manage the service carrier.
[0038] In one embodiment shown, server 102 may also be coupled to one or more blockchain systems via various communication networks; for example, server 102 may be coupled to blockchain system 103, blockchain system 104 and blockchain system 105, etc.
[0039] In one embodiment shown, the communication network may include wired and / or wireless communication networks; for example, it may be a local area network (LAN), wide area network (WAN), Internet, or a combination thereof, implemented based on a wired access network or wireless access network (such as a mobile cellular network) provided by an operator.
[0040] In one embodiment shown, each blockchain system can maintain one or more blockchains (e.g., public blockchain, private blockchain, consortium blockchain, etc.) and include multiple blockchain nodes for hosting the aforementioned one or more blockchains; for example, such as Figure 1 The blockchain nodes 1, 2, 3, 4, and i shown can collectively support one or more blockchains. Cross-chain data access is also possible between the blockchains within each blockchain system, and between different blockchain systems themselves.
[0041] In one embodiment shown, a blockchain node can be a physical device or a virtual device implemented in a server or server cluster. For example, a blockchain node can be a physical host in a server cluster, or a virtual machine created by virtualizing the hardware resources of a server or server cluster based on virtualization technology. Each blockchain node can be coupled together to form a network through various types of communication methods (e.g., TCP / IP) to carry one or more blockchains.
[0042] In one embodiment shown, server 102 may include a BaaS platform (also known as a BaaS cloud) for providing blockchain services (BaaS).
[0043] BaaS platforms can provide blockchain services to user-side computing devices coupled to the BaaS platform by providing pre-written software for activities that occur on the blockchain, such as subscriptions and notifications, user authentication, database management and remote updates.
[0044] For example, a BaaS platform can provide software such as MQ (Message Queue) services; user-side computing devices coupled to the BaaS platform can subscribe to smart contracts deployed on a blockchain in a blockchain system coupled to the BaaS platform, and the contract events generated on the blockchain after the smart contract is triggered and executed; the BaaS platform can listen to the events generated on the blockchain after the smart contract is triggered and executed, and then, based on the MQ service-related software, add the contract events to the message queue in the form of notification messages, so that user-side computing devices that subscribe to the message queue can receive notifications related to the aforementioned contract events.
[0045] For data generated outside the blockchain, it can be constructed into a standard transaction format supported by the blockchain, and then published to the blockchain. All nodes in the blockchain network will reach a consensus on the transaction. After consensus is reached, the nodes acting as ledger nodes in the blockchain network can persistently store this transaction on the blockchain.
[0046] In programmable blockchains, the functionality of smart contracts allows users to create and invoke complex logic within the blockchain network. A smart contract is a program on the blockchain that can be triggered by transactions. Smart contracts can be defined in the form of code.
[0047] After a smart contract is created, a contract account corresponding to that smart contract appears on the blockchain, and it has a specific address. The behavior of the smart contract is controlled by the contract code in the contract account, while the account storage saves the state of the smart contract.
[0048] A transaction used to invoke a smart contract can include the address of the account initiating the call, the address of the smart contract being invoked, and the method and parameters used to invoke the smart contract. After the smart contract is invoked, its state may change; the state of the smart contract can be viewed by communicating with blockchain nodes.
[0049] Smart contracts can be executed independently by nodes in a blockchain network in a prescribed manner. All execution records and related data can be stored on the blockchain. Therefore, once such a transaction is completed, the blockchain stores an immutable and unlost transaction certificate.
[0050] The event mechanism of smart contracts is a way for smart contracts to interact with off-chain entities. Smart contracts deployed on a blockchain typically cannot directly interact with off-chain entities; for example, after a smart contract completes its call, it usually cannot send the result of the call to the caller point-to-point.
[0051] The results generated during the invocation of a smart contract (including intermediate and final results) are typically recorded as events in the transaction logs of the transaction that invoked the smart contract, and stored in the storage space of the blockchain node. External entities that need to interact with the smart contract can obtain the invocation results by monitoring these transaction logs stored in the blockchain node's storage space.
[0052] In the course of business operations, it is necessary to regularly reconcile accounts with customers with whom there are business dealings to verify the accuracy of the business data recorded by all parties, so as to promptly identify problems, correct errors, and ensure the authenticity, completeness and accuracy of business data.
[0053] For example, if two companies have a sales transaction, they need to reconcile business data such as the content of the transaction contract, invoicing status, payment status, and accounts receivable and payable balances to ensure that the contract progress and financial information of both parties are synchronized and comply with the relevant requirements of corporate management and auditing.
[0054] In practical applications, business data generated during the business process can usually be recorded in the form of local documents, and the business data recorded by both parties in the business cooperation can be reconciled manually. When there is a discrepancy between the business data recorded by the two parties, a difference check is required, and one party may need to compromise and update its own recorded business data according to the business data recorded by the other party.
[0055] Therefore, in the embodiments shown above, on the one hand, when the amount of business data is large, such as when there are a large number of customers or many transactions in business cooperation, the manual reconciliation method has problems such as low reconciliation efficiency, long time consumption, and high error rate of reconciliation results; on the other hand, when there is inconsistency in the business data recorded by multiple parties involved in business cooperation, each party finds it difficult to trust the business data recorded by other parties and it is difficult to determine which one is the true and accurate business data.
[0056] In view of this, this specification aims to propose a technical solution based on blockchain technology to achieve automatic reconciliation of reconciliation information provided by multiple users with business cooperation during the notarization process.
[0057] In implementation, a notarization request submitted by a first user can be obtained. This notarization request includes first reconciliation information provided by the first user corresponding to a target business transaction between the first user and other users among the multiple users with whom the user has business dealings. In response to obtaining the notarization request, the query logic contained in a first smart contract deployed on the blockchain for reconciliation management can be invoked to determine whether the first reconciliation information is notarized in the blockchain. If the first reconciliation information is notarized in the blockchain, second reconciliation information provided by the other users and corresponding to the target business, which is notarized in association with the first reconciliation information, can be queried in the blockchain. In response to finding the second reconciliation information notarized in association with the first reconciliation information, the reconciliation logic contained in the first smart contract is further invoked to perform reconciliation verification on the first and second reconciliation information. If the reconciliation verification on the first and second reconciliation information passes, the information on the first and second reconciliation information notarized in association with the blockchain can be merged to generate a successful reconciliation record corresponding to the target business.
[0058] Therefore, the technical solution in this specification, on the one hand, by linking and storing the reconciliation information provided by multiple users with business cooperation in the blockchain, the credibility of the first and second reconciliation information used for subsequent reconciliation verification can be guaranteed based on the decentralized, immutable, and traceable characteristics of the blockchain, thereby solving the problem of mutual trust among various business participants.
[0059] On the other hand, in response to the evidence storage request submitted by the first user, that is, to obtain the first reconciliation information corresponding to the target business provided by the first user, the first smart contract deployed on the chain for reconciliation management is invoked. If the first reconciliation information has been stored in the blockchain and the second reconciliation information associated with the first reconciliation information is found in the blockchain, the reconciliation verification between the first reconciliation information provided by the first user and the second reconciliation information provided by other users can be automatically performed, thereby improving the reconciliation efficiency.
[0060] On the other hand, if the reconciliation verification between the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information that are associated and stored in the blockchain can be merged to generate a successful reconciliation record corresponding to the target business. Therefore, based on the generated successful reconciliation record, the multiple users cannot tamper with the business data that has been successfully reconciled. This is conducive to the regulatory authorities to conduct more accurate supervision of the business data generated by the multiple users in the business cooperation process of the target business, and can also provide the auditing institution with true and effective evidence for auditing the business data related to the target business.
[0061] The technical solutions in this specification are described below through specific embodiments and in conjunction with specific application scenarios.
[0062] Please see Figure 2 , Figure 2 This is a flowchart of a blockchain-based reconciliation method according to one embodiment of this specification. The above-described blockchain-based reconciliation method can be applied to, for example... Figure 1 The technical solutions described in this specification are implemented in the application environment shown.
[0063] In this specification, the blockchain-based reconciliation method can be applied to node devices in a blockchain or to a blockchain service platform.
[0064] For example, the blockchain-based reconciliation method can be applied to node devices in the blockchain (such as...). Figure 1 In any of the blockchain systems shown, the user's client-side computing device can be directly connected to the node device.
[0065] For example, the blockchain-based reconciliation method can also be applied to blockchain service platforms (such as...). Figure 1 As shown in server 102), the user's corresponding client-side computing device can connect to the blockchain service platform and interact with the blockchain system through the blockchain service platform.
[0066] The above blockchain-based reconciliation method can perform the following steps:
[0067] Step 202: Obtain the evidence storage request submitted by the first user; wherein, the evidence storage request includes the first reconciliation information provided by the first user corresponding to the target business between the target user and other users among the multi-party users with whom there is business cooperation;
[0068] Step 204: In response to the notarization request, invoke the query logic contained in the first smart contract deployed on the blockchain for reconciliation management to determine whether the first reconciliation information is notarized in the blockchain; if the first reconciliation information is notarized in the blockchain, then query the blockchain for second reconciliation information provided by the other user and corresponding to the target business that is notarized in association with the first reconciliation information.
[0069] Step 206: In response to the query finding the second reconciliation information that is associated with the first reconciliation information, the reconciliation logic contained in the first smart contract is further invoked to perform reconciliation verification on the first reconciliation information and the second reconciliation information; if the reconciliation verification on the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information associated with the blockchain is merged to generate a successful reconciliation record corresponding to the target business.
[0070] In this specification, a evidence storage request submitted by a first user can be obtained; wherein, the evidence storage request may include first reconciliation information corresponding to the target business provided by the first user.
[0071] The terms "first user" and "other users" are used merely to distinguish different reconciliation participants. In this specification, the multiple users can include two or more users with business cooperation; that is, the first user can reconcile accounts with one or more other users. Similarly, the terms "first reconciliation information" and "second reconciliation information" are also used merely to distinguish reconciliation information provided by different reconciliation participants.
[0072] The following description uses the example of reconciling accounts between the first user and the second user (i.e., another user) for the target business. Based on this, those skilled in the art can obtain a technical solution for reconciling accounts between the first user and multiple users for the target business without any creative effort.
[0073] The target business may include transactions requiring reconciliation. It should be noted that the multiple users with business cooperation can cooperate on one or more business areas, and this specification does not impose any restrictions. For example, a first user and a second user may cooperate on multiple business areas such as sales and training; in this case, the sales transactions between the first user and the second user can be considered the target business requiring reconciliation.
[0074] Specifically, the evidence storage request can be in the form of a smart contract calling a transaction, or it can be in the form of a request message.
[0075] For example, if the client-side computing device corresponding to the first user is directly connected to the node device in the blockchain, the node device can receive the evidence storage transaction initiated by the client-side computing device corresponding to the first user for the target business. The evidence storage transaction can be used to call the first smart contract deployed in the blockchain for reconciliation management.
[0076] For example, if the client-side computing device corresponding to the first user accesses the blockchain through the blockchain service platform, the blockchain service platform can receive a notarization request message for the target business sent by the client-side computing device corresponding to the first user. The notarization request message may include first reconciliation information corresponding to the target business provided by the first user. In response to receiving the notarization request message, the blockchain service platform uses the first reconciliation information as a calling parameter to call the first smart contract deployed in the blockchain for reconciliation management.
[0077] In one embodiment shown, a second smart contract for generating reconciliation information is also deployed on the blockchain; before obtaining the evidence storage request submitted by the first user, the method may further include: obtaining a generation request submitted by the first user for generating first reconciliation information corresponding to the target business; wherein the generation request includes business data related to the target business provided by the first user; in response to the generation request, invoking the generation logic contained in the second smart contract, generating the first reconciliation content corresponding to the target business based on the business data related to the target business provided by the first user, and further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content.
[0078] For example, in response to receiving a generation request submitted by a first user, business data related to the target business provided by the first user can be obtained, and the generation logic contained in a second smart contract deployed on the blockchain for generating reconciliation information can be invoked to generate the first reconciliation content corresponding to the target business based on the business data; further, a hash calculation can be performed on the generated first reconciliation content to obtain the hash value of the first reconciliation content; further, the first reconciliation information corresponding to the target business can be generated based on the hash value of the first reconciliation content.
[0079] It should be noted that, in the embodiments shown above, generating reconciliation information corresponding to the target business based on the hash value of the reconciliation content, storing the reconciliation information in the blockchain, and verifying the reconciliation information provided by multiple users, instead of directly uploading plaintext information (such as the original text of business data, generated reconciliation content, etc.) to the blockchain and verifying the plaintext information, can improve reconciliation efficiency by conducting public reconciliation based on blockchain technology while preventing the leakage of user business data. Furthermore, compared to the original text of business data or the generated reconciliation content, generating reconciliation information based on the hash value of the reconciliation content has the advantages of smaller quantity, saving storage space, easy querying, and easy comparison.
[0080] Additionally, it should be noted that in the above-described implementation, generating the reconciliation information corresponding to the target business based on the hash value of the reconciliation content to prevent the leakage of user business data is merely an exemplary implementation method. In practical applications, those skilled in the art can also use other methods to perform security protection processing on the business data provided by the user, as needed. For example, for the first reconciliation content generated corresponding to the target business, one or more of the following security protection processes can be performed: data encoding, data obfuscation, and data encryption. Based on the first reconciliation content after security protection processing, the first reconciliation information corresponding to the target business can be generated.
[0081] Specifically, the generation request can be in the form of a smart contract calling a transaction, or it can be in the form of a request message.
[0082] For example, if the client-side computing device corresponding to the first user is directly connected to the node device in the blockchain, the node device can receive the generation transaction initiated by the client-side computing device corresponding to the first user for the target business. The generation transaction can be used to call the second smart contract deployed in the blockchain for generating reconciliation information.
[0083] For example, if the client-side computing device corresponding to the first user accesses the blockchain through the blockchain service platform, the blockchain service platform can receive a generation request message for the target business sent by the client-side computing device corresponding to the first user. The generation request message may include business data related to the target business provided by the first user. In response to receiving the generation message, the blockchain service platform uses the business data as a calling parameter to call the second smart contract deployed in the blockchain for generating reconciliation information.
[0084] In one possible embodiment, the generation logic contained in the second smart contract can be locally invoked by the first user. In this case, in response to receiving the generation request submitted by the first user, a local invocation can be initiated for the generation logic contained in the second smart contract. Based on the business data related to the target business provided by the first user, the first reconciliation content corresponding to the target business is generated, and based on the hash value of the first reconciliation content, the first reconciliation information corresponding to the target business is further generated.
[0085] For example, the client corresponding to the first user can use the business data related to the target business provided by the first user as a calling parameter to initiate a local call (a form of transaction) to the connected blockchain node device, so that the node device responds to the local call initiated by the client corresponding to the first user and calls the generation logic contained in the second smart contract locally to generate the first reconciliation information corresponding to the target business.
[0086] It should be noted that, in the embodiments shown above, the local call to the generation logic contained in the second smart contract can be understood as only requiring the node device connected to the client corresponding to the first user to execute the generation logic locally. There is no need for all node devices in the blockchain to reach a consensus on the local call, nor is it necessary for all node devices to execute the generation logic separately. Therefore, in this case, since the call parameters of the generation logic (business data provided by the first user) do not need to be stored in the distributed ledger corresponding to each node device, the privacy of the first user's business data can be guaranteed. Furthermore, after the local call to the generation logic contained in the second smart contract, the execution result of the generation logic will not cause changes to the on-chain data; that is, there is no need to put the execution result (e.g., the first reconciliation content, the hash value of the first reconciliation content) on the chain, thereby ensuring the privacy of the first user's business data.
[0087] In one possible embodiment, after obtaining business data related to the target business provided by the first user, the first reconciliation content corresponding to the target business can be generated based on the reconciliation template corresponding to the target business. In implementation, the blockchain can maintain a reconciliation template corresponding to the target business. This reconciliation template can be used to describe key business fields in the business data related to the target business that require reconciliation. For example, the target business can be a sales business, and the second smart contract can maintain a reconciliation template corresponding to the sales business. This reconciliation template is composed of field identifiers of key business fields in the business data related to the sales business that require reconciliation, such as reconciliation identifier, contract text, contract amount, payment status, whether an invoice has been issued, and tax invoice information.
[0088] In this case, the process of generating the first reconciliation content corresponding to the target business based on the business data related to the target business provided by the first user may specifically include: extracting the key business fields from the business data related to the target business provided by the first user based on the reconciliation template corresponding to the target business, and generating the reconciliation content corresponding to the target business according to the information format defined by the reconciliation template.
[0089] It should be noted that since the business data related to the target business provided by the various users may be in different formats, in response to obtaining the business data related to the target business provided by the first user, the first reconciliation content can be generated based on the reconciliation template corresponding to the target business. This can achieve standardized processing and facilitate subsequent reconciliation verification of the reconciliation content or reconciliation information.
[0090] In one possible embodiment, the multiple users who have business cooperation have registered digital identities on the blockchain. The multiple users can provide the blockchain system with digital identity identifiers corresponding to themselves, and can also provide digital identity identifiers corresponding to other users.
[0091] For example, the blockchain can include authoritative identity authentication nodes, which can be used to register digital identities for the various users. After completing digital identity registration, the client corresponding to any of the users can obtain a digital identity identifier corresponding to that user, and can also exchange digital identity identifiers off-chain with other users with whom they have business dealings. The digital identity identifier can be used to uniquely identify the corresponding user; specifically, the digital identity identifier can include, but is not limited to, user ID, national identity card number, and biometric information (such as facial information, fingerprint information), etc.
[0092] In this scenario, the generation request submitted by the first user may further include: a first digital identity identifier corresponding to the first user and a second digital identity identifier corresponding to the other users; the process of further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content may specifically include: generating a cooperation identifier for the first user and the other users based on the first digital identity identifier and the second digital identity identifier; wherein, the cooperation identifier is used to indicate the reconciliation identity of the first user and the other users for the target business; and further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content and the cooperation identifier.
[0093] For example, in response to receiving a generation request submitted by a first user, business data related to the target business provided by the first user, the first digital identity identifier "A" of the first user, and the second digital identity identifier "B" corresponding to the second user can be obtained. The generation logic contained in the second smart contract can be invoked to generate the first reconciliation content corresponding to the target business based on the business data. The generated first reconciliation content can be hashed to obtain the hash value "hash1" of the first reconciliation content. Furthermore, a cooperation identifier "(AB)*" can be generated for the first user and the second user based on the first digital identity identifier "A" and the second digital identity identifier "B". This cooperation identifier can be used to indicate that the reconcilers for the target business are the first user and the second user. Further, the first reconciliation information "(AB)*-hash1" corresponding to the target business can be generated based on the hash value "hash1" of the first reconciliation content and the cooperation identifier "(AB)*".
[0094] It should be noted that, in the embodiments shown above, the multiple users can periodically apply to the identity authentication node to update their digital identity identifiers, thereby preventing the user's digital identity information from being leaked by other users or auditing institutions, and protecting the security of business information; after the user's digital identity identifier is updated, the first smart contract can still provide valid authentication for the user's digital identity.
[0095] In another possible embodiment, after the multiple users have established business cooperation regarding the target business, they can agree on a reconciliation identifier corresponding to the target business, wherein the reconciliation identifier can be used to uniquely identify the target business. In this case, the generation request submitted by the first user further includes: the reconciliation identifier agreed upon by the first user and the other users; the process of further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content and the cooperation identifier can specifically include: further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content, the cooperation identifier, and the reconciliation identifier.
[0096] For example, the first user and the second user can agree off-chain on a reconciliation identifier "00001" corresponding to the target business; in response to receiving a generation request submitted by the first user, the system can obtain business data related to the target business provided by the first user, the first user's first digital identity identifier "A", and the second user's second digital identity identifier "B", and can call the generation logic contained in the second smart contract to generate the first reconciliation content corresponding to the target business based on the business data, and can perform hash calculation on the generated first reconciliation content to obtain the hash of the first reconciliation content. The hash value is “hash1”; and a cooperation identifier “(AB)*” can be generated for the first user and the second user based on the first digital identity identifier “A” and the second digital identity identifier “B”. This cooperation identifier can be used to indicate that the reconciliation party for the target business is the first user and the second user; further, the first reconciliation information “(AB)*-00001-hash1” corresponding to the target business can be generated based on the hash value “hash1” of the first reconciliation content, the cooperation identifier “(AB)*”, and the reconciliation identifier “00001” corresponding to the target business.
[0097] In another possible implementation, the generated first reconciliation information may also include a first digital identity identifier of the first user, used to indicate that the first reconciliation information was provided by the first user.
[0098] For example, the first reconciliation information "(AB)*-00001-hash1-A" corresponding to the target business can be generated based on the hash value "hash1" of the first reconciliation content, the cooperation identifier "(AB)*", the reconciliation identifier "00001" corresponding to the target business, and the first digital identity identifier "A" of the first user.
[0099] In another possible embodiment, the generated first reconciliation information may further include: a timestamp corresponding to the time when the first reconciliation information was generated, or a timestamp corresponding to the time when the business data provided by the first user was generated.
[0100] For example, based on the hash value "hash1" of the first reconciliation content, the cooperation identifier "(AB)*", the reconciliation identifier "00001" corresponding to the target business, and the first digital identity identifier "A" of the first user, the first reconciliation information "(AB)*-00001-hash1-timestamp1-A" corresponding to the target business can be generated, where the time corresponding to "timestamp1" can be the time when the first reconciliation information was generated.
[0101] In this specification, in response to receiving the evidence storage request submitted by the first user, the query logic contained in the first smart contract can be invoked to determine whether the first reconciliation information is stored in the blockchain; if the first reconciliation information is stored in the blockchain, then the second reconciliation information provided by the other user and corresponding to the target business, which is associated with the first reconciliation information, can be queried in the blockchain.
[0102] The blockchain includes a first smart contract for reconciliation management; the query logic contained in the first smart contract is the query logic corresponding to the contract code contained in the first smart contract.
[0103] The blockchain contains associated and stored reconciliation information provided by multiple users with business cooperation. For details on determining whether the blockchain stores the first reconciliation information, please refer to relevant technologies; details will not be elaborated here. This associated storage can be understood as follows: based on the first reconciliation information provided by the first user corresponding to a target business transaction with other users, a second reconciliation information provided by the other users corresponding to the target business transaction can be retrieved.
[0104] For example, if a first user and a second user need to reconcile accounts for a target business, in response to receiving a notarization request submitted by the first user, the system can obtain first reconciliation information provided by the first user corresponding to the target business. This first reconciliation information is then used as a call parameter to invoke the query logic contained in a first smart contract deployed on the blockchain for reconciliation management, determining whether the first reconciliation information is notarized in the blockchain. Further, if the first reconciliation information is notarized in the blockchain, the system can query the blockchain for second reconciliation information provided by the second user corresponding to the target business, which is notarized in association with the first reconciliation information, to determine whether the second user has provided the blockchain system with second reconciliation information for reconciling accounts for the target business.
[0105] In one embodiment shown, the first smart contract may include a private smart contract corresponding to the multiple users. The private smart contract can be understood as a local contract, or as an on-chain smart contract that only the multiple users have access to.
[0106] In one embodiment shown, before querying the blockchain for second reconciliation information provided by the other user that corresponds to the target business and is associated with the first reconciliation information, the method may further include: if the first reconciliation information is not stored in the blockchain, then storing the first reconciliation information in the blockchain.
[0107] For example, in response to receiving a notarization request submitted by the first user, the system can obtain first reconciliation information provided by the first user corresponding to the target business, and use the first reconciliation information as a calling parameter to call the query logic contained in the first smart contract deployed on the blockchain to determine whether the first reconciliation information is not notarized in the blockchain; if the first reconciliation information is not notarized in the blockchain, the first reconciliation information can be notarized in the blockchain; furthermore, the system can also query the blockchain for second reconciliation information notarized in association with the first reconciliation information.
[0108] In another embodiment shown, the target business may include multiple reconciliation stages; the reconciliation information corresponding to the multiple reconciliation stages in the target business may be organized into a multi-level storage structure according to the time sequence corresponding to the timestamps of the reconciliation information, and stored in the storage space corresponding to the first smart contract.
[0109] The target business includes multiple reconciliation stages, which can be flexibly set by those skilled in the art according to their needs, and this specification does not impose any special limitations on them; for example, the sales business may include business stages such as contract signing, contract performance, and invoice issuance.
[0110] In one scenario, the timestamp of the reconciliation information may be a timestamp included in the first reconciliation information provided by the first user, corresponding to the time the first reconciliation information was generated, or a timestamp corresponding to the time the business data provided by the first user was generated. In another scenario, the timestamp of the reconciliation information may also be a timestamp included in the evidence storage request submitted by the first user, corresponding to the time the first reconciliation information was generated, or a timestamp corresponding to the time the evidence storage request was initiated.
[0111] Specifically, the reconciliation information corresponding to the target business is stored in the storage space corresponding to the first smart contract. That is, the reconciliation information corresponding to the target business is written into the storage tree corresponding to the first smart contract in the form of a state variable.
[0112] For example, please refer to Table 1, where the multi-level storage structure may specifically include a list.
[0113]
[0114] Table 1
[0115] As shown in Table 1, there is a business cooperation between the first user and the second user for the target business. "(AB)*-00001-hash1-timestamp1-A" and "(AB)*-00001-hash4-timestamp4-A" are reconciliation information for the target business provided by the first user, and "(AB)*-00001-hash2-timestamp2-B" and "(AB)*-00001-hash3-timestamp3-B" are reconciliation information for the target business provided by the second user. The reconciliation information provided by the first user and the second user for multiple reconciliation stages in the target business can be associated and stored in the storage space corresponding to the first smart contract according to the time sequence corresponding to the timestamps of the reconciliation information.
[0116] In the embodiments shown above, the process of querying the second reconciliation information provided by the other user and corresponding to the target business, which is associated with and stored in the blockchain, may specifically include: traversing the multi-level storage structure in the storage space corresponding to the first smart contract, querying reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information, and using it as the second reconciliation information provided by the other user and corresponding to the target business, which is associated with and stored in the blockchain.
[0117] For example, after obtaining the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" provided by the first user and corresponding to the target business, the multi-level storage structure shown in Table 1 can be traversed in the storage space corresponding to the first smart contract to query the second reconciliation information "(AB)*-00001-hash2-timestamp2-B" and "(AB)*-00001-hash3-timestamp3-B" which have the same cooperation identifier "(AB)*" and the same reconciliation identifier "00001" as the first reconciliation information.
[0118] In another embodiment shown, the reconciliation information may further include a stage identifier for indicating the reconciliation stage; the process of querying reconciliation information with the same cooperation identifier and reconciliation identifier as the first reconciliation information, as the second reconciliation information corresponding to the target business provided by the other user and associated with the first reconciliation information, may specifically include: querying reconciliation information with the same cooperation identifier and reconciliation identifier as the first reconciliation information; and further querying reconciliation information with the same stage identifier as the first reconciliation information from among the queried reconciliation information with the same cooperation identifier and reconciliation identifier as the second reconciliation information corresponding to the target business provided by the other user and associated with the first reconciliation information. The stage identifier can be used to uniquely identify each reconciliation stage in the target business.
[0119] For example, after obtaining the first reconciliation information "(AB)*-00001-hash4-S2-timestamp4-A" provided by the first user, the multi-level storage structure shown in Table 1 can be traversed to query the reconciliation information provided by the second user that has the same cooperation identifier "(AB)*" and the same reconciliation identifier "00001" as the first reconciliation information and corresponds to the target business. That is, the second reconciliation information "(AB)*-00001-hash2-S1-timestamp2-B" and "(AB)*-00001-hash3-S2-timestamp3-B" can be found. Further, the second reconciliation information "(AB)*-00001-hash3-S2-timestamp3-B" with the same stage identifier "S2" as the first reconciliation information can be found therein.
[0120] In another embodiment shown, when the reconciliation information provided by the multiple users is organized into the multi-level storage structure and associated with the storage space corresponding to the first smart contract, the process of storing the first reconciliation information in the blockchain if it is not stored therein can specifically include: if the first reconciliation information is not stored in the blockchain, writing the first reconciliation information into the multi-level storage structure to associate the first reconciliation information with the second reconciliation information provided by the other users and corresponding to the target business that has already been stored in the blockchain.
[0121] For example, in response to receiving the evidence storage request submitted by the first user, the first reconciliation information "(AB)*-00001-hash5-timestamp5-A" corresponding to the target business provided by the first user can be obtained; the query logic contained in the first smart contract can be called to determine whether the first reconciliation information has been stored in the blockchain; if it has not been stored, the first reconciliation information can be written into the multi-level storage structure shown in Table 1.
[0122] In another embodiment shown, the other users can obtain reconciliation prompts related to themselves, and then provide the blockchain system with second reconciliation information corresponding to the target business, thereby cooperating with the first user with whom they have business cooperation to conduct reconciliation in a timely manner. In implementation, the method may further include: in response to writing the first reconciliation information into the multi-level storage structure, generating a write success event corresponding to the first reconciliation information, and storing the generated write success event in the blockchain, so that the client corresponding to the other user, in response to obtaining the write success event from the blockchain, outputs prompt information to the other user instructing them to provide second reconciliation information corresponding to the target business.
[0123] The write success event is a smart contract event generated in response to the invocation of the first smart contract to write the first reconciliation information provided by the first user into the multi-level storage structure.
[0124] For example, in response to writing the first reconciliation information provided by the first user into the multi-level storage structure shown in Table 1, a write success event corresponding to the first reconciliation information can be generated and stored in the blockchain; the client corresponding to the second user can listen to the smart contract events stored in the blockchain, and in response to listening to the write success event corresponding to the first reconciliation information, a prompt message can be output to the second user to instruct the second user to provide the second reconciliation information corresponding to the target business.
[0125] For example, in response to writing the first reconciliation information provided by the first user into the multi-level storage structure shown in Table 1, a write success event corresponding to the first reconciliation information can be generated and stored in the blockchain; so that the client corresponding to the second user can output a prompt message to the second user instructing the second user to provide the second reconciliation information corresponding to the target business in response to receiving the write success event corresponding to the first reconciliation information pushed by the node device in the blockchain or the event notification program mounted on the blockchain service platform.
[0126] Specifically, the event notification program may include an SDK (Software Development Kit). The SDK can provide a subscription service for smart contract events; that is, the SDK can listen for new smart contract events generated after a smart contract deployed on the blockchain is invoked, and can push the listened-up smart contract events to the corresponding user client. In other words, in the embodiment shown above, the client corresponding to the second user can subscribe to new smart contract events generated in the distributed ledger of the blockchain based on a publish / subscribe model, and can then receive a write success event corresponding to the first reconciliation information pushed by the node device or blockchain service platform to the client corresponding to the second user.
[0127] It should be noted that, in the above-described embodiments, compared to the implementation method where the clients corresponding to other users actively listen for smart contract events stored in the blockchain, by using an event notification program mounted on the blockchain service platform or the node devices in the blockchain for event listening, the clients corresponding to other users only need to receive smart contract events pushed by the event notification program, which can save the event listening costs of the clients corresponding to other users.
[0128] In this specification, in response to the second reconciliation information that is associated with and stored in the blockchain, the reconciliation logic contained in the first smart contract can be invoked to perform reconciliation verification between the first reconciliation information and the second reconciliation information.
[0129] For example, in response to receiving a notarization request submitted by a first user, the notarization logic contained in the first smart contract can be invoked. If it is determined that the first reconciliation information provided by the first user corresponding to the target business has been notarized on the blockchain, the second reconciliation information provided by the second user corresponding to the target business and notarized in association with the first reconciliation information can be queried on the blockchain. In response to finding the second reconciliation information notarized in association with the first reconciliation information in the blockchain, the reconciliation logic contained in the first smart contract can be further invoked to determine whether the reconciliation content included in the first reconciliation information matches the reconciliation content included in the second reconciliation information. If they match, the reconciliation verification between the first reconciliation information and the second reconciliation information can be passed.
[0130] In one embodiment shown, the first reconciliation information is generated based on the hash value of the first reconciliation content corresponding to the target business, and the first reconciliation content is generated based on the business data related to the target business provided by the first entity. In this case, the process of reconciling and verifying the first reconciliation information and the second reconciliation information may specifically include: determining whether the hash value of the first reconciliation content included in the first reconciliation information is consistent with the hash value of the second reconciliation content included in the second reconciliation information; if they are consistent, the reconciliation verification of the first reconciliation information and the second reconciliation information passes.
[0131] For example, after obtaining the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" provided by the first user and corresponding to the target business, the query logic contained in the first smart contract can be invoked to query the second reconciliation information "(AB)*-00001-hash2-timestamp2-B" and "(AB)*-00001-hash3-timestamp3-B" associated with the first reconciliation information in the multi-level storage structure shown in Table 1; in response to the query of the second reconciliation information, the reconciliation logic contained in the first smart contract can be further invoked to determine the first reconciliation information including the first reconciliation information. The hash value of the first reconciliation information is compared with the hash value of the second reconciliation information included in the second reconciliation information. If hash4 ≠ hash2, the reconciliation verification for the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" and the second reconciliation information "(AB)*-00001-hash2-timestamp2-B" fails. If hash4 = hash3, the reconciliation verification for the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" and the second reconciliation information "(AB)*-00001-hash3-timestamp3-B" passes.
[0132] In this specification, if the reconciliation verification between the first reconciliation information and the second reconciliation information passes, the first reconciliation information and the second reconciliation information that are associated and stored in the blockchain are merged to generate a successful reconciliation record corresponding to the target business.
[0133] For example, if the reconciliation verification of the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" and the second reconciliation information "(AB)*-00001-hash3-timestamp3-B" passes, the first reconciliation information and the second reconciliation information can be merged to generate a reconciliation success record corresponding to the target business, either "(AB)*-00001-hash4-timestamp4-A-timestamp3-B" or "(AB)*-00001-hash3-timestamp3-B-timestamp4-A". It should be noted that the above description of the merged reconciliation success record is merely an exemplary one, and this specification does not impose any special limitations on it. Those skilled in the art can add or remove other data in the generated reconciliation success record as needed. For example, when merging the first reconciliation information and the second reconciliation information, the generated reconciliation success record corresponding to the target business can also be "(AB)*-00001-hash4-timestamp4-A", or "(AB)*-00001-hash4", etc.
[0134] In another embodiment shown, the method may further include: if the reconciliation verification between the first reconciliation information and the second reconciliation information passes, then for the reconciliation information corresponding to the target business stored in the storage space corresponding to the smart contract, delete the reconciliation information provided by the first user before a first moment corresponding to the timestamp of the first reconciliation information, and delete the reconciliation information provided by the other user before a second moment corresponding to the timestamp of the second reconciliation information.
[0135] For example, if the reconciliation verification of the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" and the second reconciliation information "(AB)*-00001-hash3-timestamp3-B" passes, then for the reconciliation information in the multi-level storage structure as described in Table 1, the first reconciliation information "(AB)*-00001-hash1-timestamp1-A" provided by the first user before the first moment corresponding to "timestamp4" can be deleted, and the second reconciliation information "(AB)*-00001-hash2-timestamp2-B" provided by the second user before the second moment corresponding to "timestamp3" can be deleted.
[0136] It should be noted that, in the above-described embodiments, if the reconciliation verification between the first reconciliation information provided by the first user and the second reconciliation information provided by the second user passes, the reconciliation information provided by the first user and the second user before the successful reconciliation can be deleted. This can avoid repeatedly verifying content that has already been reconciled, improve reconciliation efficiency, and save storage space.
[0137] In one embodiment shown, the method may further include: in response to generating a reconciliation success record corresponding to the target business, generating a reconciliation success event corresponding to the target business, and storing the generated reconciliation success event in the blockchain, so that a client corresponding to the other user, in response to obtaining the reconciliation success event from the blockchain, outputs a prompt message indicating successful reconciliation to the other user.
[0138] The reconciliation success event is a smart contract event generated in response to the invocation of the first smart contract. After the reconciliation verification of the first reconciliation information and the second reconciliation information is passed, the information of the first reconciliation information and the second reconciliation information that are associated and stored in the blockchain is merged to obtain a reconciliation success record corresponding to the target business.
[0139] For example, in response to the successful reconciliation verification of the first reconciliation information "(AB)*-00001-hash4-timestamp4-A" and the second reconciliation information "(AB)*-00001-hash3-timestamp3-B", the first and second reconciliation information can be merged to generate a successful reconciliation record "(AB)*-00001-hash4-timestamp4-A-timestamp3-B" corresponding to the target business. Furthermore, a successful reconciliation event corresponding to the target business can be generated and stored in the blockchain. The client corresponding to the second user can directly listen to the smart contract events stored in the blockchain. In response to detecting a successful reconciliation event corresponding to the target business, a prompt message instructing the second user to provide a successful reconciliation message can be output to the second user.
[0140] The reconciliation success event may include the reconciliation success record, so that the client of the second user can obtain the reconciliation success record "(AB)*-00001-hash4-timestamp4-A-timestamp3-B" upon listening to the reconciliation success event, thereby determining that the target business between the first user and the second user has been successfully reconciled, and the business data that passes the reconciliation verification is: the business data corresponding to the first reconciliation information "hash4" provided by the first user, and the business data corresponding to the second reconciliation information "hash4" provided by the second user (hash4 = hash3 when the reconciliation is successful).
[0141] For example, in response to generating a reconciliation success record “(AB)*-00001-hash4-timestamp4-A-timestamp3-B” corresponding to the target business, a reconciliation success event corresponding to the target business can be generated and stored in the blockchain; so that the client corresponding to the second user can output a prompt message indicating successful reconciliation to the second user in response to receiving the reconciliation success event pushed by the node device in the blockchain or the event notification program mounted on the blockchain service platform.
[0142] It should be noted that, in the embodiments shown above, the multiple users can submit evidence storage requests for the target business according to their own financial requirements (e.g., different cycles or business stages), providing the blockchain system with reconciliation information for subsequent verification. Furthermore, when the reconciliation information provided to the blockchain system passes verification, the user can determine which business stage's data has been reconciled based on the successful reconciliation event. Therefore, users do not need to wait for the reconciliation results for every piece of reconciliation information they have provided, thus providing greater flexibility in reconciliation management for each user.
[0143] In one embodiment, after notarizing and reconciling the reconciliation information provided by the multiple users, the authenticity of the data to be verified provided by any one of the users can be further verified. In implementation, the method may further include: obtaining the data to be verified related to the target business provided by the first user; searching for a successful reconciliation record corresponding to the target business in the blockchain, and determining whether the found successful reconciliation record matches the data to be verified provided by the first user; if so, determining that the authenticity verification of the data to be verified has passed.
[0144] That is, after obtaining the data to be verified related to the target business provided by the first user, it can be determined whether the blockchain stores a successful reconciliation record corresponding to the target business; if it stores such a record, it can be further determined whether the successful reconciliation record stored on the blockchain matches the data to be verified provided by the first user; if they match, it can be determined that the data to be verified provided by the first user is genuine data that has not been tampered with, and that the reconciliation information corresponding to the data to be verified has been successfully reconciled; if it is not stored or does not match, it can be determined that the data to be verified provided by the first user may be tampered with or illegal data, or that the reconciliation information corresponding to the data to be verified may not have passed the reconciliation verification.
[0145] Specifically, the data to be verified related to the target business provided by the first user may include business data related to the target business to be verified, reconciliation content corresponding to the target business to be verified, hash value of the reconciliation content to be verified, or reconciliation information corresponding to the target business to be verified. Accordingly, determining whether the reconciliation success record stored on the blockchain matches the data to be verified provided by the first user can be understood as processing the data to be verified provided by the user first, and then verifying whether the hash value of the processed reconciliation content is consistent with the hash value included in the reconciliation success record stored on the chain.
[0146] For example, if the data to be verified provided by the first user is business data to be verified, then the reconciliation content to be verified corresponding to the business data to be verified can be generated first, and then the hash value of the reconciliation content to be verified can be calculated; and, the successful reconciliation record corresponding to the target business can be searched in the blockchain, and the hash value of the reconciliation content included in the found successful reconciliation record can be verified to be consistent with the hash value of the calculated reconciliation content to be verified; if they are consistent, then the authenticity verification of the data to be verified can be determined to be successful.
[0147] For example, if the data to be verified provided by the first user is the hash value of the reconciliation content to be verified, then a successful reconciliation record corresponding to the target business can be found in the blockchain, and it can be verified whether the hash value of the reconciliation content included in the found successful reconciliation record is consistent with the hash value of the reconciliation content to be verified provided by the first user; if they are consistent, then it can be determined that the authenticity verification of the data to be verified has passed.
[0148] As can be seen from the above embodiments, on the one hand, by linking and storing the reconciliation information provided by multiple users with business cooperation in the blockchain, the credibility of the first and second reconciliation information used for subsequent reconciliation verification can be guaranteed based on the decentralized, immutable, and traceable characteristics of the blockchain, thereby solving the problem of mutual trust among various business participants.
[0149] On the other hand, in response to the evidence storage request submitted by the first user, that is, to obtain the first reconciliation information corresponding to the target business provided by the first user, the first smart contract deployed on the chain for reconciliation management is invoked. If the first reconciliation information has been stored in the blockchain and the second reconciliation information associated with the first reconciliation information is found in the blockchain, the reconciliation verification between the first reconciliation information provided by the first user and the second reconciliation information provided by other users can be automatically performed, thereby improving the reconciliation efficiency.
[0150] On the other hand, if the reconciliation verification between the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information that are associated and stored in the blockchain can be merged to generate a successful reconciliation record corresponding to the target business. Therefore, based on the generated successful reconciliation record, the multiple users cannot tamper with the business data that has been successfully reconciled. This is conducive to the regulatory authorities to conduct more accurate supervision of the business data generated by the multiple users in the business cooperation process of the target business, and can also provide the auditing institution with true and effective evidence for auditing the business data related to the target business.
[0151] Corresponding to the above-described embodiments of the blockchain-based reconciliation method, this specification also provides an embodiment of a blockchain-based reconciliation device.
[0152] Please see Figure 3 , Figure 3 This is a schematic diagram of the electronic device housing a blockchain-based reconciliation device in one embodiment of this specification. At the hardware level, the device includes a processor 302, an internal bus 304, a network interface 306, memory 308, and non-volatile memory 310, and may also include other hardware required for business operations. One or more embodiments of this specification can be implemented in software, for example, the processor 302 reads the corresponding computer program from the non-volatile memory 310 into memory 308 and then runs it. Of course, besides software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0153] Please see Figure 4 , Figure 4 This is a block diagram of a blockchain-based reconciliation device according to one embodiment of this specification. This blockchain-based reconciliation device can be applied to, for example... Figure 3 The electronic device shown implements the technical solution described in this specification. Specifically, a first smart contract for reconciliation management is deployed on the blockchain; the blockchain stores reconciliation information provided by multiple users with business cooperation; the device includes:
[0154] The acquisition unit 402 is used to acquire a proof-of-existence request submitted by the first user; wherein, the proof-of-existence request includes first reconciliation information provided by the first user corresponding to the target business between the target business and other users among the multiple users;
[0155] The query unit 404 is used to respond to the evidence storage request by calling the query logic contained in the first smart contract to determine whether the first reconciliation information is stored in the blockchain; if the first reconciliation information is stored in the blockchain, then query the blockchain for second reconciliation information provided by the other user and corresponding to the target business that is associated with the first reconciliation information.
[0156] The reconciliation unit 406 is used to respond to the query of the second reconciliation information that is associated with the first reconciliation information and further call the reconciliation logic contained in the first smart contract to perform reconciliation verification on the first reconciliation information and the second reconciliation information; if the reconciliation verification on the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information associated with the blockchain is merged to generate a reconciliation success record corresponding to the target business.
[0157] In this embodiment, a second smart contract for generating reconciliation information is also deployed on the blockchain; the second smart contract includes generation logic for local invocation by the first user; the acquisition unit 402 is further configured to:
[0158] Obtain a generation request submitted by the first user for generating first reconciliation information corresponding to the target business; wherein, the generation request includes business data related to the target business provided by the first user;
[0159] The device further includes:
[0160] The generation unit is configured to respond to the generation request by initiating a local call to the generation logic contained in the second smart contract, generating the first reconciliation content corresponding to the target business based on the business data related to the target business provided by the first user, and further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content.
[0161] In this embodiment, the multiple users have registered digital identities on the blockchain; the generation request also includes a first digital identity identifier corresponding to the first user and a second digital identity identifier corresponding to the other users; the generation unit is specifically used for:
[0162] Based on the business data related to the target business provided by the first user, the first reconciliation content corresponding to the target business is generated, and based on the first digital identity identifier and the second digital identity identifier, a cooperation identifier is generated for the first user and the other users; wherein, the cooperation identifier is used to indicate the reconciliation identity of the first user and the other users for the target business;
[0163] Based on the hash value of the first reconciliation content and the cooperation identifier, the first reconciliation information corresponding to the target business is further generated.
[0164] In this embodiment, the generation request further includes a reconciliation identifier agreed upon by the first user and the other users; wherein, the reconciliation identifier is used to uniquely identify the target service; the generation unit is specifically used for:
[0165] Based on the hash value of the first reconciliation content, the cooperation identifier, and the reconciliation identifier, the first reconciliation information corresponding to the target business is further generated.
[0166] In this embodiment, the target business includes multiple reconciliation stages; the reconciliation information corresponding to each of the multiple reconciliation stages in the target business is organized into a multi-level storage structure according to the time sequence corresponding to the timestamp of the reconciliation information, and is associated and stored in the storage space corresponding to the first smart contract.
[0167] In this embodiment, the multi-level storage structure includes a list.
[0168] In this embodiment, the query unit 404 is specifically used for:
[0169] In the storage space corresponding to the first smart contract, the multi-level storage structure is traversed to query reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information, which is used as the second reconciliation information provided by the other users and corresponding to the target business and stored in association with the first reconciliation information.
[0170] In this embodiment, the reconciliation information further includes a stage identifier for indicating the reconciliation stage; the query unit 404 is specifically used for:
[0171] Query reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information;
[0172] Among the reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information, further reconciliation information that has the same stage identifier as the first reconciliation information is queried, and used as the second reconciliation information provided by the other users corresponding to the target business and associated with the first reconciliation information.
[0173] In this embodiment, the device further includes:
[0174] The evidence storage unit is used to write the first reconciliation information into the multi-level storage structure if the first reconciliation information is not stored in the blockchain, so as to associate and store the first reconciliation information with the second reconciliation information provided by the other user and corresponding to the target business that has been stored in the blockchain.
[0175] In this embodiment, the evidence storage unit is further configured to:
[0176] In response to writing the first reconciliation information into the multi-level storage structure, a write success event corresponding to the first reconciliation information is generated, and the generated write success event is stored in the blockchain, so that the client corresponding to the other user responds to obtaining the write success event from the blockchain and outputs a prompt message to the other user to instruct the other user to provide the second reconciliation information corresponding to the target business.
[0177] In this embodiment, the reconciliation unit 406 is specifically used for:
[0178] Determine whether the hash value of the first reconciliation content included in the first reconciliation information is consistent with the hash value of the second reconciliation content included in the second reconciliation information;
[0179] If they match, then the reconciliation verification between the first reconciliation information and the second reconciliation information has passed.
[0180] In this embodiment, the reconciliation unit 406 is further configured to:
[0181] If the reconciliation verification between the first reconciliation information and the second reconciliation information passes, then for the reconciliation information corresponding to the target business stored in the storage space corresponding to the smart contract, delete the reconciliation information provided by the first user before the first moment corresponding to the timestamp of the first reconciliation information, and delete the reconciliation information provided by the other users before the second moment corresponding to the timestamp of the second reconciliation information.
[0182] In this embodiment, the reconciliation unit 406 is further configured to:
[0183] In response to generating a reconciliation success record corresponding to the target business, a reconciliation success event corresponding to the target business is generated and stored in the blockchain, so that the client corresponding to the other user can respond to obtaining the reconciliation success event from the blockchain and output a prompt message indicating that the reconciliation is successful to the other user.
[0184] In this embodiment, the device further includes a verification unit, used for:
[0185] Obtain the data to be verified related to the target service provided by the first user;
[0186] Search the blockchain for the successful reconciliation record corresponding to the target business, and determine whether the found successful reconciliation record matches the data to be verified provided by the first user;
[0187] If so, the authenticity verification of the data to be verified is confirmed to be successful.
[0188] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0189] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this specification according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0190] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0191] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0192] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. A typical implementation device is a server system. Of course, this application does not exclude the possibility that, with the future development of computer technology, the computer implementing the functions of the above embodiments can be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.
[0193] While one or more embodiments of this specification provide the operational steps of the methods described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible order of execution among many steps and does not represent the only possible order. In actual device or end product execution, the methods shown in the embodiments or drawings may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment). The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitations, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes the elements is not excluded. For example, the use of terms such as "first," "second," etc., is to denote names and does not indicate any particular order.
[0194] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, when implementing one or more of these specifications, the functions of each module can be implemented in one or more software and / or hardware components, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units, and may be electrical, mechanical, or other forms.
[0195] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0196] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0197] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0198] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0199] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0200] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0201] Those skilled in the art will understand that one or more embodiments of this specification can be provided as a method, system, or computer program product. Therefore, one or more embodiments of this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0202] One or more embodiments of this specification can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can reside in local and remote computer storage media, including storage devices.
[0203] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, system embodiments are basically similar to method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. In the description of this specification, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this specification. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification and the features of different embodiments or examples.
[0204] The above description is merely an embodiment of one or more embodiments of this specification and is not intended to limit the scope of these embodiments. Various modifications and variations can be made to these embodiments by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims.
Claims
1. A blockchain-based reconciliation method, wherein a first smart contract for reconciliation management is deployed on the blockchain; the blockchain stores reconciliation information provided by multiple users with business cooperation, the reconciliation information being used to verify the consistency of target business data; the method includes: Obtain the evidence storage request submitted by the first user; wherein, the evidence storage request includes first reconciliation information provided by the first user corresponding to the target business between the target business and other users among the multiple users; In response to the evidence storage request, the query logic contained in the first smart contract is invoked to determine whether the first reconciliation information is stored in the blockchain; if the first reconciliation information is stored in the blockchain, then the second reconciliation information provided by the other user and corresponding to the target business, which is associated with the first reconciliation information, is queried in the blockchain. In response to the discovery of the second reconciliation information associated with the first reconciliation information, the reconciliation logic contained in the first smart contract is further invoked to perform reconciliation verification on the first reconciliation information and the second reconciliation information. If the reconciliation verification on the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information associated with the blockchain is merged to generate a successful reconciliation record corresponding to the target business.
2. The method according to claim 1, wherein a second smart contract for generating reconciliation information is further deployed on the blockchain; the second smart contract includes generation logic for local invocation by the first user; Before obtaining the evidence storage request submitted by the first user, the method further includes: Obtain a generation request submitted by the first user for generating first reconciliation information corresponding to the target business; wherein, the generation request includes business data related to the target business provided by the first user; In response to the generation request, a local call is initiated to the generation logic contained in the second smart contract. Based on the business data related to the target business provided by the first user, the first reconciliation content corresponding to the target business is generated, and based on the hash value of the first reconciliation content, the first reconciliation information corresponding to the target business is further generated.
3. The method according to claim 2, wherein the multiple users have registered digital identities on the blockchain respectively; the generation request further includes a first digital identity identifier corresponding to the first user and a second digital identity identifier corresponding to the other users; The step of generating the first reconciliation content corresponding to the target business based on business data related to the target business provided by the first user, and further generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content, includes: Based on the business data related to the target business provided by the first user, the first reconciliation content corresponding to the target business is generated, and based on the first digital identity identifier and the second digital identity identifier, a cooperation identifier is generated for the first user and the other users; wherein, the cooperation identifier is used to indicate the reconciliation identity of the first user and the other users for the target business; Based on the hash value of the first reconciliation content and the cooperation identifier, the first reconciliation information corresponding to the target business is further generated.
4. The method according to claim 3, wherein the generation request further includes a reconciliation identifier agreed upon by the first user and the other users; wherein, The reconciliation identifier is used to uniquely identify the target business; The step of generating the first reconciliation information corresponding to the target business based on the hash value of the first reconciliation content and the cooperation identifier includes: Based on the hash value of the first reconciliation content, the cooperation identifier, and the reconciliation identifier, the first reconciliation information corresponding to the target business is further generated.
5. The method according to claim 1, wherein the target business includes multiple reconciliation stages; the reconciliation information corresponding to the multiple reconciliation stages in the target business is organized into a multi-level storage structure according to the time sequence corresponding to the timestamp of the reconciliation information, and is associated and stored in the storage space corresponding to the first smart contract.
6. The method according to claim 5, wherein the multi-level storage structure comprises a list.
7. The method according to claim 5, wherein querying the second reconciliation information provided by the other user and corresponding to the target business, which is associated with and stored in the blockchain and is linked to the first reconciliation information, includes: In the storage space corresponding to the first smart contract, the multi-level storage structure is traversed to query reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information, which is used as the second reconciliation information provided by the other users and corresponding to the target business and stored in association with the first reconciliation information.
8. The method according to claim 7, wherein the reconciliation information further includes a stage identifier for indicating the reconciliation stage; The query for reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information, and which is used as the second reconciliation information corresponding to the target business provided by the other users and associated with the first reconciliation information, includes: Query reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information; Among the reconciliation information that has the same cooperation identifier and reconciliation identifier as the first reconciliation information, further reconciliation information that has the same stage identifier as the first reconciliation information is queried, and used as the second reconciliation information provided by the other users corresponding to the target business and associated with the first reconciliation information.
9. The method according to claim 8, further comprising: If the first reconciliation information is not stored in the blockchain, the first reconciliation information is written into the multi-level storage structure to associate and store the first reconciliation information with the second reconciliation information provided by the other user and corresponding to the target business, which has already been stored in the blockchain.
10. The method according to claim 9, further comprising: In response to writing the first reconciliation information into the multi-level storage structure, a write success event corresponding to the first reconciliation information is generated, and the generated write success event is stored in the blockchain, so that the client corresponding to the other user responds to obtaining the write success event from the blockchain and outputs a prompt message to the other user to instruct the other user to provide the second reconciliation information corresponding to the target business.
11. The method according to claim 8, wherein the reconciliation verification of the first reconciliation information and the second reconciliation information includes: Determine whether the hash value of the first reconciliation content included in the first reconciliation information is consistent with the hash value of the second reconciliation content included in the second reconciliation information; If they match, then the reconciliation verification between the first reconciliation information and the second reconciliation information has passed.
12. The method according to claim 11, further comprising: If the reconciliation verification between the first reconciliation information and the second reconciliation information passes, then for the reconciliation information corresponding to the target business stored in the storage space corresponding to the smart contract, delete the reconciliation information provided by the first user before the first moment corresponding to the timestamp of the first reconciliation information, and delete the reconciliation information provided by the other users before the second moment corresponding to the timestamp of the second reconciliation information.
13. The method according to claim 1, further comprising: In response to generating a reconciliation success record corresponding to the target business, a reconciliation success event corresponding to the target business is generated and stored in the blockchain, so that the client corresponding to the other user can respond to obtaining the reconciliation success event from the blockchain and output a prompt message indicating that the reconciliation is successful to the other user.
14. The method according to claim 1, further comprising: Obtain the data to be verified related to the target service provided by the first user; Search the blockchain for the reconciliation success record corresponding to the target business, and determine whether the found reconciliation success record matches the data to be verified provided by the first user; If so, then the authenticity verification of the data to be verified is confirmed to be successful.
15. A blockchain-based reconciliation device, wherein a first smart contract for reconciliation management is deployed on the blockchain; the blockchain stores reconciliation information provided by multiple users with business cooperation, the reconciliation information being used to verify the consistency of target business data; the device comprises: The acquisition unit is used to acquire a proof-of-existence request submitted by a first user; wherein, the proof-of-existence request includes first reconciliation information provided by the first user corresponding to a target business between the first user and other users among the multiple users; The query unit is used to respond to the notarization request by invoking the query logic contained in the first smart contract to determine whether the first reconciliation information is notarized in the blockchain; if the first reconciliation information is notarized in the blockchain, then query the blockchain for second reconciliation information provided by the other user and corresponding to the target business that is notarized in association with the first reconciliation information. The reconciliation unit is used to respond to the query of the second reconciliation information that is associated with the first reconciliation information and further call the reconciliation logic contained in the first smart contract to perform reconciliation verification on the first reconciliation information and the second reconciliation information; if the reconciliation verification on the first reconciliation information and the second reconciliation information passes, the information of the first reconciliation information and the second reconciliation information associated with the blockchain is merged to generate a reconciliation success record corresponding to the target business.
16. An electronic device, comprising a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus; The memory stores machine-readable instructions, and the processor executes the method according to any one of claims 1 to 14 by invoking the machine-readable instructions.
17. A machine-readable storage medium storing machine-readable instructions that, when invoked and executed by a processor, implement the method of any one of claims 1 to 14.
Citation Information
Patent Citations
Reconciliation method and device based on block chain, equipment and storage medium
CN114118998A