Systems and methods for using codes and images within a blockchain
View Patent ↗Systems and methods allow customers to verify the authenticity or provenance of physical objects before purchasing or obtaining the physical objects. The methods involve scanning a code of or a pattern embedded or incorporated in a physical object in transit or upon creation, transmitting the scanned code and information of the physical object through the Internet, generating or updating a block based on the scanned code and the information, verifying or authenticating the block, and storing the block as an immutable part of a distributed ledger. The code or pattern is a unique identifier of the physical object. The methods may include capturing an image of the physical object (e.g., an identification card, document, or passport) or an object associated with the physical object to be used for secondary verification and generating or updating the block so as to include the obtained image in the block of the blockchain.
1 . An apparatus for authenticating provenance of physical objects, the apparatus comprising:
a network device configured to receive logistic information and an image of a physical object from a scanner, which scans a pattern on the physical object and translates the scanned pattern to a scanned code; and
one or more computing devices configured to:
transmit the scanned code, the logistic information, and the image of the physical object through the Internet;
update a block based on the scanned code, the logistic information, and the image of the physical object;
verify or authenticate the block;
store the block as a part of a distributed ledger;
obtain another image of the physical object;
generate or update, by the one or more computing devices, the block so as to include the obtained image;
perform secondary verification based on the obtained image of the physical object;
use the scanned code to access the block;
access the image of the physical object stored in the block; and
in response to using the scanned code to access the block, verify the authenticity of an actual physical object based on the image of the physical object stored in the block by comparing the image of the physical object stored in the block to an image of the actual physical object,
wherein the one or more computing devices are further configured to verify integrity of the image of the physical object stored in the block using a cryptographic hash value obtained by inputting a previous block to a cryptographic hash function,
wherein the comparing includes detecting features readable by illuminating the physical object with ultraviolet light, infrared light, blue light, or red light,
wherein the one or more computing devices are positioned within a local area network,
wherein the one or more computing devices store the distributed ledger,
wherein the updated block is saved as a part of the distributed ledger, and
wherein the scanned code is a unique identifier of the physical object.
2 . A method for authenticating provenance of physical objects, the method comprising:
scanning a pattern on a physical object upon creation of the physical object;
translating the scanned pattern to a scanned code;
transmitting the scanned code, logistic information, and an image of the physical object or an image of an object associated with the physical object through the Internet;
updating, by one or more computing devices, a block based on the scanned code, the logistic information, and the image of the physical object or the image of the object associated with the physical object;
verifying or authenticating, by one or more computing devices, the block;
storing the block as a part of a distributed ledger, which is saved in the one or more computing devices;
obtaining another image of the physical object;
generating or updating, by the one or more computing devices, the block so as to include the obtained image;
performing secondary verification based on the obtained image of the physical object;
scanning the pattern on the physical object;
translating the scanned pattern to the scanned code;
using the scanned code to access the block;
accessing the image of the physical object stored in the block; and
in response to using the scanned code to access the block, verifying the authenticity of an actual physical object based on the image of the physical object stored in the block by comparing the image of the physical object stored in the block to an image of the actual physical object, wherein verifying the authenticity includes verifying integrity of the image of the physical object stored in the block using a cryptographic hash value obtained by inputting a prior block to a cryptographic hash function, and detecting features using a material embedded in the physical object that is readable by illuminating the material with ultraviolet light, infrared light, blue light, or red light,
wherein the one or more computing devices are positioned within a local area network, and
wherein the scanned code is a unique identifier of the physical object.
3 . The method according to claim 2 , wherein the pattern is a one-dimensional or two-dimensional pattern, and
wherein the pattern is readable by illuminating the material with ultraviolet light, infrared light, blue light, or red light.
4 . The method according to claim 2 , wherein the logistic information includes a manufacturer, a date of sale, origin of the physical object, a date of creating the logistic information, an order number, an invoice number, payment details, shipping date, hash code, shipment number, delivery date, customer identification, warranty begin date, warranty end date, or warranty claim details, and
wherein the logistic information includes information provided by a manufacturer, issuer, or authority, and the block includes a cryptographic hash value obtained by inputting a previous block to a cryptographic hash function, the cryptographic hash value verifying authenticity or origin of the physical object.
5 . The method according to claim 4 , further comprising displaying a warning that the code is invalid when the code does not match any logistic information saved in the distributed ledger.
6 . The method according to claim 2 , wherein the scanned code includes a piece of information, which leads to an Internet Protocol address of a server.
7 . The method according to claim 2 , wherein the physical object is a product, and
wherein the scanned code includes an identification of the product, which is saved in the distributed ledger.
8 . The method according to claim 2 , wherein the pattern is etched in the physical object or is a material embedded in the physical object and is readable by illuminating the material with ultraviolet light, infrared light, blue light, or red light.
9 . The method according to claim 2 , wherein the scanned code is in digital form.
10 . The method according to claim 2 , wherein the physical object is an identification document or a passport, or is an image of a person identified in the identification document or the passport.
11 . The method according to claim 2 , further comprising identifying or flagging information in blocks that is duplicative of information in existing blocks.
12 . The method according to claim 2 , further comprising continuously updating the distributed ledger as the physical object is transported or used to verify the identity of a person.
13 . The method according to claim 2 , wherein the physical object is currency, teacups, clothing, eyewear, pharmaceuticals, alcohol, tobacco, footwear, eyewear, socks, underwear, toothpaste, soda cans, butane, hardware, plywood, hammers, rakes, nails, topsoil, a three-dimensional printed object, blueprints, chickens, foodstuffs, components of a vehicle, components of a vehicle used as a mode of transportation, containers holding crude oil or gasoline, archeological items, traded items, coins, or comic books.
14 . The method according to claim 2 , further comprising:
determining whether all codes of a set of known codes are scanned; and
generating a message indicating that one or more physical objects are lost or stolen, when it is determined that not all codes of the set of known codes are scanned.
15 . The apparatus according to claim 1 , wherein each block stored in the distributed ledger includes a cryptographic hash value obtained by inputting a previous block to a cryptographic hash function, the cryptographic hash value being used to verify the integrity of the block chain.
16 . The apparatus according to claim 1 , wherein the scanned code comprises a plurality of codes layered or stacked together, each code being readable by illuminating the physical object with a different light spectrum.
17 . The apparatus according to claim 1 , wherein the one or more computing devices are configured to add a block to a local version of a blockchain stored on a mobile device, and to synchronize the added block with a server-based blockchain upon reestablishing connectivity.
18 . The apparatus according to claim 1 , further comprising a sensor configured to detect tampering or abnormal environmental conditions, wherein detection of tampering causes the apparatus to erase or restrict access to data stored in memory.
19 . An apparatus for authenticating provenance of physical objects, the apparatus comprising:
a network device configured to receive logistic information and an image of a physical object from a scanner, which scans a pattern on the physical object and translates the scanned pattern to a scanned code; and
one or more computing devices configured to:
transmit the scanned code, the logistic information, and the image of the physical object through the Internet;
update a block based on the scanned code, the logistic information, and the image of the physical object;
verify or authenticate the block;
store the block as a part of a distributed ledger;
obtain another image of the physical object;
generate or update the block so as to include the obtained image;
perform secondary verification based on the obtained image of the physical object;
use the scanned code to access the block;
access the image of the physical object stored in the block; and
verify the authenticity of an actual physical object based on a comparison between the image of the physical object stored in the block and an image of the actual physical object,
wherein the one or more computing devices are further configured to enforce image-capture integrity by permitting inclusion of images in the distributed ledger when the images are generated by the scanner operating within a local area network,
wherein the block includes a cryptographic hash value obtained by inputting a previous block to a cryptographic hash function, the cryptographic hash value binding the image to an ordered sequence of blocks such that modification of the image is detectable during block verification,
wherein the comparison includes detecting features readable by illuminating the physical object with ultraviolet light, infrared light, blue light, or red light,
wherein the one or more computing devices are positioned within the local area network,
wherein the one or more computing devices store the distributed ledger,
wherein the updated block is saved as a part of the distributed ledger, and
wherein the scanned code is a unique identifier of the physical object.
20 . The method of claim 2 , wherein updating the block comprises generating a cryptographic hash that references a prior block and an externally stored image associated with the physical object such that the distributed ledger stores a tamper-evident reference to the image without storing the image data itself, and
wherein verifying the block includes validating block order and integrity across multiple computing devices within the local area network before committing the block to the distributed ledger.