Blockchain-based Traceability Method for Associated Transactions of Digital Assets

By generating a unique hash value for digital assets in the blockchain and assigning unique participation identifiers to participants, combining the sub-chain and supervising sub-chain mechanism, the problem of low traceability efficiency of digital asset related transactions is solved, and rapid traceability and efficient data management are achieved.

CN119921943BActive Publication Date: 2025-06-20YOUSHI BAODIAN
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510405591.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-02
Publication Date
2025-06-20
Estimated Expiration
2045-04-02

AI Technical Summary

Technical Problem

In blockchain, the traceability efficiency of digital asset related transactions is low, especially in the multi-participating scenario, the addressing logic is complex, resulting in a long time to process traceability requests and low efficiency.

Method used

By generating a unique hash value for digital assets as asset identifiers and assigning unique participation identifiers to participants, combining sub-chain and supervised sub-chain mechanisms, data storage and query logic are optimized. Participants create sub-chains with their own participation identification, select supervisors through consensus mechanisms, and supervise the supervisors store copies of sub-chain and participate in verification to ensure the authenticity and integrity of the data.

Benefits of technology

It significantly reduces the complexity of cross-chain interaction, simplifies addressing logic, enables traceability requests to quickly locate related sub-chains, and greatly improves traceability efficiency. At the same time, the distributed verification mechanism avoids the bottleneck of single-point verification and improves the overall efficiency of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119921943B_ABST
    Figure CN119921943B_ABST
Patent Text Reader

Abstract

This solution belongs to the field of data processing, and specifically relates to a method for tracing the associated transactions of digital assets based on blockchain. This solution includes the following steps: generating a unique hash value for the digital asset as the asset identifier, allocating a unique participant identifier for the participants, and receiving transaction data including the asset identifier, participant identifier, and transaction time; the participant creates a first sub-chain with the local participant identifier, stores the relevant transaction data, and establishes a transaction list to associate the transaction data; the transaction data obtained through consensus is used as the first data, and its participant is the first object. A supervisor is selected from other participants, and the first data is sent to the supervisor and the first object; the first object stores the data in the first sub-chain, and the supervisor stores it in the corresponding sub-chain or creates a new supervision sub-chain according to the sub-chain identifier; during tracing, the first sub-chain and the supervision sub-chain are obtained according to the participant identifier, and if they are consistent, the first sub-chain is output. This solution solves the problem of low efficiency in tracing the associated transactions of digital assets in blockchain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This solution belongs to the field of data processing, and specifically relates to a method for tracing the associated transactions of digital assets based on blockchain. Background Art

[0002] With the rapid development of the digital economy, the associated transactions of digital assets are becoming increasingly frequent, and the need for tracing them is becoming more and more important. Through distributed ledger technology, various data can be securely stored on the blockchain in a tracing platform based on blockchain technology, and the tracing process can be automatically executed through smart contracts to ensure the authenticity and integrity of the data. Although blockchain can guarantee the security and credibility of data, in the associated transactions of digital assets, the tracing objects often involve multiple links and participants. When conducting anti-counterfeiting tracing with multiple parties involved, securely distributing the keys to each party may pose challenges. Transmitting the keys through an insecure channel may lead to key leakage, rendering the encryption ineffective, and thus affecting the security of tracing.

[0003] For this reason, Chinese Patent CN119338466A discloses a method for tracing digital assets based on blockchain. Based on the issuance correlation index and the transaction correlation index, the ASE encryption algorithm is used to generate keys; based on the zero-knowledge proof algorithm, the identity information of the user is verified. After verifying that the identity information of the user is valid, the user decrypts the encrypted data in the blockchain through the identification code of the digital asset to achieve the tracing of the digital asset by the user. This method realizes the anti-tampering and traceability of the issuance data and transaction data by analyzing the data written into the blockchain at different stages, and realizes the secure tracing of the entire link of the digital asset issuance link and transaction link.

[0004] However, the addressing logic in this method involves complex association relationships between multiple target tracing sub-chains and the tracing main chain. When digital asset transactions involve multiple participants, the addressing logic becomes very complex, thus increasing the processing time of tracing requests and resulting in low tracing efficiency. Summary of the Invention

[0005] The purpose of this solution is to provide a method for tracing the associated transactions of digital assets based on blockchain to solve the problem of low tracing efficiency of the associated transactions of digital assets in blockchain.

[0006] To achieve the above purpose, this solution provides a method for tracing the associated transactions of digital assets based on blockchain, including the following steps:

[0007] S10: Generate a unique hash value for the digital asset as the asset identifier, allocate a unique participation identifier for the participant, and receive transaction data, where the transaction data includes the asset identifier, the participation identifier, and the transaction time;

