# US 12,008,547 B2 · Apparatus for digital management of cryptographic assets

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,547 B2
- Document ID: US12008547B2
- Status: Granted
- Kind: B2
- Application number: 18/052,874
- Filed: 2022-11-04
- Published: 2024-05-09
- Granted: 2024-06-11
- Earliest claimed: 2022-11-04
- Assignees: Osom Products, Inc.
- Applicants: OSOM Products, Inc.
- Inventors: Nicholas Franco; Jason Sean Gagne-Keats; Gary Anderson
- Web page: https://patentgrep.com/patent/US12008547B2

## CPC

- G06Q 20/3672: {initialising or reloading thereof}
- G06N 20/00: Machine learning
- G06Q 20/123: {Shopping for digital content}
- G06Q 20/1235: {with control of digital rights management [DRM]}
- G06Q 30/018: Certifying business or products
- G06Q 40/04: Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06Q 2220/00: Business processing using cryptography
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This disclosure is directed to methods and systems for validating digital images (e.g., originality of digital images, source of digital images) by validating non-fungible tokens. The methods and systems enable a device to obtain analog values using an imaging sensor, such as on a camera of the device. A first identification code and digital image can be generated using the analog values and can be used to mint a first non-fungible token (NFT). When a request is made to validate a second NFT containing the same digital image, e.g., claiming to be the original digital image, the analog values can be used to generate another hash, and compared against the identification (ID) value of the second NFT.

## Claims

### Claim 1

A computer-implemented cryptographic method for validating non-fungible tokens (NFTs), the method comprising:
obtaining, using an imaging sensor of an electronic device, one or more analog values for generating a digital image;
generating, using the one or more analog values, a first hash value and the digital image;
storing the one or more analog values using a cryptography-based storage application associated with the electronic device, wherein the one or more analog values are configured to be stored to be accessible only from the electronic device storing a private cryptographic key of the cryptography-based storage application by:
determining, whether or not the electronic device is enabled to access the one or more analog values;
responsive to determining that the electronic device is not enabled to access the one or more analog values, preventing access to the one or more analog values;
generating a blockchain operation request to be executed by a blockchain node for minting a single first NFT using the digital image and the first hash value;
transmitting the blockchain operation request to the blockchain node to commit the single first NFT to a blockchain using an on-chain program,
wherein the single first NFT incorporates the first hash value as a first hash identification code, and
wherein the single first NFT is assigned to the cryptography-based storage application;
generating a second blockchain operation request to be executed by a blockchain node for inserting an encrypted URI for accessing the one or more analog values into metadata of the single first NFT including (1) the first hash identification code and (2) encrypted URI, wherein the encrypted URI is generated by encrypting a resource identifier using a public key associated with the cryptography-based storage application;
transmitting the second blockchain operation request to the blockchain node for inserting the encrypted URI;
receiving, from a computer device, a validation request referencing a second NFT minted using the digital image, the second NFT incorporating a second hash identification code;
responsive to receiving the validation request, retrieving the one or more analog values using the cryptography-based storage application, wherein retrieving the one or more analog values comprises:
decrypting an encrypted URI obtained from metadata of the single first NFT using the private cryptographic key associated with the cryptography-based storage application to obtain a URI;
transmitting, to a remote server, a request to access the one or more analog values at a location indicated by the obtained URI; and
obtaining, via a transmission from the remote server, the one or more analog values;
generating a second hash value using the one or more analog values;
comparing the second hash value to the second hash identification code; and
responsive to determining that the second hash value matches the second hash identification code, transmitting a message to the computer device indicating validity of the second NFT.

### Claim 2 (depends on 1)

The method of claim 1, wherein the blockchain operation request is a first blockchain operation request, and
wherein storing the one or more analog values comprises:
encrypting a uniform resource identifier (URI) using a public key associated with the cryptography-based storage application; and
generating a second blockchain operation request for inserting the encrypted URI into metadata of the single first NFT.

### Claim 3 (depends on 1)

The method of claim 1, wherein retrieving the one or more analog values comprises:
decrypting an encrypted URI obtained from metadata of the single first NFT using the private cryptographic key associated with the cryptography-based storage application to obtain a URI; and
providing, using the URI, the one or more analog values.

