System and method for using code and image within blockchain
The integration of blockchain technology for product authentication and tracking addresses vulnerabilities in existing UPC systems, ensuring secure and transparent supply chain management by preventing duplication and theft.
Patent Information
- Application Number
- JP2025039235
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-10-10
- Filing Date
- 2025-03-12
- Publication Date
- 2025-07-15
AI Technical Summary
Existing systems for product identification and tracking using UPC codes are vulnerable to duplication, forgery, and theft, and lack efficient supply chain management, leading to logistical challenges and revenue loss.
A system utilizing blockchain technology to generate, verify, and store unique identifiers of physical objects within a distributed ledger, incorporating scanning and image capture to authenticate and track products from production to delivery, ensuring secure and transparent transaction records.
Prevents product duplication and misdelivery, enhances security by reducing the risk of theft and forgery, and provides transparent, efficient supply chain management through immutable transaction records.
Smart Images

Figure 2025106270000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a system and method for managing physical objects and physical identification objects with unique codes and patterns, and for applying blockchain technology when monitoring physical objects such as products from production to delivery.
Background Art
[0002] Patterns or codes such as barcodes are used in various industries to identify and track products. For example, the Universal Product Code (UPC) is widely used in many countries. As shown in FIG. 1, the first 6 to 9 digits of the UPC are called the company prefix. GS1, a non-profit organization, is a world standard organization regarding the identification of items / shipments and the administrator assignment of company prefixes. This number uniquely identifies the operator and always remains constant for all products of the operator. The next digit pair is called the product number and uniquely identifies each individual item. Unlike the GS1 company prefix, the product number is arbitrarily assigned by each operator. The 12th digit character is called the check digit and is calculated using a numerical calculation based on the first 11 digits of the UPC code. Global identifiers such as UPC barcodes facilitate the management of product information in a database, and by simply scanning the UPC barcode, a local store can easily obtain product information at the point of sale.
Summary of the Invention
Problems to be Solved by the Invention
[0003] A common mistake made by businesses is to create their own UPC numbers. No business can create its own UPC number. To scan a UPC code at the point of sale, the company prefix assigned by GS1, also known as the manufacturer prefix, must be included in the UPC code. However, all UPC codes are stored locally and independently in a database. Therefore, they are at risk of duplication, forgery, and / or theft. Also, it is logistically difficult to track each product if it goes off the supply chain track. In that case, the product is lost without anyone knowing and results in a loss of revenue.
Means for Solving the Problem
[0004] According to one embodiment of the present disclosure, an apparatus for authenticating the origin of a physical object includes a network device configured to receive logistic information of the physical object from a scanner that scans a code of the physical object; and one or more computing devices configured to generate, verify, and store blocks based on the logistic information and the scanned code. The one or more computing devices are disposed within a local area network and store a distributed ledger. The generated blocks are stored as part of the distributed ledger, and the code is a unique identifier of the physical object.
[0005] According to one embodiment of the present disclosure, a method for authenticating the origin of a physical object includes scanning a code of the physical object during transportation; transmitting the scanned code of the physical object and logistics information via the Internet; generating a block based on the scanned code and the logistics information by one or more computing devices; verifying the block by one or more computing devices; and storing the block as part of a distributed ledger stored in one or more computing devices. The one or more computing devices are disposed within a local area network, and the code is a unique identifier of the physical object.
[0006] One or more computer systems can be configured to perform a particular operation or action by having software, firmware, hardware, or a combination thereof installed on the system that causes the system to perform an action during operation. One or more computer programs can be configured to perform a particular operation or action by including instructions that cause an action to be performed by a data processing apparatus when executed. One general aspect includes an apparatus for authenticating the origin of a physical object, the apparatus including a network device configured to receive logistic information of the physical object from a scanner that scans a code of the physical object. The apparatus also includes one or more computing devices configured to generate, verify, and store blocks based on the logistic information and the scanned code. The apparatus also includes one or more computing devices disposed within a local area network. The apparatus also includes one or more computing devices that store a distributed ledger. The generated blocks can be stored as part of the distributed ledger. The code can be a unique identifier of the physical object. Other embodiments of this aspect include computer programs recorded on one or more computer storage devices configured to perform the actions of the corresponding computer system, apparatus, and method, respectively.
[0007] One general aspect includes a method for authenticating the origin of a physical object, the method including scanning a code of the physical object during transportation or at the time of creation. The method also includes transmitting, via the Internet, the scanned code of the physical object and logistics information. The method also includes generating or updating a block based on the scanned code and the logistics information by one or more computing devices. The method also includes verifying or authenticating the block by one or more computing devices. The method also includes storing the block as part of a distributed ledger stored on one or more computing devices. The one or more computing devices may be disposed within a local area network. The code may be a unique identifier of the physical object. Other embodiments of this aspect include a corresponding computer system, apparatus, and a computer program recorded on one or more computer storage devices configured to perform the actions of each method.
[0008] The implementation may include one or more of the following features. The code may be a QR code, bar code, serialized code, code or pattern etched on a physical object, or a material having a pattern embedded in a physical object and readable by irradiating with ultraviolet light, infrared light, blue light, or red light. The code to be scanned may be in digital form. The method may further include obtaining an image of the physical object or an object related to the physical object. The method may also include generating or updating a block to include the obtained image by one or more computing devices. The method may also include performing secondary verification based on an image of the physical object or an object related to the physical object. The physical object may be an identification document or passport, or the object related to the physical object may be a factory that manufactured the physical object, or an image of a person identified by an identification document or passport. The method may further include identifying or flagging information in a block that duplicates information in an existing block. The method may further include continuously updating a distributed ledger when the physical object is transported or used to verify a person's identity. The physical object may be currency, a teacup, clothing, glasses, pharmaceuticals, alcohol, tobacco, footwear, glasses, socks, underwear, toothpaste, a soda can, butane, hardware, plywood, a hammer, a teddy bear, a nail, topsoil, an object made by a 3D printer, a blueprint, a chicken, foodstuffs, a vehicle part, a container containing a liquid such as crude oil or gasoline, or any item that can be produced or manufactured. The method may further include determining whether all codes in a set of known codes have been scanned. The method may also include generating a message indicating that one or more physical objects have been lost or stolen when it is determined that not all codes in a set of known codes have been scanned. Implementations of the described technology may include hardware, a method or process, or computer software on a computer-accessible medium.
[0009] One general aspect includes a mobile device for obtaining information about products stored in a distributed ledger, the mobile device including an image capture device configured to capture an image of a product code to obtain a scanned code. The mobile device also includes a network interface configured to communicate with a server storing a distributed ledger for storing information of a plurality of products to obtain product information based on the scanned code. The mobile device also includes a display. The mobile device also includes one or more processors. The mobile device also includes a memory storing instructions that, when executed by the one or more processors, cause the display of the mobile device to be controlled to display a user interface. The user interface may include a plurality of items for displaying corresponding information of the product. Other embodiments of this aspect include one or more computer programs recorded on one or more computer storage devices configured to perform the actions of the corresponding computer systems, devices, and methods, respectively.
[0010] Implementations may include one or more of the following features. The code can be a one-dimensional or two-dimensional code. The two-dimensional code can be an Aztec code, a Data Matrix code, a PDF-417 code, or a QR code. The instructions, when executed by the one or more processors, can further cause the network interface to connect to a server at a predetermined Internet address. The information can include a manufacturer, a sale date, a product origin, an information creation date, an order number, an invoice number, payment details, a shipping date, a hash code, a shipment number, a delivery date, a customer identity, a warranty start date, a warranty end date, or warranty claim details. The mobile device can execute an Android or iOS operating system. The mobile device can display a warning that the code is invalid when the code does not match any information stored in the distributed ledger. Implementations of the described technology can include hardware, a method or process, or computer software on a computer-accessible medium.
[0011] One general aspect includes a method for obtaining product information stored in a distributed ledger, the method including scanning a product barcode. The method also includes communicating with a server that stores information for a plurality of products in the distributed ledger based on the scanned barcode. The method also includes retrieving product information from the server based on the scanned barcode when the server detects a matching product and transmits the product information. The method also includes displaying a warning when the information corresponding to the scanned barcode is not available on the server. The method also includes displaying a user interface that includes a plurality of items having corresponding information for the product. Other embodiments of this aspect include a corresponding computer system, apparatus, and a computer program recorded on one or more computer storage devices configured to perform the actions of the respective methods.
[0012] Implementations may include one or more of the following features. The scanned barcode may include information that leads to the Internet protocol address of the server. The scanned barcode may include the ID of the product stored in the distributed ledger. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
[0013] One general aspect includes a method for verifying the authenticity of a physical identification object, the method including storing a plurality of images and codes of the physical identification object in a blockchain present on one or more server devices. The method also includes obtaining a code from the physical identification object. The method also includes searching for a plurality of codes for the obtained code. The method also includes transmitting a read-only image of the physical identification object corresponding to the obtained code to a client device via a high-value data sharing protocol. The method also includes displaying the read-only image of the physical identification object corresponding to the obtained code. The method also includes receiving an input regarding whether the physical identification object is a valid identification document based on the read-only image of the physical identification object. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices configured to perform the actions of the respective methods.
[0014] The implementation may include one or more of the following features. This method may further include imaging or scanning at least a portion of a physical identification object. This method may also include comparing at least a portion of the imaged or scanned physical identification object to a read-only image of the physical identification object to determine whether the imaged or scanned physical identification object is genuine. This method may further include displaying an error message if the imaged or scanned physical identification object is determined to be not genuine. This method may further include displaying a scan screen to scan another physical identification object after determining whether the imaged or scanned physical identification object is genuine. This method may further include a step of obtaining a code, which includes imaging or scanning at least a portion of a physical identification object including the code and performing image recognition to determine a numeric or alphanumeric string corresponding to the code. The physical identification object may be a driver's license, a passport, a visa, a chip embedded in a document (parent-child relationship), a film within currency, a hologram, or a government identification document or card. The client device may be a mobile device, a smartphone, a tablet, a laptop, or a desktop computer. This method may further include comparing one or more features of at least a portion of the imaged or scanned physical identification object to one or more corresponding features of the read-only image of the physical identification object. The one or more features may include facial features or security features of a person's photograph. The code may be a QR code, a barcode, a serialized code, a chip, a code or pattern etched on a physical identification object, or a material having a pattern embedded in a physical identification object and readable by irradiating with ultraviolet light, infrared light, blue light, or red light. The implementation of the described technology may include hardware, a method or process, or computer software on a computer-accessible medium.
[0015] Some embodiments of the present disclosure will be described herein with reference to the accompanying drawings.
Brief Description of the Drawings
[0016]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28A
Figure 28B
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
Figure 37
DETAILED DESCRIPTION OF THE INVENTION
[0017] Some embodiments of the presently disclosed systems and methods for managing physical objects using blockchain technology will be described in detail with reference to the drawings. This system and method helps prevent duplication of products and reduce the risk of misdelivery of products. The system using this blockchain provides a secure service that enables tracking or monitoring products from production to delivery, similar to peer-to-peer connection, through product management. This blockchain system and method do not use cryptocurrencies, thus reducing the load on the system and network.
[0018] FIG. 1 is a graphical diagram showing a barcode and related information according to an embodiment of the present disclosure. The barcode is used to uniquely identify a product or other physical object as described above. It is contemplated that other codes such as QR codes, RFID, and bokode can be used instead of or in addition to the barcode. The barcode can be used to access a website and obtain additional information about the product by using blockchain technology. The website address can be composed of a barcode such as item-reference.checkdigit.company-domain-name.com. The address can be a URL, URI, or URN. Such information can be about the chain of custody, users, companies, invoices, origin, authorized retailers, authorized repairers, product recalls, warranty subscriptions, material safety data sheets, etc. Additional information can be added, including price comparison, one-click purchase, reviews, and social posts on Craigslist and eBay. If the codes of two notes match, counterfeit products can be easily identified and removed from circulation. By using unique product identification with blockchain, crimes and thefts can be easily identified, resolved, and reduced in the future.
[0019] If a stolen product ID in the blockchain is detected in the payment of daily necessities in the market and other public places, each authority can easily identify the person who stole it by declaring it non-functional.
[0020] As each banking transaction of the product ID in the blockchain, the currency note is scanned, and the details are updated in the core server for each scan, and it is possible to easily register the barcoded currency notes in circulation daily. The bank details, account number, and the location of the last transaction of the currency note can be easily traced, and by scanning the product ID on the blockchain currency note, the total number of currency notes can also be periodically verified and aggregated using the total number of printed and distributed currency notes.
[0021] In one embodiment, in the management system and method disclosed in the present disclosure, there is no incentive to run full nodes within the ecosystem. Generally, the rewards for an individual to run a full node help strengthen the network, enhance security, and speed up verification. Some rewards can be that the blockchain is used for a much wider range of assets than just cryptocurrencies. Looking at the cryptocurrency ledger, all the transactions that occurred can be confirmed, but the account information is a meaningless series of numbers. On the other hand, the compliance requirements within the supply chain management framework require that producers and end-users accurately know with whom they are transacting, which is one of the important rewards or advantages of blockchain technology.
[0022] In another embodiment, products that have not been used within a certain time or period are identified, and these products can be declared as black or hidden products. These products are replaced with the corresponding product IDs on the blockchain, and it is possible to prevent those who round assets to avoid taxation or seizure.
[0023] Figure 2 is a graphical diagram showing a blockchain as a service according to an embodiment of the present disclosure. The management system can be implemented as a blockchain as a service or as software as a service in an existing enterprise system. When a customer starts an order and sends it to employee A along with order information, employee A receives the order and prepares the product. The product may have a barcode as shown in FIG. 1 that can be scanned. Next, the product information is sent to the management system, and the management system updates and stores the product information using the blockchain in Hyperledger.
[0024] During the transportation of the product, employee B receives the product and scans the barcode attached to the product. When the scanned information is sent, information regarding the reception time, delivery time, location of the warehouse, etc. can be sent to the management system. Similar information can be sent to the management system by employee C at different locations and different times.
[0025] In one aspect, the driver of the truck can be notified when the product is on time or delayed. In this regard, the information regarding the product can include the delivery schedule or the estimated storage course based on the information stored in Hyperledger.
[0026] Figure 3 is a graphical diagram showing the flow of information using a mobile phone according to an embodiment of the present disclosure. A mobile device can be used to scan and send the barcode. Such a transmission can be considered a request for information stored in Hyperledger using the blockchain. When the mobile phone requests information regarding the product based on the scanned barcode, the management system can send the information regarding the product. In this way, the information of the product is updated, checked, and confirmed.
[0027] Figure 4 is a graphical diagram showing a cryptographic method according to an embodiment of the present disclosure. Each block recorded on the Hyperledger includes a hash code for maintaining security and claiming ownership of the corresponding barcode. A public key can be generated from the barcode and the hash address. All barcode clients can convert a human-friendly barcode address into a key hash-readable address.
[0028] For decrypting and coding security, a secret key can be used in Base58Check, such as a Hash256 address, called Cryptography Secret (also known as Wallet Import Format or simply WIF). Generally, a secret key is generated, the corresponding address is obtained, and the barcode is sent to that address.
[0029] Cryptography protects the records of blockchain transactions, each transaction is linked to the previous transaction or record, and blockchain transactions are confirmed by an algorithm on the node. Cryptography also protects IDs by using a public key infrastructure (PKI) and secures email, messaging applications, websites, and other forms of communication. PKI relies on a third-party certification authority (CA) for the issuance, revocation, and storage of key information. Since the blockchain replaces secrets with transparency and distributes evidence across many blockchain nodes, cryptography also protects the integrity of the data, making it virtually impossible to manipulate the data without being caught.
[0030] In one aspect, cryptography protects critical infrastructure. For example, the large-scale ransomware attack in May 2017 highlighted how easily hackers can take over entire infrastructures. A blockchain approach that stores DNS entries can improve security by removing a single target that a hacker could attack and put the entire system at risk.
[0031] In another aspect, the cryptographic method of the present disclosure is related to homomorphic encryption. The essence of homomorphic encryption is to enable the calculation of encrypted data before actual decryption. Currently, although the calculation of data can be performed, only those with the decryption key can access its content, so data privacy and transactions are protected.
[0032] In a further aspect, the cryptographic method of the present disclosure enables zero-knowledge proof. The essential interaction of the blockchain is protected through zero-knowledge proof, which is a cryptographic technique that requires two transaction parties, an authenticator, and a verifier to prove some propositions regarding transactions without having to disclose all of their information.
[0033] In a further aspect, all data and records stored in a database can be encrypted using a cryptographic method so that there are no problems with data security.
[0034] Figure 5 is a graphical diagram of a system according to an embodiment of the present disclosure. The system has a user interface and storage. The user interface is designed for various users. There are three main categories in the user interface: end-users, professional users, and smart contract / software administrators.
[0035] End-users are usually consumers. These users are expected to use mobile devices and applications dedicated to their solutions. Since it is expected to be a read-only application in the first place, they may not need to log in.
[0036] Consumers can scan barcodes or QR codes and access information related to that specific product. Depending on the solution selected, consumers can access all steps in the supply chain or only access the origin and description of the product (e.g., food).
[0037] Professional users are wholesalers, retailers, freight companies, farmers, and processing and packaging companies. Each professional user may have an interface integrated with the ERP system either through a mobile or desktop device or via a web browser. The user can obtain information about previous and next parties in the supply chain and information regarding the origin (source) of the product and various specifications of the product. In some cases, the user obtains more information than what the consumer requires. Ultimately, the user can obtain origin information and share it with the customer, which helps the consumer know that they are getting an authentic product.
[0038] The smart contract / software administrator manages the contracts of other users. If there are changes to the process or contract, such changes need to be made through this interface. The system governance can be composed of public institutions, enterprises, or groups of enterprises that have earned credibility in this regard.
[0039] In some aspects, the code of the smart contract can be open-source code, and thus changes can be seen by all parties involved and objections can be raised if there is a setup for this governance.
[0040] Storage saves the information added to the blockchain to a hyperledger stored on one or more servers existing within a local area network. The information may include contract verification, hash codes, and the ID of the person who added this information. For example, if a farmer takes a photo of a crop and adds it to the blockchain, the photo is uploaded to the blockchain and can be sufficiently transparent to the nodes within the blockchain, although the blockchain needs to store a large amount of information.
[0041] As shown in FIG. 6, the photograph may be uploaded to a separate database and be accessible via a blockchain, and the access may be restricted or public to all persons interacting with the blockchain. In another aspect, the photograph may be stored in a database owned or managed by the person or organization uploading the photograph but not accessible through the blockchain. Only the creator of the file or photograph can decide how and with whom to share the data.
[0042] FIGS. 7A - 7D show the layers of the architecture of a distributed ledger according to an embodiment of the present disclosure. A Hyperledger or distributed ledger may include three architecture layers, i.e., a ledger layer, a journal layer, and a communication layer, as shown in FIG. 7A. In some embodiments, the Hyperledger may be embedded in various media including a digital three - dimensional plan (e.g., a digital 3D plan of a gun, etc.).
[0043] The ledger is a data model layer of the conceptual semantics of the transaction type. The ledger is described as a conceptual layer because it is implemented as a specialization of the existing basic classes already present in the communication layer and the journal layer. In addition to some embedded system ledgers (such as an endpoint registry and an integer key registry as shown in FIG. 7B), creating a new transaction family is possible by implementing new classes in the ledger layer. The marketplace transaction family existing in the extended directory would be a good example of how the ledger layer can be extended.
[0044] Figure 7C shows the journal layer that handles consensus on the identifier block. The identifier refers to a transaction that is globally replicated. To verify a block, a node needs a copy of the transaction. In this way, the journal provides global consensus on the ordering of blocks, the ordering of transactions within a block, and the content of the transactions. The journal module may include a basic transaction class and a transaction block class, a consensus algorithm, a global store manager, and implementations of a block store and a key-value store.
[0045] The consensus mechanism can be Sawtooth Lake. The distributed ledger implemented by Sawtooth Lake may provide a unique mechanism to ensure the fairness of node selection. In some implementations, the Proof-of-Work competition among nodes is the consensus mechanism. In other implementations, the Proof-of-Elapsed-Time (PoET) algorithm is used for distributed consensus. PoET relies on a trusted execution environment (e.g., Intel's Software Guard Extensions (SGX)) to generate a fair and verifiable random waiting timer and a signed certificate of the expiration of the timer. This consensus mechanism can substantially reduce the computational and energy costs for ensuring fair distributed consensus.
[0046] The journal layer may include transactions and transaction blocks. A transaction is a set of updates that are automatically applied to the distributed ledger. Transactions define a data model and representation. For example, in the integer key transaction family, an integer key transaction is defined as a list of zero or more updates to key-value pairs. Related variables may wrap derived transaction objects in standard message objects. There may be message types for all or some of the transaction types.
[0047] A transaction block can be a set of transactions applied to a distributed ledger. Except for some specialized implementations of transaction blocks for consensus mechanisms, new transaction block types may not need to be created. Multiple transaction types may coexist on a single transaction block. Usually, there is a message type for each transaction block type.
[0048] Figure 7D shows a communication layer through which the gossip protocol enables communication between nodes. The gossip protocol may include protocol-level connection management and basic flow control. The communication layer further includes a token bucket, the implementation of which is used to limit the average transmission rate of messages. Peers in a gossip network are called nodes.
[0049] Messages are exchanged between nodes. A message can represent information sent and received by peers on a gossip network. Messages can be serialized and deserialized using a standard wire format (either CBOR or JSON). Message types can include transaction messages, transaction block messages, journal transfer messages, debug messages (log data), connection messages, shutdown messages, and topology messages. Messages are widely used across the architecture for both system communication (management messages or consensus messages) and transaction type-specific processing.
[0050] In one embodiment, a cloud service may be used instead of a gossip network. For example, this may be an Amazon web service that protects the network layer in case of problems with current network protocols and immediately displays hot spots. When used in the present disclosure, peer-to-peer means a node having an Internet connection with other peers in the blockchain, similar to people spreading gossip across a network of peers (friends, relatives, colleagues). Peers exchange their information (and confirm that all transactions and transaction blocks comply with protocol rules), and then save this. To confirm everything that has happened, all transactions from the beginning of the blockchain are required, so essentially all full nodes save the same data. This is what the gossip network layer does in the blockchain.
[0051] As described above, the creation of a new class in the distributed ledger layer may enable the addition of a transaction family. With the message processing and dispatch model, a new transaction family may be registered with the underlying journal consensus and global store mechanism, enabling any callbacks upon message arrival and during the lifetime of the transaction. If specialized transactions need to be saved, they can also be defined during initialization and added to the ledger.
[0052] FIG. 8 shows a flowchart illustrating steps of a method according to an embodiment of the present disclosure. The method begins by creating a barcode for a product. The barcode is then saved in a block, which is saved in a Hyperledger that uses a blockchain. The block may include a smart contract having information such as the manufacturing location, origin, processing date, and other information related to the manufacture of the product.
[0053] When an order is received from a client, an invoice number is issued. The client then pays the amount of the invoice. This transaction information is also recorded in a block based on the barcode printed on the product.
[0054] The product undergoes quality checks and is then shipped and transported to the client. At this point, a hash code for shipping can be generated along with the creation of a shipping number. The block may also include the scheduled delivery date. In one aspect, when the product is not being transported according to the scheduled or estimated schedule, a person (e.g., the delivery person, customer, manufacturer, etc.) can be notified.
[0055] The block can be updated with a copy of the customer's ID, the start date and end date of the warranty, and warranty claims. This list of information is provided as an example and is not intended to limit the scope of the present disclosure.
[0056] Figure 9 shows a screenshot depicting the icon of a mobile application according to an embodiment of the present disclosure. When a user of a mobile device downloads and installs the mobile application, the icon of the mobile application can be displayed on the screen of the mobile device. For example, the BOB-C scanner icon can be shown as in Figure 9.
[0057] The mobile application can be developed in Core Java with Google Android Studio and the Software Development Kit (SDK) for mobile devices operating on the Android operating system, or in Objective C with iOS Apple Xcode and the SDK for mobile devices operating on iOS.
[0058] When a user of a mobile device clicks or double-clicks on an icon, a mobile application can be executed and the first screen can be displayed as shown in FIG. 10. The first screen may include a scan button or instructions showing how to scan a barcode. When the user follows the instructions or presses the scan button, the mobile application controls the image capture device of the mobile device to capture an image of the barcode. Approval by the user may be required before or during scanning for the mobile application to control the image capture device.
[0059] FIG. 11 shows a screenshot of the mobile application when capturing a barcode. When the user captures the barcode of a product, the mobile application sends the scanned barcode to a central server storing the distributed ledger. The distributed ledger contains all information of the product, including identification information, transportation information, and management information.
[0060] In one aspect, when the barcode is captured, the mobile application may decode the barcode into alphanumeric characters. Further, the mobile application can use optical character recognition (OCR) to recognize the alphanumeric characters displayed under the barcode and check whether the decoded alphanumeric characters match the OCR'd alphanumeric characters. In this way, the mobile application can exclude products with non-matching barcodes and provide a warning that the scanned barcode is invalid.
[0061] In another aspect, the mobile application may transmit the alphanumeric characters decoded from the barcode as product information. When the mobile application transmits an image of the captured barcode, the central server may convert the image of the captured barcode into alphanumeric characters. The central server then checks whether the alphanumeric characters of the scanned barcode match the product identification information stored in the distributed ledger. When the information of the scanned barcode does not match any product, the central server notifies the mobile application of the mismatch. The mobile application then displays a warning as shown in FIG. 12. The user can exclude the product and scan the barcode of another product.
[0062] When the information of the scanned barcode matches the information in the distributed ledger, the central server sends the corresponding information of the matched product stored in the block of the distributed ledger to the mobile application. As shown in FIGS. 13A and 13B, the mobile application shows the information received from the central server beside the corresponding items such as Origin, BarCode, CreatedOn, Production date, Processing date, Order number, Invoice number, Payment details, Shipment date, Hash code, Shipment number, Delivery date, Customer ID, Warranty begin date, Warranty end date, and Warranty claim details. These information can be displayed on one or more web pages or screens. The information can be displayed in the user interface at the corresponding location on the screen. For example, the barcode and the creation date are shown in FIG. 13A. When the information cannot be fully displayed at the corresponding location, such information is not displayed at the corresponding location, but can be displayed when the user of the mobile application touches the item on the screen. In one aspect, the user of the mobile device can customize the items by adjusting the order of the items, or deleting or hiding the items.
[0063] In one aspect, when the information of a specific item is not stored in the distributed ledger, instead, an icon indicating that the information has not been stored yet is displayed at the corresponding location. For example, a short horizontal bar is shown on the right side of the rows of production date, processing date, invoice number, and delivery date.
[0064] Furthermore, a warning can be shown on the user interface of the mobile application. Regarding quality checks, if the quality check has not been performed, the word "UNCHECKED" is displayed in white on a red background to draw the user's attention. The shape, color, and words are provided for illustrative purposes only, and other forms can be appropriately used by those skilled in the art.
[0065] Figures 14A - 14E are exemplary user interfaces for accessing a system according to an embodiment of the present disclosure. As illustrated in Figure 14A, the user selects the REGISTER button 1402 to display the user registration window 1404. After entering the username, email address, and password, the user selects the GET STARTED button 1406 to continue the registration process.
[0066] After the GET STARTED button 1406 is selected, the authentication window 1410 is displayed as illustrated in Figure 14C, and an email message containing the authentication code is sent to the user's email as illustrated in Figure 14B. When the user enters the authentication code in the authentication window 1410 and selects the LET’S GO button 1412, the user is registered in the system, and can access the system by selecting the LOGIN button in Figure 14D, entering the email and password information in the login window, and selecting the NEXT button.
[0067] Figure 15 is an exemplary user interface showing a dashboard according to an embodiment of the present disclosure. This interface includes a menu with a plurality of menu items such as a Dashboard menu item, a Create Project menu item, a Create Product menu item, a Create Batch menu item, a Generate UPC Code menu item, a View UPC Code menu item, an Update UPC Code menu item, and a Users menu item. When a user logs in to the system, the interface of Figure 15 is shown. The dashboard shows the number of UPC codes, the number of projects, the number of products, and the number of system batches. The dashboard also shows the top several recently created UPC codes.
[0068] Figures 16A and 16B are exemplary user interfaces for creating a project within a system according to an embodiment of the present disclosure. The project is created by entering relevant information, such as a project name and a project description, within a Create Project window. The created project is listed in the Project Details section of the interface as illustrated in Figure 16B.
[0069] Figures 17A - 17C are exemplary user interfaces for creating a product within a system according to an embodiment of the present disclosure. The product is created by selecting the project to which the product is associated (e.g., via a pull - down menu) and entering relevant information, such as a product name and a product description, within a Create Product window. The created product is listed in the Product Details section of the interface as illustrated in Figure 17C.
[0070] Figures 18A - 18D are exemplary user interfaces for creating batches within a system according to an embodiment of the present disclosure. A batch is created within a batch creation window by selecting the project and product with which the batch is associated (e.g., via a pull - down menu) and entering relevant information such as a batch name, short code, and batch description. The created batch is listed in the batch details section of the interface as illustrated in Figure 18D.
[0071] Figures 19A - 19C are exemplary user interfaces for generating and printing UPC codes according to an embodiment of the present disclosure. A UPC code is created by selecting a project, product, and batch (e.g., via a pull - down menu), entering the number of the UPC code to be generated in the UPC code generation section of the interface in Figure 19A, and selecting the "GENERATE UPC CODE" button. The generated UPC code is listed in the UPC code details section of the interface as illustrated in Figure 19B. The user can select the view button for one of the UPC codes to display the UPC code image as illustrated in Figure 19C and print the UPC code image.
[0072] Figures 20A and 20B are exemplary user interfaces for displaying block information related to a UPC code within a system according to an embodiment of the present disclosure. The user interfaces of FIGS. 20A and 20B include a detailed display section of the UPC code (View UPC code - UPC code details), an image section of the UPC code (UPC CODE IMAGE), and a detailed section of the updated UPC code (Updated UPC code - UPC code details). The detailed display section of the UPC code includes general information about the generated UPC code, including the project name, product name, batch name, author, UPC code generation date, and the UPC code. The detailed section of the updated UPC code includes block information related to a specific physical product and fields of the corresponding generated UPC code, including the place of origin, manufacturing date, processing date, order number, invoice number, payment details, hash code, quality check, shipping date, shipping number, delivery date, customer identity, warranty start date, warranty end date, and warranty claim details.
[0073] In some implementations applied to collectibles or collector's items (e.g., art, comic books, currency, plates, figures, bells, dolls, weapons, or swords), the fields of the blockchain may include descriptive information about the collector's item and the grade of the collector's item (given by an appraiser or examiner recognized by the relevant industry).
[0074] In other embodiments, the user interfaces of FIGS. 20A and 20B can be configured for identification documents, such as a passport, driver's license, or other types of government-issued identification documents. The blockchain block for an identification document can include an image of all or part of the identification document instead of the UPC code image shown in FIG. 20A. The block can also include a related information field for entering or updating information extracted from or related to the identification document. In the case of a passport, the blockchain block can include an image of the person shown on the physical passport, the passport number, and information related to the person. In some embodiments, the image of the person is modified based on changes in the person's age, added to the blockchain, and can be displayed in a read-only form to assist government officials in accurately verifying the identity of the person.
[0075] FIGS. 21A-21E are exemplary user interfaces for updating block information related to a UPC code according to an embodiment of the present disclosure. As illustrated in FIG. 21A, the user enters a UPC code in the UPC Code field and selects the "CHECK AVAILABILITY" button to access the block information related to the UPC code. When the UPC code is generated for the first time, the information fields can be blank as illustrated in FIG. 21A. The user can manually enter one or more of the information fields by selecting the information fields, thereby displaying the user input field and the information field button. After the user enters appropriate text in the user input field and selects the information field button, the entered text is automatically entered into the information field related to the UPC code. For example, when the user selects the hash code field, the user input field and the hash code button are displayed. The user can then enter a hash code in the user input field and select the hash code button to automatically enter the entered hash code into the hash code field.
[0076] As illustrated in FIG. 21D, the user can select the View UPC Code menu button to display the information fields. FIG. 21D shows that the ORIGIN, INVOICE NUMBER, and HASH CODE fields are automatically populated. Other information fields may be automatically populated when a physical item with a UPC code is shipped and delivered to the customer. In some implementations, the information fields can be added by an administrator to meet the needs of a particular industry. For example, in some implementations that use more than one code or "hierarchical" codes, there may be two or more fields for the codes. In one implementation, one of the codes may correspond to a pattern on a physical item that is only readable by infrared or ultraviolet light. FIG. 21E illustrates the verification of the use of the code. As shown, when the code is entered and the CHECK AVAILABILITY button is selected, a double-check mark indicating that the code is in use and unavailable is displayed to the right of the ORIGIN text indicating the origin field. Also, in some implementations, when the user attempts to change or delete data in a field that contains previously entered data, the text and / or double-check mark indicating the field may change from black to red.
[0077] Figures 22A and 22B are exemplary user interfaces for displaying and adding users to a system according to an embodiment of the present disclosure. Figure 22A illustrates an interface having a section for listing current members and future members. Future members are members to whom an invitation message has been sent but who have not yet completed the registration process. A member can be added to the system by selecting the "ADD MEMBERS" button, which causes an invitation message window (labeled "Add Team Members") to be displayed. The user can then enter the name of the member to be added and the email address of the member to be added into the corresponding fields of the invitation message window. Optionally, the user can enter text into the message field of the "Add Team Members" window. The user can then send the invitation message by selecting the "SEND INVITATION" button. The member to be added can then follow a registration process similar to the registration process illustrated in Figures 14A - 14C.
[0078] Figures 23A - 23D are exemplary user interfaces for displaying the activity log of a user associated with a system according to an embodiment of the present disclosure. The activity log feature promotes transparency to ensure that members operate in an appropriate manner and do not compromise the security of the system. As illustrated in Figure 23A, the activity log interface includes a section for listing the users of the system and related information associated with the users, such as the user's name, email, phone number, creation date, API key, and role. By selecting the VIEW button corresponding to a user, the same or a different user can view the details associated with the user, as illustrated in Figure 23B. The user details can include, as illustrated in Figures 23B and 23C, UPC code, project, product, and batch information, the user's contact information, and login and logout information.
[0079] Figures 24A to 24D are exemplary user interfaces for displaying and creating tickets and exchanging messages within a system according to an embodiment of the present disclosure. When a user selects the "Tickets" menu button illustrated in FIG. 23D, the system displays a ticket interface that includes a section for listing tickets as illustrated in FIG. 24B and a button for adding a new ticket. Each ticket item in the section for listing tickets can be identified by a ticket identification number, subject, status, and creation date. When the user selects the button to add a new ticket, the system displays a ticket creation window that includes subject and message input fields where the user can enter appropriate text. The user then selects the SUBMIT button to add the ticket to the list displayed in the "All Ticket" section of the interface illustrated in FIG. 24B. As illustrated in FIGS. 24C and 24D, the ticket interface also includes a Ticket Conversation section where the user can send messages to each other regarding one or more tickets.
[0080] Figures 25A and 25B are exemplary user interfaces showing a dashboard for an administrator of a system according to an embodiment of the present disclosure. Figures 26A-26C are exemplary user interfaces for monitoring tickets and exchanging messages in a system according to an embodiment of the present disclosure. The user interfaces of Figures 25A-26C enable an administrator to monitor users of the system, inter alia, to ensure the integrity of the system and to ensure that the system operates efficiently. The administrator dashboards of Figures 25A and 25B include UPC codes, projects, products, and batch information for all users of a particular instance of the system, which may include one or more organizations, e.g., companies. The administrator dashboard may also show recently generated and updated UPC codes. As illustrated in Figures 26A-26C, the system also includes administrator ticketing features similar to the ticketing features illustrated in Figures 24A-24D. This enables an administrator to manage the ticketing process and provide input or guidance via the ticketing conversation features.
[0081] Some embodiments of the present disclosure can incorporate blockchain ID (e.g., government-issued ID) verification technology. The verification technology can use optical character recognition (OCR) technology with advanced logic that helps to identify and distinguish forged or fake IDs (e.g., government IDs) from genuine, properly issued IDs (e.g., legitimate government-issued IDs). The technology can include various portals and applications, including a management portal, an Android application, and / or an iOS application. In some embodiments, the identification system may be implemented, at least in part, by an Android or iOS application and is used to identify whether an ID is original or fake. The management portal can be the backbone of the system. In the management portal, an administrator uploads the details of the ID, which are provided by the government in the case of a government-issued ID. Although the present disclosure describes government-issued IDs, some embodiments of the present disclosure may also be applicable to other types of IDs.
[0082] The issued ID number serves as the master key. Thus, for example, all government-issued IDs have a unique master key. Details and activities of all government IDs are stored under the corresponding master key. In the management portal, an administrator can use Microsoft Excel, a CSV file, or one or more application programming interface (API) calls to upload details of government IDs. An API includes a set of routines, protocols, and tools for building software and applications. An API call represents a specific action that a client application can call at runtime to perform tasks such as querying data within an organization, adding, updating, and deleting data, retrieving metadata about data, or executing utilities for administrative tasks. The management portal may include a login, password change, and profile page. An administrator can update the profile as needed.
[0083] In one implementation, the blockchain government ID identification application may be published to a store (e.g., the Android Google Play Store or the iOS app store) and can be downloaded onto any mobile device (e.g., an Android or iOS mobile phone or smartphone). Only personnel authorized by the government are permitted to use the application.
[0084] The application base is strict and can include security against data breaches without leaking data externally. Only authorized IDs can obtain results. Data cannot be changed from the backend. Thus, the code used is obfuscated and protected so that no backend information (e.g., database name, server URL, encrypted values, etc.) leaks out. Thus, information outside these parameters cannot be collected or modified.
[0085] The read ID is secure as it is encrypted and pushed to the URL, and cannot be modified by hackers to generate fake data. The reading technology can be any reading technology known to those skilled in the art, including optical character recognition, which involves the electronic conversion of an image of typed, handwritten, or printed text into machine-encoded text. The features of this application include the quick and easy reading of the ID from the document and a direct jump to the decoded web address.
[0086] Government-issued IDs can be a birth certificate, a social security card, a state-issued driver's license or ID card, a Department of Defense ID card, or a permanent resident card. A birth certificate may include all or some of the following details: the name of the child; the names of the parents; the date, time, and place of birth; the city, state, and country of birth; and / or the footprint and / or fingerprint of the child. A social security card may include all or some of the following details: the name (as shown on the card); the full name at birth; the social security number; the place of birth; the date of birth; citizenship; voluntary response; gender; parent details; details of the parent's social security number; mailing address; digital signature; and / or the date of details of the social security issue. A state-issued driver's license or ID card may include all or some of the following details: the name; the type of license; the issue date; the expiration date; the image; the digital signature; the address; gender; height; vision; details of organ donation; the state; and / or the date of birth. A Department of Defense ID card may include all or some of the following details: the name; the digital photo; the digital signature; the expiration date; the federal identifier; the affiliation; the service / agent; the pay grade; the rank; the blood type; the Department of Defense (DoD) benefit number; the date of birth; the Geneva Convention category; and / or the DoD ID number. A permanent resident card may include all or some of the following details: the surname; the first name; USCIS; the date of birth; the country of birth; gender; the digital photo; the digital signature; the expiration date of the card; and / or the card number.
[0087] In some implementations, the blockchain government ID identification application can be used as follows. First, the application is installed from the application store. The application is opened and the camera permission is granted. The camera permission is required to read the ID. The permission can be requested immediately after the application is opened for the first time by the internal rules of the digital security features of the device. When the camera is opened, the ID is read. After the reading is successful, the ID application automatically displays the ID verification result page. Records are securely displayed from the backend to the mobile application. The application can be uninstalled and reinstalled at any time and anywhere if there is an active internet connection. By following these steps, the verification and authentication of the ID can be performed normally.
[0088] Figure 27 is a flowchart illustrating the operation of the blockchain ID proof identification application. After the start of the application, the ID number and / or text are scanned, for example, by OCR. Then, the application determines whether the ID is valid or invalid. If the ID is valid, the details of the ID proof are displayed. If the ID is invalid, an error message (for example, a message with the text "The ID proof is invalid") is displayed. Then, the application ends unless another ID proof needs to be scanned.
[0089] The Android application base can be developed in Core Java along with Google Android Studio and the SDK. The iOS application base can be developed in Objective C along with iOS APPLE Xcode and the SDK.
[0090] In some embodiments, the present disclosure features a system and method for passport identification using a barcode of blockchain technology with advanced logic that helps find forged or fake passports worldwide. The system includes an administrative portal and an application. An identification system is used to identify whether a passport or passport details are original or fake. The system can verify and authenticate whether a passport is original or fake using the application.
[0091] The administrative portal is the backbone of the system. In the administrative portal, an authorized administrator uploads passport details obtained from a Hybrid Value Data Protocol (HVDP) as illustrated in FIG. 28A.
[0092] The passport number serves as a master key. Thus, all passports have a unique master key based on a uniquely assigned number. All passport details and activities are stored under the corresponding master key. In the administrative portal, an authorized administrator can upload passport details using Microsoft Excel, a CSV file, or an API call from the Hybrid Value Data Protocol (HVDP). In June 2009, the governments of the United Kingdom, Canada, the United States, Australia, and New Zealand (five parliamentary countries) signed a joint agreement to promote the sharing of biometric data for immigration control purposes. Under the agreement, known as the Hybrid Value Data Sharing Protocol, each country shares a limited number of immigrant fingerprint records (approximately 3,000 per year per country) to cross-reference with the immigration control databases of other countries. If a match is detected, additional historical information is shared on a bilateral basis. The administrative portal includes a login, password change, and profile page. The administrator can update the profile.
[0093] The passport identification application can be publicly available on the application store and can be downloaded onto any mobile device. Only authorized persons are permitted to use the application. The application base is developed strongly and securely without leaking data externally, and only appropriate barcodes can be scanned to obtain results. Data cannot be scanned and modified from the backend. Therefore, the codes used are obfuscated and protected so that no backend information (such as database names, server URLs, encrypted values, etc.) leaks out. Therefore, information outside these parameters cannot be collected or modified.
[0094] The scanned barcodes are encrypted and pushed to a URL, so they are secure enough that hackers cannot modify them to generate fake data.
[0095] Two types of scanning technologies, 1D scan type and 2D scan type, can be used. The following are 1D scan types that can be used to scan barcodes and are globally supported 1D barcode standards: Add-2, Add-5, Australian Post 4-State Barcode, BCD Matrix, Codabar, Code-128, Code 2 of 5, Code 32, Code 39, Code 39 Extended, Code 93, Code 93 Extended, DataLogic 2 of 5, EAN 128, EAN-13, EAN-8, IATA 2 of 5 Industrial 2 of 5, Intelligent Mail, Interleaved 2 of 5, Inverted 2 of 5, Matrix 2 of 5 Patch Code, PostNet, Royal Post 4-State Barcode, UPC-A, and / or UPC-E.
[0096] The following are 2D scanner types used to scan barcodes in multiple dimensions, and these are the standard processes used to scan barcodes, encrypt them, and securely upload and retrieve data from the backend: Aztec, Data Matrix, PDF-417, or QR.
[0097] Details of passport verification may include all or some of the following: surname; given name; nationality; passport number; date of birth; place of birth; gender; date of issue; expiration date; digital image; digital signature; and / or a list of travel details.
[0098] The passport identification application can be used as follows: Install the application from the application store; Open the application and grant camera permissions; Once the camera is open, scan the barcode that needs to be scanned to obtain the desired result; After the scan is successful, the application automatically displays the barcode scan result page; All records are securely displayed from the backend to the mobile application; The application can be uninstalled and reinstalled anytime and anywhere if there is an active internet connection.
[0099] Figure 28B is a flowchart illustrating the operation of a blockchain passport system according to an embodiment of the present disclosure. After the application is opened, the barcode of the passport is scanned. Next, the application determines whether the passport is valid or invalid. If the passport is valid, user data and the image ID are obtained from the database, the user image in the save folder is detected using the image ID, and the details of the passport are displayed. If the ID is invalid, an error message (e.g., a message with the text "ID proof is invalid") is displayed. Then, the application ends unless another passport barcode needs to be scanned.
[0100] FIG. 29 is a flowchart illustrating the operation of a blockchain passport system according to another embodiment of the present disclosure. At 2902, in response to detecting a click by a user on an app icon displayed on the display of the mobile device, the mobile device starts a blockchain passport application. At 2904, the mobile device displays a scan button, and when the user clicks or selects this, as illustrated at 2906, the camera or other scan device of the mobile device scans the passport barcode or another type of code on an identification document (e.g., driver's license) to obtain the scanned code information. At 2908, using the scanned code information, a government server is searched for passport information corresponding to the scanned code information. The passport information may include an image of a person, an image of all or part of the passport document, or an electronic passport. At 2912, the mobile device securely accesses the passport information stored on the blockchain existing on the government server (e.g., via a high-value data sharing protocol) for read-only access using the scanned code information. The passport information includes an image of a valid passport. In one implementation, the mobile device displays the passport information so that the user can determine whether the passport is valid. In another implementation, the mobile device may scan a physical passport presented by a person to obtain an image of the physical passport and use it to compare with the image of the passport securely stored on the blockchain existing on the government server. After obtaining read-only access to the passport information and determining at 2912 that the passport is valid, the user may select the "Scan Item" button 2913 on the screen of the mobile device.
[0101] FIG. 30 is a system diagram of a blockchain identification system 3000 according to another embodiment of the present disclosure. The blockchain identification system 3000 includes a government server and / or a commercial server 3002, a blockchain server 3006, a computer 3010, a mobile device 3012, a smartphone or a smart card 3013, a camera 3015, an infrared or laser scanner 3017, a physical ID scanner 3018, a smart card ID 3019, and IDs 3020 and 3021. As illustrated, the government server and / or the commercial server 3002 may add ID information, license information, biometric data, or unique codes and / or patterns to an identification blockchain stored on the blockchain server 3006 by providing them to the blockchain server 3006. The blockchain stored on the blockchain server 3006 may be redundantly stored in the smartphone 3013 or the smart card ID 3019. The mobile device 3012 may be connected to or communicate with the physical ID scanner 3018 used to scan the unique code of the ID 3020 in another way. The unique code of the ID 3020 is used to access the blockchain corresponding to the unique code of the ID 3020. The mobile device 3012 can only access a read-only version of all or part of the information stored in the blockchain corresponding to the unique code of the ID 3020 to determine the validity of the ID 3020.
[0102] The computer 3010 may be connected to or communicate with the infrared or laser scanner 3018 used to scan the unique code of the smart card ID 3019 in another way. The unique code of the smart card ID 3019 is used to access the blockchain corresponding to the unique code of the smart card ID 3019. The computer 3010 can only access a read-only version of all or part of the information stored in the blockchain corresponding to the unique code of the smart card ID 3019 to determine the validity of the smart card ID 3019.
[0103] Computer 3010 can be connected or otherwise communicate with camera 3015 used to capture an image of a person's eyes, another characteristic of the person (e.g., the vein pattern on the palm of the person's hand), or all or part of ID 3021. The image is a unique image used to access the blockchain corresponding to the person.
[0104] FIG. 31 is a flowchart illustrating a method for determining the validity of a physical ID using a blockchain system according to an embodiment of the present disclosure. At block 3102, an image and code of the physical ID are stored in the blockchain. The physical ID can be a government-issued ID card or document, a smart card, a subcutaneous microchip, or a smartphone displaying an electronic ID. The image can be an image of the person displayed on the physical ID, or an image of all or part of the physical ID. At block 3104, a code or traceable digital identifier is obtained from the physical ID presented by the person. This can include a government official scanning the physical ID using a scanner device and reading out a code or traceable digital identifier from the physical ID.
[0105] In block 3106, the blockchain is searched to detect a stored code that matches the obtained code. If a match is detected, in block 3108, a read-only image of the physical ID corresponding to the obtained code is sent to the client device. The user of the client device can compare the read-only image of the physical ID with the physical ID presented by a person and input information regarding the validity of the physical ID presented by the person into the client device. In block 3110, an input regarding the validity of the physical ID is received at the client device. In block 3112, it is determined whether the input indicates that the physical ID is valid. If the input indicates that the physical ID is valid, in block 3113, a blockchain block including information regarding the validity determination and related transactions or events is added to the blockchain. If the input indicates that the physical ID is invalid, in block 3111, a blockchain block including information regarding the invalid physical ID and related transactions or events is added to the blockchain.
[0106] Figure 32 is a flowchart illustrating a method for determining the validity of a physical ID using a blockchain system according to another embodiment of the present disclosure. In block 3202, an image and a code of the physical ID are stored in the blockchain. The physical ID can be a government-issued ID card or document, a smart card, or a smartphone displaying an electronic ID. The image can be an image of the person displayed on the physical ID, or an image of all or part of the physical ID. In block 3204, a code or a traceable digital identifier is obtained from the physical ID presented by a person. This can include an employee scanning the physical ID using a scanner device and reading a code or a traceable digital identifier from the physical ID.
[0107] In block 3206, the blockchain is searched to detect a stored code that matches the obtained code. If a match is detected, in block 3208, an image of the physical ID presented by the person is captured. In block 3210, the image of the physical ID stored in the blockchain is compared with the captured image of the physical ID. In block 3112, it is determined whether the physical ID is valid based on the comparison. If the physical ID is valid, in block 3213, a blockchain block containing information about the validity determination and related transactions or events is added to the blockchain. If the input indicates that the physical ID is invalid, in block 3211, a blockchain block containing information about the invalid physical ID and related transactions or events is added to the blockchain.
[0108] FIG. 33 is a flowchart illustrating a method for determining the authenticity of a physical object using a blockchain system according to an embodiment of the present disclosure. At block 3302, a unique UV-readable pattern on the object is scanned by a UV scanner or reader. At block 3304, the scanned unique UV-readable pattern is converted into a unique binary code. At block 3306, the unique binary code is used to access a blockchain stored in a distributed ledger or in a computer chip placed or incorporated in the physical object. At block 3308, an image of the object stored in the blockchain is accessed or retrieved. At block 3310, the image of the physical object stored in the blockchain is compared with the physical object. At block 3312, based on the comparison, it is determined whether the physical object is genuine. If it is determined that the physical object is genuine, at block 3313, a blockchain block containing information about the authenticity determination and related transactions or events is added to the blockchain. If it is determined that the physical object is not genuine, at block 3311, a blockchain block containing information about the non-authenticity of the physical object and related transactions or events is added to the blockchain.
[0109] FIG. 34 is a flowchart illustrating a method of using an ID smart card or document according to an embodiment of the present disclosure. The ID smart card or document can be used to check the authenticity of an ID or verify an age for a transaction (e.g., purchase of alcohol or rental of a car). In block 3412, in response to the smart card receiving a request to read the blockchain stored on the smart card, the user is prompted to enter a code into a smart card reader. In decision block 3404, it is determined whether the code is valid. The code can be stored in a block of the blockchain and can be a unique code. If the code is not valid, it is determined whether the code has been entered a predetermined number of times, e.g., 3 or 4 times. If the code has been entered the predetermined number of times, in block 3408, the blockchain is erased from the memory of the smart card. In other implementations, all data in a memory including volatile and non-volatile memory is erased, or access to the blockchain or data is restricted. If the code has not been entered the predetermined number of times, in block 3402, the smart card prompts the user again to enter the code into the smart card reader.
[0110] If the code is determined to be valid in block 3404, in block 3410, an image of the user is captured and, in 3412, the captured image is compared with the image of the user stored in the blockchain. If it is determined in 3414 that there is no match, in block 3408, the blockchain is erased from the memory. If there is a match, in block 3416, an indication that the smart ID is valid is sent to an audio / visual device. In some implementations, the indication or alert can be an audio indication, e.g., a chirping sound, or a visual indication, e.g., a text message or image indicating the validity of the smart ID. In block 3418, a block including the captured image and information regarding the event is added to the blockchain.
[0111] An ID event includes checking the authenticity of a physical ID (e.g., a smart card ID) or verifying the age for a transaction (e.g., purchasing alcohol or renting a car). If an ID event exists, at block 3413, a block containing information about the event, ID information, and an image is added to the blockchain. Then, before proceeding to determine whether another ID event has occurred, if the physical ID is invalid, an alarm is issued and a block containing information about the invalidity of the physical ID is added to the blockchain at block 3415.
[0112] FIG. 35 is a block diagram illustrating the formation of an identity blockchain over a part of a life according to an embodiment of the present disclosure. In life, each event 3500 triggers the creation of another block in the identity blockchain 3500. At birth 3510, the first block 3511 of the identity blockchain 3511 is created. Block 3511 includes a unique identification item, e.g., an image of a footprint 3512, and identification information 3514, e.g., the name of the person, the names of the person's parents, date of birth, place of birth, etc. The next event may be registration with the social security system 3520, in which case another block 3521 is created that includes other unique identification items, e.g., a photo 3522 and a social security number 3526 or code, and a cryptographic hash value 3524 that is a fixed-size alphanumeric string obtained by inputting block 3511 into a cryptographic hash function.
[0113] The next event may be the issuance of a passport 3530, in which case another block 3531 is created that includes unique identification items, e.g., an updated photo 3532, fingerprints 3536, and a passport number 3538, and the cryptographic hash value 3524 obtained by inputting block 3521 into a cryptographic hash function. As illustrated by block 3531, multiple unique identification items can be hierarchically arranged in a single block. In some blocks, there may be no unique identification items. For example, the event may simply be adding transaction information, in which case a block containing only the updated transaction information will be created.
[0114] The next event may be a departure or return 3540, in which case, (a) a unique identification item, such as a photo 3542 taken by a government official or kiosk at a government checkpoint and another fingerprint 3546, (b) travel information 3548 (which may include destination information), and (c) a cryptographic hash value 3544 obtained by inputting block 3531 into a cryptographic hash function, another block 3541 is created. The next event may be the issuance of a driver's license 3550, in which case, (a) a unique identification item, such as a photo 3552 taken by a driver's license center staff, (b) driver's license information 3556 that may include the type of license, address information, or organ donation information, and (c) a cryptographic hash value 3554 obtained by inputting block 3541 into a cryptographic hash function, another block 3551 is created.
[0115] The next event may be a visit to a doctor 3560, in which case, (a) a photo of the injury 3562, (b) health information 3566 that may include a recent diet history, recent sleep history, recent physical activity, or updated allergy information, and (c) a cryptographic hash value 3564 obtained by inputting block 3551 into a cryptographic hash function, another block 3561 is created.
[0116] FIG. 36 is a block diagram of a mobile device 3600 according to an embodiment of the present disclosure. The mobile device 3600 includes a central processing unit (CPU) 3605, a memory 3610, a display 3621, a camera 3623, and a communication interface 3620. The memory 3610 may store an electronic ID and / or optionally a blockchain 3615. If the mobile device 3600 cannot access a server or cloud to add one or more blocks to the blockchain, one or more blocks may be added to the blockchain 3615, and when the mobile device 3600 becomes able to access a server or cloud, the new blockchain 3615 may be used to update the blockchain stored in the server or cloud.
[0117] FIG. 37 is a block diagram of a smart card 3700 according to an embodiment of the present disclosure. The smart card 3700 has a plurality of contacts including input / output contacts 3702 and power contacts 3704. The smart card 3700 also includes a processor 3705 and a memory 3710. The input / output contacts 3702 are used to communicate messages between the processor 3705, which may have input / output contacts (not shown) configured to connect to the input / output contacts 3702, and a card reader (not shown). The card reader provides power to the processor 3705 and the memory 3710 via the power contacts 3704. Similar to the mobile device 3600 of FIG. 36, the memory 3710 can store a blockchain 3715, which can provide redundancy. The smart card 3700 can be used as an ID card, which can serve as a passport or a driver's license. In some embodiments, the smart card 3700 can incorporate features or means to counter attacks on the smart card 3700 attempting to extract information from the memory 3710. The smart card can include a sensor 3720 that senses an attack and causes the processor 3705 to erase all the data stored in the memory 3710 or restrict access to all or part of the data stored in the memory 3710. The sensor 3720 can be a sensor that senses an abnormal environment or an environment in which the smart card is typically placed for an attacker to start an attack to extract information from the smart card. The sensor 3720 can be a photosensitive sensor. Alternatively, the sensor 3720 can be a grid or pattern of wires, traces, or other types of conductive materials disposed on or adjacent to the microchip, which, when cut, altered, damaged, or otherwise manipulated, causes the processor 3705 to erase all the data stored in the memory 3710 or restrict access to all or part of the data stored in the memory 3710.
[0118] The management systems and methods of the present disclosure may be applicable to healthcare, education, government, warehouses, defense, oil and gas, utilities, telecommunications and cable, manufacturing, on-board ships, and vessels, among others.
[0119] Smart contracts of blockchain can be written in ASP.NET, an open-source server-side web application framework designed for web development to generate dynamic web pages. C# can be another multi-paradigm programming language that includes strongly typed, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming fields. It was developed by Microsoft within its.NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO / IEC 23270:2006). C# is one of the programming languages designed for the Common Language Infrastructure.
[0120] In some embodiments, a replicated blockchain is stored on a computer chip to provide another layer of security. The replicated blockchain may be called a copy of the blockchain or a child blockchain of the parent or original blockchain. Information within the child blockchain can be accessed by using a child key that can be canceled by a parent key associated with the parent blockchain stored on one or more servers.
[0121] In some embodiments, the code is a QR code, barcode, serialized code, code or pattern etched on a physical object, or a material having a pattern embedded in a physical object and readable by irradiating ultraviolet light, infrared light, blue light, or red light. In some embodiments, the code or pattern is incorporated into security features of a physical identification document, such as biometrics or patterns readable by light of various wavelengths. For example, the system may use an infrared camera or infrared sensor to read the code of the security features of a passport.
[0122] In some embodiments, to enhance the security of information stored on the blockchain, multiple codes may be hierarchically arranged or stacked. For example, one code may be read using blue laser light, and another code may be read using ultraviolet laser light. In some implementations, the codes are read by various systems.
[0123] In an embodiment where a user manually compares a physical identification document with a read-only version of an image of the physical identification document, if the user determines that the physical identification document is invalid, the user, such as a government official, may perform a gesture at the user interface to add a flag and / or an explanation related to the invalidation determination to the blockchain. In this way, for example, the system can track people who are misusing a social security number, such as that of a deceased person.
[0124] In some embodiments, the system can perform image processing to generate an age-adjusted image of a person based on the original image stored in a block of the blockchain related to the identification document. This age-adjusted image can be added to the blockchain. Face recognition technology can then be used to compare the existing image of the person with the age-adjusted image to determine whether the physical identification document is genuine. This may be particularly useful for old passports that may not accurately reflect current facial features.
[0125] Some embodiments of the present disclosure may be applied to historical heritage, such as coins, to determine whether the historical heritage is a forgery. For example, a painting can be authenticated by scanning the painting with a laser beam, such as an infrared or blue light, to read one or more unique codes, patterns, or other information within the painting. The blockchain of the painting can be stored on a computer chip embedded in the painting. The blockchain may include an image of the painting or other electronic depiction. The painting may be more valuable because it includes blockchain information used to verify the authenticity and / or origin of the painting. The unique information stored in the blockchain of the painting may include multiple codes or patterns or biometric information that can be stacked to enhance security. Since the unique identification information stacked within the blockchain is immutable, it can make related smart contracts much more enforceable.
[0126] In some embodiments, the system may require the user to use two-way authentication technology to access, display, and / or update blockchain information to ensure the security and reliability of the blockchain information. For example, the user may need to log in to an account and enter a code sent to a smart device that is known to be recorded and associated with the user.
[0127] Some embodiments of the present disclosure may be used to verify the records and / or histories of prospective job applicants or prospective tenants. For example, a landlord or employer can also scan information from a driver's license or passport to obtain information that gives the landlord or employer a more accurate understanding of the background of a prospective tenant or employee. Blockchain information may also be useful when granting access to a predetermined area or room within a building using an RFID carried by a user.
[0128] The blockchain may include a medical history that can be updated each time a user visits a doctor or other medical professional. This blockchain may be present on a computer chip on a card. For example, the blockchain information may be used to automatically notify, such as the Social Security Administration, when a person dies in order to cancel the Social Security number and prevent its unauthorized use.
[0129] Some embodiments of the present disclosure may be applied to various physical objects including currency, teacups, clothing, eyewear, pharmaceuticals, alcohol, tobacco, footwear, eyewear, socks, underwear, toothpaste, soda cans, butane, hardware, plywood, hammers, teddy bears, nails, topsoil, chickens, foodstuffs, containers filled with liquids such as crude oil or gasoline, any item that can be produced or manufactured, and the like.
[0130] It will be understood that various modifications may be made to the embodiments of the adapter assembly presently disclosed. Accordingly, the above description should not be construed as limiting, but rather as merely illustrative of embodiments. Those skilled in the art will envision other modifications within the scope and spirit of the present disclosure.
Claims
1. An apparatus for authenticating the origin of a physical object, comprising: a network device, and one or more computing devices wherein the network device is configured to receive the logistic information and an image of the physical object from a scanner that scans a unique pattern of the physical object and converts the scanned unique pattern into a unique binary code; wherein the one or more computing devices are configured to perform the following processes: transmit the unique binary code, the logistic information, and the image of the physical object via the Internet; update a block based on the unique binary code, the logistic information, and the image of the physical object; verify or authenticate the block; store the block as part of a distributed ledger; access the block using the unique binary code; access the image of the physical object stored in the block; verify the authentication of the physical object based on the image of the physical object stored in the block by comparing the actual physical object with the image of the physical object stored in the block in response to accessing the block using the unique binary code; wherein the one or more computing devices are arranged within a local area network; wherein the one or more computing devices store the distributed ledger; wherein the updated block is stored as part of the distributed ledger; wherein the unique binary code is a unique identifier of the physical object, the apparatus.
2. A method for authenticating the origin of a physical object, comprising: step a of scanning a unique pattern of the physical object at the time of creation of the physical object; step b of converting the unique pattern into a unique binary code; step c of transmitting the unique binary code, the logistic information, and the image of the physical object via the Internet; step d of updating a block based on the unique binary code, the logistic information, and the image of the physical object by one or more computing devices; step e of verifying or authenticating the block by one or more computing devices; step f of storing the block as part of a distributed ledger stored in the one or more computing devices; step g of scanning the pattern of the physical object; step h of converting the unique pattern into a unique binary code; step i of accessing the block using the unique binary code; step j of accessing the image of the physical object stored in the block; step k of verifying the authentication of the physical object based on the image of the physical object stored in the block by comparing the actual physical object with the image of the physical object stored in the block in response to accessing the block using the unique binary code, wherein the one or more computing devices are arranged within a local area network; wherein the unique binary code is a unique identifier of the physical object, Method.
3. wherein the pattern is etched on the physical object or wherein the pattern is a material embedded in the physical object and is a material readable by irradiating with ultraviolet light, infrared light, blue light, or red light, the method according to claim 2.
4. The method according to claim 2, wherein the unique binary code is in digital form.
5. step of obtaining an image of the physical object; step of generating or updating the block by the one or more computing devices to include the obtained image; step of performing secondary verification based on the image of the physical object; The method according to claim 2, further comprising.
6. The method according to claim 5, wherein the physical object is an identification document or a passport, or an image of a person identified by the identification document or the passport.
7. The method according to claim 2, further comprising identifying or flagging information in a block that duplicates information in an existing block.
8. The method according to claim 2, further comprising continuously updating the distributed ledger when the physical object is transported or used to verify the identity of a person.
9. The method according to claim 2, wherein the physical object is currency, a teacup, clothing, glasses, pharmaceuticals, alcohol, tobacco, footwear, glasses, socks, underwear, toothpaste, a soda can, butane, hardware, plywood, a hammer, a teddy bear, a nail, topsoil, an object made by a 3D printer, a blueprint, a chicken, foodstuffs, a vehicle part, a vehicle part used as a means of transportation, a container containing a liquid such as crude oil or gasoline, an archaeological item, an item for trading, a coin, a comic book, or any item that can be produced or manufactured.
10. Determining whether all codes in a set of known codes have been scanned; Generating a message indicating that one or more physical objects have been lost or stolen when it is determined that not all codes in the set of known codes have been scanned; The method according to claim 2, further comprising:
11. The method according to claim 2, wherein the unique pattern is a one-dimensional or two-dimensional unique pattern.
12. The mobile device according to claim 2, wherein the logistics information includes a manufacturer, a sales date, a place of origin of the product, a logistics information creation date, an order number, an invoice number, payment details, a shipping date, a hash code, a shipment number, a delivery date, customer identity, a warranty start date, a warranty end date, or warranty claim details.
13. The method according to claim 2, wherein the unique binary code includes information leading to the Internet protocol address of a server.
14. The method according to claim 2, wherein the physical object is a product and the unique binary code includes the ID of the product stored in the distributed ledger.
Citation Information
Patent Citations
Two-dimensional code based block chain logistics source-tracing tracking and anti-counterfeiting method
CN107220836A
Block-chain-based anti-counterfeiting network system
CN107705134A
Duplication detection device, duplication detection method, and duplication detection program
JP2018022258A
Digital fingerprinting object authentication and Anti-counterfeiting system
US20150117701A1
System and Method for Block-Chain Verification of Goods
US20160098730A1