[0008] S20: The participating party creates a first sub-chain using the local participation identifier as the sub-chain identifier. The first sub-chain is used to store transaction data with the same participation identifier as the sub-chain identifier. The participating party uses the participation identifiers in the first sub-chain that are different from the sub-chain identifier as transaction objects, creates a transaction list based on the transaction objects, and associates the transaction list with the first sub-chain.

[0009] S30: The participating party uses the transaction data judged by consensus as the first data, uses the participating party corresponding to the participation identifier in the first data as the first object, obtains the transaction list of the first object, obtains the participating party that is different from the participation identifier of the first object and is also different from the participation identifiers of the transaction objects in the transaction list as the supervisor, and sends the first data to the supervisor and the first object. After receiving the first data, the first object stores the first data in the first sub-chain. After receiving the first data, the supervisor obtains the stored sub-chain identifier as the second identifier. If the second identifier is the same as any of the participation identifiers in the first data, the first data is stored in the sub-chain corresponding to the second identifier. If they are different, the participation identifier of the first data is used as the head of the sub-chain to create a supervision sub-chain, and the first data is stored in the supervision sub-chain.

[0010] S40: When the participating party receives a traceability request, it obtains the participation identifier in the traceability request, obtains the first sub-chain based on the participation identifier, and obtains the supervision sub-chain based on the participation identifier. It compares the supervision sub-chain with the first sub-chain. If the comparison results are the same, it outputs the first sub-chain.

[0011] The principle and technical effects of this solution are as follows: First, by generating a unique hash value for the digital asset as the asset identifier and assigning a unique participation identifier to the participating party, and combining the sub-chain and supervision sub-chain mechanisms, this method optimizes the data storage and query logic. Specifically, the participating party creates a sub-chain using its own participation identifier to store relevant transaction data, and selects a supervisor through the consensus mechanism. The supervisor stores a copy of the sub-chain and participates in the verification to ensure the authenticity and integrity of the data. This mechanism significantly reduces the complexity of cross-chain interactions, simplifies the addressing logic, enables the traceability request to quickly locate the relevant sub-chain, and thus greatly improves the traceability efficiency. At the same time, the distributed verification mechanism avoids the bottleneck of single-point verification and further improves the overall efficiency of the system. Moreover, through the generation of unique identifiers and hash values, this solution ensures the uniqueness and immutability of digital assets, enhances the security and credibility of the data, simplifies data management, and protects the privacy of the participating parties.

[0012] Secondly, the transparency of the blockchain makes all transaction records publicly available to all participating parties, enhancing the transparency and trust of this solution. And this solution dynamically expands the first sub-chain according to the number of participating parties and the transaction volume. Each first sub-chain operates independently and without interference, enabling this solution to more flexibly handle large-scale transactions and complex scenarios with multiple participating parties. Similarly, the corresponding supervision sub-chain of the first sub-chain can also be flexibly expanded as the sub-chain expands. And when the supervision sub-chain corresponding to the first sub-chain is stored in different participating parties, the cost of tampering with the first sub-chain increases, thus preventing the first sub-chain from being tampered with, ensuring the authenticity and integrity of the transaction data in this solution, and improving the security of this solution.

[0013] In summary, this solution solves the problem of low traceability efficiency of related-party transactions of digital assets in the blockchain.

[0014] Furthermore, it also includes a relay party. The relay party stores a first list composed of fixed participation identifiers. The relay party is communicatively connected to the participating parties and other relay parties in the first list. The relay party is assigned a relay identifier, and the head of the first list is the relay identifier. After receiving the transaction information, the participating party transmits the encrypted transaction information to the relay party. After receiving the transaction information sent by the participating party, the relay party encrypts the transaction information again and broadcasts it to other relay parties. After receiving the transaction information sent by the relay party, the relay party decrypts the transaction information and then sends the transaction information to the participating party that is communicatively connected.

[0015] By storing a fixed list of participation identifiers (the first list) and communicating with other relay parties and participating parties, the relay party can quickly locate and transmit transaction information, reducing the complexity of cross-chain interaction in this solution, thereby reducing the latency of information transmission and improving the efficiency during the traceability of this solution. At the same time, this solution performs secondary encryption and secondary decryption on the transaction information, avoiding direct communication between participating parties and direct communication between participating parties and non-communicatively connected relay parties, thus increasing the difficulty of stealing transaction information. And the setting of the relay party in this solution can not only be dynamically expanded to flexibly adapt to blockchain networks of different scales, but also can centrally manage and optimize cross-chain protocols, reducing the cost of cross-chain interaction and lowering the overall operating cost of this solution.