### Claim 4 (depends on 1)

The method of claim 1, wherein the cryptography-based storage application is a first cryptography-based storage application,
wherein the first cryptography-based storage application is associated with a first user, and
wherein the blockchain operation request is a first blockchain operation request, the method comprising:
receiving, from a second cryptography-based storage application associated with a second user, a transfer request for transferring control of the single first NFT from the first user to the second user;
decrypting an encrypted first URI obtained from metadata of the single first NFT using the private cryptographic key associated with the first cryptography-based storage application to obtain a first URI;
encrypting the first URI using a public key associated with the second cryptography-based storage application to obtain an encrypted second URI; and
transmitting a second blockchain operation request for updating metadata of the single first NFT with the encrypted second URI for transferring control of the single first NFT to the second user.

### Claim 5 (depends on 4)

The method of claim 4, comprising:
obtaining an indication that a second blockchain operation of the second blockchain operation request is completed; and
in response to obtaining the indication, transmitting a notification to the computer device, wherein the computer device is associated with the second cryptography-based storage application.

### Claim 6 (depends on 1)

The method of claim 1, wherein storing the one or more analog values comprises:
sending, using the cryptography-based storage application, a digital representation of the one or more analog values to a cryptographic wallet.

### Claim 7 (depends on 1)

The method of claim 1, wherein the cryptography-based storage application comprises a software digital wallet configured to store the single first NFT.

### Claim 8 (depends on 1)

The method of claim 1, wherein the cryptography-based storage application is associated with a hardware digital wallet configured to store the single first NFT.

### Claim 9 (depends on 1)

The method of claim 1, wherein the single first NFT is the second NFT.

### Claim 10 (depends on 1)

The method of claim 1, wherein the digital image is generated by interpolating the one or more analog values.

### Claim 11

A non-transitory, computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
obtain, using an imaging sensor of an electronic device, one or more analog values for generating a digital image;
generate, using the one or more analog values, a first hash value and the digital image;
storing the one or more analog values using a cryptography-based storage application associated with the electronic device, wherein the one or more analog values are configured to be stored to be accessible only from the electronic device storing a private cryptographic key of the cryptography-based storage application;
determine, whether or not the electronic device is enabled to access the one or more analog values;
responsive to determining that the electronic device is not enabled to access the one or more analog values, prevent access to the one or more analog values;
transmit a blockchain operation request to a blockchain to mint a single first NFT using an on-chain program,
wherein the single first NFT incorporates the first hash value as a first hash identification code; receive, from a computer device, a validation request referencing a second NFT minted using the digital image, the second NFT incorporating a second hash identification code;
generate a second blockchain operation request to be executed by a blockchain node for inserting an encrypted URI for accessing the one or more analog values into metadata of the single first NFT including (1) the first hash identification code and (2) encrypted URI, wherein the encrypted URI is generated by encrypting a resource identifier using a public key associated with the cryptography-based storage application;
transmit the second blockchain operation request to the blockchain node for inserting the encrypted URI;
responsive to receiving the validation request, retrieving the one or more analog values using the cryptography-based storage application, wherein retrieving the one or more analog values comprises:
decrypting an encrypted URI obtained from metadata of the single first NFT using the private cryptographic key associated with the cryptography-based storage application to obtain a URI;
transmitting, to a remote server, a request to access the one or more analog values at a location indicated by the obtained URI; and
obtaining, via a transmission from the remote server, the one or more analog values;
generating a second hash value using the one or more analog values; and
responsive to determining that the second hash value matches the second hash identification code, transmit a message indicating validity of the second NFT to the computer device.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein generating the first hash value comprises applying a hash function to the one or more analog values.

### Claim 13 (depends on 11)

The computer-readable medium of claim 11, wherein the instructions cause the one or more processors to:
store the one or more analog values using a cryptography-based storage application associated with the electronic device; and
responsive to receiving the validation request, retrieve the one or more analog values using the cryptography-based storage application.

### Claim 14 (depends on 13)

The computer-readable medium of claim 13, wherein the instructions to retrieve the one or more analog values cause the one or more processors to:
decrypt an encrypted URI obtained from metadata of the single first NFT using the private cryptographic key associated with the cryptography-based storage application to obtain a URI; and
provide, using the URI, the one or more analog values.

