Digital asset associated transaction traceability method based on block chain
By generating a unique hash value for digital assets in the blockchain and assigning unique participation identifiers to participants, and combining the sub-chain and supervising sub-chain mechanism, the problem of low traceability efficiency of digital asset related transactions in the blockchain is solved, and rapid traceability and efficient data management are achieved.
Patent Information
- Application Number
- CN202510405591.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2045-04-02
AI Technical Summary
The traceability efficiency of digital asset related transactions in blockchain is low and the addressing logic is complex, resulting in a long time to process traceability requests and low efficiency.
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.
It significantly reduces the complexity of cross-chain interaction, simplifies addressing logic, enables traceability requests to quickly locate relevant sub-chains, greatly improves traceability efficiency, and avoids the bottleneck of single-point verification through the distributed verification mechanism, and improves the overall efficiency of the system.
Smart Images

Figure CN119921943A_ABST
Abstract
Description
Technical Field
[0001] This solution belongs to the field of data processing, and specifically involves a blockchain-based digital asset related transaction traceability method. Background Art
[0002] With the rapid development of the digital economy, the related transactions of digital assets are becoming more and more frequent, and the need for traceability is becoming more and more important. The traceability platform based on blockchain technology uses distributed ledger technology, so that various data can be securely stored on the blockchain, and the traceability process can be automatically executed through smart contracts to ensure the authenticity and integrity of the data. Although blockchain can ensure the security and credibility of data, in digital asset related transactions, the traceability objects often involve multiple links and participants. When anti-counterfeiting traceability involves multiple parties, it may be challenging to distribute keys securely to all parties. Transmitting keys through secure channels may lead to key leakage, making encryption invalid, and thus affecting the security of traceability.
[0003] To this end, Chinese patent CN119338466A discloses a digital asset traceability method based on blockchain. Based on the issuance correlation index and the transaction correlation index, the ASE encryption algorithm is used to generate a key; the user's identity information is verified based on the zero-knowledge proof algorithm. After verifying that the user's identity information is valid, the user decrypts the encrypted data in the blockchain through the identification code of the digital asset to achieve the user's traceability of the digital asset. This method realizes the tamper-proof and traceability of the issuance data and transaction data by analyzing the data written into the blockchain at different stages, and realizes the secure traceability of the entire link of the digital asset issuance link and the transaction link.
[0004] However, the addressing logic in this method involves complex associations between multiple target traceability sub-chains and the traceability main chain. When digital asset transactions involve multiple parties, the addressing logic becomes very complicated, thereby increasing the processing time of traceability requests and resulting in low traceability efficiency. Summary of the invention
[0005] The purpose of this solution is to provide a blockchain-based digital asset related transaction traceability method to solve the problem of low traceability efficiency of digital asset related transactions in blockchain.
[0006] In order to achieve the above purpose, this solution provides a blockchain-based digital asset related transaction tracing method, including the following steps: 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 asset identifier, the participant identifier, and the transaction time; 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 participant uses the transaction data determined by consensus as the first data, uses the participant corresponding to the participant identifier in the first data as the first object, obtains the transaction list of the first object, obtains the participant whose participant identifier is different from the first object and the participant identifier of the transaction object in the transaction list as the supervisor, sends the first data to the supervisor and the first object, and the first object stores the first data in the first subchain after receiving the first data. The supervisor obtains the stored subchain identifier as the second identifier after receiving the first data. 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 different, the participant identifier of the first data is used as the subchain head to establish a supervisory subchain, and the first data is stored in the supervisory subchain; S40: When the participant receives the 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.
[0007] The principle and technical effect of this scheme are as follows: First, this method optimizes the data storage and query logic by generating a unique hash value as an asset identifier for a digital asset and assigning a unique participant identifier to the participant, combined with the subchain and the supervisory subchain mechanism. Specifically, the participant creates a subchain with its own participant identifier to store relevant transaction data, and selects a supervisor through a consensus mechanism. The supervisor stores a copy of the subchain and participates in verification to ensure the authenticity and integrity of the data. This mechanism significantly reduces the complexity of cross-chain interactions, simplifies the addressing logic, and enables traceability requests to quickly locate relevant subchains, thereby greatly improving 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. In addition, this scheme ensures the uniqueness and immutability of digital assets through the generation of unique identifiers and hash values, enhances the security and credibility of data, simplifies data management, and protects the privacy of participants.
[0008] Secondly, the transparency of blockchain makes all transaction records public to all participants, which enhances the transparency and trust of this solution. In addition, this solution dynamically expands the first subchain according to the number of participants and transaction volume. Each first subchain runs independently and does not interfere with each other, so that this solution can more flexibly cope with large-scale transactions and complex scenarios with multiple participants; similarly, the supervisory subchain corresponding to the first subchain can also flexibly expand with the expansion of the subchain; and when the supervisory subchain corresponding to the first subchain is stored in different participants, the tampering cost of the first subchain increases, thereby preventing the first subchain from being tampered with, ensuring the authenticity and integrity of the transaction data in this solution and improving the security of this solution.
[0009] In summary, this solution solves the problem of low efficiency in tracing digital asset-related transactions in blockchain.
[0010] Furthermore, it also includes a relay party, which stores a first list composed of fixed participant identifiers. The relay party is communicatively connected with the participants in the first list and other relay parties. The relay party is assigned a relay identifier, and the header of the first list is the relay identifier. After receiving the transaction information, the participant passes 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 relay party decrypts the transaction information and then sends the transaction information to the communicatively connected participants.
[0011] By storing a fixed list of participant identifications (the first list) and communicating with other relayers and participants, the relayer can quickly locate and transmit transaction information, reducing the complexity of cross-chain interaction in this solution, thereby reducing the delay in information transmission and improving the efficiency of this solution in tracing. At the same time, this solution performs secondary encryption and secondary decryption on transaction information, avoiding direct communication between participants and direct communication between participants and relayers that are not connected to communication, thereby increasing the difficulty of stealing transaction information. In addition, the setting of the relayer in this solution can not only be dynamically expanded and flexibly adapt to blockchain networks of different sizes; it can also centrally manage and optimize cross-chain protocols, reducing the cost of cross-chain interaction and reducing the overall operating cost of this solution.
[0012] Furthermore, after the participating party obtains the transaction list of the first object, it generates a supervision application based on the first object and the transaction list of the first object and sends it to the relay party of the communication connection. The relay party obtains the first lists of other relay parties as the second list, and randomly selects a participant identifier that is different from any participant identifier in the transaction list from each second list as the supervision identifier. The relay party uses the participating party corresponding to the supervision identifier as the supervisory party, obtains the first data corresponding to the first object from the participating party, and then sends the obtained first data to the supervisory party through the relay party of the supervisory party communication connection.
[0013] By storing the transaction list on the relayer and randomly selecting the supervisor from the first list of the relayer, the complexity of the participants directly selecting the supervisor is reduced, making the selection of the supervisor more efficient and reducing the communication overhead between the participants; at the same time, the randomly selected supervisor can independently verify the transaction data, which not only avoids the situation where multiple participants repeatedly verify the same transaction data, but also increases the unpredictability of the system, thereby improving the traceability efficiency and enhancing the security of the data. Furthermore, by centrally managing the transaction list and the selection of the supervisor through the relayer, the direct communication between the participants is reduced, the communication resource utilization of this scheme is optimized, and this method reduces the direct interaction between the participants, protects the privacy of the participants, and ensures the security of the data.
[0014] Further, when the relay party obtains the first lists of other relay parties as the second list, any first list whose participation identifier is different from the participation identifier of the first object is obtained as the second list.
[0015] When the relayer obtains the first list of other relayers, it filters out the list (second list) that is different from the participant identification of the first object, thereby avoiding selecting participants directly related to the first object as supervisors, reducing potential conflicts of interest and data tampering risks. In addition, this screening mechanism increases the difficulty for attackers to predict and intervene in the selection of supervisors, thereby improving the overall security of this solution. When the relayer that the supervisor communicates with is different from the relayer that the first object communicates with, the tasks of querying the first subchain and querying the copy of the first subchain can be performed simultaneously (if it is the same relayer, one relayer needs to complete two tasks at the same time, thereby increasing the task load of the relayer), reducing the task load of the relayer, allowing the relayer to quickly respond to query tasks, thereby improving query efficiency.
[0016] Furthermore, 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.
[0017] When the first object includes at least two participating identifiers, the first lists corresponding to any two supervisory identifiers are different, which further reduces the correlation between the supervisory parties and improves the independence and objectivity of the supervision; and this method of accurately selecting the supervisory parties reduces unnecessary verification steps and further improves the traceability efficiency.
[0018] Further, after the participant takes the participant corresponding to the participant identifier in the first data as the first object, a supervisory query operation is performed, and the supervisory query operation includes the following steps: first, query whether a subchain with a subchain identifier identical to the participant identifier of the first object is stored locally; if a subchain with a subchain identifier identical to the participant identifier of the first object is not stored locally, a supervisory query application is generated based on the first object and the transaction list of the first object, and a same-side label is added to the supervisory query application, and then 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 a subchain with a subchain identifier identical to the participant identifier of the first object is 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 identical to the subchain identifier of the second subchain; if they are identical, a supervisory query application is generated based on the transaction list of the first object and the first object. The supervisory query application is generated from the table, 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 supervisory query application, the relay party reads the tag, if the tag is a different-side tag, the supervisory query application is sent to other relay parties, if the tag is a same-side tag, the participant who sends the supervisory query application is regarded as the checked party, and the supervisory query application is sent to the participants who are not checked parties in the local first list; after receiving the supervisory query application sent by the relay party, the relay party sends the supervisory query application to the participants in the local first list; after receiving the supervisory query application, the participant party performs the supervisory query operation.
[0019] Further, after the relay sends a supervision query application to a participant 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 quantity. After all the supervision query applications sent out have received feedback information, the relay sends the first quantity as the feedback information of the supervision query application to the relay that sent the supervision query application; the relay accumulates the first quantity in the feedback information of the supervision query application, and 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 which is different from the participation identifier of the transaction object in the transaction list is obtained as the supervisory party.
[0020] By accumulating the copy count information (the first number), the relayer can dynamically adjust the number of supervisors according to actual needs. When the accumulated value of the first number is less than the preset storage quantity, the relayer will reselect the supervisor to ensure that the number of supervisors matches the complexity of the transaction. At the same time, by selecting a participant with a different participant identifier from the first object and a different participant identifier from the transaction object in the transaction list as the supervisor, the correlation between the supervisors is further reduced, and the security and privacy protection of the data are enhanced.
[0021] Furthermore, the transaction data also includes the transaction time. When a participant receives a tracing request, if the received tracing request includes an asset identifier, the asset identifier is sent to the relay. After receiving the asset identifier, the relay broadcasts the asset identifier to the participants in the communication connection, and broadcasts the asset identifier as the first asset to other relays. After receiving the first asset, the relay 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. After receiving the transaction data, the relay integrates it into a transaction flow according to the transaction time.
[0022] By introducing transaction time as key information, participants can quickly locate the relevant subchain based on the asset identifier and query transaction data when receiving a traceability request. In addition, the relayer broadcasts the asset identifier to other participants, and the transaction data can be verified through the collaboration of the relayer and multiple participants, further enhancing the trust of the system and allowing participants to conduct transactions and traceability operations with greater confidence.
[0023] Further, 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 based on the number of participants that store the first data and the preset storage quantity.
[0024] When the accumulated value of the first quantity is less than the preset storage quantity, the number of supervisory parties is dynamically adjusted according to the number of participants in the first list, ensuring that the number of supervisory parties matches the transaction complexity and the number of participants, reducing unnecessary verification steps and further improving traceability efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 This is a flowchart of a method for tracing the origin of digital asset-related transactions based on blockchain in an embodiment of the present invention.
[0026] Figure 2 Schematic diagram of the related structures of the participants and the relay in the embodiment of the present invention.
[0027] Figure 3 This is a flow chart related to the supervisory query operation performed by the participants in the embodiment of the present invention. DETAILED DESCRIPTION
[0028] The following will clearly and completely describe the concept and technical effects of the present invention 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 part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, other embodiments obtained by those skilled in the art without creative work are all within the scope of protection of the present invention: like Figure 2 As shown, this solution includes participants (participants 1-6) and relays (relays 1-3), relays 1-3 are connected to each other in communication, relay 2 is connected to participant 1 in communication, relay 1 is connected to participant 2 and participant 3 in communication, and relay 3 is connected to participants 4-6 in communication. The participant ID (unique identity of the participant) is stored in the participant.
[0029] The relay party stores a first list consisting 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 header of the first list is the relay identifier. After receiving the transaction information, the participant passes 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.
[0030] After receiving the transaction information sent by the relayer, the relayer decrypts the transaction information and then sends the transaction information to the participants in the communication connection.
[0031] like Figure 1 As shown, the blockchain-based digital asset related transaction tracing method includes the following steps: 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.
[0032] 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.
[0033] S30: The participants use the transaction data determined by consensus as the first data, and the participants corresponding to the participant identifiers in the first data as the first object, and obtain a transaction list of the first object.
[0034] S31: After the participant obtains the transaction list of the first object, it generates a supervision application according to the first object and the transaction list of the first object and sends it to the relay party of the communication connection, and the relay party obtains the first list of other relay parties as the second list.
[0035] 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.
[0036] S32: and randomly select a participant identifier that is different from any participant identifier in the transaction list from each second list as a supervisory identifier, the relay party uses the participant corresponding to the supervisory 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 connected to the supervisory party communication.
[0037] 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.
[0038] S33: Obtain a participant whose participation identifier is different from that of the first object and is different from that of the transaction object in the transaction list as a supervisory party, and send the first data to the supervisory party 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 supervisory party obtains the stored sub-chain 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 sub-chain corresponding to the second identifier; if they are different, the participant identifier of the first data is used as the sub-chain head to establish a supervisory sub-chain, and the first data is stored in the supervisory sub-chain.
[0039] Among them, Figure 3 As shown, 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 with a subchain identifier identical to the participant identifier of the first object stored locally; if there is no subchain with the same participant identifier as 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 with a subchain identifier identical to the participant identifier of the first object stored, the subchain identical to the participant identifier of the first object is taken as the second subchain, and it is determined whether the local participant identifier is identical to the subchain identifier of the second subchain; if they are identical, 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.
[0040] 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.
[0041] Among them, 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 quantity. After all the supervision query applications sent out have received feedback information, the relay sends the first quantity as feedback information of the supervision query application to the relay that sent the supervision query application.
[0042] 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 (generally 3, which can be determined by the administrator based on the number of backups of the transaction data), 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.
[0043] When the accumulated value of the first quantity is less than the preset storage quantity, the number of supervisory parties to be added is determined according to the number of participants storing the first data and the preset storage quantity.
[0044] S40: When the participant receives the 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.
[0045] Among them, the transaction data also includes the transaction time. When the participant receives the traceability request, if the received traceability request includes the asset identifier, the asset identifier will be sent to the relay party. After receiving the asset identifier, the relay party broadcasts the asset identifier to the participants of 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 of 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.
[0046] In the specific implementation, the digital artwork "Starry Sky Painting" is generated with a unique hash value artHash001 as an asset identifier. Participants 1-6 are respectively assigned unique participation identifiers P1ID-P6ID, and relayers 1-3 are assigned relay identifiers R1ID-R3ID.
[0047] Participant 1 purchases "Starry Sky Painting" from the creator (assuming it is Participant 2), and the transaction data includes the asset identifier artHash001, the participation identifiers P1ID and P2ID, and the transaction time T1. Participant 1 uses the local participation identifier P1ID as the subchain identifier to create the first subchain SC_P1, and stores the transaction data in SC_P1. At the same time, Participant 1 uses the participation identifier P2ID of Participant 2 as the transaction object, establishes the transaction list TL_P1 and associates it with SC_P1. Similarly, Participant 2 uses the local participation identifier P2ID as the subchain identifier to create the first subchain SC_P2, and stores the transaction data in SC_P2. At the same time, Participant 2 uses the participation identifier P1ID of Participant 1 as the transaction object, establishes the transaction list TL_P2 and associates it with SC_P2.
[0048] Participant 1 broadcasts the transaction to participants 1-6 through relayers 1-3. Participant 1 uses the transaction data as the first data and takes participants 2 and 1 as the first objects. After obtaining the transaction list TL_P2 of participant 2 and the transaction list TL_P1 of participant 1, participant 1 generates a supervision application based on the first object and its transaction list, and sends it to relayer 2 that is in communication with it.
[0049] After receiving the supervision application, relayer 2 starts to obtain the first lists of other relayers (relayer 1 and relayer 3) as the second list. During the screening process, relayer 2 only retains the first lists of those whose any participant identifier is different from the participant identifier of the first object (participant 2 and participant 1). The first list of relayer 3 is a qualified list, and relayer 2 uses it as the second list.
[0050] Relay 2 determines the number of supervisors according to the rules. Assume that according to the system settings, two supervisors need to be selected at this time. Relay 2 randomly selects a participant identifier from the second list that is different from any participant identifier (P1ID, P2ID) in the transaction list TL_P1 and the transaction list TL_P2 or the participant identifier of the first object (Party 2, Party 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 used as supervisors. Relay 2 obtains the first data corresponding to the first object (Party 2 and Party 1) from Participant 1, and then sends the first data to Participant 4 and Participant 5 respectively through Relay 3 to which Participant 4 is communicated and Relay 3 to which Participant 5 is communicated.
[0051] After receiving the first data, participant 4 obtains the stored subchain identifier as the second identifier. Assuming that the subchain identifier of participant 4 is different from both P1ID and P2ID in the first data, participant 4 uses the participant identifier (P1ID or P2ID) of the first data as the subchain head to establish the supervisory subchain SSC_P4, and stores the first data in SSC_P4. Processing of participant 5: After receiving the first data, participant 5 obtains the stored subchain identifier as the second identifier. Assuming that the subchain identifier of participant 5's subchain SC_P5 is the same as P2ID, participant 5 stores the first data in its subchain SC_P5.
[0052] 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 the local and finds that there is a subchain with the same subchain identifier as the participation identifier P1ID of the first object (Participant 1). It takes the same subchain as the second subchain and judges that the second subchain 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 different-side tag to the supervision query application and sends it to Relay Party 2, and sends 1 as the copy count information to Relay Party 2. After receiving the supervision query application from the different side, 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.
[0053] After relayer 1 sends a supervisory query application to the participants in the local first list, it waits to receive feedback information of the supervisory query application and accumulates the copy count information as the first quantity. After all the supervisory query applications sent out receive feedback information, relayer 1 sends the first quantity as feedback information of the supervisory query application to the relayer that sent the supervisory query application (here, relayer 2).
[0054] Relay 2 accumulates the first quantity in the feedback information of the supervision query application. Assuming that the preset storage quantity is 5, when the cumulative value of the first quantity is less than 5 (here only Participant 1, Participant 2, Participant 4 and Participant 5 store the first data, that is, the first quantity is 4), Relay 2 determines the number of supervisors that need to be added based on the number of participants who store the first data and the preset storage quantity. After calculation, it is necessary to select another supervisor. Relay 2 selects Participant 6 as the new supervisor from the qualified participants (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 Participant 6, and Participant 6 establishes a supervisory subchain SC_P6 to store the relevant data.
[0055] After a period of time, participant 3 wants to trace the transaction of "Starry Sky Painting" and sends a traceability request to participant 1, which includes the participant identifier P2ID and the asset identifier artHash001. Participant 1 obtains the participant identifier P2ID in the traceability request, obtains the first subchain SC_P2 of participant 2 according to P2ID, and obtains the supervisory subchain (such as SSC_P4, SC_P5, SC_P6) according to P2ID. Compare the supervisory subchain with the first subchain. If the comparison results are the same, output the first subchain SC_P2. If the comparison results are different, send the stored abnormal prompt to participant 3. Since the asset identifier artHash001 is included in the traceability request, participant 1 sends the asset identifier to relay party 2. After receiving the asset identifier, relay party 2 broadcasts it to the participants in the communication connection (here only participant 1), and broadcasts the asset identifier as the first asset to other relay parties (relay party 1 and relay party 3).
[0056] After receiving the first asset, relayers 1 and 3 broadcast the information to their respective communication connected participants (relayer 1 connects participants 2 and 3, and relayer 3 connects participants 4-6). The participants receive the asset identifier, query the transaction data related to the asset identifier artHash001 in the subchain with the same local participant identifier, and feedback to relayer 2.
[0057] Integrate transaction flow: After receiving the transaction data, relayer 2 integrates the data into a transaction flow according to the transaction time (such as T1), and provides it to participant 3 for tracing and viewing, so that participant 3 can clearly understand the transaction process of "starry sky painting" from participant 2 to participant 1.
[0058] The above is only an embodiment of the present invention, and the common knowledge such as the known specific structure and characteristics in the scheme is not described in detail here. It should be pointed out that for those skilled in the art, several deformations and improvements can be made without departing from the structure of the present invention, which should also be regarded as the protection scope of the present invention, and these will not affect the effect of the implementation of the present invention and the practicality of the patent. The scope of protection required by this application shall be based on the content of its claims, and the specific implementation methods and other records 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 participant uses the transaction data determined by consensus as the first data, uses the participant corresponding to the participant identifier in the first data as the first object, obtains the transaction list of the first object, obtains the participant whose participant identifier is different from the first object and the participant identifier of the transaction object in the transaction list as the supervisor, sends the first data to the supervisor and the first object, and the first object stores the first data in the first subchain after receiving the first data. After receiving the first data, the supervisor obtains the stored subchain identifier as the second identifier, and 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 the participant receives the 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.
2. The blockchain-based digital asset related transaction tracing method according to claim 1 is characterized by: The system further includes a relay party, in which a first list composed of fixed participant identifiers is stored. The relay party is in communication connection with the participants in the first list and other relay parties. 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 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 relayer, the relayer decrypts the transaction information and then sends the transaction information to the participants in the communication connection.
3. The blockchain-based digital asset related transaction tracing method according to claim 2 is characterized by: After the participating party obtains the transaction list of the first object, it generates a supervision application based on the first object and the transaction list of the first object and sends it to the relay party of the communication connection. The relay party obtains the first lists of other relay parties as the second list, and randomly selects a participant identifier that is different from any participant identifier in the transaction list from each second list as the supervision identifier. The relay party uses the participating party corresponding to the supervision identifier as the supervisory party, obtains the first data corresponding to the first object from the participating party, and then sends the obtained first data to the supervisory party through the relay party of the supervisory party communication connection.
4. The blockchain-based digital asset related transaction tracing method according to claim 3 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.
5. The blockchain-based digital asset related transaction tracing method according to claim 4 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.
6. The blockchain-based digital asset related transaction tracing method according to claim 5 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.
7. The blockchain-based digital asset related transaction tracing method according to claim 6 is characterized by: 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.
8. The blockchain-based digital asset related transaction tracing method according to claim 7 is characterized by: The transaction data also includes the transaction time. When a participant receives a tracing request, if the received tracing request includes an asset identifier, the asset identifier is sent to the relay. After receiving the asset identifier, the relay broadcasts the asset identifier to the participants in the communication connection, and broadcasts the asset identifier as the first asset to other relays. After receiving the first asset, the relay 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. After receiving the transaction data, the relay integrates it into a transaction flow according to the transaction time.
9. The method for tracing the source of digital asset-related transactions based on blockchain according to claim 8 is characterized in that: 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
Cross-block chain joint traceability method and system
CN115599794A
Data tracing method and system based on block chain
CN117171236A
Resource transaction tracing method and device, equipment and storage medium
CN117896135A
DAG based methods and systems of transaction processing in a distributed ledger
US20200065300A1
Blockchain auditing and traceability method and system, electronic device and storage medium
WO2022141058A1