[0016] Furthermore, after obtaining the transaction list of the first object, the participating party generates a supervision application based on the first object and the transaction list of the first object and sends it to the communicatively connected relay party. The relay party obtains the first lists of other relay parties as the second lists, and randomly selects a participation identifier different from any participation identifier in the transaction list from each second list as the supervision identifier. The relay party takes the participating party corresponding to the supervision identifier as the supervision party, and obtains the first data corresponding to the first object from the participating party, and then sends the obtained first data to the supervision party through the relay party communicatively connected to the supervision party.

[0017] By storing the transaction list on the relay party and randomly selecting the supervisor from the first list of the relay party, the complexity of the participating parties directly selecting the supervisor is reduced, making the selection of the supervisor more efficient and reducing the communication overhead among the participating parties. At the same time, the randomly selected supervisor can independently verify the transaction data, which not only avoids the situation of multiple participating parties repeatedly verifying the same transaction data, but also increases the unpredictability of the system, thereby improving the traceability efficiency and enhancing the data security. Furthermore, by centrally managing the transaction list and supervisor selection by the relay party, the direct communication among the participating parties is reduced, optimizing the utilization of communication resources in this solution. And in this way, the direct interaction among the participating parties is reduced, protecting the privacy of the participating parties while ensuring the data security.

[0018] Further, when the relay party obtains the first list of other relay parties as the second list, it obtains the first list with any participation identifier different from that of the first object as the second list.

[0019] When the relay party obtains the first list of other relay parties, it filters out the list (the second list) with a participation identifier different from that of the first object, thus avoiding selecting the participating party directly associated with the first object as the supervisor and reducing the potential conflict of interest and the risk of data tampering. In addition, this filtering mechanism increases the difficulty for the attacker to predict and intervene in the supervisor selection, thereby improving the overall security of this solution. When the relay party communicated with by the supervisor is different from the relay party communicated with by the first object, the tasks of querying the first sub-chain and querying the copy of the first sub-chain can be carried out simultaneously (if it is the same relay party, one relay party needs to complete two tasks simultaneously, thus increasing the task volume of the relay party), reducing the task volume of the relay party and enabling the relay party to quickly respond to the query task, thereby improving the query efficiency.

[0020] Further, when the relay party randomly selects the supervision identifier from each second list, it determines the number of supervisors according to the number of participation identifiers in the first object; when there are at least two participation identifiers in the first object, the first lists corresponding to any two supervision identifiers are different.

[0021] When there are at least two participation identifiers in the first object, the first lists corresponding to any two supervision identifiers are different, further reducing the correlation among the supervisors and improving the independence and objectivity of the supervision; and, this precise way of selecting the supervisor reduces unnecessary verification steps and further improves the traceability efficiency.

[0022] Further, after the participating party takes the participating party corresponding to the participation identifier in the first data as the first object, a supervision query operation is performed. The supervision query operation includes the following steps: First, query whether there is a sub-chain locally stored with a sub-chain identifier the same as the participation identifier of the first object. If there is no sub-chain stored with the same participation identifier as the first object, a supervision query application is generated according to the first object and the transaction list of the first object, and a same-side label is added to the supervision query application, and then the supervision query application is sent to the relay party connected by communication, and at the same time, 0 is sent to the relay party as the copy count information; if there is a sub-chain stored with a sub-chain identifier the same as the participation identifier of the first object, the sub-chain with the same participation identifier as the first object is taken as the second sub-chain, and it is judged whether the local participation identifier is the same as the sub-chain identifier of the second sub-chain. If they are the same, a supervision query application is generated according to the first object and the transaction list of the first object, and a different-side label is added to the supervision query application, and the supervision query application is sent to the relay party connected by communication, and at the same time, 1 is sent to the relay party as the copy count information; if the local participation identifier is different from the sub-chain identifier of the second sub-chain, the first data is stored in the second sub-chain, and 1 is sent to the relay party as the copy count information; after receiving the supervision query application, the relay party reads the label. If the label is a different-side label, the supervision query application is sent to other relay parties. If the label is a same-side label, the participating party that sent the supervision query application is taken as the party that has been queried, and the supervision query application is sent to the participating parties in the local first list that are not the party that has been queried; after receiving the supervision query application sent by the relay party, the relay party sends the supervision query application to the participating parties in the local first list; after receiving the supervision query application, the participating party performs the supervision query operation.

[0023] Further, after the relay party sends the supervision query application to the participating parties in the local first list, it waits to receive the feedback information of the supervision query application, and accumulates the copy count information as the first quantity. After all the sent supervision query applications have received the feedback information, the relay party sends the first quantity as the feedback information of the supervision query application to the relay party that sent the supervision query application; the relay party accumulates the first quantity in the feedback information of the supervision query application. When the cumulative value of the first quantity is less than the preset storage quantity, the participating parties that are different from the participation identifier of the first object and are also different from the participation identifiers of the transaction objects in the transaction list are obtained as the supervisors.