### Claim 15 (depends on 13)

The computer-readable medium of claim 13, wherein the cryptography-based storage application is a first cryptography-based storage application,
wherein the first cryptography-based storage application is associated with a first user,
wherein the blockchain operation request is a first blockchain operation request, and
wherein the instructions cause the one or more processors to:
receive, from a second cryptography-based storage application associated with a second user, a transfer request for transferring control of the single first NFT from the first user to the second user;
decrypt an encrypted first URI obtained from metadata of the single first NFT using the private cryptographic key associated with the first cryptography-based storage application to obtain a first URI;
encrypt the first URI using a public key associated with the second cryptography-based storage application to obtain an encrypted second URI; and
transmit a second blockchain operation request for updating the metadata of the single first NFT with the encrypted second URI for transferring control of the single first NFT to the second user.

### Claim 16 (depends on 13)

The computer-readable medium of claim 13, wherein the instructions to store the one or more analog values cause the one or more processors to:
send, using the cryptography-based storage application, a digital representation of the one or more analog values to a cryptographic wallet.

### Claim 17

A device for validating a non-fungible token (NFT), the device comprising:
an imaging sensor;
one or more processors; and
a non-transitory, computer-readable storage medium storing instructions that, when executed by the one or more processors, cause the one or more processors to:
obtain, using the imaging sensor, one or more analog values for generating a digital image;
generate, using the one or more analog values, a first hash value and the digital image;
store the one or more analog values using a cryptography-based storage application, the one or more analog values stored for validating a second NFT minted using the digital image, wherein the one or more analog values are configured to be stored to be accessible only from a device storing a private cryptographic key of the cryptography-based storage application;
determine, whether or not the device is enabled to access the one or more analog values;
responsive to determining that the device is not enabled to access the one or more analog values, prevent access to the one or more analog values;
generate a blockchain operation request to be executed by a blockchain node for minting a single first NFT using the digital image and the first hash value;
transmit the blockchain operation request to the blockchain node to commit the single first NFT to a blockchain using an on-chain program;
generate a second blockchain operation request to be executed by a blockchain node for inserting an encrypted URI for accessing the one or more analog values into metadata of the single first NFT including (1) the first hash value and (2) encrypted URI, wherein the encrypted URI is generated by encrypting a resource identifier using a public key associated with the cryptography-based storage application;
transmit the second blockchain operation request to the blockchain node for inserting the encrypted URI;
receive, from a computer device, a validation request referencing a second NFT minted using the digital image, the second NFT incorporating a second hash identification code; and
responsive to receiving the validation request, retrieving the one or more analog values using the cryptography-based storage application, wherein retrieving the one or more analog values comprises:
decrypting an encrypted URI obtained from metadata of the single first NFT using the private cryptographic key associated with the cryptography-based storage application to obtain a URI;
transmitting, to a remote server, a request to access the one or more analog values at a location indicated by the obtained URI; and
obtaining, via a transmission from the remote server, the one or more analog values.

### Claim 18 (depends on 17)

The device of claim 17, wherein the single first NFT incorporates the first hash value as a first hash identification code, and
wherein the instructions cause the one or more processors to:
receive, from a computer device, a validation request referencing the second NFT, the second NFT incorporating a second hash identification code;
generate a second hash value using the one or more analog values; and
responsive to determining that the second hash value matches the second hash identification code, transmit a message indicating validity of the second NFT to the computer device.

### Claim 19 (depends on 17)

The device of claim 17, wherein the blockchain operation request is a first blockchain operation request, and
wherein the instructions to store the one or more analog values cause the one or more processors to:
encrypt a uniform resource identifier (URI) using a public key associated with the cryptography-based storage application; and
generate a second blockchain operation request for inserting the encrypted URI into metadata of the single first NFT.

### Claim 20 (depends on 17)

The device of claim 17, wherein the instructions cause the one or more processors to:
decrypt an encrypted URI obtained from metadata of the single first NFT using the private cryptographic key associated with the cryptography-based storage application to obtain a URI; and
provide, using the URI, the one or more analog values.
