System and method for blockchain-based non-homogenous token (NFT) authentication
By using a dynamic NFT system based on blockchain during user guidance, the problems of resistance and data leakage risks during user guidance are solved, and the effects of simplified user guidance and high data security are achieved.
Patent Information
- Application Number
- CN202380061419.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-28
- Filing Date
- 2023-04-14
- Publication Date
- 2025-06-03
AI Technical Summary
The prior art has resistance in the user guidance process, resulting in high user churn rate, and due to the risk of data breach, users are unwilling to store personal and financial information on a centralized server.
Using a blockchain-based dynamic non-fungible token (NFT) system, users' biometric data are captured through sensors of mobile devices, encoded to generate dynamic NFTs, and stored on a distributed blockchain for multiple service providers to authenticate users.
A simplified user boot process is realized, reducing user churn rate, and significantly reducing data leakage risks by scattered storage of dynamic NFTs, providing higher data security.
Smart Images

Figure CN120092241A_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims priority to U.S. Application No. 18 / 050,631, filed on October 28, 2022, which is a continuation of U.S. Application No. 17 / 894,869, filed on August 24, 2022, and both are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure generally relates to transaction authentication mechanisms and, more particularly, to systems and methods for blockchain - based non - fungible token (NFT) authentication. Background Art
[0004] Service providers (e.g., financial institutions) may sometimes have a high user churn rate due to resistance during the onboarding process. Typically, users attempt to register on a service provider's website; however, due to the length of the required fields, they may be reluctant to complete the registration process. For example, users need to manually enter personal and financial information into a long list of input fields. In the case of increasingly frequent data breaches, for security reasons, users are sometimes reluctant to leave their personal and financial credentials on centralized servers across various service provider platforms. Such requirements to manually enter personal and financial credentials into centralized servers across several platforms may deter some users prematurely, leading to abandonment of the registration process and online transactions.
[0005] Accordingly, there is a need to provide systems and methods for a simple and secure onboarding process to reduce resistance during user onboarding and also provide enhanced data security. Summary of the Invention
[0006] According to certain aspects of the present disclosure, systems and methods for generating blockchain - based dynamic non - fungible tokens (NFTs) for user authentication are disclosed.
[0007] In one embodiment, a system for generating dynamic NFTs for authenticating one or more users is disclosed. The system includes a mobile device that includes: one or more sensors configured to capture images or videos; at least one memory storing instructions; and one or more processors operably connected to the one or more sensors and the at least one memory and configured to execute the instructions to perform operations, the operations including: receiving at least one request from one or more mobile devices associated with one or more users; capturing, via the one or more sensors, one or more images, one or more videos, or a combination thereof, identification data associated with the one or more users, or a combination thereof; processing the one or more images, one or more videos, or a combination thereof to detect biometric data unique to the one or more users; encoding the detected biometric data for generating a dynamic NFT; storing the dynamic NFT on a transaction block of a distributed blockchain, wherein the dynamic NFT is associated with a programmable-defined smart contract written to the distributed blockchain; and sending the dynamic NFT to multiple service providers for authenticating the one or more users.
[0008] According to another embodiment, a computer-implemented method for generating dynamic NFTs for authenticating one or more users is disclosed. The computer-implemented method includes: receiving at least one request from one or more mobile devices associated with one or more users; capturing, via the one or more sensors, one or more images, one or more videos, or a combination thereof, identification data associated with the one or more users, or a combination thereof; processing the one or more images, one or more videos, or a combination thereof to detect biometric data unique to the one or more users; encoding the detected biometric data for generating a dynamic NFT; storing the dynamic NFT on a transaction block of a distributed blockchain, wherein the dynamic NFT is associated with a programmable-defined smart contract written to the distributed blockchain; and sending the dynamic NFT to multiple service providers for authenticating the one or more users.
[0009] According to another embodiment, a non - transitory computer - readable medium for generating dynamic NFTs for authenticating one or more users is disclosed. The non - transitory computer - readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations including: receiving at least one request from one or more mobile devices associated with one or more users; capturing one or more images, one or more videos, or a combination thereof, identity recognition data associated with one or more users, or a combination thereof, of one or more users via one or more sensors; processing one or more images, one or more videos, or a combination thereof to detect biometric data unique to one or more users; encoding the detected biometric data for generating a dynamic NFT; storing the dynamic NFT on a transaction block of a distributed blockchain, wherein the dynamic NFT is associated with a programmable - defined smart contract written to the distributed blockchain; and sending the dynamic NFT to multiple service providers for authenticating one or more users.
[0010] In some embodiments, the non - transitory machine - readable medium may be embedded in various nodes of the blockchain. Additional objects and advantages of the disclosed embodiments will be set forth in part in the following description, and in part will become apparent from the description, or may be learned by practice of the disclosed embodiments. The objects and advantages of the disclosed embodiments will be realized and attained by the elements and combinations particularly pointed out in the appended claims.
[0011] It should be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and do not limit the detailed embodiments as claimed. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The drawings incorporated in and constituting a part of this specification illustrate various exemplary embodiments and, together with the description, serve to explain the principles of the disclosed embodiments.
[0013] Figure 1 is a schematic diagram of a system configured to generate blockchain - based dynamic NFTs for user authentication according to aspects of the present disclosure.
[0014] Figure 2 is a schematic diagram of components of an authentication platform 113 and a blockchain 115 according to aspects of the present disclosure.
[0015] Figure 3 is a flowchart of a process for generating blockchain - based dynamic NFTs for user authentication according to aspects of the present disclosure.
[0016] Figures 4A - 4MIt is a schematic diagram of a user interface showing a simple one-time registration process for an online service according to aspects of the present disclosure.
[0017] Figures 5A - 5F It is a schematic diagram of a user interface showing a scenario where different service providers are using previously generated blockchain-based dynamic NFTs to authenticate users according to aspects of the present disclosure.
[0018] Figure 6 It shows an exemplary machine learning training flowchart.
[0019] Figure 7 It shows an embodiment of a general computer system that can execute the technologies presented herein. Detailed Description
[0020] Although the principles of the present disclosure are described herein with reference to illustrative embodiments for specific applications, it should be understood that the present disclosure is not limited thereto. Those of ordinary skill in the art and those who understand the teachings provided herein will recognize that additional modifications, applications, embodiments, and alternatives of equivalents all fall within the scope of the embodiments described herein. Therefore, the present invention should not be considered limited by the foregoing description.
[0021] Various non-limiting embodiments of the present disclosure will now be described to provide an overall understanding of the structure, function, and principles of use of the systems and methods disclosed herein for generating blockchain-based dynamic NFTs for user authentication.
[0022] Typically, a user can open an account (e.g., a digital wallet) with a service provider by registering on their website. For example, the user may be required to manually enter information (e.g., name, email address, physical address, credit card information, bank account information, etc.) into a long list of input fields. Such a time-consuming and complex user onboarding process can create friction, which may deter interested users (e.g., potential customers). User onboarding is an important step for any online process, and it is also the step where users are authenticated using comprehensive verification. For example, authentication methods during user onboarding may include complex processes such as multi-factor authentication (MFA), background checks, or advanced biometric procedures. These processes can be burdensome to users and may deter legitimate users. Users value their time and generally expect easy and secure access to banking products. Users may also expect to receive transactional offers and be able to manage their personal digital data. However, current user onboarding processes can be time-consuming and inefficient; for example, repetitive questions can frustrate users. Users may be required to provide identity information on each webpage of the service provider, and they may have no control over the data provided to these service providers. Users may also be interested in the security measures taken by service providers to protect their personal information.
[0023] Each service provider may have a centralized server where user credentials can be stored. Since it may be difficult to measure the security measures taken by each of the service providers to protect their data, requiring users to store their personal and financial information on different servers may expose users to security risks. In one exemplary embodiment, service providers with a high churn rate and previous data breaches are also concerned about the security of the data stored. They are constantly faced with the challenge of providing technological solutions to reduce the time required to onboard new customers, streamline the KYC process, reduce the churn rate, and prevent potential future data breaches.
[0024] To address these issues, Figure 1 system 100 introduces the ability to generate blockchain-based dynamic NFTs for user authentication. System 100 provides a unique approach that implements a blockchain-based know-your-customer (KYC) solution that can have a one-time user onboarding process to mint the information required for the user's KYC as a decentralized dynamic NFT onto the blockchain. System 100 can also provide a wallet extension for storing the NFTs to enable future use of the NFTs while also allowing the user to have full control over the NFTs stored on the blockchain. This approach is a significant improvement over current technologies that are time-consuming, inefficient, obstructive, creating friction during the user onboarding process, and exposing users to security risks.
[0025] System 100 utilizes the ubiquitous modern technology infrastructure to collect user identity information as dynamic NFTs on the blockchain, verify on the blockchain, and store on the blockchain. System 100 effectively manages these stored dynamic NFTs via a simple KYC process to reduce friction during user onboarding, resulting in a much lower churn rate and ultimately higher revenue. Implementing such a simple KYC process for dynamic NFTs significantly reduces the risk of data breaches by storing data on the blockchain rather than on centralized servers across different platforms. Additionally, System 100 provides users with a solution to control the use of their digital identities.
[0026] Figure 1 Schematic diagram of a system capable of generating blockchain-based dynamic NFTs for user authentication according to an exemplary embodiment. Figure 1 Introduce the ability to implement modern communication and data processing capabilities into existing methods and systems for generating dynamic NFTs and storing dynamic NFTs on the blockchain for authentication. Figure 1 Exemplary architecture of one or more exemplary embodiments of the present invention, including System 100, which includes User 101, User Equipment (UE) 103 including Application 105 and Sensor 107, Issuer 109, Communication Network 111, Authentication Platform 113, Blockchain 115, and Database 117.
[0027] In one embodiment, User 101 can be an individual or any entity that interacts with a user interface or web interface associated with a service provider (e.g., Issuer 109) to open an account (e.g., digital wallet account). In one embodiment, User 101 can include registered users, potential users, returning users, accessing users, authorized users, unauthorized users, etc. for payment-related services provided by the service provider.
[0028] In one embodiment, UE 103 may include, but is not limited to, any type of mobile terminal, wireless terminal, fixed terminal, or portable terminal. Examples of UE 103 may include, but are not limited to, mobile phones, wireless communication devices, stations, units, devices, multimedia computers, multimedia tablets, Internet nodes, communicators, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, personal communication system (PCS) devices, personal navigation devices, personal digital assistant (PDA), digital cameras / cameras, infotainment systems, dashboard computers, television devices, or any combination thereof, including accessories and peripherals of these devices, or any combination thereof. In addition, UE 103 may facilitate various input means for receiving and generating information, including but not limited to touchscreen capabilities, keypad and keyboard data input, voice-based input mechanisms, etc. Any known and future implementations of UE 103 are also applicable.
[0029] In one embodiment, UE 103 may include application 105. In addition, application 105 may include various applications, such as, but not limited to, content supply applications, network applications, multimedia applications, media player applications, camera / imaging applications, software applications, etc. In one embodiment, one of the applications 105 at UE 103 may act as a client of authentication platform 113 and may perform one or more functions associated with the functions of authentication platform 113 by interacting with authentication platform 113 via communication network 111.
[0030] For example, sensor 107 may be any type of sensor. In one embodiment, sensor 107 may include, for example, a network detection sensor for detecting wireless signals or a receiver for different short-range communications (e.g., Bluetooth, Wi-Fi, Li-Fi, near field communication (NFC), etc.), a camera / imaging sensor for collecting image data, an audio recorder for collecting audio data, etc. In one embodiment, sensor 107 may include a ledger sensor, for example, software implemented together with blockchain 115 that may monitor each transaction written to blockchain 115 to obtain information that the ledger sensor is instructed to look for. Such a ledger sensor may be activated by requesting a search for data corresponding to the request in blockchain 115.
[0031] In one embodiment, the issuer 109 may include a service provider (e.g., a bank, a financial institution, etc.), which may manage payment-related services between the user 101 and the merchant. In an exemplary embodiment, the issuer 109 may manage a payment account on behalf of the user 101 and may transmit payments for goods and services purchased in that account. In another exemplary embodiment, the issuer 109 may manage a recipient account on behalf of the merchant, and the merchant may receive payments for goods and services provided in that account.
[0032] In one embodiment, the various elements of the system 100 may communicate with each other via a communication network 111. The communication network 111 may support a variety of different communication protocols and communication technologies. In one embodiment, the communication network 111 allows the authentication platform 113 to communicate with the UE 103, the issuer 109, and the blockchain 115. The communication network 111 of the system 100 includes one or more networks, such as a data network, a wireless network, a telephone network, or any combination thereof. It is contemplated that the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), public data network (e.g., the Internet), short-range wireless network, or any other suitable packet-switched network, such as a commercially-owned, proprietary packet-switched network, e.g., a proprietary cable or fiber optic network, etc., or any combination thereof. Additionally, the wireless network may be, for example, a cellular communication network and may employ various technologies, including 5G (fifth generation), 4G, 3G, 2G, Long Term Evolution (LTE), Wi-Fi (Wireless Fidelity), Internet Protocol (IP) data broadcasting, satellite, mobile ad-hoc network (MANET), vehicle controller area network (CAN bus), etc., or any combination thereof.
[0033] In one embodiment, the authentication platform 113 may be a platform with multiple interconnected components. The authentication platform 113 may include one or more servers, intelligent network devices, computing devices, components, and corresponding software for generating blockchain-based dynamic NFTs for user authentication. Additionally, it should be noted that the authentication platform 113 may be an independent entity of the system 100. Further details of the authentication platform 113 are provided below.
[0034] In one embodiment, once data is submitted to the chain, the blockchain 115 can preserve immutable information and, thus, it is a decentralized, distributed, and immutable database where data is logically structured as a sequence of smaller chunks (blocks). In an exemplary embodiment, in the blockchain 115, each block Bi>0 is invariantly linked to a single preceding block Bi-1 through a cryptographic hash function H(Bi-1). Any change to Bi-1 may result in invalid hashes in Bi and all subsequent blocks. The first block B0, i.e., the genesis block, is the only block without a predecessor. In one instance, to ensure the integrity of the blocks and the data contained in the blocks, respectively, the blocks can be digitally signed. In an exemplary embodiment, when each transaction occurs, these transactions can be recorded as blocks of data in the blockchain 115. As assets are transferred from one place to another or ownership changes hands, these blocks may form a chain of data. These blocks can confirm the exact time and order of the transactions and can be securely linked together to prevent any block from being changed or a block from being inserted between two existing blocks. In one embodiment, each additional block can strengthen the verification of the previous block, thus forming a protected blockchain. The blockchain 115 can be tamper-evident, providing the key strength of immutability. This eliminates the possibility of tampering by malicious actors and establishes a transaction ledger that users can trust.
[0035] In an exemplary embodiment, network participants (e.g., registered users 101) can access the blockchain 115 and its immutable transaction records. In such a shared ledger, transactions can be recorded only once, eliminating the duplicate records typical in traditional business networks. For example, after a transaction has been recorded to the blockchain 115, a participant cannot change or tamper with the transaction. However, if the transaction record contains an error, a new transaction can be added to correct the error, and then both transactions are visible. In one instance, to accelerate transactions, a set of rules (e.g., smart contracts) can be stored on the blockchain and executed automatically. Due to the transparency, proof of ownership, and traceable transactions in the blockchain network, blockchain technology (e.g., blockchain 115) can be used to create NFTs. In one embodiment, when the blockchain 115 strings records of cryptographic hashes (verifying that a set of data is a unique set of characters) onto previous records, NFTs can be generated, thus creating a chain of identifiable data blocks. This cryptographic transaction process ensures the authentication of each digital file by providing a digital signature for tracking the ownership of NFTs.
[0036] In one embodiment, the NFT is a non-fungible cryptographic asset, which can be stated in a standard token format and can have a unique set of attributes. In an exemplary embodiment, the NFT can be a digital asset with a unique identifier stored on the blockchain 115 and cannot be replaced. In another exemplary embodiment, the NFT can be a digital representation of the tradable rights of a real-world object or digital asset, such as pictures, virtual creations, audio, and other types of digital files, where ownership can be recorded in a blockchain smart contract. In one embodiment, the NFT can be tracked on the blockchain 115 to provide proof of ownership to the owner.
[0037] In one embodiment, the database 117 can be any type of database, such as relational, hierarchical, object-oriented, etc., where the data is organized in any suitable manner, including as data tables or lookup tables. In one embodiment, the database 117 can store and manage various types of information, which can provide means for assisting the content supply and sharing processes. In an embodiment, the database 117 can include a machine learning-based training database, which has a predefined mapping that defines the relationship between various input parameters and output parameters based on various statistical methods. In one embodiment, the training database can include machine learning algorithms to learn the mapping between input parameters related to users, such as but not limited to financial transaction information, online activity information, historical user information and interests, context information, etc. In an embodiment, the training database can include a data set, which can include a collection of data that is not specific to an object, that is, a data set based on population-wide observations, local observations, regional observations, or supra-regional observations, etc. Exemplary data sets include retail data, market data, geographical data, business information, financial information, etc. In an embodiment, the training database can be updated and / or supplemented regularly based on machine learning methods.
[0038] For example, the UE 103, the issuer 109, the authentication platform 113, and the blockchain 115 can communicate with each other and with other components of the communication network 111 using well-known protocols, new protocols, or protocols still under development. In this case, the protocol includes a set of rules that define how network nodes within the communication network 111 interact with each other based on the information sent through the communication link. These protocols are effective at different operating layers within each node, from generating and receiving various types of physical signals, to selecting the link for transmitting these signals, to the information format indicated by these signals, to identifying which software application executed on a computer system sends or receives the information. Conceptually different protocol layers for exchanging information through a network are described in the Open Systems Interconnection (OSI) reference model.
[0039] Communication between network nodes is typically achieved by exchanging discrete packets. Each packet generally includes (1) header information associated with a specific protocol, and (2) payload information that follows the header information and contains information that can be processed independently of that specific protocol. In some protocols, the packet includes (3) trailer information that follows the payload and indicates the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other attributes used by the protocol. Generally, the data in the payload of a specific protocol includes headers and payloads of different protocols associated with different higher layers of the OSI reference model. The header of a specific protocol typically indicates the type of the next protocol contained in its payload. Higher layer protocols are said to be encapsulated in lower layer protocols. Headers contained in packets traversing multiple heterogeneous networks such as the Internet typically include a physical layer (Layer 1) header, a data link layer (Layer 2) header, a network layer (Layer 3) header, and a transport layer (Layer 4) header, as well as various application layer (Layers 5, 6, and 7) headers as defined by the OSI reference model.
[0040] Figure 2 is a schematic diagram of components of an authentication platform 113 and a blockchain 115 according to an exemplary embodiment. As used herein, terms such as "component" or "module" generally encompass hardware and / or software. For example, a processor or the like can be used to implement the associated functions. By way of example, the authentication platform 113 includes one or more components for generating blockchain-based dynamic NFTs for user authentication. It is contemplated that the functions of these components can be combined in one or more components, or performed by other components of equivalent functionality. In one embodiment, the authentication platform 113 includes a data collection module 201, a registration module 203, a tokenization module 205, a training module 207, a machine learning module 209, a user interface module 211, and a digital wallet module 213, or any combination thereof.
[0041] In one embodiment, the data collection module 201 may automatically collect relevant data associated with the user 101 through various data collection techniques. In an exemplary embodiment, the data collection module 201 may use a web crawling component to access various databases (e.g., database 117, blockchain 115, etc.), or use other information sources to collect relevant data, such as personal information, financial information, context information, etc. associated with the user 101. The data collection module 201 may include various software applications, such as data mining applications in Extensible Markup Language (XML), which automatically search for and return relevant data about the user 101. The data collection module 201 may parse and arrange the data into a common format that can be easily processed by other modules and platforms. In another embodiment, the data collection module 201 may collect video or one or more images of the user 101 from a sensor 107 (e.g., an image sensor, a camera, etc.), for example, in real-time or near real-time, to collect biometric data (e.g., fingerprints, facial images, etc.).
[0042] In one embodiment, the registration module 203 may authenticate and register the user 101 and the UE 103 for one or more services. In an exemplary embodiment, the authentication and registration may include an initial registration process for establishing a user profile. For example, the system may request various data from the user 101 for identification purposes. The registration module 203 may receive user credentials from the user 101 during the process of registering with a service provider. The registration module 203 may authenticate the user credentials via various authentication mechanisms. In one embodiment, the authentication may be performed through the automatic association of the blockchain 115 and the database 117 with an IP address, a carrier detection signal of the UE 103, a mobile directory number (MDN), a subscriber identity module (SIM) (e.g., of a SIM card), a radio frequency identifier (RFID) tag, or other device identifiers. These authentication means may reduce privacy issues associated with data sharing services. The registration module 203 may register the UE 101 and the UE 103 after successful authentication. In another embodiment, the registration module 203 may include logic configured to determine the eligibility of the user 101 based at least in part on historical user information. In one instance, the historical user information may include credit history information, income information, debt-to-income ratio information, online fraud information, criminal information, etc.
[0043] In one embodiment, the registration module 203 may transmit user credential information (e.g., biometric data, financial data, or any other sensitive information, etc.) to the tokenization module 205. The tokenization module 205 may tokenize the user credential information by replacing the sensitive information with a token generated by encryption unrelated to the sensitive information. The tokenization module 205 may generate (e.g., mint) any type of token, such as an NFT, a low-value token, a high-value token, a randomly generated number, a pseudo-random number, or other character sequences. In one embodiment, the token is a one-time token, a multi-use token, and / or an irreversible token. In one embodiment, the tokenization module 205 may implement various mechanisms to generate these tokens, such as a mathematically reversible encryption function with a key, an irreversible function such as a hash function, an indexing function, or a randomly generated number.
[0044] In one embodiment, the tokenization module 205 may hash the token using, for example, a cryptographic hash function. In another embodiment, the tokenization module 205 may encrypt the token so that an unauthorized party (e.g., an attacker) cannot access the token. Encryption may be defined as the process of using an algorithm (e.g., a cipher) to convert data into encrypted data that cannot be read by anyone other than the person who has the cipher (e.g., a key). In one embodiment, the tokenization module 205 may implement a symmetric encryption algorithm mechanism, an asymmetric encryption algorithm mechanism, or any other known encryption algorithm mechanism to encrypt the token.
[0045] In one embodiment, the training module 207 may provide supervised learning to the machine learning module 209 by providing training data containing inputs and correct outputs to allow the machine learning module 209 to learn over time. When the input is fed into the machine learning module 209, training may be performed based on the deviation of the processed result from the recorded result. For example, the algorithm measures its accuracy through a loss function and adjusts until the error has been sufficiently minimized. In one embodiment, the training data may include user credentials, such as sample biometric data, sample image data, sample video data, sample credential data, etc. Thus, each set of training data may include sample biometric data, sample image data, sample video data, and sample credential data for training the machine learning module 209 to authenticate the user 101 and / or encode the sample data into an NFT for storage in the blockchain 115. The training module 207 may be trained in any suitable manner, such as in batches, and may include any suitable training method. Training may be performed periodically and / or continuously, such as in real time or near real time.
[0046] In one embodiment, the machine learning module 209 may receive training data from the training module 207. The machine learning module 209 may randomize the ordering of the training data, visualize the training data to identify correlation relationships between different variables, identify any data imbalance, split the training data into two parts, where one part is used to train the model and the other part is used to validate the trained model, de-duplicate, normalize, correct errors in the training data, and so on. The machine learning module 209 may implement various machine learning techniques, such as decision tree learning, association rule learning, neural networks (e.g., recurrent neural networks, convolutional neural networks, deep neural networks), inductive programming logic, support vector machines, Bayesian models, etc. In another embodiment, the machine learning module 209 may utilize one or more classification models trained to classify the training data and / or one or more prediction models trained to predict results based on the training data. For example, the machine learning module 209 may input the training data into the classification model and / or the prediction model to authenticate the user 101 and / or encode the sample data into an NFT for storage in the blockchain 115. The machine learning module 209 may use the results.
[0047] In one embodiment, the user interface module 211 may present a graphical user interface (GUI) in the UE 103. The user interface module 211 may employ various application programming interfaces (APIs) or other function calls corresponding to the application 105 on the UE 103, thereby enabling the display of graphical primitives such as icons, menus, buttons, data input fields, etc. In another embodiment, the user interface module 211 may cause the interaction of the guidance information with the user 101 to include at least in part one or more annotations, audio messages, video messages, or a combination thereof. In an exemplary embodiment, the user interface module 211 may display a login widget in the UE 103, and the login widget may be linked to the computing system of a service provider (e.g., the issuer 109). The user interface module 211 may ensure that the login widget is distinctive for the user 101 to identify and unobtrusive to avoid any negative user experience when registering with the service. In additional exemplary embodiments, the user interface module 211 may include various interfaces, such as interfaces for data input and output devices (referred to as I / O devices, storage devices, etc.). Additionally, the user interface module 211 may be configured to operate in conjunction with augmented reality (AR) processing techniques, where various applications, graphical elements, and features may interact.
[0048] In one embodiment, the digital wallet module 213 may provide digital wallet services to the user 101, such as providing registration digital wallet services, exchanging NFTs stored in the digital wallet, making payments using the digital wallet services, and the like. In one embodiment, the issuer 109 may integrate the digital wallet interface provided by the digital wallet module 213 to display the digital wallet interface on a web browser or UE 103 associated with the user 101 or a service provider (e.g., a merchant). In one instance, the user 101 may utilize the digital wallet interface to perform various e-commerce transactions.
[0049] In one embodiment, the blockchain 115 includes an encoder / decoder 215, a ledger query and update server 217, and a smart contract 219, or any combination thereof. In one embodiment, the blockchain 115 may encrypt the data stored in the blockchain 115 via the encoder / decoder 215 to provide security and / or protect sensitive information. In some embodiments, the latest data stored in the blockchain 115 may be retrieved periodically or continuously by the authentication platform 113 to be accessible via the UE 103 by interested parties (e.g., the user 101). In such embodiments, the blockchain 115 may decode the data stored in the blockchain 115 via the encoder / decoder 215. Embodiments of the encoder / decoder 215 are not limited to these examples and may include other suitable functions in other embodiments.
[0050] In one embodiment, the ledger query and update server 217 may be one or more of an application, an application interface, software, hardware, a server, or a protocol that allows data (e.g., new attributes or details about transaction attributes) to be added to the blockchain 115. In some embodiments, the ledger query and update server 217 may further be capable of accessing or retrieving data for any attribute of the transaction information from the blockchain 115. In one embodiment, the ledger query and update server 217 may respond to a request to add transaction attributes by disputing one or more previously published data of the transaction attributes, adding proposed modifications to the existing transaction attributes, e.g., to initiate a dispute, or adding proposed modifications to the data of the existing transaction attributes, and / or searching for or retrieving details about the transaction attributes, e.g., the data stored for the attribute.
[0051] In one embodiment, the smart contract 219 can be one or more of an application, an application interface, software, hardware, a server, or a computerized trading protocol that facilitates, verifies, and / or enforces the negotiation or performance of a contract. In the various embodiments presented herein, the contract is configured to manage transactions between the user 101 and the issuer 109. In one embodiment, the authentication platform 113 can provide a simplified KYC process for the user 101 and the issuer 109 via smart contract interactions.
[0052] The modules and components of the authentication platform 113 presented above can be implemented in hardware, firmware, software, or a combination thereof. Although depicted as separate entities in Figure 2 it is contemplated that the authentication platform 113 can be implemented for direct operation by the respective UE 103. Thus, the authentication platform 113 can generate direct signal inputs through the operating system of the UE 103. In another embodiment, one or more of the modules 201 - 213 can be implemented for operation by the respective UE, as the authentication platform 113 or a combination thereof. The various embodiments presented herein contemplate any and all arrangements and models.
[0053] Figure 3 is a flowchart of a process for generating a blockchain - based dynamic NFT for user authentication according to an exemplary embodiment. In various embodiments, the authentication platform 113 and / or any one of the modules 201 - 213 can perform one or more parts of the process 300 and can be implemented, for example, in a chipset including a processor and a memory as shown in Figure 7 Thus, the authentication platform 113 and / or any one of the modules 201 - 213 can provide means for completing the various parts of the process 300, as well as means for implementing the other processes described herein in combination with other components of the system 100. Although the process 300 is shown and described as a series of steps, it is contemplated that the various embodiments of the process 300 can be performed in any order or combination and do not need to include all of the steps shown.
[0054] In step 301, the authentication platform 113 can receive a request from the UE 103 (e.g., a mobile device) associated with the user 101. In one exemplary embodiment, the user 101 can send a request to the authentication platform 113 to register for an online service, e.g., create a user profile to access banking services.
[0055] In step 303, the authentication platform 113 may capture an image and / or video of the user 101, identification data associated with the user 101, or a combination thereof via the sensor 107. In one exemplary embodiment, the sensor 107 (e.g., the camera of the UE 103) may capture a series of images and / or videos of the user 101, such as the face of the user 101. In another exemplary embodiment, the sensor 107 may capture an image and / or video of the identification data associated with the user 101, such as a driver's license, a passport, or any other identification document. In one embodiment, the authentication platform 113 may verify the orientation of the UE 103, the proximity of the UE 103 to the user 101, or a combination thereof via the sensor 107, at least in part based on a threshold level. The authentication platform 113 may generate a notification in the user interface of the UE 103 after determining that the orientation of the UE 103, the proximity of the UE 103 to the user 101, or a combination thereof has exceeded the threshold level.
[0056] In another exemplary embodiment, the sensor 107 may receive personal information of the user 101 via the user interface of the UE 103, such as location information, bank account information, or any personal information, etc. In another exemplary embodiment, the sensor 107 (e.g., a biometric sensor) may receive biometric data of the user 101.
[0057] In step 305, the authentication platform 113 may process the image and / or video to detect biometric data unique to the user 101. In one embodiment, the biometric data includes an iris pattern, eye color, facial details, hand geometry, fingerprint, or a combination thereof. In one exemplary embodiment, the authentication platform 113 may process the captured image to detect facial details unique to the user 101. In another exemplary embodiment, the authentication platform 113 may process the received biometric data to detect a fingerprint unique to the user 101. In another exemplary embodiment, the authentication platform 113 may process the received identification data to detect confidential data unique to the user 101.
[0058] In step 307, the authentication platform 113 may encode the detected biometric data for generating a dynamic NFT. In one embodiment, encoding the detected biometric data may include: (i) performing an encrypted hash on each detected biometric data, (ii) concatenating each hashed biometric data in a predefined order, (iii) generating and storing a singular hash representing the concatenated individual hashes, and (iv) generating a dynamic NFT representing the singular hash. In one embodiment, the authentication platform 113 may mint the dynamic NFT on the distributed blockchain 115. In one embodiment, minting an NFT may include verifying the NFT, creating a new block, and recording the NFT into the blockchain 115. The NFT may be recorded onto the blockchain through a "proof of stake" protocol. Proof of stake is a blockchain consensus mechanism used to verify online transactions (e.g., cryptocurrency transactions).
[0059] In step 309, the authentication platform 113 may store the dynamic NFT on a transaction block of the distributed blockchain 115. The authentication platform 113 may receive verification that the blockchain address and the transaction block are recorded in the distributed blockchain 115. The authentication platform 113 may monitor the distributed blockchain 115 and transactions on the distributed blockchain that match the address of the distributed blockchain 115 in real time or near real time. In one embodiment, the authentication platform 113 may save the dynamic NFT in a first digital wallet of the blockchain network, where the first digital wallet may generate a private key. In one embodiment, the dynamic NFT may be associated with a programmable and defined smart contract written to the distributed blockchain 115.
[0060] In one embodiment, the authentication platform 113 may update the metadata associated with at least one dynamic NFT at least in part based on the monitoring. The authentication platform 113 may generate a new dynamic NFT at least in part based on the updated metadata. The authentication platform 113 may concatenate the new dynamic NFTs in a predefined order, where the predefined order includes concatenating the new dynamic NFTs to the previous dynamic NFTs on the transaction block of the distributed blockchain 115.
[0061] In step 311, the authentication platform 113 may transmit or exchange dynamic NFTs to multiple service providers (e.g., the issuer 109 or the merchant) for authenticating the user 101. In one embodiment, the authentication platform 113 may receive from the user 101 via the UE 103 a second request for processing the dynamic NFTs on the transaction blocks of the distributed blockchain 115, where the second request includes transmitting the dynamic non-fungible tokens to multiple service providers. The authentication platform 113 may transfer the dynamic non-fungible tokens from the first digital wallet to the second digital wallet of the blockchain network, where the second digital wallet is associated with multiple service providers. In one embodiment, at least one second request identifies the dynamic non-fungible tokens by content identification, path identification, or a combination thereof.
[0062] Figures 4A - 4M FIG. is a schematic diagram of a user interface for a simple one-time registration process for an online service according to an exemplary embodiment. Although the user interface diagrams are shown and described in sequence, it is contemplated that various embodiments of these diagrams may be performed in any order or combination and need not include all of the orders shown. In this exemplary embodiment, the user is registering for an online banking service; however, it should be understood that the user may register for any online service.
[0063] Figure 4A FIG. shows the main entry screen of an online service (e.g., the online financial service of Bank A). The entry screen 401 may include a plurality of icons that may be invoked to perform different functions. In one embodiment, a user interface element 403 for requesting login credentials may be presented to the user 101. In one exemplary embodiment, a new user 101 may select to register for the online financial service by interacting with the user interface element 403, and the new user 101 is then navigated to Figure 4B . In another exemplary embodiment, a registered user 101 may enter their credentials and may be navigated to Figure 4B to streamline their login process.
[0064] In Figure 4B , the screen 405 may include a user interface element 407, e.g., a KYC registration tab. The user 101 may select the ID Oracle label 409 from the user interface element 407 to initiate the KYC registration process, and the user 101 may then be directed to Figure 4C the screen 411. The screen 411 may include a user interface element 413 for using an existing token or initiating the minting of a token. In this instance, the user 101 selects to mint a token by selecting the user interface element 415. The user is then navigated to Figure 4D the screen 417 for authenticating the user.
[0065] In Figure 4D , the screen 417 generates a notification 419 that requests the user 101 to scan a QR code or enter a phone number. In this instance, the user can scan the QR code via a sensor 107 (e.g., a camera) of the UE 103 (as represented in Figure 4E ), and the user 101 can be navigated to a website to authorize the registration process. In another instance, the user 101 can enter a phone number, and the user 101 can receive a URL as a text message. The user 101 can tap on the URL to approve the registration process. It should be understood that any other authentication mechanism can be used.
[0066] In Figure 4F , the display 421 can generate a notification that requests access to the current location of the user 101. The user 101 can authorize access to the location information by clicking on the user interface element 423. In one implementation, the user's current location can be used in the future for location-based authentication. For example, the authentication platform 113 can compare the future location of the user 101 with the stored location.
[0067] Figure 4G and Figure 4H are user interface diagrams that represent instructions to the user 101 to correctly align an identity document (e.g., a driver's license) within the displays 425 and 427 of the UE 103. Once the user 101 correctly aligns the identity document within the displays 425 and 427, a camera or webcam pointed at the identity document can capture an image or video of the identity document.
[0068] Figure 4I and Figure 4JIt is a schematic diagram of a user interface that presents instructions to user 101 to position their face in a specific location when a camera or webcam captures multiple images or videos of the user's face. In an exemplary embodiment, UE 103 can instruct the user to move their head to an exact position or simply request that they approximate the movement shown to them on displays 429 and 431. In an exemplary embodiment, authentication platform 113 can run a face detection algorithm to analyze the image data or video data to ensure that the user's face is correctly captured. Authentication platform 113 can generate an alert requesting user 101 to re-acquire a new set of images or videos after determining interference or occlusion in the image or video. Once all the requirements for registration are completed, user 101 can be notified that the token has been minted and the user can utilize the token for any future transactions with any participating service provider (as shown in display 433 of Figure 4k). In one embodiment, authentication platform 113 having one or more of modules 201-213 can process the location data, identification data, and biometric data of user 101 to generate a blockchain-based dynamic NFT for user authentication. For example, the identity of user 101 can be stored as an NFT on a private blockchain, eliminating the need for issuer 109 to store, process, and maintain it on its own infrastructure. If the user's identity information changes, the NFT can be dynamically updated by the user. Such dynamic refreshing allows issuer 109 to meet regulatory requirements.
[0069] In one embodiment, once the NFT is generated by authentication platform 113 and stored in blockchain 115, a service provider (e.g., Bank A) can request user 101 to access a blockchain wallet (e.g., digital wallet) containing the stored NFT. As shown, the pop-up window 435 in the upper right corner of user interface 437 can be a blockchain wallet in the form of a browser extension. In one instance, the request for wallet access can also be presented via application 105 in UE 103. In one embodiment, user 101 can authorize access to the blockchain wallet and the service provider can perform token verification. Once Bank A successfully verifies the NFT, the identity of user 101 is verified. Successful wallet authorization and NFT verification can result in Figure 4M display 439. Such successful NFT verification can result in a simple and secure login process for all future transactions between user 101 and Bank A.
[0070] Figures 5A - 5FFIG. 0 is a schematic diagram of a user interface showing a scenario in which different service providers are authenticating a user using a previously generated blockchain-based dynamic NFT. Although the user interface diagrams are shown and described in sequence, it is contemplated that various embodiments of these diagrams may be performed in any order or combination and need not include all of the orders shown. In this exemplary embodiment, the user has registered for an online banking service; however, it should be understood that the user may register for any online service.
[0071] Figure 5A FIG. 4 shows a main entry screen for bank-related services of Bank B. The entry screen 501 may display a user interface element 503 that requests the return of the user's login credentials or a registration request for a potential user. In one embodiment, when user 101 is attempting to access the services of Bank B, the authentication platform 113 may notify Bank B that user 101 has a blockchain-based NFT as a means of verification. For example, the authentication platform 113 may notify member service providers about the blockchain-based NFT verification of user 101 in real time, near real time, on a schedule, etc. In another embodiment, the authentication platform 113 may process the historical information (e.g., online activities) of user 101 to identify interested service providers and may alert the identified service providers about the blockchain-based NFT verification of user 101.
[0072] In one embodiment, Bank B may authenticate user 101 using a previously generated blockchain-based NFT. Bank B may navigate user 101 to Figure 5B the display screen 505 of Figure 5B . In Figure 5C , the screen 505 may include a user interface element 507 (e.g., a KYC registration label). User 101 may select the ID Oracle label 509 from the user interface element 507 to initiate the NFT-based authentication process. User 101 is then directed to
[0073] the screen 511 of Figure 5DThe display screen 517. The display screen 517 may include a plurality of icons that can be invoked to perform different token-related functions. For example, the user 101 may select the wallet icon 519 to check the token history, such as the date and time of creating an NFT, the date and time of updating the NFT with additional personal data, the entities or service providers authorized to access the NFT, etc. (as shown in the user interface 521). The user 101 may also select the token ID label 523 to update the token, such as replacing an expired identity document with a newly issued identity document, uploading a new biometric facial scan or fingerprint, etc. The dynamic NFT is used to keep the relevant data updated and also provides the user 101 with full control over their personal data. Once the user 101 verifies that the token-related information is accurate and up-to-date, the user 101 can proceed to authorize Bank B to access the blockchain wallet.
[0074] As shown, Figure 5E The pop-up window 525 in the upper right corner of the user interface 527 as shown may be a blockchain wallet in the form of a browser extension. In one instance, a request for wallet access may also be presented via the application 105 in the UE 103. In this implementation, the user 101 may authorize access to the blockchain wallet, and Bank B may perform token verification. Basically, the user can control how their tokens are used via their wallet. Once Bank A successfully verifies the NFT, the identity of the user 101 is verified. Successful wallet authorization and NFT verification may result in Figure 5F The display screen 529.
[0075] As shown, blockchain-based dynamic NFTs can be used by multiple service providers (e.g., Bank A and Bank B) to authenticate users. The application of such blockchain-based KYC solutions that store user identity information as dynamic NFTs ensures a smooth user onboarding process for users, such as reducing the KYC process to two clicks, thereby reducing the user churn rate. By leveraging blockchain technology, the risk of personal data leakage is also significantly reduced.
[0076] One or more embodiments disclosed herein include a machine learning model (e.g., the machine learning module 209) and / or may be implemented using the machine learning model. For example, one or more modules of the authentication platform 113 may be implemented using a machine learning model and / or may be used to train a machine learning model. A Figure 6 The data stream 600 as shown may be used to train a given machine learning model. The training data 612 may include one or more of the stage inputs 614 and known results 618 related to the machine learning model to be trained. The stage inputs 614 may come from any applicable source, including text, visual representations, data, values, comparisons, stage outputs (e.g., from Figure 3(one or more outputs of the steps). For machine learning models generated based on supervised training or semi-supervised training, known results 618 may be included. Unsupervised machine learning models may not use known results 618 for training. Known results 618 may include known or desired outputs of future inputs that are similar to or in the same category as stage inputs 614 that do not have corresponding known outputs.
[0077] Training data 612 and a training algorithm 620 (e.g., one or more modules implemented using a machine learning model and / or that can be used to train a machine learning model) may be provided to a training component 630, which may apply the training data 612 to the training algorithm 620 to generate a machine learning model. According to an embodiment, a comparison result 616 that compares previous outputs of a corresponding machine learning model may be provided to the training component 630 to apply previous results to retrain the machine learning model. The comparison result 616 may be used by the training component 630 to update the corresponding machine learning model. The training algorithm 620 may utilize machine learning networks and / or models, including but not limited to deep learning networks such as deep neural networks (DNNs), convolutional neural networks (CNNs), fully convolutional networks (FCNs), and recurrent neural networks (RCNs), probabilistic models such as Bayesian networks and graphical models, and / or discriminative models such as decision forests and maximum margin methods, etc.
[0078] The machine learning models used herein can be trained and / or used by adjusting one or more weights and / or one or more layers of the machine learning model. For example, during training, a given weight can be adjusted (e.g., increased, decreased, removed) based on training data or input data. Similarly, layers can be updated, added, or removed based on training data and / or input data. The resulting output can be adjusted based on the adjusted weights and / or layers.
[0079] Generally, any process or operation understood to be computer-implementable as discussed in this disclosure (such as Figure 3 the process shown therein) can be executed by one or more processors of a computer system as described herein. A process or process step executed by one or more processors may also be referred to as an operation. One or more processors may be configured to execute such processes by accessing instructions (e.g., software or computer-readable code) that, when executed by one or more processors, cause the one or more processors to execute these processes. The instructions may be stored in the memory of the computer system. The processor may be a central processing unit (CPU), a graphics processing unit (GPU), or any suitable type of processing unit.
[0080] A computer system, such as a system or device that implements the processes or operations in the above examples, may include one or more computing devices. One or more processors of the computer system may be included in a single computing device or distributed among multiple computing devices. One or more processors of the computer system may be connected to a data storage device. The memory of the computer system may include the respective memories of each of the multiple computing devices.
[0081] Figure 7 An embodiment of a general-purpose computer system that can execute the techniques presented herein is shown. Computer system 700 may include a set of instructions that may be executed to cause computer system 700 to perform any one or more of the methods or computer-based functions disclosed herein. Computer system 700 may operate as a stand-alone device or may be connected, for example, using a network to other computer systems or peripheral devices.
[0082] Unless otherwise specifically stated, as will be apparent from the following discussion, it is understood that throughout the specification, discussions using terms such as "processing," "computing," "calculating," "determining," "analyzing," etc., refer to actions and / or processes of a computer or computing system or similar electronic computing device that manipulates data represented as physical quantities (such as electronic quantities) and / or transforms such data into other data similarly represented as physical quantities.
[0083] In a similar manner, the term "processor" may refer to any device or part of a device that processes electronic data (e.g., electronic data from registers and / or memory) to transform such electronic data into other electronic data that may be stored in registers and / or memory. A "computer," "computing machine," "computing platform," "computing device," or "server" may include one or more processors.
[0084] In a networked deployment, computer system 700 can operate as a server, or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. Computer system 700 can also be implemented as or incorporated into various devices, such as a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), mobile device, handheld computer, laptop computer, desktop computer, communications device, wireless telephone, landline telephone, control system, camera, scanner, facsimile machine, printer, pager, personal trusted device, network device, network router, switch, or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, computer system 700 can be implemented using an electronic device that provides voice, video, or data communication. Additionally, although computer system 700 is shown as a single system, the term "system" should also be understood to include any collection of systems or subsystems that individually or jointly execute a set of one or more instructions to perform one or more computer functions.
[0085] As Figure 7 shown, computer system 700 can include a processor 702, such as a central processing unit (CPU), a graphics processing unit (GPU), or both. Processor 702 can be a component in various systems. For example, processor 702 can be part of a standard personal computer or workstation. Processor 702 can be one or more general-purpose processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other devices now known or later developed for analyzing and processing data. Processor 702 can implement software programs, such as manually generated (i.e., programmed) code.
[0086] The computer system 700 may include a memory 704 that may communicate via a bus 708. The memory 704 may be a main memory, a static memory, or a dynamic memory. The memory 704 may include, but is not limited to, computer-readable storage media, such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tapes or disks, optical media, etc. In one embodiment, the memory 704 includes a cache memory or random access memory for the processor 702. In an alternative embodiment, the memory 704 is separate from the processor 702, such as a cache memory of the processor, a system memory, or other memory. The memory 704 may be an external storage device or a database for storing data. Examples include hard disk drives, compact discs ("CDs"), digital video discs ("DVDs"), memory cards, memory sticks, floppy disks, universal serial bus ("USB") storage devices, or any other device operable to store data. The memory 704 is operable to store instructions executable by the processor 702. The functions, actions, or tasks shown in the figures or described herein may be performed by the processor 702 executing the instructions stored in the memory 704. The functions, actions, or tasks are independent of the particular type of instruction set, storage medium, processor, or processing strategy, and may be performed by software, hardware, integrated circuits, firmware, microcode, etc., operating alone or in combination. Similarly, the processing strategy may include multiprocessing, multitasking, parallel processing, etc.
[0087] As shown, the computer system 700 may further include a display 710, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, a printer, or other known or later developed display device for outputting determined information. The display 710 may act as an interface for a user to view the functions of the processor 702, or specifically as an interface to the software stored in the memory 704 or the drive unit 706.
[0088] In addition or alternatively, the computer system 700 may include an input / output device 712 configured to allow a user to interact with any component of the computer system 700. The input / output device 712 may be a numeric keypad, a keyboard, or a cursor control device, such as a mouse or a joystick, a touch screen display, a remote control, or any other device operable to interact with the computer system 700.
[0089] The computer system 700 may also or alternatively include a drive unit 706, which is implemented as a disk or optical drive. The drive unit 706 may include a computer-readable medium 722, in which one or more sets of instructions 724 (e.g., software) may be embedded. Additionally, the instructions 724 may embody one or more of the methods or logics described herein. During execution by the computer system 700, the instructions 724 may reside, wholly or in part, within the memory 704 and / or the processor 702. The memory 704 and the processor 702 may also include the computer-readable medium as discussed above.
[0090] In some systems, the computer-readable medium 722 includes the instructions 724, or receives and executes the instructions 724 in response to a propagated signal, such that devices connected to the network 730 can transmit voice, video, audio, images, or any other data via the network 730. Additionally, the instructions 724 may be sent or received via the communication port or interface 720 and / or using the bus 708 over the network 730. The communication port or interface 720 may be part of the processor 702 or may be a separate component. The communication port or interface 720 may be created in software or may be a physical connection in hardware. The communication port or interface 720 may be configured to connect to the network 730, an external medium, the display 710, or any other component in the computer system 700 or a combination thereof. The connection to the network 730 may be a physical connection, such as a wired Ethernet connection, or may be established wirelessly as discussed below. Similarly, additional connections to other components of the computer system 700 may be physical connections or may be established wirelessly. Alternatively, the network 730 may be directly connected to the bus 708.
[0091] Although the computer-readable medium 722 is shown as a single medium, the term "computer-readable medium" may include a single medium or multiple media, such as a centralized or distributed database, and / or associated caches and servers that store one or more sets of instructions. The term "computer-readable medium" may also include any medium that is capable of storing, encoding, or carrying a set of instructions executable by a processor or that causes a computer system to perform any one or more of the methods or operations disclosed herein. The computer-readable medium 722 may be non-transitory and may be tangible.
[0092] The computer-readable medium 722 can include solid state memory such as a memory card or other packaging that houses one or more non-volatile read-only memories. The computer-readable medium 722 can be random access memory or other volatile rewritable memory. Additionally or alternatively, the computer-readable medium 722 can include magneto-optical or optical media such as a disk or tape or other storage device to capture carrier signals such as signals transmitted through a transmission medium. Digital file attachments of e-mails or other self-contained information archives or sets of archives can be considered a distribution medium that is a tangible storage medium. Accordingly, the present disclosure is considered to include any one or more of a computer-readable medium or a distribution medium in which data or instructions can be stored and other equivalents and successor media.
[0093] In alternative embodiments, dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices can be constructed to implement one or more of the methods described herein. Applications that can include devices and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more of the embodiments described herein can be implemented using two or more particular interconnected hardware modules or devices having related control and data signals that can communicate between and through the modules or as part of an application specific integrated circuit. Accordingly, the systems of the present invention encompass software, firmware, and hardware implementations.
[0094] The computer system 700 can be connected to a network 730. The network 730 can define one or more networks, including a wired network or a wireless network. The wireless network can be a cellular phone network, 802.11, 802.16, 802.20, or a WiMAX network. Additionally, such networks can include a public network (such as the Internet), a private network (such as an intranet), or a combination thereof, and can utilize a variety of network protocols that are currently available or developed in the future, including but not limited to TCP / IP-based network protocols. The network 730 can include a wide area network (WAN), such as the Internet, a local area network (LAN), a campus network, a metropolitan area network, a direct connection such as through a universal serial bus (USB) port, or any other network that allows data communication. The network 730 can be configured to couple one computing device to another computing device to enable data communication between the devices. The network 730 generally enables the use of any form of machine-readable medium for transmitting information from one device to another. The network 730 can include a communication method through which information can propagate between computing devices. The network 730 can be divided into sub-networks. The sub-networks can allow access to all other components connected thereto, or the sub-networks can restrict access between components. The network 730 can be regarded as a public or private network connection and can include, for example, a virtual private network or encryption or other security mechanisms employed over the public Internet.
[0095] According to various embodiments of the present disclosure, the methods described herein can be implemented by software programs executable by a computer system. Additionally, in exemplary non-limiting embodiments, the embodiments can include distributed processing, component / object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be configured to implement one or more methods or functions as described herein.
[0096] Although this specification describes components and functions that can be implemented in specific embodiments with reference to specific standards and protocols, the present disclosure is not limited to such standards and protocols. For example, standards for Internet and other packet-switched network transmissions (e.g., TCP / IP, UDP / IP, HTML, HTTP) represent examples of the prior art. Such standards are periodically replaced by faster or more efficient equivalents having substantially the same functions. Therefore, alternative standards and protocols having the same or similar functions as those disclosed herein are considered to be their equivalents.
[0097] It should be understood that, in one embodiment, the steps of the methods discussed are performed by a suitable processor (or processors) of a processing (i.e., computer) system that executes instructions (computer-readable code) stored in a memory. It should also be understood that the present disclosure is not limited to any particular implementation or programming technique, and any suitable technique for implementing the functions described herein may be used to implement the present disclosure. The present disclosure is not limited to any particular programming language or operating system.
[0098] It should be recognized that, in the foregoing description of exemplary embodiments of the present invention, various features of the present invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of simplifying the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, this method of disclosure should not be construed as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as reflected in the appended claims, the inventive aspects lie in less than all of the features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of the present invention.
[0099] Furthermore, although some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are intended to be within the scope of the present disclosure and form different embodiments, as will be understood by those skilled in the art. For example, in the appended claims, any of the claimed embodiments can be used in any combination.
[0100] In addition, some embodiments are described herein as methods or combinations of elements of methods that can be implemented by a processor of a computer system or by other devices that perform the functions. Accordingly, a processor having the necessary instructions for executing such methods or elements of methods forms a means for executing such methods or elements of methods. In addition, the elements of the apparatus embodiments described herein are examples of means for performing the functions performed by the element for the purpose of implementing the present invention.
[0101] In the description provided herein, numerous specific details are set forth. However, it should be understood that embodiments of the present invention may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.
[0102] Accordingly, while the content of what has been described as the preferred embodiments of the present invention has been set forth, those skilled in the art will recognize that other and additional modifications can be made thereto without departing from the spirit of the present invention, and it is intended that all such changes and modifications fall within the scope of the present invention. For example, any of the scenarios given above merely represent procedures that can be used. Functions can be added or removed from the block diagrams, and operations can be interchanged between the function blocks. Steps can be added or removed from the described methods within the scope of the present invention.
[0103] The subject matter disclosed above should be considered illustrative and not restrictive, and the appended claims are intended to cover all such modifications, improvements, and other embodiments that fall within the true spirit and scope of this disclosure. Accordingly, to the maximum extent permitted by law, the scope of this disclosure will be determined by the broadest permissible interpretation of the appended claims and their equivalents, and should not be limited or restricted by the foregoing detailed description. While various embodiments of this disclosure have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of this disclosure. Accordingly, this disclosure is not limited except as by the appended claims and their equivalents.
Claims
1. A method for generating dynamic non-fungible tokens, which comprises: Receiving an authentication request for a transaction from at least one device associated with a user; Collecting identification data associated with the at least one device or the user from one or more databases via one or more data mining applications or web crawling applications; Processing the identification data associated with the at least one device or the user via a machine learning model to generate the dynamic non-fungible tokens; Storing the dynamic non-fungible tokens in a transaction block of a distributed blockchain via the machine learning model; and Transmitting the dynamic non-fungible tokens to a digital wallet application to authenticate the transaction, wherein the non-fungible tokens are transmitted from a first digital wallet application associated with the user to a second digital wallet application having a service provider.
2. The method according to claim 1, wherein the machine learning model is trained using supervised learning, which further comprises: Inputting a set of training data into the machine learning model in real time or near real time for generating the dynamic non-fungible tokens for storage into the distributed blockchain, wherein the training data includes inputs and correct outputs; Monitoring the accuracy of the machine learning model in real time or near real time via a loss function; and Adjusting the machine learning model until the identified error is minimized.
3. The method according to claim 1, wherein generating the dynamic non-fungible tokens further comprises: Performing a cryptographic hash on the identification data via the machine learning model; Connecting each of the hashed identification data in a predefined order via the machine learning model; Generating and storing a single hash representing the connected individual hashes via the machine learning model; and Generating the dynamic non-fungible tokens representing the single hash.
4. The method according to claim 1, wherein storing the dynamic non-fungible tokens includes minting the dynamic non-fungible tokens, which further comprises: Verifying the dynamic non-fungible tokens; Creating a new transaction block for the dynamic non-fungible tokens in the distributed blockchain, and Recording the dynamic non-fungible tokens into the transaction block in the distributed blockchain.
5. The method according to claim 1, wherein collecting the identification data further comprises: Generating a notification in the user interface of the at least one device requesting access to the user's current location; and Comparing the user's current location with store location information to perform location-based verification to authenticate the transaction.
6. The method according to claim 5, which further comprises: Generating a presentation of one or more instructions in the user interface of the at least one device to align an identity card, position the user's face in a specific location, or a combination thereof; Capturing multiple images or videos of the identity card, the user's face, or a combination thereof via one or more sensors; and Analyzing the accuracy of the multiple images or videos via one or more algorithms.
7. The method according to claim 1, further comprising: receiving a blockchain address and verification that the transaction block is recorded in the distributed blockchain; and monitoring the distributed blockchain and at least one transaction on the distributed blockchain that matches the blockchain address in real time or near real time.
8. The method according to claim 7, further comprising: updating metadata associated with the dynamic non-fungible token at least in part based on the monitoring; generating a new dynamic non-fungible token at least in part based on the updated metadata; and connecting the new dynamic non-fungible token to a previous dynamic non-fungible token on the transaction block of the distributed blockchain.
9. The method according to claim 1, wherein the distributed blockchain stores the dynamic non-fungible tokens as a sequence of transaction blocks, and wherein each of the transaction blocks is immutably connected to a previous transaction block by a cryptographic hash function.
10. The method according to claim 1, wherein the dynamic non-fungible token is a non-fungible cryptographic asset in a standard token format, and wherein the dynamic non-fungible token is recorded in a programmable smart contract written to the distributed blockchain.
11. A non-transitory computer-readable medium for generating dynamic non-fungible tokens, the non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations comprising: receiving an authentication request for a transaction from at least one device associated with a user; collecting identification data associated with the at least one device or the user from one or more databases via one or more data mining applications or web crawling applications; processing the identification data associated with the at least one device or the user via a machine learning model to generate the dynamic non-fungible token; storing the dynamic non-fungible token in a transaction block of a distributed blockchain via the machine learning model; and transmitting the dynamic non-fungible token to a digital wallet application to authenticate the transaction, wherein the non-fungible token is transmitted from a first digital wallet application associated with the user to a second digital wallet application having a service provider.
12. The non-transitory computer-readable medium according to claim 11, wherein the machine learning model is trained using supervised learning, further comprising: inputting a set of training data into the machine learning model in real time or near real time for generating the dynamic non-fungible token for storage into the distributed blockchain, wherein the training data includes inputs and correct outputs; monitoring the accuracy of the machine learning model in real time or near real time via a loss function; and adjusting the machine learning model until the identified error is minimized.
13. The non-transitory computer-readable medium according to claim 11, wherein generating the dynamic non-fungible token further comprising: Hashing the identity recognition data via the machine learning model; Connecting each of the hashed identity recognition data in a predefined order via the machine learning model; Generating and storing a single hash representing the connected individual hashes via the machine learning model; And Generating the dynamic non-fungible token representing the single hash.
14. The non-transitory computer-readable medium according to claim 11, wherein collecting the identity recognition data further comprises: Generating a notification in the user interface of the at least one device requesting access to the user's current location; And Comparing the user's current location with store location information to perform location-based verification to authenticate the transaction.
15. The non-transitory computer-readable medium according to claim 14, which further comprises: Generating a presentation of one or more instructions in the user interface of the at least one device to align an identity card, position the user's face in a specific location, or a combination thereof; Capturing multiple images or videos of the identity card, the user's face, or a combination thereof via one or more sensors; and Analyzing the accuracy of the multiple images or videos via one or more algorithms.
16. The non-transitory computer-readable medium according to claim 11, which further comprises: Receiving a blockchain address and verification that the transaction block is recorded in the distributed blockchain; And Monitoring the distributed blockchain and at least one transaction on the distributed blockchain that matches the blockchain address in real time or near real time.
17. The non-transitory computer-readable medium according to claim 16, which further comprises: Updating metadata associated with the dynamic non-fungible token at least in part based on the monitoring; Generating a new dynamic non-fungible token at least in part based on the updated metadata; and Connecting the new dynamic non-fungible token to a previous dynamic non-fungible token on the transaction block of the distributed blockchain.
18. A system for generating dynamic non-fungible tokens, which comprises: One or more processors; And At least one non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations including: Receiving an authentication request for a transaction from at least one device associated with a user; Collecting identity recognition data associated with the at least one device or the user from one or more databases via one or more data mining applications or web crawling applications; Processing the identity recognition data associated with the at least one device or the user via a machine learning model to generate the dynamic non-fungible token; Storing the dynamic non-fungible token in a transaction block of a distributed blockchain via the machine learning model; and Transfer the dynamic non-fungible token to a digital wallet application to authenticate the transaction, wherein the non-fungible token is transferred from a first digital wallet application associated with the user to a second digital wallet application having a service provider.
19. The system according to claim 18, wherein the machine learning model is trained using supervised learning, and it further comprises: Inputting a set of training data into the machine learning model in real-time or near real-time for generating the dynamic non-fungible token for storage into the distributed blockchain, wherein the training data includes inputs and correct outputs; Monitoring the accuracy of the machine learning model in real-time or near real-time through a loss function; and Adjusting the machine learning model until the identified error is minimized.
20. The system according to claim 18, wherein generating the dynamic non-fungible token further comprises: Performing a cryptographic hash on the identity recognition data via the machine learning model; Connecting each of the hashed identity recognition data in a predefined order via the machine learning model; Generating and storing a single hash representing the connected individual hashes via the machine learning model; and Generating the dynamic non-fungible token representing the single hash.