[0024] By accumulating the copy count information (the first quantity), the relay party can dynamically adjust the number of supervisors according to actual needs. When the cumulative value of the first quantity is less than the preset storage quantity, the relay party will reselect the supervisors to ensure that the number of supervisors matches the transaction complexity. At the same time, by selecting the participating parties that are different from the participation identifier of the first object and are also different from the participation identifiers of the transaction objects in the transaction list as the supervisors, the correlation between the supervisors is further reduced, enhancing the data security and privacy protection.

[0025] Furthermore, the transaction data further includes the transaction time. When the participating party receives a traceability request, if the received traceability request includes an asset identifier, it sends the asset identifier to the relay party. After receiving the asset identifier, the relay party broadcasts the asset identifier to the participating parties connected by communication, and broadcasts the asset identifier as the first asset to other relay parties. After receiving the first asset, the relay party broadcasts the information to the participating parties connected by communication. After receiving the asset identifier, the participating party queries the transaction data in the sub-chain that is the same as the local participating identifier and feeds it back to the relay party. After receiving the transaction data, the relay party integrates it into a transaction stream according to the transaction time.

[0026] By introducing the transaction time as a key piece of information, when the participating party receives a traceability request, it can quickly locate the relevant sub-chain based on the asset identifier and query the transaction data. Moreover, the method of the relay party broadcasting the asset identifier to other participating parties can verify the transaction data through the cooperation of the relay party and multiple participating parties, further enhancing the trust level of the system and enabling the participating parties to conduct transactions and traceability operations with more confidence.

[0027] Furthermore, when the cumulative value of the first quantity is less than the preset storage quantity, the number of supervisors to be added is determined according to the number of participating parties storing the first data and the preset storage quantity.

[0028] When the cumulative value of the first quantity is less than the preset storage quantity, the number of supervisors is dynamically adjusted according to the number of participating parties in the first list, ensuring that the number of supervisors matches the transaction complexity and the number of participating parties, reducing unnecessary verification steps, and further improving the traceability efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 It is a flowchart of the method for tracing the associated transactions of digital assets based on a blockchain in an embodiment of the present invention.

[0030] Figure 2 It is a schematic diagram of the relevant structures of the participating party and the relay party in an embodiment of the present invention.

[0031] Figure 3 It is a flowchart related to the participating party performing a supervision query operation in an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0032] The following will clearly and completely describe the concept of the present invention and the technical effects generated in combination with the embodiments, so as to fully understand the purpose, features, and effects of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, other embodiments obtained by those skilled in the art without creative efforts shall fall within the scope of protection of the present invention:

[0033] As shown Figure 2 in the figure, the present solution includes participating parties (Participating Party 1 - 6) and relay parties (Relay Party 1 - 3). The relay parties 1 - 3 are communicatively connected to each other. Relay Party 2 is communicatively connected to Participating Party 1. Relay Party 1 is communicatively connected to Participating Party 2 and Participating Party 3. Relay Party 3 is communicatively connected to Participating Parties 4 - 6. The participating parties store participating party identifiers (unique identity identifiers of the participating parties).

[0034] The relay parties store a first list composed of fixed participating identifiers. The relay parties are communicatively connected to the participating parties and other relay parties in the first list. The relay parties are assigned relay identifiers. The head of the first list is the relay identifier. After receiving the transaction information, the participating parties transmit the encrypted transaction information to the relay parties. After receiving the transaction information sent by the participating parties, the relay parties encrypt the transaction information again and broadcast it to other relay parties.

[0035] After receiving the transaction information sent by the relay parties, the relay parties decrypt the transaction information and then transmit the transaction information to the communicatively connected participating parties.

[0036] As shown Figure 1 in the figure, the blockchain - based digital asset associated transaction traceability method includes the following steps:

[0037] S10: Generate a unique hash value for the digital asset as the asset identifier, assign a unique participating identifier to the participating parties, and receive transaction data, where the transaction data includes the participating identifier and the asset identifier.

[0038] S20: The participating parties create a first sub - chain using the local participating identifier as the sub - chain identifier. The first sub - chain is used to store the transaction data with the same sub - chain identifier and participating identifier. The participating parties use the participating identifiers different from the sub - chain identifier in the first sub - chain as transaction objects, establish a transaction list based on the transaction objects, and associate the transaction list with the first sub - chain.

[0039] S30: The participating parties use the transaction data judged by consensus as the first data, use the participating parties corresponding to the participating identifiers in the first data as the first objects, and obtain the transaction lists of the first objects.

