System and method for NFT-based digital asset security management
By using NFT and watermark technology in the digital asset management platform, the problems of digital assets being easily copied and ownership verification being complex are solved, secure storage and traceable digital asset management are achieved, and the risk of data leakage is reduced.
Patent Information
- Application Number
- CN202380092987.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-02
- Publication Date
- 2025-09-12
AI Technical Summary
Existing digital asset management platforms have problems such as digital assets being easily copied and redistributed without authorization, high risk of data leakage, complex and costly ownership verification, and centralized storage increases the vulnerability to data leakage and unauthorized access.
NFT and watermark technology are used for digital asset management. By minting a unique NFT for each digital asset, embedding a unique indicator and storing it on the blockchain, combined with content-based addressing storage and asymmetric encryption, the secure storage, traceable ownership and tamper-proofing of digital assets are ensured.
It achieves secure storage, traceable ownership and tamper-proofing of digital assets, reduces the risk of data leakage, simplifies the ownership verification process, and reduces the possibility of unauthorized access.
Smart Images

Figure CN120641894A_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This is the first application involving the present invention. Technical Field
[0003] The present invention relates to a system and method for secure management of digital assets, and in particular to a system and method for secure management of digital assets using NFT. Background Art
[0004] In recent years, the amount of data generated (e.g., by end consumers, institutions, etc.) has increased, and there has been growing interest in leveraging this data, such as for big data analytics and machine learning-based applications. This data is a digital asset and can be highly valuable. Other types of digital assets include machine learning models, code, digital notebooks, online services, and so on. Given the value of these digital assets, ensuring their secure management is a pressing need. It is important to ensure that digital assets are securely stored (e.g., not easily leaked), verifiable (e.g., ensuring they have not been damaged or tampered with), and / or that ownership of the digital assets is traceable.
[0005] Therefore, it is of practical value to provide a system and method for secure management of digital assets. Summary of the Invention
[0006] In various examples, the present disclosure describes systems and methods for securely managing digital assets using NFTs and watermarking technology. Examples of the present disclosure enable traceable ownership of digital assets and can provide traceable identification of providers and consumers of traded digital assets. For example, provider-specific watermarks and consumer-specific watermarks can be embedded in traded digital assets. Digital assets can be traded as NFTs, which assign unique identifiers to the digital assets and are used to prove ownership of the digital assets. The transaction history of the digital assets can be stored in a blockchain, which can serve as an immutable history of transactions related to the digital assets. Technical advantages include enabling the ownership of digital assets to be tracked and verified, such as in the event of disputed ownership of the digital assets and / or authorized distribution.
[0007] Examples of the present invention also provide secure encryption and tamper resistance for digital assets. For example, key-based encryption (e.g., asymmetric encryption) can be used to help ensure that digital assets can only be accessed by authorized parties (e.g., authorized consumers or authorized users of digital assets). In some examples, content-based addressing can be used to generate links for accessing digital assets stored in secure data storage. This can provide technical advantages, such as preventing tampering with digital assets and preventing unauthorized parties from accessing digital assets, even if the security of the data storage is compromised.
[0008] In some exemplary aspects, the present invention describes a method for securely managing digital assets through a digital asset management system. The method includes: receiving authorization to distribute a digital asset to a recipient user, the digital asset stored in a digital asset storage, the authorization including an identifier of at least one of the recipient user or an owner user and a token identifier of a non-fungible token (NFT) stored on a blockchain; retrieving the digital asset from the digital asset storage using a link extracted from an asset record stored on the blockchain and associated with the NFT; watermarking the digital asset to embed digital information uniquely identifying at least one of the owner user or the recipient user; encrypting the watermarked digital asset using an encryption key of the recipient user; storing the encrypted watermarked digital asset in the digital asset storage; updating the asset record to include the identifier of the recipient user; and providing the NFT to a user device of the recipient user.
[0009] In one example of the above exemplary aspects of the method, the method may further include: generating a new link for retrieving the encrypted watermarked digital asset from the digital asset storage; and updating the asset record to further include the new link.
[0010] In one example of the above exemplary aspect of the method, the digital asset storage may be a content-addressable memory, and the new link may be a content-based address of the encrypted watermarked digital asset in the digital asset storage.
[0011] In one example of any of the foregoing exemplary aspects of the method, the method may further include generating a hash based on the digital asset and updating the NFT to include the hash.
[0012] In one example of the above exemplary aspect of the method, the hash may be generated from the watermarked digital asset after encryption, may be generated from the watermarked digital asset before encryption, or may be generated from the digital asset before watermarking.
[0013] In one example of any of the above exemplary aspects of the method, the digital asset retrieved from the digital asset storage can be an encrypted digital asset, which is encrypted using an encryption key of the digital asset management system, and the encrypted digital asset can be decrypted prior to the watermarking.
[0014] In one example of any of the above-mentioned exemplary aspects of the method, the encryption key used to encrypt the watermarked digital asset can be the public encryption key of the recipient user, and the encrypted watermarked digital asset can be decryptable using the private encryption key of the recipient user.
[0015] In one example of any of the foregoing exemplary aspects of the method, the digital information embedded in the watermarked digital asset may be a character string including at least one of the identification of the owning user and the identification of the recipient user.
[0016] In one example of some of the above exemplary aspects of the method, the digital information embedded in the watermarked digital asset may be a digital signature uniquely mapped to at least one of the owning user or the recipient user.
[0017] In one example of some of the above-mentioned exemplary aspects of the method, the digital asset may be a computer executable program, and the digital information embedded in the watermarked digital asset may be a unique program behavior of the computer executable program, and the unique program behavior is uniquely mapped to at least one of the owning user or the receiving user.
[0018] In an example of any of the above exemplary aspects of the method, the method may include, before receiving the authorization to distribute the digital asset: receiving the digital asset and the identification of the owner user; storing the digital asset in the digital asset storage and generating the link for retrieving the digital asset from the digital asset storage; generating a contract entry to be included in the smart contract stored on the blockchain, the contract entry including the identification of the owner user and the link for retrieving the digital asset from the digital asset storage; minting the NFT for the digital asset and updating the contract entry to include the token identification of the NFT.
[0019] In one example of the above exemplary aspects of the method, after receiving the digital asset, the digital asset can be encrypted using an encryption key of the digital asset management system, and the digital asset can be stored in the digital asset storage after the encryption.
[0020] In one example of some of the above exemplary aspects of the method, the method may further include including a description of the digital asset in a published list of digital assets managed by the digital asset management system.
[0021] In some examples, the present invention describes a method for detecting at least one user associated with a digital asset in a digital asset management system. The method includes receiving a request to identify one or more users associated with a watermarked digital asset, the request being associated with a user identification of a requesting party, wherein the watermarked digital asset has been watermarked to embed digital information uniquely indicative of at least one of an owning user or a recipient user; extracting the embedded digital information from the watermarked digital asset; determining at least an identification of the recipient user from the extracted digital information; and providing at least the identification of the recipient user in response to the request.
[0022] In one example of the above-mentioned exemplary aspect of the method, the identification of the owning user and the identification of the receiving user can both be determined from the extracted digital information, and the method may include: comparing the identification of the owning user with the user identification of the requesting party; when the user identification of the requesting party matches the identification of the owning user, providing at least the identification of the receiving user.
[0023] In an example of some of the above-mentioned exemplary aspects of the method, the method may further include: determining the asset type of the watermarked digital asset; based on the asset type, determining the watermark technology used to embed the digital information into the watermarked digital asset; and performing the extraction based on the determined watermark technology.
[0024] In one example of the above exemplary aspect of the method, the asset type may be indicated in the request and the asset type may be determined from the request.
[0025] In some examples, the present invention describes a method for tracking transactions associated with a digital asset in a digital asset management system. The method includes receiving a request to track a transaction associated with a digital asset, the request including at least one of an identifier of an owner user or an identifier of a recipient user; obtaining a pristine copy of the digital asset; generating a hash based on the digital asset; searching a blockchain to identify a non-fungible token (NFT) having a hash that matches the generated hash; extracting a contract address for locating a smart contract on the blockchain from the identified NFT; extracting transaction information associated with the digital asset from the smart contract; and providing the extracted transaction information in response to the request.
[0026] In an example of the above-mentioned exemplary aspect of the method, the request may include the identifier of the owner user, and the method may further include: before providing the extracted transaction information, comparing the user identifier in the extracted transaction information with the identifier of the owner user included in the request; in response to the user identifier in the extracted transaction information matching the identifier of the owner user, providing the extracted transaction information.
[0027] In an example of any of the above-mentioned exemplary aspects of the method, generating the hash may include: generating a watermarked digital asset by watermarking the original copy of the digital asset to embed digital information that uniquely indicates at least one of the identifier of the owning user or the identifier of the receiving user; encrypting the watermarked digital asset using the encryption key of the receiving user; and generating the hash from the encrypted watermarked digital asset.
[0028] In one example of some of the above-mentioned exemplary aspects of the method, generating the hash may include: generating a watermarked digital asset by watermarking the original copy of the digital asset to embed digital information that uniquely indicates at least one of the identifier of the owning user or the identifier of the receiving user; and generating the hash from the watermarked digital asset.
[0029] In one example of some of the above exemplary aspects of the method, the method may further include: determining an asset type of the digital asset; determining a suitable watermarking technology based on the asset type; and generating the watermarked digital asset using the determined suitable watermarking technology.
[0030] In one example of the above exemplary aspect of the method, the asset type may be indicated in the request and the asset type may be determined from the request.
[0031] In one example of some of the above exemplary aspects of the method, generating the hash may include generating the hash from the original copy of the digital asset.
[0032] In one example of any of the foregoing illustrative aspects of the method, obtaining the original copy of the digital asset may include receiving the original copy of the digital asset with the request.
[0033] In one example of some of the above exemplary aspects of the method, obtaining the original copy of the digital asset may include retrieving the original copy of the digital asset from a memory of the digital asset management system.
[0034] In some exemplary aspects, the present disclosure describes a computer-implemented digital asset management system comprising a processing unit for executing instructions to cause the system to perform any of the above-described exemplary aspects of the method.
[0035] In one example of the above exemplary aspects of the system, the processing unit may be configured to execute instructions to cause the system to implement a content addressable memory as a digital asset memory.
[0036] In another example of the above exemplary aspects of the system, the processing unit may be configured to execute instructions to cause the system to: communicate with a remote storage system providing the digital asset storage.
[0037] In some exemplary aspects, the present invention describes a non-transitory computer-readable medium storing instructions, wherein the instructions are executable by a processing unit of a computer-implemented digital asset management system to cause the system to perform any of the above-described exemplary aspects of the method. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Reference will now be made, by way of example, to the accompanying drawings which show exemplary embodiments of the present application, in which:
[0039] Figure 1 is a block diagram illustrating an exemplary computing system that may be used to implement examples of the present invention;
[0040] Figure 2 is a block diagram of an exemplary digital asset management system provided by examples of the present invention;
[0041] Figure 3A and Figure 3B Shown Figure 2 Example operations of a digital asset management system;
[0042] Figure 4A and Figure 4B is a flowchart of an exemplary method for managing digital assets provided by examples of the present invention;
[0043] Figure 5 is a flow chart of an exemplary method for detecting a user identity associated with a digital asset provided by an example of the present invention;
[0044] Figure 6 is a flow chart of an exemplary method for tracking transactions associated with digital assets provided by examples of the present invention.
[0045] The same reference numbers may be used in different drawings to identify the same components. DETAILED DESCRIPTION
[0046] To facilitate understanding of the present invention, some technical terms will first be discussed. It should be understood that the following discussion of terms is not intended to be limiting, nor is it intended to introduce any meaning into any term that is contrary to the interpretation of one of ordinary skill in the art. One of ordinary skill in the art will also understand that a particular term may encompass a broader meaning than the meaning generally discussed below.
[0047] In the present invention, a digital asset may refer to a form of digital file containing stored information, or a computer-executable method for processing data (e.g., a computer-executable software algorithm, an online web service, etc.). Examples of digital assets include text files, image files, video files, audio files, 3D object files, 1D digital signals recorded as files, computer code files, online notebook files, machine learning models, etc. Digital assets can be static (e.g., data files) or dynamic (e.g., time-varying data such as stock market records or inventory records).
[0048] The present invention refers to watermarking as a technique for embedding a digital message or pattern (called a digital watermark) into a digital asset. Using the techniques disclosed herein, the embedded digital watermark can be extracted and used to identify the owner and / or recipient user of the digital asset.
[0049] For the purposes of this disclosure, blockchain refers to a distributed digital ledger that maintains an immutable, chronological history of transactions recorded in blocks. The general term "blockchain" can refer to either a public blockchain or a private blockchain. A public blockchain is a form of blockchain that allows anyone to join and participate in activities on the blockchain. In a public blockchain, transactions and addresses are publicly viewable. Private blockchains have an administrator who controls who can join and participate.
[0050] Content-based addressing (sometimes referred to as content-addressable storage or fixed content storage) refers to a technique for generating links to access digital assets in a data store, where the links are generated based on the content of the stored digital asset. If the content of the stored digital asset changes, the link generated to access the digital asset in the data store will also change.
[0051] This invention refers to smart contracts as self-executing software code snippets stored on a blockchain. Smart contracts typically execute automatically when the conditions of the smart contract are met.
[0052] The asset record used in this invention refers to the record stored on the blockchain, including information about the digital asset and any transactions related to the digital asset.
[0053] In this context, a non-fungible token (NFT) is a digital identifier that uniquely identifies a digital asset. NFTs and their transactions are recorded on the blockchain. Minting an NFT is the process of publishing the digital asset identified by the NFT on the blockchain. Therefore, an NFT is a unique token ID with a unique address on the blockchain.
[0054] As mentioned above, it is desirable to manage digital assets in a secure manner, including secure storage, traceable ownership, and tamper-proofing. Existing digital asset management platforms support the trading of digital assets (e.g., buying and selling). However, one problem with existing platforms is that digital assets can be easily copied and redistributed in an unauthorized manner. This can lead to the exposure of confidential or private information and loss of value of the digital assets. Detecting and tracing the source of unauthorized distribution is also a problem. Another disadvantage of existing platforms is that digital assets are often stored in centralized data repositories, which increases vulnerability to data leaks and unauthorized access. Existing digital asset management platforms may also present issues with ownership verification and data authentication. That is, users accessing digital assets on the platform may not be able to verify whether the digital assets have been damaged or tampered with, or whether the digital assets have been acquired by the authorized owner. Existing methods can also complicate digital asset ownership, requiring, for example, ownership registration and verification with third parties, which can be tedious, time-consuming, and / or costly.
[0055] Examples of the present invention may address at least some of the above-mentioned issues.
[0056] Figure 1 is a block diagram of a simplified exemplary implementation of a computing system 100 suitable for implementing the embodiments described herein. Examples of the present invention may be implemented in other computing systems that may include different components than those discussed below.
[0057] Although Figure 1 A single instance of each component is shown, but multiple instances of each component may exist in computing system 100. Furthermore, although computing system 100 is shown as a single block, computing system 100 may be a single physical machine or device (e.g., implemented as a single computing device, such as a single workstation, a single server, etc.), or may include multiple physical machines or devices (e.g., implemented as a server cluster). For example, computing system 100 may represent a group of servers or a cloud computing platform that provides a virtualized pool of computing resources (e.g., virtual machines, virtual servers, etc.).
[0058] The computing system 100 includes at least one processing unit 102, such as a processor, a microprocessor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a dedicated logic circuit, a dedicated artificial intelligence processing unit, a graphics processing unit (GPU), a tensor processing unit (TPU), a neural processing unit (NPU), a hardware accelerator, or a combination thereof. Each of the processing units 102 may include one or more processing cores. In some examples, the processing units 102 may perform operations in conjunction with a computing platform. Thus, the performance of an operation may be distributed among one or more processing units 102, whether residing solely within a single machine (e.g., a single computing system 100) or deployed across multiple machines (e.g., multiple computing systems 100). For example, one or more processing units 102 may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm), or may be distributed across multiple geographic locations.
[0059] The computing system 100 may include an optional input / output (I / O) interface 104 that may support connections to optional input devices 106 and / or optional output devices 108. In the illustrated example, the optional input devices 106 (e.g., a keyboard, mouse, microphone, touch screen, and / or keypad) and the optional output devices 108 (e.g., a display, speakers, and / or printer) are shown as being external to the computing system 100, however, one or more of the input devices 106 and / or output devices 108 may be integral components of the computing system 100. In other exemplary embodiments, no input devices 106 and output devices 108 may be present, in which case the I / O interface 104 may not be required.
[0060] The computing system 100 may include an optional network interface 110 for wired or wireless communication with other computing systems (e.g., other computing systems in a network). The network interface 110 may include a wired link (e.g., an Ethernet cable) and / or a wireless link (e.g., one or more antennas) for communication within and / or between networks.
[0061] Computing system 100 may include a storage unit 112, which may include a mass storage unit such as a solid-state drive, a hard disk drive, a magnetic disk drive, and / or an optical disk drive. For example, storage unit 112 may store data. In some examples, storage unit 112 may serve as storage for digital assets managed by digital asset management system 200, as discussed further below.
[0062] The computing system 100 includes at least one memory 114, which may include volatile or non-volatile memory (e.g., flash memory, random access memory (RAM), and / or read-only memory (ROM)). The non-volatile memory 114 may store instructions that are executed by the processing unit 102, for example, to perform the exemplary embodiments described herein. For example, the memory 114 may store instructions for implementing the digital asset management system 200, discussed further below. In some examples, the memory 114 may serve as storage for digital assets managed by the digital asset management system 200. The memory 114 may store other software instructions, for example, for implementing an operating system and other applications / functionality (e.g., other operations in digital chip design, such as placement, clock tree synthesis, and / or routing operations).
[0063] Additionally or alternatively, the computing system 100 may execute instructions from an external memory (e.g., an external drive in wired or wireless communication with a server), or executable instructions may be provided by a transient or non-transitory computer-readable medium. Examples of non-transitory computer-readable media include RAM, ROM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, CD-ROM, or other portable memory.
[0064] Figure 2 is a block diagram illustrating details of an exemplary digital asset management system 200 as disclosed herein. The digital asset management system 200 is a computer-implemented system (e.g., implemented using an online platform, server, etc.) that performs operations for the secure management of digital assets, including the secure storage and distribution of digital assets.
[0065] The digital asset management system 200 includes subsystems and memories, including a digital asset storage 210 , a blockchain 220 , a watermark subsystem 230 , an encryption subsystem 240 , and an NFT subsystem 250 .
[0066] It should be understood that Figure 2 It is not intended to be limiting. For example, the digital asset management system 200 may include more or fewer subsystems than the number shown. Functions described as being performed by a particular subsystem may be performed by a different subsystem, and one subsystem may perform functions described as being performed by two or more subsystems. Some subsystems, such as the digital asset storage 210, the blockchain 220, and / or the encryption subsystem 240 may be external to the digital asset management system 200 (e.g., may reside in a data storage unit external to the digital asset management system 200, or may reside in a trusted third-party system). Some subsystems may be part of or closely related to another subsystem of the digital asset management system 200, for example, the NFT subsystem 250 may be part of or closely related to the blockchain 220.
[0067] One or more user devices 260a, 260b (e.g., any terminal consumer electronic device, such as a desktop computer, laptop computer, tablet computer, mobile device, smartphone, etc.) can communicate with the digital asset management system 200 (e.g., via a wired or wireless network, such as the Internet). The digital asset management system 200 enables users to securely manage their digital assets. For example, the first user device 260a may belong to a user who is the owner of digital assets (e.g., files, software, data, machine learning models, etc.). The user device 260a can use the digital asset management system 200 to securely store digital assets and securely distribute digital assets to authorized recipients (e.g., the user of the second user device 260b). As will be discussed further below, the digital asset management system 200 can provide services to ensure that digital assets are distributed in a secure and traceable manner to help reduce the risk of data leakage and tampering, and to be able to identify the source of the data leakage in the event of a data leakage incident.
[0068] Each unique user may be associated with a corresponding unique user identifier (user ID). The user ID may be assigned to the user by the digital asset management system 200, or may be provided by the user (for example, the user may use a blockchain wallet ID as their user ID). When a user registers on the digital asset management system 200, the digital asset management system 200 may generate a unique public key and private key associated with the user, which will be used to encrypt and decrypt digital assets.
[0069] The digital asset management system 200 stores digital assets in a digital asset storage 210. The digital assets may be stored in an encrypted form, for example, encrypted using a public key associated with the digital asset management system 200. The digital asset storage 210 may support content-based addressing.
[0070] Blockchain 220 stores NFTs and associated asset records and smart contracts. Each NFT corresponds to a unique digital asset stored in digital asset storage 210. Ownership information and transaction details related to the digital asset are stored on blockchain 220, allowing a historical record of transactions to be preserved. The blockchain can be any suitable blockchain that supports NFTs, such as the Ethereum blockchain, Solana blockchain, Polygon blockchain, or Cardano blockchain. Blockchain 220 can be a public blockchain or a private blockchain.
[0071] The encryption subsystem 240 may be used to generate public and private keys for users of the digital asset management system 200. The encryption subsystem 240 may also store encryption keys used by the digital asset management system 200 itself and / or the public keys of the users. The encryption subsystem 240 may use the encryption keys to encrypt or decrypt digital assets, as discussed further below.
[0072] When a new digital asset is added to the digital asset storage 210 (e.g., by a user who is the owner of the digital asset), the NFT subsystem 250 can perform operations to mint a new NFT for the digital asset. A contract entry for a smart contract is generated and associated with the new NFT. Both the smart contract and the NFT are registered on the blockchain 220. In some examples, the owner of the digital asset may already have a smart contract (e.g., generated when the owner registers on the digital asset management system 200), and the contract entry for the new digital asset can be added to the owner's smart contract. In other examples, a new smart contract can be generated for each newly added digital asset.
[0073] In some examples, the digital asset management system 200 may provide services that enable users to announce or publish information about digital assets managed by the digital asset management system 200. For example, the digital asset management system 200 may provide a public listing of available digital assets (e.g., an online marketplace) on which users may publish information about digital assets they wish to sell or distribute through the digital asset management system 200. The digital asset management system 200 may provide the public listing via a website, cloud service, mobile application, or any other online platform that may allow users registered with the digital asset management system 200 to view the published information. In some examples, the published information may also be viewable by users who are not registered with the digital asset management system 200 (however, digital asset transactions may only be conducted between users registered with the digital asset management system 200). The published information may include, for example, the name of the user who owns the digital asset, some general description of the digital asset (e.g., the asset type), the terms and conditions for the distribution of the digital asset (e.g., whether the recipient user can redistribute or resell the digital asset), and / or the price of the asset. Another user may view the published information through the digital asset management system 200.
[0074] The general operation of the digital asset management system 200 is now discussed.
[0075] Figure 3A is a schematic diagram showing further details of the operation of the digital asset management system 200. It should be understood that Figure 3A and 3B It is intended to be illustrative rather than restrictive.
[0076] As described above, users can access the digital asset management system 200 using corresponding user devices 260a, 260b (collectively referred to as user devices 260). Each user can register on the digital asset management system 200 and be associated with a unique user ID (the user ID can be assigned to the user by the digital asset management system 200, or can be provided by the user, such as a blockchain wallet ID). After registration, each user will obtain their own unique public key and private key, which can be used for ownership registration and verification. In some examples, if symmetric encryption is used instead of asymmetric encryption, each user may only obtain one encryption key. In some examples, the user's encryption key (for example, a public key if asymmetric encryption is used) can be used as an identifier for the user.
[0077] If the first user is the owner of the digital asset (e.g., the user of first user device 260a), the user can upload the digital asset to be stored in digital asset storage 210. Digital asset management system 200 can encrypt the digital asset using the public key of digital asset management system 200 so that the digital asset is stored in encrypted form.
[0078] A link is generated by the digital asset management system 200 to enable the stored digital asset to be retrieved from the digital asset storage 210. The digital asset storage 210 may be a content-addressable storage, such as the InterPlanetary File System (IPFS). This means that the generated link is used for an address in the digital asset storage 210 based on the content of the stored digital asset. In other words, changing the content of the stored digital asset will change the address at which the stored digital asset is stored in the digital asset storage 210. This can help prevent corruption or tampering of the stored digital asset, as the link (generated based on the content of the original stored digital asset) will not be able to retrieve the corrupted or tampered digital asset from the digital asset storage 210. If the stored digital asset is a dynamic digital asset (e.g., including time-varying data), each change to the content of the dynamic digital asset creates a new version of the digital asset, requiring a new corresponding content-based address to access the new version. The history of different versions of the dynamic digital asset can be stored on the blockchain 220.
[0079] A contract entry will also be generated for the smart contract to be associated with the digital asset. In some examples, the smart contract can be associated with the first user (e.g., the smart contract can be linked to the first user's user ID), and all digital assets owned by the first user can be associated with the first user's smart contract. If the first user already has a smart contract (e.g., when the first user previously uploaded another digital asset to the digital asset management system 200 or when the first user previously registered on the digital asset management system 200), the smart contract associated with the first user can be updated to include a new contract entry for the newly uploaded digital asset. If the first user does not yet have a smart contract, the digital asset management system 200 can create a new smart contract for the first user and include a contract entry for the newly uploaded digital asset. The smart contract is stored at a contract address on the blockchain 220 (which can be any blockchain that supports smart contract functionality, such as the Ethereum blockchain). Whenever there is a change associated with the digital asset, such as a new transaction for the digital asset and / or an updated link for accessing the digital asset in the digital asset storage 210, the asset record (also known as the transaction history) on the blockchain 220 is automatically updated. The asset record of a digital asset includes information related to the digital asset and is stored on the blockchain 220, making the transaction history of the digital asset traceable and immutable. Examples of information in the asset record may include an asset link (e.g., a uniform resource identifier (URI)) and / or ownership information of the asset.
[0080] For example, the NFT subsystem 250 of the digital asset management system 200 mints (i.e., generates) NFTs for stored digital assets. Each NFT is typically associated with a smart contract for managing the digital asset. The smart contract is updated using the token ID of the NFT associated with the digital asset. The NFT is also stored on the blockchain 220 along with the smart contract for the digital asset. The NFT may include metadata stored on the chain, such as the contract address of the smart contract associated with the NFT. Other NFT metadata may also be stored on the chain, such as a description of the stored digital asset (which may be based on a description of the digital asset included in a public list of digital assets) or the file name of the stored digital asset. The NFT subsystem 250 may mint NFTs according to any suitable NFT standard (e.g., the ERC-721 standard or the ERC-1155 standard). In some examples, in order to enable the distribution of the stored digital asset to multiple recipients, multiple copies of the stored digital asset may be generated, and corresponding multiple NFTs may be minted, with each NFT providing a unique token ID for a specific copy of the stored digital asset.
[0081] A second user (e.g., the user of second user device 260b) may be the recipient of a digital asset owned by a first user. The second user is authorized by the first user to access and / or use the digital asset. The transaction of the digital asset to the recipient user may be authorized by the owning user, for example, after the recipient user makes a request for the digital asset (e.g., a purchase order or non-commercial request). In some examples, the transaction may be initiated by the recipient user requesting the digital asset (e.g., through an online marketplace), and may not require explicit approval or authorization from the owning user to initiate the transaction. For example, the first user and the second user may have a provider / consumer relationship, an employer / employee relationship, a software distributor / licensed user relationship, a teacher / student relationship, and the like. For convenience, the first user, who is the owner of a digital asset being securely managed by the digital asset management system 200, may be referred to herein as the owning user (or simply the owner), and the second user, who is authorized to access and / or use the digital asset, may be referred to herein as the receiving user (or simply the recipient). If the digital asset is a dynamic digital asset, the receiving user may be authorized to access a specific version of the digital asset (e.g., the latest version of the digital asset at the time of authorization). If the content of the dynamic digital asset is later updated, the recipient user may be able to access the most recent version of the digital asset using the version history of the digital asset saved on blockchain 220 .
[0082] The digital asset is not sent directly to the recipient user. Instead, the digital asset management system 200 first watermarks the digital asset using the watermark subsystem 230. The digital asset is retrieved from the digital asset storage 210 (e.g., using a link stored in the NFT associated with the digital asset). If the digital asset is stored in encrypted form (e.g., encrypted using the public key of the digital asset management system 200), the digital asset can be decrypted (e.g., using the private key of the digital asset management system 200). The digital asset management system 200 then digitally watermarks the digital asset using information uniquely associated with the owner user and / or the recipient user. In some examples, the digital asset is watermarked using information uniquely associated with both the owner user and the recipient user. This means that the digital asset is embedded with digital information that can later be extracted and used to uniquely identify the owner user (i.e., the first user), the recipient user (i.e., the second user), or both the owner and recipient users (i.e., the first user and the second user) of the watermarked digital asset. Details of exemplary techniques for watermarking digital assets using digital information that uniquely identifies an owner user, a recipient user, or an owner-recipient user pair are provided further below.
[0083] Encryption is then applied to the watermarked digital asset. If asymmetric encryption is used, the watermarked digital asset is encrypted using the recipient user's public key. Details of an exemplary encryption and decryption process using asymmetric encryption are provided further below. If symmetric encryption is used, encryption keys may first need to be securely exchanged between all parties and the recipient user, and encryption is then performed using the exchanged keys.
[0084] A hash of the encrypted watermarked digital asset can be generated by the digital asset management system 200 (e.g., using any suitable hash function, such as SHA256), and the generated hash can be stored as metadata in the NFT associated with the digital asset. The generated hash can be used for traceability purposes.
[0085] The encrypted watermarked digital assets are stored in the digital asset storage 210. The digital asset management system 200 uses content-based addressing to generate new links that are used to access the encrypted watermarked digital assets in the digital asset storage 210. Using a storage protocol based on content addressing can help ensure that the content of the digital assets is not damaged, modified, or replaced. For example, the digital asset storage 210 can be a centralized or decentralized storage based on IPFS. The encrypted digital assets can be stored entirely in the digital asset storage 210. Alternatively (for example, if the encrypted digital assets are very large), a portion of the encrypted digital assets can be stored in the digital asset storage 210, and the remainder of the encrypted digital assets can be stored in another storage (which may or may not be internal to the digital asset management system 200) without the need for content-based addressing.
[0086] In some examples, if the digital asset is not a digital file (eg, the digital asset is an online service), the digital asset storage 210 may store an encrypted link to the digital asset rather than the encrypted digital asset itself.
[0087] The asset record on blockchain 220 corresponding to the NFT is updated with information about the transfer of the digital asset from the owner user to the recipient user. For example, the unique user ID of the owner and / or recipient user, as well as the generated link for accessing the encrypted watermarked digital asset, can be written to the URI under the token ID of the NFT associated with the digital asset. Other information may be included in the asset record, depending on the transaction. For example, if the digital asset is being sold, the sales price of the digital asset may be included in the update of the asset record of the digital asset (stored on blockchain 220).
[0088] The recipient user is provided with the contract address of the smart contract on blockchain 220 and the token ID of the NFT associated with the digital asset.
[0089] Figure 3B is a simplified illustration of how a recipient user retrieves a digital asset from digital asset storage 210 .
[0090] Each digital asset managed by the digital asset management system 200 is associated with a corresponding NFT and a smart contract (it should be noted that a single smart contract can be associated with multiple digital assets, and each digital asset can be identified in the smart contract by a contract entry that references the corresponding NFT token ID). The contract entry in the smart contract stores information about a specific digital asset (e.g., the identity of the owner user) or stores a pointer to this information (which can be stored elsewhere in the memory). The smart contract assigns a token ID to each digital asset managed by the smart contract, and the information corresponding to each token ID is stored on the blockchain 220. The asset record 240 on the blockchain 220 stores information about the digital asset and any transactions for the digital asset (e.g., the identity of the owner user and the recipient user, any transaction price, etc.). The link for retrieving the digital asset from the digital asset storage 210 is included in the asset record 224 associated with the NFT. Other information may be included in the asset record 224, such as the hash of the digital asset, a description of the digital asset, asset version control details, owner / consumer rights, etc.
[0091] In this example, blockchain 220 stores an NFT 222 associated with a digital asset and an asset record 224 associated with the digital asset. In this example, NFT 222 includes a unique token ID (e.g., "12345") and the contract address of a smart contract (e.g., "0x98765"). As described above, NFT 222 may include other metadata, such as a hash of the digital asset, a description of the digital asset, etc. In this example, asset record 224 is stored on blockchain 220 under the token ID of NFT 222. Based on token ID "12345," asset record 224 may include the identities of the owning user (e.g., "Bob"), the receiving user (e.g., "Tom"), and other transaction data (e.g., the date and time of the transaction, the sales price of the transaction, etc.). It should be noted that if the digital asset associated with the NFT with token ID "12345" has not yet been part of any transaction (e.g., the digital asset is newly uploaded to digital asset management system 200), asset record 224 may omit the receiving user identity and transaction data. The asset record 224 also includes a link for accessing the digital asset in the digital asset storage 210 .
[0092] The receiving user uses the received NFT token ID and smart contract address to look up the smart contract and the specific asset record 224 of the NFT token ID to extract the link to the digital asset. Using this link, the receiving user can access the digital asset storage 210 and download the encrypted watermarked digital asset from the digital asset storage 210 to the receiving user's user device 260b.
[0093] The recipient user's private key (or encryption key if symmetric encryption is used) is used to decrypt the downloaded digital asset. The recipient user can now use the digital asset. However, it should be noted that the digital asset available to the recipient user is a watermarked version of the original digital asset uploaded to the digital asset management system 200 by the owning user. As will be discussed further below, this watermarking enables detectability and traceability, for example, in the event that the digital asset is distributed in an unauthorized manner.
[0094] Watermarking of digital assets may be performed by the digital asset management system 200 using the watermark subsystem 230, such as Figure 2 Further details of the operation of the watermark subsystem 230 will now be discussed.
[0095] A watermark embedded in a watermarked digital asset includes information that can be used to uniquely identify an owner-recipient user pair, or information that can be used to uniquely identify at least one of the owner user or the recipient user. In some examples, the watermark can be used to uniquely identify a user ID pair of the owner and recipient users. This enables identification of both the original owner user of the digital asset and the authorized recipient users of the digital asset. This means that if the owner user has authorized the distribution and use of the same digital asset to multiple recipient users, each recipient user will have access to a corresponding, differently watermarked digital asset. If a recipient user distributes copies of their watermarked digital asset in an unauthorized manner, the watermark can be used to identify which recipient user was the source of the unauthorized distribution. In some examples, only the owner user's identity or only the recipient user's identity can be uniquely identified using the watermark.
[0096] Digital asset management system 200 can watermark digital assets using various watermarking techniques, which can be implemented by watermark subsystem 230. The technique used to perform watermarking (i.e., embedding a unique digital pattern or digital code into a digital asset) may depend on the type of digital asset.
[0097] For example, frequency-domain based watermarking techniques can be applied to watermark image, video, audio, and point cloud digital assets. In frequency-domain based watermarking, the watermark is embedded in the high-frequency components of the data.
[0098] For example, a character string (e.g., a character string or text string that is a concatenation of one or more user IDs of the owning user and / or the receiving user) can be embedded (i.e., watermarked) in the discrete cosine transform (DCT) coefficients of an RGB image. Let S denote the character string to be embedded in the image, where the image is represented as Where H and W represent the height and width of the image, respectively, and there are three channels, corresponding to the RGB channels. Each character in S can first be converted to its corresponding ASCII code so that each character is represented by a bit string. The obtained bit strings can then be combined (using some known, defined techniques, such as linear combinations) to form a bit vector It should be noted that The length of should be less than (H*W) / 7, otherwise the bit vector will exceed the image size and will be truncated.
[0099] Then, The bit vector represented can be embedded in the frequency coefficients of the luminance component of the image. The image is first converted from RGB to YCbCr as follows:
[0100]
[0101] Among them, R, G, B, Y, Cb, Cr and T represent red, green, blue, luminance component, chrominance component, chrominance component and predefined transformation matrix respectively.
[0102] Then, Y is converted to the DCT domain representation F as follows:
[0103]
[0104] For u = 0, 1, ..., H-1 and v = 0, 1, ..., W-1, where Y(x, y) is the pixel at row x and column y in the luminance signal,
[0105]
[0106] The inverse DCT that converts F back to Y is defined as:
[0107]
[0108] F is the vector of DCT coefficients that form the image. After obtaining the DCT coefficients F, the bit vector is converted to The bits in are embedded (i.e., watermarked) in the selected N DCT coefficients of F, denoted as {F1,…,F N}:
[0109] For i=1:N
[0110] Where α is the scaling factor, for The i-th element in F′ i are the updated DCT coefficients after watermarking.
[0111] For example, the N DCT coefficients selected for watermarking may be selected from the high frequency components in F. Finally, the inverse DCT is applied to the updated frequency components and the watermarked image is reconstructed as Y'.
[0112] To extract the watermark from the watermarked image Y′, the original image Y and the order of the selected frequency coefficients are required. The extracted watermark vector It can be obtained as follows:
[0113] For i=1:N
[0114] The ASCII codes in are decoded (for example, by executing to recover the original string S including one or more user IDs of the owning user and / or the recipient user.
[0115] Similar DCT-based watermarking techniques can be applied to audio, video, and point cloud digital assets by adjusting the selected DCT coefficients according to the dimensionality of the data.
[0116] Different watermarking techniques may be used, for example depending on the desired robustness of the watermark (eg, if it is known that the watermarked digital asset may be communicated over a noisy channel, a more robust watermarking technique may be required to avoid degradation of the watermark performance due to noise).
[0117] In some examples, the watermark embedded in the digital asset may not be a direct identifier of the owner user and the recipient user (e.g., the watermark may not be directly generated using one or more user IDs of the owner and / or recipient users). Instead, the watermark may be a digital signature or pattern that uniquely maps to the user ID of the owner and / or recipient users. For example, the digital signature watermarked in a particular digital asset may be extracted and used to reference a secure lookup table stored by the digital asset management system 200 to find a user ID that identifies the owner user, to find a user ID used to identify the recipient user, or to find a user ID pair that identifies the owner-recipient user pair for the digital asset. In another example, the digital signature watermarked in a particular digital asset may be extracted and used as input to a security algorithm in the digital asset management system 200 to obtain a piece of data (e.g., a feature vector or hash string) that can be matched against a pair of one or more user IDs that identify the owner user and / or recipient user for the digital asset.
[0118] An example of a watermarking technique that can be used to indirectly identify an owner user and / or recipient user of a digital asset is now described. A digital asset that is a text document can be watermarked based on the frequency or position of keywords in selected portions of the text. The frequency or position of keywords can be encoded in a unique bit string associated with a specific owner user and / or recipient user. If a digital asset belonging to an owner user is authorized for distribution to different recipient users, different portions of the text (with different frequencies or keyword positions) can be selected so that different bit strings are associated with different recipient users. Then, when the watermark is later extracted from a particular digital asset, the recovered bit string can be used to find the recipient user of that digital asset.
[0119] In another example, for computer-executable digital assets, such as software code and algorithms used to run certain computations or machine learning models, watermarking can be performed by encoding unique behavior into the digital asset. For example, when provided with a specific data sample as input, the machine learning model can be trained to generate a unique output (which may be significantly different from its expected output). The unique input and unique output can be uniquely mapped to a specific owner user and / or recipient user.
[0120] In general, the digital asset management system 200 may watermark the digital asset using any suitable watermarking technique (depending on the type of digital asset) to enable unique identification of an owner user, a recipient user, or an owner-recipient user pair.
[0121] As described above, after the digital asset is watermarked with information unique to the owner user and / or the recipient user, the watermarked digital asset is encrypted. The encryption can be performed by the digital asset management system 200 using the encryption subsystem 240, as Figure 2 shown. Further details of the operation of the encryption subsystem 240 are now discussed. Specifically, the following discussion is carried out in the context of asymmetric encryption, where each user registered on the digital asset management system 200 has a private key and a public key. If symmetric encryption is used instead, each user can have only one encryption key, and the digital asset management system 200 can facilitate the secure exchange of keys between the owner user and the recipient user.
[0122] When using asymmetric encryption, the watermarked digital asset is encrypted using the public key of the recipient user to ensure that only the recipient user can decrypt the watermarked digital asset (using the recipient user's private key). It should be noted that since the watermarking is performed by the digital asset management system 200 and the watermarked digital asset is subsequently encrypted by the digital asset management system 200 using the public key of the recipient user, the owner user may not have access to the unencrypted and watermarked digital asset. This may help to detect the source of a data leak in case of unauthorized distribution of digital assets. Only the recipient user should have access to the unencrypted and watermarked digital asset, so the data leak cannot be attributed to the owner user.
[0123] Various methods can be used to encrypt digital assets. An exemplary encryption technique that can be performed by the encryption subsystem 2 is the Rivest–Shamir–Adleman (RSA) encryption algorithm. The RSA algorithm can be divided into three stages, including key generation, encryption, and decryption. As described above, key generation can occur when each user initially registers on the digital asset management system 200. In the example of using asymmetric encryption, the encryption subsystem 240 can generate a pair of public and private keys as follows.
[0124] First, two prime numbers are selected, denoted as p and q. The prime numbers can be selected for a given user initially registered on the digital asset management system 200 in any arbitrary manner. Then two values n and z are obtained as follows: n = p * q, z = lcm(p - 1, q - 1), where lcm(a, b) is a function that obtains the least common multiple of two values a and b. An integer e is selected such that 1 < e < z. The value d is calculated, where d is the modular inverse of e (mod z). The public key is (n, e), and the private key is (n, d). The public key and the private key are both issued to the given user. A copy of the public key can be stored by the encryption subsystem 240 and can be used to encrypt digital assets authorized for access by the given user. The private key should be securely maintained by the given user and can be used to decrypt the encrypted digital asset.
[0125] Now, an exemplary encryption and decryption is described, where the digital asset being encrypted and decrypted is a plaintext message, denoted as m. The encrypted message denoted as c can be obtained using the public key (n, e) as follows:
[0126] c(m)=m e mod(n)
[0127] The encrypted message can then be decrypted using the private key (n,d) to recover the plaintext message m as follows:
[0128] m(c)=c d mod(n)
[0129] Other encryption techniques may be used, including other asymmetric encryption techniques as well as symmetric encryption techniques.
[0130] Figure 4A and Figure 4B Flowcharts are provided showing exemplary methods 400 and 450 that can be performed by digital asset management system 200 for secure management of digital assets between a first user (e.g., an owning user) and a second user (e.g., a receiving user). Methods 400 and 450 can be performed by a computing system (e.g., computing system 100) having one or more processing units for executing instructions (which can be stored in a non-transitory computer-readable medium, such as code stored in a tangible memory). Methods 400 and 450 can be performed together (e.g., digital asset management system 200 can perform method 400 and then perform method 450), can be performed independently of each other (e.g., method 400 can be performed and then method 450 can be triggered after a period of time), or can be performed separately (e.g., digital asset management system 200 can only perform method 450).
[0131] It should be understood that methods 400 and 450 illustrate only some exemplary operations of digital asset management system 200. The steps of method 400 or method 450 may be performed in an order different from that shown, and two or more steps may be performed in parallel or together. The steps of method 400 and method 450 may be performed using subsystems of digital asset management system 200, as described below, but this is not intended to be limiting. Method 400 will be described first.
[0132] In 402, the digital asset management system 200 receives a digital asset. The digital asset belongs to a first user, who may be referred to as the owner user (i.e., the owner of the received digital asset). For example, the owner user may upload the digital asset to the digital asset management system 200 via a communication link between the user device 260a and a web portal provided by the digital asset management system 200. In another example, the owner user may upload the digital asset to a third-party service, and the digital asset may be sent to the digital asset management system 200 by the third-party service (e.g., the digital asset management system 200 may provide back-end security management of the digital asset on behalf of the third-party service). Regardless of how the digital asset is received, the digital asset management system 200 obtains information about the owner user, such as a user ID, a public encryption key of the owner user, or a smart contract associated with the owner user (if any).
[0133] At 404, the received digital asset is stored in the digital asset storage 210, and a link is generated for accessing the stored digital asset. The generated link can be a content-based address of the stored digital asset. In some examples, the digital asset can be stored after being encrypted using a public key of the digital asset management system 200 (e.g., by the encryption subsystem 240).
[0134] At 406, a contract entry is generated for a smart contract associated with the digital asset, where the smart contract is stored at a contract address on blockchain 220. The smart contract can be an existing smart contract of the owner user or a newly generated smart contract. The contract entry stores or points to information about the digital asset, such as the owner user's user ID and a link for accessing the stored digital asset.
[0135] In 408, an NFT is minted for the digital asset (e.g., by the NFT subsystem 250), and the contract entry is updated using the token ID of the minted NFT. The NFT is associated with a smart contract that includes a contract entry for the digital asset (e.g., the NFT metadata includes a contract address for locating the smart contract on the blockchain 220). The asset record associated with the NFT is also stored under the token ID of the NFT on the blockchain 220. In some examples, if the owner user wants to make the digital asset distributable to multiple recipient users, multiple copies of the digital asset can be stored in the digital asset storage 210, and corresponding multiple NFTs can be minted. Each copy of the digital asset is associated with a corresponding unique NFT and a corresponding unique contract entry in the smart contract.
[0136] The digital asset is now securely stored and available for secure distribution. The digital asset can be securely stored in the digital asset storage 210 until the distribution of the digital asset is authorized. For example, the availability of the digital asset can be included in a public list that other users can view through their user devices. A recipient user who wishes to access or use the digital asset can view the public list and initiate a transaction (e.g., a purchase order) for the digital asset. In another example, the owner user may wish to make the digital asset securely available to the recipient user in a non-commercial scenario.
[0137] Method 450 is now described. As described above, method 450 can be performed by digital asset management system 200 without performing method 400. For example, digital assets can be securely stored in content-addressable digital asset storage 210, and contract entries for NFTs and stored digital assets can be generated and stored on blockchain 220 without performing method 400 (e.g., other steps can be performed).
[0138] In 452, the digital asset management system 200 receives authorization to distribute the digital asset to the recipient user. The authorization may be received in response to the recipient user requesting the digital asset, and / or by the owner user providing instructions to distribute the digital asset to the recipient user. Typically, authorization to distribute the digital asset to the recipient user may be triggered when conditions in the smart contract associated with the digital asset are met. The authorization may include an identification of the authorized recipient user (e.g., a user ID), and may also identify the digital asset to be distributed (e.g., by an NFT token ID) and the owner user (e.g., a user ID). For example, if there are multiple copies of the digital asset that can be distributed, the digital asset management system 200 may select one of the copies randomly or in the order of its NFT token ID (e.g., selecting the next NFT that does not yet have any transaction data).
[0139] At 454, the digital asset is retrieved from the digital asset storage 210. For example, the digital asset management system 200 can use the link generated in step 404 (or a link generated in some other content-based addressing step) to retrieve the digital asset from the digital asset storage 210. The link used to retrieve the digital asset can be obtained by identifying the asset record associated with the digital asset using the NFT token ID and then extracting the link from the asset record. If the digital asset is encrypted using the public key of the digital asset management system 200, the digital asset management system 200 can (e.g., using the encryption subsystem 240) decrypt the digital asset using the private key of the digital asset management system 200.
[0140] At 456, the digital asset is watermarked (e.g., by the watermark subsystem 230) with digital information that uniquely indicates the owning user and / or the receiving user. As described above, various watermarking techniques can be used to embed (i.e., watermark) digital information into the digital asset, for example, depending on the type of the digital asset. The digital asset management system 200 can use the same watermarking technique for all digital assets of the same asset type (e.g., the same technique for watermarking all image files), so that the digital asset management system 200 can determine how to extract the watermark based on the asset type. In some examples, the digital asset management system 200 can automatically detect the asset type (e.g., based on the file extension of the digital asset, or based on metadata attached to the digital asset) and determine the appropriate watermarking technique to use based on the detected asset type. In other examples, the asset type can be indicated as part of the authorization received in step 452, and the digital asset management system 200 can determine the appropriate watermarking technique to use based on the indicated asset type.
[0141] At 458, the watermarked digital asset is encrypted using a key (e.g., a public key) belonging to the recipient user. For example, the encryption subsystem 240 may perform encryption using a public key generated and issued to the recipient user when the recipient user registered on the digital asset management system 200.
[0142] At 460, a hash may be generated based on the digital asset. The hash is generated based on the content of the digital asset and enables future traceability of the digital asset. The hash function used to generate the hash may be known to the owner user and the recipient user. Figure 4B In the example shown, the hash is generated from the watermarked digital asset after encryption, and step 460 is shown after step 458. However, in some examples, the hash can be generated from the watermarked digital asset before encryption (i.e., step 460 is performed after step 456 and before step 458), or can be generated from the original digital asset before watermarking (i.e., step 460 is performed after step 454 and before step 456). For example, to ensure that the hash is reproducible (e.g., for later traceability, as described below with reference to Figure 6 (as discussed above), the hash can be generated before any processing of the digital asset that would introduce randomness. For example, if watermarking of the digital asset introduces randomness, the hash can be generated from the original digital asset (with one or more user IDs of the owning user and / or the receiving user appended) before watermarking. In another example, if encryption introduces randomness, the hash can be generated from the watermarked digital asset before encryption.
[0143] At 462, the encrypted watermarked digital asset is stored in the digital asset storage 210, and a new link is generated. It should be noted that because the encrypted watermarked digital asset has different content than the digital asset previously stored and retrieved from the digital asset storage 210, the content-based address of the new link may be different from the link used to retrieve the digital asset in step 454.
[0144] At 464, the NFT metadata and asset record associated with the digital asset are updated. The NFT and asset record to be updated can be identified using the digital asset's token ID, which can be included in the authorization received in step 452. For example, the NFT token ID can be used to identify the NFT and asset record of the digital asset in blockchain 220. The NFT metadata can be updated to include the hash generated in step 460. The asset record corresponding to the NFT token ID can be updated with the new link generated in step 462, the identification of the recipient user, and optionally other information about the transaction (e.g., the date or time of the authorization, any transaction price, etc.).
[0145] At 466, the recipient user is provided with the contract address of the smart contract and the token ID of the NFT. For example, the digital asset management system 200 can transmit the contract address and token ID to the recipient user's user device 260b via a secure communication link. As described above, the recipient user can use this information to retrieve the encrypted watermarked digital asset from the digital asset storage 210 and decrypt the watermarked digital asset using their private key. The recipient user can use the hash stored in the NFT metadata before decryption to help ensure that the content of the received encrypted watermarked digital asset has not been altered or corrupted. In some examples, if the hash is not generated from the encrypted watermarked digital asset (e.g., if the hash is generated from the watermarked digital asset before encryption, or generated from the original digital asset before watermarking), the recipient user cannot use the hash to verify the received encrypted watermarked digital asset. The recipient user can use the same hash function used in step 460 (e.g., SHA256) to obtain the hash of the received encrypted watermarked digital asset. If the hash obtained matches the hash stored in the NFT, this may authenticate the received encrypted watermarked digital asset.
[0146] In addition to supporting traceability and verification for recipient users, in some examples, generating a hash based on a digital asset can enable the digital asset management system 200 to identify whether any similar or identical digital assets are being managed or distributed. For example, the digital asset management system 200 can hash the original digital asset (before watermarking and encryption). The hash generated from one digital asset can then be used to search for similar or identical hashes in other NFTs stored on the blockchain 220. If so, this indicates that there is another digital asset with similar or identical content distributed on the digital asset management system 200. The digital asset management system 200 can generate a notification to alert all users that there is another digital asset with similar or identical content as the digital asset of the all users. This can alert all users to the possibility of unauthorized redistribution of their digital assets.
[0147] In some cases, after the digital assets are distributed to authorized recipient users, unauthorized distribution of digital assets may occur. When the owner user discovers that the digital assets they own have been distributed in an unauthorized manner, it may be necessary to detect the source of the unauthorized distribution. Specifically, if the owner user has authorized the distribution of digital assets to multiple different recipient users, it may be necessary to identify which specific recipient user is the source of the unauthorized distribution (also known as a data leak). The digital asset management system 200 can provide services to detect the source of unauthorized distribution. For example, the digital asset management system 200 can provide detection as a service to registered users or as a backend service of a third-party platform. For example, the third-party platform can perform the above methods 400, 450, and the digital asset management system 200 can provide a detection service.
[0148] Figure 5 is a flow chart illustrating an exemplary method 500 that may be performed by digital asset management system 200 for identifying one or more users (e.g., recipient users) associated with a digital asset. Method 500 may be performed by a computing system (e.g., computing system 100) having one or more processing units for executing instructions (which may be stored in a non-transitory computer-readable medium, such as code stored in a tangible memory). Method 500 may be separate from and performed independently of method 400 and / or method 450.
[0149] In 502, the digital asset management system 200 receives a request to identify one or more users associated with a watermarked digital asset. For example, the digital asset management system 200 may receive the request from an owner user of the digital asset (e.g., the owner user's user device 260a may transmit the request to the digital asset management system 200 via a web portal or other secure communication link). In another example, the digital asset management system 200 may receive the request from a third-party service. The request may be a request to identify a recipient user who is authorized to access and use the watermarked digital asset. The digital asset management system 200 may require identification of the user making the request. The watermarked digital asset may have been watermarked as part of an operation to securely distribute the digital asset (e.g., using method 450). It should be noted that the watermark embedded in the digital asset includes digital information that uniquely indicates the owner users and / or recipient users who have participated in the authorized distribution of the watermarked digital asset. Specifically, the watermark may include digital information to at least enable the recipient user to be uniquely identified.
[0150] At 504, the watermark is extracted from the watermarked digital asset. That is, the digital information embedded in the watermarked digital asset is extracted. The technique used to extract the watermark may depend on the technique used to watermark the digital asset, for example, on the asset type. For example, if the watermark is embedded in DCT coefficients, an inverse DCT may be performed (e.g., as described above). In some examples, the digital asset management system 200 may automatically detect the asset type (e.g., based on the file extension of the watermarked digital asset, or based on metadata attached to the watermarked digital asset) and determine the technique to use for extracting the watermark based on the detected asset type. In other examples, the asset type may be indicated as part of the request received in step 502, and the digital asset management system 200 may determine the technique to use for extracting the watermark based on the indicated asset type.
[0151] At 506, the digital information included in the extracted watermark is used to identify the recipient user associated with the digital asset. The extracted watermark may also include digital information to enable all users associated with the digital asset to be identified. For example, if the digital information encodes the user ID of the recipient user (and possibly the user IDs of all users) using some known scrambling, the digital asset management system 200 may perform descrambling to recover the user ID of the recipient user (and possibly the user IDs of all users). In another example, the digital information may include a reference to a lookup table that includes the user IDs of the recipient user (and possibly the user IDs of all users) associated with the watermarked digital asset.
[0152] At 508, if the extracted watermark also uniquely identifies the owning user, the owning user identification is compared with the user identification associated with the received request. If the user identification associated with the request matches the owning user identification, the method proceeds to 510. If the user identification associated with the request does not match the owning user identification, the method proceeds to step 512. Performing this comparison can help ensure that information about authorized distribution of the digital asset is provided only to authorized parties (e.g., only to the owning user). This can provide an additional layer of security in the event that a malicious user attempts to tamper with the watermark to forge the identity of another recipient user.
[0153] At 510, after a user identification match is found (if step 508 is performed), a recipient user identification is provided (e.g., transmitted to the owner user's user device 260a). Optionally, an owner user identification may also be provided. The recipient user identification enables the owner user to identify the recipient user whose copy of the digital asset has been distributed in an unauthorized manner. As described above, if there are multiple recipient users authorized to receive copies of the digital asset, each recipient user can receive a unique watermarked copy of the digital asset, where the watermark uniquely identifies each recipient user or owner-recipient user pair. Thus, the owner user is provided with the identification of the specific recipient user whose watermarked copy of the digital asset has been distributed in an unauthorized manner.
[0154] At 512, if step 508 is performed and the user identification is found not to match, the request is denied.
[0155] After the owner user obtains the identification of the recipient user who is potentially the source of unauthorized distribution, the owner user may wish to obtain further information about the digital asset transaction. For example, the owner user may wish to obtain information about the date and time of the transaction and / or the price of the transaction. Information about the transaction may be useful as proof that a particular watermarked digital asset (which may have been distributed in an unauthorized manner) was actually received by the recipient user who is potentially the source of the unauthorized distribution. The digital asset management system 200 can provide services to enable tracking of transactions associated with digital assets. For example, the digital asset management system 200 can provide tracking as a service to registered users or as a backend service of a third-party platform. For example, the third-party platform can perform the above-mentioned methods 400 and 450, and the digital asset management system 200 can provide tracking services.
[0156] Figure 6is a flow chart illustrating an exemplary method 600 that may be performed by digital asset management system 200 for tracking transactions associated with digital assets. It should be understood that tracking transactions may include tracking non-commercial transactions (e.g., non-commercial distribution) of digital assets. That is, method 600 is not limited to tracking transactions involving the sale or purchase of digital assets. Method 600 may be performed by a computing system (e.g., computing system 100) having one or more processing units for executing instructions (which may be stored in a non-transitory computer-readable medium, such as code stored in a tangible memory). Method 600 may be separate from and performed independently of method 400, method 450, and / or method 500.
[0157] At 602, the digital asset management system 200 receives a request to track a transaction associated with a digital asset. For example, the digital asset management system 200 may receive the request from an owner user of the digital asset (e.g., the owner user's user device 260a may transmit the request to the digital asset management system 200 via a web portal or other secure communication link). In another example, the digital asset management system 200 may receive the request from a third-party service. The request may be a request to track a transaction involving the digital asset. The digital asset management system 200 may require that the request include the identities of the owners and / or recipient users involved in the transaction to be tracked.
[0158] At 604, a copy of the original (unwatermarked) digital asset is obtained. The original digital asset may be provided to the digital asset management system 200 as part of the request received at 602 (e.g., uploaded by the owner user requesting transaction tracking). In some examples, the digital asset management system 200 may maintain a copy of the original digital asset (e.g., as a "master" copy). For example, the digital asset management system 200 may maintain a database that includes copies of all original digital assets managed by the digital asset management system 200, and the database may be accessible only to internal subsystems of the digital asset management system 200. In some examples, the original copies may be stored separately from the digital asset storage 210 that stores minted (i.e., available for distribution) digital assets, and detailed information about which original copies correspond to which minted digital assets may be maintained by the digital asset management system 200.
[0159] At 610, a hash is generated for the digital asset. The hash should be generated using the same steps used to generate the hash when the digital asset was initially distributed. This means that the hash generated at step 610 should be the same hash previously generated (e.g., generated at step 460) and stored in the NFT metadata on the blockchain. For example, if the hash was previously generated after watermarking and encryption, the hash at step 610 should also be generated from the encrypted watermarked digital asset after performing the same watermarking and encryption steps (e.g., repeating steps 456 to 460 described previously). If the hash was previously generated after watermarking but before encryption, the hash at step 610 should also be generated from the (unencrypted) watermarked digital asset. If watermarking is performed as part of generating the hash, the watermarking technique can be determined based on the asset type (e.g., the asset type can be determined based on the digital asset's file extension or can be explicitly indicated in the tracking request). If the hash was generated using the original digital asset (with one or more user IDs of the owning user and / or the recipient user) before watermarking, the hash at step 610 should similarly be generated from the original digital asset.
[0160] At 612, the digital asset management system 200 performs a search of the blockchain 220 for an NFT with the hash generated at step 610. An NFT with a matching hash is identified, and the method 600 proceeds to step 614. The hash match is used to verify that the content of the encrypted watermarked digital asset has not been altered since authorized distribution to the recipient user. If no NFT with a matching hash is found, there may be no blockchain record of any transaction of the digital asset between the owner user and the recipient user, or the information provided in the tracking request received at step 602 may include errors. The digital asset management system 200 may provide a negative or error response to the tracking request.
[0161] At 614, the contract address is extracted from the identified NFT. The contract address is used to locate the smart contract associated with the digital asset on the blockchain 220.
[0162] At 616, transaction information associated with the NFT identified in the asset record on blockchain 220 is extracted. For example, the extracted transaction information may include the identity of the owning user (e.g., the owner's user ID), the identity of the receiving user (e.g., the receiving user's user ID), the identity of the NFT (e.g., the token ID), the contract address of the associated smart contract, any transaction price, the date and time of the transaction, etc. The transaction information can be used to verify that the receiving user actually received the watermarked digital asset from the owning user (because the transaction information stored on blockchain 220 can serve as a digital signature from the receiving user). The extracted transaction information can be provided as a response to the tracking request (e.g., it can be transmitted to the user device 260a of the owning user who submitted the tracking request). In some examples, before providing the transaction information, the digital asset management system 200 can verify that the identity of the owning user matches the identity of the user who issued the tracking request in step 602. This can help ensure that the transaction information is provided only to the owning user, preventing potentially private information from being inadvertently provided to other users.
[0163] Thus, method 600 uses a hash of a digital asset to enable transaction information related to the digital asset to be located on blockchain 220. It should be noted that in some examples, if a tracking request includes the token ID of the NFT of the digital asset, the token ID can be used instead of the hash of the digital asset to locate the transaction information. However, the user making the tracking request may not always know the token ID. For example, the token ID may be a long and complex string of numbers that is difficult for the user to track, especially when the user has other digital assets with other token IDs. In addition, the user may use an imperfect method to record their token ID (e.g., a written record), which may introduce errors (e.g., reproduction errors) or may be lost. Thus, method 600 provides traceability without having to rely on accurate records of token IDs maintained by the user.
[0164] Thus, the digital asset management system 200 provides detectability and traceability of all digital assets distributed through the digital asset management system 200. Using the digital information encoded in the watermarked digital assets, the digital asset management system 200 enables recipient users to be detected as the source of unauthorized distribution of watermarked digital assets. Furthermore, by providing hash-based traceability, the digital asset management system 200 is able to verify that the distribution of the watermarked digital assets to the recipient users actually occurred.
[0165] In some examples, the recipient user may not be authorized to resell or redistribute the watermarked digital assets that the recipient user is authorized to receive through the digital asset management system 200. Thus, if a watermarked digital asset (which is uniquely watermarked so as to be identifiable to the recipient user, as described above) is found to be in the possession of any user other than the recipient user, this may be considered an unauthorized distribution by the recipient user. In other examples, the resale or redistribution of the watermarked digital asset may be permitted (e.g., depending on the terms and conditions of the distribution, which may be described in the published listing of the digital asset).
[0166] If the recipient user is authorized to resell or redistribute its watermarked digital assets, the recipient user may use the digital asset management system 200 to redistribute the watermarked digital assets.
[0167] In some examples, a recipient user may act as if they are the original owner of the watermarked digital asset. The watermarked digital asset may be uploaded to the digital asset management system 200 and distributed to another recipient user in the manner previously described (e.g., as described with respect to methods 400 and 450). In this case, the redistribution may not be explicitly linked to the original distribution of the digital asset.
[0168] In other examples, the redistribution of the watermarked digital asset may be slightly different from the original distribution. The recipient user may be considered a redistributor user. The redistributor user may upload the watermarked digital asset to the digital asset management system 200. The redistributor user may have a smart contract linked to his or her user ID. When the watermarked digital asset is uploaded to the digital asset management system 200, the digital asset management system 200 may detect that the watermarked digital asset was previously distributed and may use the previously described hashing technique to identify the smart contract of the original owner user associated with the previous distribution of the watermarked digital asset. For example, the digital asset management system 200 may perform operations to check for the presence of a watermark and verify whether the user ID indicated by the watermark matches the user ID of the user who is uploading the watermarked digital asset. Alternatively, when the watermarked digital asset is uploaded to the digital asset management system 200, the token ID of the NFT and the contract address of the smart contract associated with the original distribution of the watermarked digital asset may be provided to the digital asset management system 200 by the redistributor user. The digital asset management system 200 can verify that the redistributor user is an authorized recipient of the watermarked digital asset by checking whether the redistributor user's user ID matches the user ID of the recipient user indicated by the digital information embedded in the watermark.
[0169] A contract entry for the watermarked digital asset is generated in the redistributor user's smart contract. The contract entry associated with the redistribution of the watermarked digital asset includes the contract address of the original owner user's smart contract. This way, the smart contract containing information related to the redistribution of the watermarked digital asset is linked to the smart contract containing information related to the original distribution of the watermarked digital asset. The redistributor user can then redistribute the watermarked digital asset to another recipient user using watermarking and encryption similar to those described above. It should be noted that because the smart contract associated with the redistribution is linked to the smart contract associated with the original distribution, the complete history of the digital asset distribution is preserved and traceable. In some examples, the asset record associated with the original distribution (i.e., the original digital asset) can be updated to include information regarding the redistribution. Therefore, the redistributor user can redistribute the digital asset to a new recipient user using the original smart contract associated with the original distribution. Transaction details related to this redistribution can be linked to existing transactions corresponding to the digital asset. In this way, the digital asset management system 200 can enable existing smart contracts for digital assets to be used for the redistribution of digital assets.
[0170] In some examples, multiple digital assets can be distributed together as a group in a single transaction. For example, a set of data samples (also known as a dataset) that can be used to train a machine learning model may include data belonging to multiple owner users. In this scenario, the group of data assets can be encrypted and stored together as a single encrypted asset group (similar to a single large digital asset). Each owner user group can be assigned a single group ID, which uniquely identifies the owner user group and can be used in a manner similar to the user ID of a single owner user. The digital asset management system 200 can store a database of user IDs belonging to each group ID. The asset group can then be distributed in a manner similar to that described previously. Alternatively, when the asset group is watermarked, the user ID of each owner user in the group can be embedded in the digital information instead of using a single group ID. By keeping the user ID of each owner user in the group separate (rather than using a single group ID to represent all owner users in the group), if a particular owner user does not wish to include one or more digital assets in the distribution of the asset group, the one or more digital assets owned by that particular owner user can be separated. If the remaining owner users in the group authorize distribution, the remainder of the asset group can be distributed.
[0171] The exemplary systems and methods disclosed herein can provide secure management of digital assets. Examples of the present invention can provide security by ensuring that digital assets are stored and distributed in encrypted form. Using content-addressable memory to store encrypted digital assets also helps prevent tampering with stored assets. The exemplary systems and methods use NFTs and blockchain technology to enable traceability and verification of all distributions and transactions related to digital assets. NFTs and blockchain technology provide a method for maintaining a verifiable and immutable history of how digital assets are distributed. Using NFTs enables unique ownership and distribution of digital assets, and can foster mass adoption due to user familiarity with NFT-based transactions. Because most blockchain technologies support real-time updates and tracking, distributions and transactions can be registered and verified in real time. This can help improve system reliability and promote transparency for all parties and recipient users. The exemplary systems and methods use watermarking technology to provide detectability and traceability, which can help identify the source of any unauthorized distribution of digital assets managed by the disclosed system.
[0172] Examples of the disclosed methods and systems can implement digital asset trading platforms, data markets, and / or machine learning centers. Examples of the disclosed methods and systems can support the secure management and distribution of digital assets in commercial and non-commercial scenarios. The disclosed examples can be implemented by multiple different platforms that use the same watermarking, encryption, and hashing techniques disclosed herein for NFT-based digital asset distribution. Watermarking, encryption, and hashing can be agreed upon by all platforms so that users can distribute their digital assets on any platform while maintaining the benefits of secure management, detectability, and traceability.
[0173] Although the present invention describes methods and processes by following a certain order of steps, one or more steps in the methods and processes may be omitted or changed as appropriate. Where appropriate, one or more steps may be performed in an order other than the order described.
[0174] Although the present invention has been described at least in part in terms of methods, it will be understood by those skilled in the art that the present invention is also directed to various components for performing at least some aspects and features of the described methods, whether by hardware components, software, or any combination thereof. Accordingly, the technical solutions of the present invention may be embodied in the form of a software product. Suitable software products may be stored in a pre-recorded storage device or other similar non-volatile or non-transient computer-readable medium, including a DVD, CD-ROM, USB flash drive, removable hard disk, or other storage medium. The software product includes instructions tangibly stored thereon that enable a processing device (e.g., a personal computer, server, or network device) to perform examples of the methods disclosed herein. Machine-executable instructions may be in the form of code sequences, configuration information, or other data that, when executed, cause a machine (e.g., a processor or other processing device) to perform the steps in the methods provided by the examples of the present invention.
[0175] The present invention may be embodied in other specific forms without departing from the subject matter of the claims. The exemplary embodiments described are intended in all respects to be illustrative and not restrictive. Selected features from one or more of the above-described embodiments may be combined to create alternative embodiments not explicitly described, and features suitable for such combinations are understood to be within the scope of the present invention.
[0176] All values and subranges within the disclosed ranges are also disclosed. In addition, although the systems, devices, and processes disclosed and illustrated herein may include a specific number of elements / components, these systems, devices, and components may be modified to include more or fewer such elements / components. For example, although any disclosed element / component may be referenced as a singular, the embodiments disclosed herein may be modified to include a plurality of such elements / components. The subject matter described herein is intended to cover and encompass all suitable technical changes.
Claims
1. A method for securely managing digital assets through a digital asset management system, characterized in that: The method comprises: Receiving authorization to distribute digital assets to a recipient user, the digital assets stored in a digital asset storage, the authorization including an identifier of at least one of the recipient user or the owner user and a token identifier of a non-fungible token (NFT) stored on a blockchain; Retrieving the digital asset from the digital asset store using a link extracted from an asset record stored on the blockchain and associated with the NFT; watermarking the digital asset to embed digital information uniquely indicating at least one of the owner user or the recipient user; encrypting the watermarked digital asset using the recipient user's encryption key; storing the encrypted watermarked digital asset in the digital asset storage; updating the asset record to include an identification of the recipient user; The NFT is provided to a user device of the recipient user.
2. The method according to claim 1, characterized in that Also includes: generating a new link for retrieving the encrypted watermarked digital asset from the digital asset storage; The asset record is updated to further include the new link.
3. The method according to claim 2, characterized in that The digital asset storage is a content-addressable storage, and the new link is a content-based address of the encrypted watermarked digital asset in the digital asset storage.
4. The method according to any one of claims 1 to 3, characterized in that Also includes: A hash is generated based on the digital asset, and the NFT is updated to include the hash.
5. The method according to claim 4, characterized in that The hash is generated from the encrypted watermarked digital asset.
6. The method according to claim 4, characterized in that The hash is generated from the watermarked digital asset prior to the encrypting.
7. The method according to claim 4, characterized in that The hash is generated from the digital asset prior to the watermarking.
8. The method according to any one of claims 1 to 7, characterized in that The digital asset retrieved from the digital asset storage is an encrypted digital asset, the encrypted digital asset is encrypted using an encryption key of the digital asset management system, and the encrypted digital asset is decrypted prior to the watermarking.
9. The method according to any one of claims 1 to 8, characterized in that The encryption key used to encrypt the watermarked digital asset is the public encryption key of the recipient user, and the encrypted watermarked digital asset can be decrypted using the private encryption key of the recipient user.
10. The method according to any one of claims 1 to 9, characterized in that The digital information embedded in the watermarked digital asset is a character string including at least one of the identification of the owner user and the identification of the recipient user.
11. The method according to any one of claims 1 to 9, characterized in that The digital information embedded in the watermarked digital asset is a digital signature uniquely mapped to at least one of the owning user or the recipient user.
12. The method according to any one of claims 1 to 9, characterized in that The digital asset is a computer executable program, the digital information embedded in the watermarked digital asset is a unique program behavior of the computer executable program, and the unique program behavior is uniquely mapped to at least one of the owner user or the recipient user.
13. The method according to any one of claims 1 to 12, characterized in that Also included, prior to receiving the authorization to distribute the digital asset: receiving the digital asset and the identification of the owner user; storing the digital asset in the digital asset storage and generating the link for retrieving the digital asset from the digital asset storage; generating a contract entry for inclusion in a smart contract stored on the blockchain, the contract entry including the identification of the owning user and the link for retrieving the digital asset from the digital asset store; Minting the NFT for the digital asset and updating the contract entry to include the token identifier of the NFT.
14. The method according to claim 13, characterized in that After receiving the digital asset, the digital asset is encrypted using an encryption key of the digital asset management system, and after the encryption, the digital asset is stored in the digital asset storage.
15. The method according to claim 13 or 14, characterized in that Also includes: A description of the digital asset is included in a published list of digital assets managed by the digital asset management system.
16. A method for detecting at least one user associated with a digital asset in a digital asset management system, characterized in that: The method comprises: receiving a request identifying one or more users associated with a watermarked digital asset, the request being associated with a user identification of the requesting party, wherein the watermarked digital asset has been watermarked to embed digital information uniquely indicative of at least one of an owning user or a recipient user; extracting embedded digital information from said watermarked digital asset; determining at least an identification of the recipient user from the extracted digital information; In response to the request, at least the identification of the recipient user is provided.
17. The method according to claim 16, characterized in that The identifier of the owning user and the identifier of the receiving user are both determined from the extracted digital information, and the method further comprises: comparing the identifier of the owner user with the identifier of the requester; When the user identification of the requesting party matches the identification of the owning user, at least the identification of the receiving user is provided.
18. The method according to claim 16 or 17, characterized in that Also includes: Determining the asset type of the watermarked digital asset; determining, based on the asset type, a watermarking technique for embedding the digital information into the watermarked digital asset; The extraction is performed based on a determined watermarking technique.
19. The method according to claim 18, characterized in that The asset type is indicated in the request and the asset type is determined from the request.
20. A method for tracking transactions associated with digital assets in a digital asset management system, characterized in that: The method comprises: receiving a request to track a transaction associated with a digital asset, the request including at least one of an identification of an owning user or an identification of a receiving user; Obtaining an original copy of the digital asset; generating a hash based on the digital asset; Searching the blockchain to identify a non-fungible token (NFT) that has a hash that matches the generated hash; Extracting a contract address for locating a smart contract on the blockchain from the identified NFT; Extracting transaction information related to the digital asset from the smart contract; In response to the request, the extracted transaction information is provided.
21. The method according to claim 20, characterized in that The request includes the identification of the owner user, and the method further includes: Before providing the extracted transaction information, comparing the user identification in the extracted transaction information with the identification of the owner user included in the request; In response to the user identification in the extracted transaction information matching the identification of the owner user, providing the extracted transaction information.
22. The method according to claim 20 or 21, characterized in that Generating the hash includes: generating a watermarked digital asset by watermarking the original copy of the digital asset to embed digital information uniquely indicating at least one of the identification of the owner user or the identification of the recipient user; encrypting the watermarked digital asset using the recipient user's encryption key; The hash is generated from the encrypted watermarked digital asset.
23. The method according to claim 20 or 21, characterized in that Generating the hash includes: generating a watermarked digital asset by watermarking the original copy of the digital asset to embed digital information uniquely indicating at least one of the identification of the owner user or the identification of the recipient user; The hash is generated from the watermarked digital asset.
24. The method according to claim 22 or 23, characterized in that Also includes: Determining the asset type of the digital asset; determining an appropriate watermarking technique based on the asset type; The watermarked digital asset is generated using a determined suitable watermarking technique.
25. The method according to claim 24, characterized in that The asset type is indicated in the request and the asset type is determined from the request.
26. The method according to claim 20 or 21, characterized in that Generating the hash includes: The hash is generated from the original copy of the digital asset.
27. The method according to any one of claims 20 to 26, characterized in that Obtaining the original copy of the digital asset includes receiving the original copy of the digital asset with the request.
28. The method according to any one of claims 20 to 26, characterized in that Obtaining the original copy of the digital asset includes retrieving the original copy of the digital asset from a memory of the digital asset management system.
29. A computer-implemented digital asset management system, characterized in that: include: A processing unit, configured to execute instructions so as to cause the system to perform the method according to any one of claims 1 to 28.
30. The system according to claim 29, wherein: The processing unit is configured to execute instructions so that the system: Implement content-addressable storage as digital asset storage.
31. The system according to claim 29, wherein: The processing unit is configured to execute instructions so that the system: Communicating with a remote storage system providing storage of the digital assets.
32. A non-transitory computer-readable medium, characterized in that Instructions are stored, wherein the instructions are executable by a processing unit of a computer-implemented digital asset management system to cause the system to perform the method according to any one of claims 1 to 28.