[0040] S31: After obtaining the transaction lists of the first objects, the participating parties generate a supervision application based on the first objects and the transaction lists of the first objects and send it to the communicatively connected relay parties. The relay parties obtain the first lists of other relay parties as the second lists.

[0041] Among them, when the relay parties obtain the first lists of other relay parties as the second lists, they obtain the first list with any participating identifier different from the participating identifier of the first object as the second list.

[0042] S32: Randomly select a participation identifier different from any participation identifier in the transaction list from each of the second lists as the supervision identifier. The relay party takes the participant corresponding to the supervision identifier as the supervisor, obtains the first data corresponding to the first object from the participant, and then sends the obtained first data to the supervisor through the relay party connected to the supervisor's communication.

[0043] Among them, when the relay party randomly selects the supervision identifier from each of the second lists, it determines the number of supervisors according to the number of participation identifiers in the first object; when there are at least two participation identifiers in the first object, the first lists corresponding to any two supervision identifiers are different.

[0044] S33: Obtain a participant different from the participation identifier of the first object and different from the participation identifier of the transaction object in the transaction list as the supervisor, send the first data to the supervisor and the first object. After receiving the first data, the first object stores the first data in the first sub-chain. After receiving the first data, the supervisor obtains the stored sub-chain identifier as the second identifier. If the second identifier is the same as any participation identifier in the first data, the first data is stored in the sub-chain corresponding to the second identifier; if not, the participation identifier of the first data is used as the head of the sub-chain to establish a supervision sub-chain, and the first data is stored in the supervision sub-chain.

[0045] Among them, as Figure 3 shown, after the participant takes the participant corresponding to the participation identifier in the first data as the first object, it performs a supervision query operation. The supervision query operation includes the following steps: first query whether there is a sub-chain locally with a sub-chain identifier the same as the participation identifier of the first object. If there is no sub-chain with a participation identifier the same as that of the first object stored locally, generate a supervision query application according to the first object and the transaction list of the first object, add a same-side label to the supervision query application, and then send the supervision query application to the relay party connected by communication, and at the same time send 0 as the copy count information to the relay party; if there is a sub-chain with a sub-chain identifier the same as the participation identifier of the first object stored locally, take the sub-chain with a participation identifier the same as that of the first object as the second sub-chain, and judge whether the local participation identifier is the same as the sub-chain identifier of the second sub-chain. If the same, generate a supervision query application according to the first object and the transaction list of the first object, add a different-side label to the supervision query application, send the supervision query application to the relay party connected by communication, and at the same time send 1 as the copy count information to the relay party; if the local participation identifier is different from the sub-chain identifier of the second sub-chain, store the first data in the second sub-chain and send 1 as the copy count information to the relay party.

[0046] After receiving a supervision query application, the relay party reads the label. If the label is a different-side label, it sends the supervision query application to other relay parties. If the label is a same-side label, it takes the participating party that sent the supervision query application as the party that has been queried and sends the supervision query application to the participating parties in the local first list that are not the parties that have been queried; after receiving the supervision query application sent by the relay party, the relay party sends the supervision query application to the participating parties in the local first list.

[0047] After receiving the supervision query application, the participating party performs the supervision query operation.

[0048] Among them, after the relay party sends the supervision query application to the participating parties in the local first list, it waits to receive the feedback information of the supervision query application and accumulates the copy count information as the first quantity. After all the sent supervision query applications receive feedback information, the relay party sends the first quantity as the feedback information of the supervision query application to the relay party that sent the supervision query application.

[0049] The relay party accumulates the first quantity in the feedback information of the supervision query application. When the accumulated value of the first quantity is less than the preset storage quantity (usually 3, and specifically can be determined by the administrator according to the backup quantity of transaction data), it obtains the participating party that is different from the participation identifier of the first object and is also different from the participation identifiers of the transaction objects in the transaction list as the supervisor.

[0050] Among them, when the accumulated value of the first quantity is less than the preset storage quantity, the number of supervisors to be added is determined according to the number of participating parties storing the first data and the preset storage quantity.

[0051] S40: When the participating party receives the traceability request, it obtains the participation identifier in the traceability request, obtains the first sub-chain according to the participation identifier, and obtains the supervision sub-chain according to the participation identifier. It compares the supervision sub-chain with the first sub-chain. If the comparison result is the same, it outputs the first sub-chain.

[0052] Among them, the transaction data also includes the transaction time. When the participating party receives the traceability request, if the received traceability request includes the asset identifier, it sends the asset identifier to the relay party. After receiving the asset identifier, the relay party broadcasts the asset identifier to the participating parties connected by communication and broadcasts the asset identifier as the first asset to other relay parties. After receiving the first asset, the relay party broadcasts the information to the participating parties connected by communication. After receiving the asset identifier, the participating party queries the transaction data in the sub-chain with the same local participation identifier and feeds it back to the relay party. After receiving the transaction data, the relay party integrates it into the transaction flow according to the transaction time.

[0053] In specific implementation, the digital artwork "Starry Sky Painting" is generated with a unique hash value artHash001 as the asset identifier. Participants 1-6 are respectively assigned unique participation identifiers P1ID-P6ID, and relays 1-3 are assigned relay identifiers R1ID-R3ID.

[0054] Participant 1 purchases the "Starry Sky Painting" from the creator (assumed to be Participant 2). The transaction data includes the asset identifier artHash001, the participation identifiers P1ID and P2ID, and the transaction time T1. Participant 1 creates the first sub-chain SC_P1 with the local participation identifier P1ID as the sub-chain identifier and stores the transaction data in SC_P1. At the same time, Participant 1 takes the participation identifier P2ID of Participant 2 as the transaction object, creates a transaction list TL_P1 and associates it with SC_P1. Similarly, Participant 2 creates the first sub-chain SC_P2 with the local participation identifier P2ID as the sub-chain identifier and stores the transaction data in SC_P2. At the same time, Participant 2 takes the participation identifier P1ID of Participant 1 as the transaction object, creates a transaction list TL_P2 and associates it with SC_P2.

[0055] Participant 1 broadcasts this transaction to Participants 1-6 through Relays 1-3. Participant 1 takes this transaction data as the first data and Participants 2 and 1 as the first objects. After Participant 1 obtains the transaction list TL_P2 of Participant 2 and the transaction list TL_P1 of Participant 1, it generates a supervision application according to the first objects and their transaction lists and sends it to Relay 2 connected to it for communication.

[0056] After receiving the supervision application, Relay 2 starts to obtain the first lists of other relays (Relay 1 and Relay 3) as the second list. During the screening process, Relay 2 only retains those first lists where any one participation identifier is different from the participation identifiers of the first objects (Participants 2 and 1). The first list of Relay 3 is a qualified list, and Relay 2 takes it as the second list.

[0057] Relay 2 determines the number of supervisors according to the rules. Assuming that according to the system settings, 2 supervisors need to be selected at this time. Relay 2 randomly selects from the second list a participation identifier that is different from any one participation identifier (P1ID, P2ID) in the transaction list TL_P1 and the transaction list TL_P2 or the participation identifiers of the first objects (Participants 2, 1). Finally, P4ID and P5ID are selected from the first list of Relay 3, and Participants 4 and 5 corresponding to P4ID and P5ID are taken as the supervisors. Relay 2 obtains the first data corresponding to the first objects (Participants 2 and 1) from Participant 1, and then sends the first data to Participants 4 and 5 respectively through Relay 3 connected to Participant 4 and Relay 3 connected to Participant 5.

[0058] After Party 4 receives the first data, it obtains the stored sub-chain identifier as the second identifier. Assuming that the sub-chain identifier of Party 4 is different from both P1ID and P2ID in the first data, Party 4 uses the participation identifier (P1ID or P2ID) of the first data as the head of the sub-chain to establish a supervision sub-chain SSC_P4, and stores the first data in SSC_P4. Processing of Party 5: After Party 5 receives the first data, it obtains the stored sub-chain identifier as the second identifier. Assuming that the sub-chain identifier of the sub-chain SC_P5 of Party 5 is the same as P2ID, Party 5 stores the first data in its sub-chain SC_P5.

[0059] After Party 1 takes Party 2 and Party 1 corresponding to the participation identifier in the first data as the first object, it performs a supervision query operation. Party 1 queries locally and finds a sub-chain with a sub-chain identifier the same as the participation identifier P1ID of the first object (Party 1). It takes the same sub-chain as the second sub-chain, and then determines that the second sub-chain is the same as the local participation identifier. Therefore, it generates a supervision query application based on the transaction list of Party 1 and Party 2, adds a cross-side label to the supervision query application and sends it to Relay Party 2, and at the same time sends 1 as the copy count information to Relay Party 2. After receiving the cross-side supervision query application, Relay Party 2 sends the supervision query application to Relay Party 1 and Relay Party 3. After receiving the supervision query application, Relay Party 1 sends the supervision query application to Party 2 and Party 3. After receiving the supervision query application, Relay Party 3 sends the supervision query application to Party 4 - 6.

[0060] After Relay Party 1 sends the supervision query application to the participating parties in the local first list, it waits to receive the feedback information of the supervision query application and accumulates the copy count information as the first quantity. After all the sent supervision query applications have received feedback information, Relay Party 1 sends the first quantity as the feedback information of the supervision query application to the relay party that sent the supervision query application (here it is Relay Party 2).

[0061] Relay Party 2 accumulates the first quantity in the feedback information of the supervision query application. Assuming that the preset storage quantity is 5, when the accumulated value of the first quantity is less than 5 (here only Party 1, Party 2, Party 4, and Party 5 store the first data, that is, the first quantity is 4), Relay Party 2 determines the number of supervision parties that need to be added according to the number of participating parties that store the first data and the preset storage quantity. After calculation, it needs to select 1 more supervision party. Relay Party 2 selects Party 6 as the new supervision party from the eligible participating parties (different from the participation identifier of the first object and different from the participation identifier of the transaction object in the transaction list), and sends the relevant data to Party 6. Party 6 establishes a supervision sub-chain SC_P6 to store the relevant data.

[0062] After a period of time, Party 3 wants to trace the transaction of the "starry sky painting" and sends a tracing request to Party 1. The request contains the participation identifier P2ID and the asset identifier artHash001. Party 1 obtains the participation identifier P2ID in the tracing request, obtains the first sub-chain SC_P2 of Party 2 according to P2ID, and obtains the supervision sub-chains (such as SSC_P4, SC_P5, SC_P6) according to P2ID. Compare the supervision sub-chain with the first sub-chain. If the comparison results are the same, output the first sub-chain SC_P2. If the comparison results are different, send an exception prompt of the stored data to Party 3. Since the asset identifier artHash001 is included in the tracing request, Party 1 sends the asset identifier to Relay Party 2. After receiving the asset identifier, Relay Party 2 broadcasts it to the participating parties connected by communication (only Party 1 here), and broadcasts the asset identifier as the first asset to other relay parties (Relay Party 1 and Relay Party 3).

[0063] After receiving the first asset, Relay Party 1 and Relay Party 3 broadcast the information to the participating parties connected by their respective communications (Relay Party 1 is connected to Party 2 and Party 3, and Relay Party 3 is connected to Party 4-6). After receiving the asset identifier, the participating party queries the transaction data related to the asset identifier artHash001 in the sub-chain with the same local participation identifier and feeds it back to Relay Party 2.

[0064] Integrate the transaction records: After receiving the transaction data, Relay Party 2 integrates these data into transaction records according to the transaction time (such as T1) and provides them to Party 3 for tracing and viewing, so that Party 3 can clearly understand the transaction process of the "starry sky painting" from Party 2 to Party 1.

[0065] The above are only the embodiments of the present invention, and common knowledge such as the specific structures and characteristics known in the solutions is not described in detail here. It should be pointed out that for those skilled in the art, without departing from the structure of the present invention, several deformations and improvements can still be made, which should also be regarded as the protection scope of the present invention, and these will not affect the implementation effect of the present invention and the practicability of the patent. The protection scope required by this application should be subject to the content of its claims, and the specific implementation manners and the like recorded in the specification can be used to interpret the content of the claims.

Claims

1. A blockchain-based digital asset-related transaction tracing method, characterized in that: The following steps are involved: S10: Generate a unique hash value for the digital asset as an asset identifier, assign a unique participant identifier to the participant, and receive transaction data, wherein the transaction data includes the participant identifier and the asset identifier; S20: The participant uses the local participant identifier as the subchain identifier to create a first subchain, and the first subchain is used to store transaction data where the subchain identifier and the participant identifier are the same; the participant uses the participant identifier in the first subchain that is different from the subchain identifier as a transaction object, establishes a transaction list based on the transaction object, and associates the transaction list with the first subchain; S30: The participants use the transaction data determined by consensus as the first data, and use the participants corresponding to the participant identifier in the first data as the first object; the relay party stores a first list composed of fixed participant identifiers, the relay party is connected to the participants in the first list and other relay parties in communication, the relay party is assigned a relay identifier, the head of the first list is the relay identifier, after receiving the transaction information, the participant transmits the encrypted transaction information to the relay party, after receiving the transaction information sent by the participant, the relay party encrypts the transaction information again, and broadcasts it to other relay parties, after receiving the transaction information sent by the relay party, the other relay parties decrypt the transaction information, and then send the transaction information to the participants in the communication connection; the participant obtains the transaction list of the first object, and according to the first object and the first object, The transaction list generates a supervision application and sends it to the relay party of the communication connection. The relay party obtains the first list of other relay parties as the second list, and randomly selects a participant identifier different from any participant identifier in the transaction list from each second list as the supervision identifier. The relay party uses the participant corresponding to the supervision identifier as the supervisory party, and obtains the first data corresponding to the first object from the participant, and then sends the obtained first data to the supervisory party through the relay party of the supervisory party communication connection; the first data is sent to the supervisory party and the first object. After receiving the first data, the first object stores the first data in the first subchain. After receiving the first data, the supervisory party obtains the stored subchain identifier as the second identifier. If the second identifier is the same as any participant identifier in the first data, the first data is stored in the subchain corresponding to the second identifier; If they are not the same, the participation identifier of the first data is used as the head of the subchain to establish a supervisory subchain, and the first data is stored in the supervisory subchain; S40: When a participant receives a traceability request, it obtains the participant identifier in the traceability request, obtains the first subchain according to the participant identifier, and obtains the supervisory subchain according to the participant identifier, compares the supervisory subchain with the first subchain, and outputs the first subchain if the comparison results are the same; if the received traceability request includes an asset identifier, the asset identifier is sent to the relay party, and after receiving the asset identifier, the relay party broadcasts the asset identifier to the participants in the communication connection, and broadcasts the asset identifier as the first asset to other relay parties. After receiving the first asset, the relay party broadcasts the information to the participants in the communication connection. After receiving the asset identifier, the participant queries the transaction data in the subchain with the same local participant identifier and feeds it back to the relay party. After receiving the transaction data, the relay party integrates it into a transaction flow according to the transaction time.

2. The blockchain-based digital asset related transaction tracing method according to claim 1 is characterized by: When the relay party obtains the first lists of other relay parties as the second list, it obtains any first list whose participation identifier is different from the participation identifier of the first object as the second list.

3. The blockchain-based digital asset related transaction tracing method according to claim 2 is characterized by: When the relay randomly selects a supervisory identifier from each second list, the number of supervisors is determined according to the number of participating identifiers in the first object; when the first object includes at least two participating identifiers, the first lists corresponding to any two supervisory identifiers are different.

4. The blockchain-based digital asset related transaction tracing method according to claim 3 is characterized by: After the participant takes the participant corresponding to the participant identifier in the first data as the first object, the supervisory query operation is performed, and the supervisory query operation includes the following steps: first, query whether there is a subchain whose subchain identifier is the same as the participant identifier of the first object stored locally; if there is no subchain whose subchain identifier is the same as the participant identifier of the first object stored locally, a supervisory query application is generated according to the first object and the transaction list of the first object, and a same-side tag is added to the supervisory query application, and the supervisory query application is sent to the relay party of the communication connection, and 0 is sent to the relay party as the copy count information; if there is a subchain whose subchain identifier is the same as the participant identifier of the first object stored, the subchain with the same participant identifier as the first object is taken as the second subchain, and it is determined whether the local participant identifier is the same as the subchain identifier of the second subchain; if they are the same, a supervisory query application is generated according to the first object and the transaction list of the first object, and a different-side tag is added to the supervisory query application, and the supervisory query application is sent to the relay party of the communication connection, and 1 is sent to the relay party as the copy count information; if the local participant identifier is different from the subchain identifier of the second subchain, the first data is stored in the second subchain, and 1 is sent to the relay party as the copy count information; After receiving the supervision query application, the relay party reads the tag. If the tag is a tag on the opposite side, the supervision query application is sent to other relay parties. If the tag is a tag on the same side, the participant who sent the supervision query application is regarded as the checked party, and the supervision query application is sent to the participants in the local first list who are not checked parties. After receiving the supervision query application sent by the relay party, the relay party sends the supervision query application to the participants in the local first list. After receiving the supervision query application, the participating party executes the supervision query operation.

5. The method for tracing the source of digital asset-related transactions based on blockchain according to claim 4 is characterized in that: After the relay sends a supervision query application to the participants in the local first list, it waits to receive feedback information of the supervision query application, and accumulates the copy count information as the first number. After all the supervision query applications sent out receive feedback information, the relay sends the first number as feedback information of the supervision query application to the relay that sent the supervision query application; The relay party accumulates the first quantity in the supervision query application feedback information. When the accumulated value of the first quantity is less than the preset storage quantity, a participant whose participation identifier is different from that of the first object and different from that of the transaction object in the transaction list is obtained as the supervisory party.

6. The blockchain-based digital asset related transaction tracing method according to claim 5 is characterized by: When the accumulated value of the first quantity is less than the preset storage quantity, the number of supervisory parties that need to be added is determined according to the number of participants that store the first data and the preset storage quantity.

Citation Information

Patent Citations

  • Digital asset tracing method based on block chain

    CN119338466A

  • Resource transaction tracing method and device, equipment and storage medium

    CN117896135A

  • DAG based methods and systems of transaction processing in a distributed ledger

    US20200065300A1