Patent ID: 12261954

DETAILED DESCRIPTION

This disclosure provides solutions to the aforementioned and other problems of previous technology by validating a rendered object using non-fungible tokens for an interaction in a virtual environment.FIG.1is a schematic diagram of an example system for validating a rendered object using non-fungible tokens.FIG.2is a block diagram of an example user device of the system ofFIG.1.FIG.3is an embodiment of a blockchain record ofFIG.1.FIG.4is a block diagram of one or more non-fungible tokens of the system ofFIG.1.FIG.5is a flow diagram illustrating an example operation of the system ofFIG.1.

Example System for Validating a Rendered Object Using Non-Fungible Tokens

FIG.1illustrates a schematic diagram of an example system100that is generally configured to validate a rendered object using non-fungible tokens for an interaction in a virtual environment102. The system100may include a first user device104and a server106. A first user108is associated with the first user device104. The system100may be communicatively coupled to a communication network110and may be operable to transmit data between the first user device104and the server106through the communication network110. In general, the system100may improve electronic interaction technologies by validating a rendered object112prior to an interaction between the first user108and the rendered object112in the virtual environment102. This process provides improved information security because it validates that the rendered object112is not associated with a fraudulent user or entity prior to authorizing an interaction between the rendered object112and a first avatar114that is associated with the first user108in the virtual environment102.

For example, in a particular embodiment, a user (for example, the first user108) may attempt to interact with the rendered object112in the virtual environment102. The first user108may allow access to account information associated with the first user108during an interaction with the rendered object112. The rendered object112may be a visual display created to depict any suitable object or structure within the virtual environment102. The rendered object112may be created by any user or entity and may be associated with any user or entity. For example, the rendered object112may be a virtual kiosk created by and associated with a specific entity. In another example, the rendered object112may be associated with that entity but may be created by a third-party fraudulent user. In these examples, the first user108may not know the identity of who created the rendered object112. Further, a user or entity may update or revise the rendered object112(for example, editing data to change the appearance of the virtual kiosk) or portions of the surrounding virtual environment102to commit fraud. The fraudulent user or entity may gain access to the account information associated with the first user108during the interaction with the rendered object112.

The first user108may access the virtual environment102through the first user device104. The first user device104is configured to display a two-dimensional (2D) or three-dimensional (3D) representation of the virtual environment102to the first user108. Examples of a virtual environment102may include, but are not limited to, a graphical or virtual representation of a metaverse, a map, a building interior, a landscape, a fictional location, an alternate reality, or any other suitable type of location or environment. The virtual environment102may be configured to use realistic or non-realistic physics for the motion of objects within the virtual environment102. For example, some virtual environments102may be configured to use gravity whereas other virtual environments102may not be configured to use gravity. Within the virtual environment102, each user may be associated with an avatar (such as the first avatar114for the first user108). An avatar is a graphical representation of the user at a virtual location within the virtual environment102. Examples of an avatar may include, but are not limited to, a person, an animal, or an object. In some embodiments, the features and characteristics of the avatar may be customizable and user-defined. For example, the size, shape, color, attire, accessories, or any other suitable type of appearance features may be specified by a user. In embodiments, the virtual location of the avatar may be correlated to a physical location of a user in the real-world environment. By using an avatar, a user is able to move within the virtual environment102to interact with another avatar and objects (such as rendered object112) within the virtual environment102while independently remaining at the physical location or being in transit in the real-world environment.

In embodiments, a virtual resource may be associated with the rendered object112in the virtual environment102. Examples of virtual resources include, but are not limited to, virtual currency, non-fungible tokens (NFTs), virtual objects, virtual equipment, virtual vehicles, virtual property, images, documents, music files, video files, and text documents. As illustrated, a NFT116may be associated with the rendered object112. The NFT116may be operable to facilitate verification of the rendered object112. The NFT116may comprise data associated with the generation of the NFT116, including, but not limited to, infrastructure parameters, object parameters, and event parameters. Without limitations, the infrastructure parameters may include an internet protocol (IP) address and device information of a device that generated the NFT116, host environment data, server data, and the like. In embodiments, the object parameters may be physical parameters of the rendered object112. For example, the object parameters may include positional characteristics related to the relative position of the rendered object112, rotational angles of the rendered object112, scaling of the rendered object112in a spatial space of the virtual environment102, dimensions of the rendered object112, mass of the rendered object112, friction of the rendered object112, pixel density of the rendered object112, color(s) of the rendered object112, shading of the rendered object112, texture of the rendered object112, lighting of the rendered object112, and the like. In further embodiments, the event parameters may be visual changes of the rendered object112. For example, the event parameters may include animation sequences, event script functions, user input based changes, and the like.

While engaging in the virtual environment102via the first avatar114, the first user108may attempt to interact with the rendered object112. For example, the first user108may attempt to engage in an interaction session with the rendered object112through the first avatar114to exchange virtual resources and/or real-world resources. Before the interaction between the first avatar114and rendered object112occurs, the server106may authenticate the rendered object112by validating the associated NFT116. For example, any user may be capable of creating the rendered object112, and the rendered object112may not be authentic. If an interaction were to occur between the first avatar114and the rendered object112without prior authorization by the server106, a fraudulent user may gain access to account information of the first user108.

In embodiments, the server106may receive a request118from the first user device104to establish an interaction session between the first avatar114and rendered object112. The server106may further receive a request120from the first user device104to validate the NFT116. To validate the NFT116, the server106may access a blockchain record122that is configured to store a copy of a blockchain (such as blockchain300inFIG.3). The blockchain is maintained across a distributed network comprising any suitable number of devices and comprises blocks (such as blocks302inFIG.3) that contain every blockchain transfer executed in the network. Blockchain transfers may comprise information, files, or any other suitable type of data. For example, a transfer may comprise information associated with contracts, real-world resource transfers, virtual resource transfers, personal information, or any other type of information.

The server106may analyze one or more transfers stored in the blockchain associated with the NFT116. The server106may perform a search query based on the hash information of the NFT116to produce search results associated with the NFT116. In embodiments, the generation of the NFT116may be stored in the blockchain. Based on the search results, the server106may determine an account storing the NFT116. The server106may transmit a signal124to the first user device104indicating whether or not the rendered object112is authentic based on the determined account. For example, if the determined account corresponds to a user or entity associated with the rendered object112, the server106may proceed to establish the interaction session and conduct the interaction between the first user108and the rendered object112. If the determined account does not correspond to a user or entity associated with the rendered object112, the server106may deny the interaction session and indicate that the rendered object112is not authentic based on analyzing the NFT116.

In one or more embodiments, the server106may have facilitated the generation of the NFT116and updated the blockchain record122to include the generation. In other embodiments, the server106may have received a signal from one or more devices communicatively coupled to the server106across the distributed network to update the blockchain record122to include the generation.

In embodiments wherein the server106generated the NFT116, the server106may have additionally created the rendered object112. Upon initially creating the rendered object112the server106may determine one or more parameters associated with the rendered object112. The one or more parameters associated with the rendered object112are categorized as infrastructure resources, object parameters, or event parameters. The server106may then generate a NFT (such as NFT116) for assignment to the rendered object112based on the determined one or more parameters. Depending on the one or more parameters determined by the server106, the server106may generate a NFT container package (such as NFT container package400inFIG.4) that comprises a plurality of individual NFTs, wherein the NFT container package may be assigned to the rendered object112to facilitate authentication instead of a singular NFT116. The individual NFTs may be designated based on the one or more parameters and are discussed further inFIG.4.

In an example, the server106may locally store the NFT116after generation and assignment to the rendered object112. The NFT116may be stored in a NFT database126. While the NFT database126is shown as a component of server106, the NFT database126may be a separate component of system100external to server100. The NFT database126may be accessible and communicatively coupled to the server106and one or more external, third-party servers. The external NFT database126may be a suitable server (e.g., including a physical server and/or virtual server) operable to store data/information in a memory and/or provide access to application(s) or other services.

In this example, the server106may receive a signal128from the first user device104comprising one or more parameters associated with the rendered object112that have been extracted by the first user device104. The extracted one or more parameters may correlate to the one or more parameters used to generate the NFT116. The server106may access the NFT database126storing the generated NFT116for comparison with the extracted one or more parameters. If the extracted one or more parameters match the one or more parameters used to generate the NFT116, the server106may transmit the signal124to the first user device104indicating that the rendered object112is authentic and proceed with conducting the interaction.

The server106may further conduct the interaction between the first avatar114and rendered object112after authenticating the rendered object112through validating the NFT116. The interaction may comprise exchange virtual resources and/or real-world resources. The server106is generally a suitable server (e.g., including a physical server and/or virtual server) operable to store data in a memory130and/or provide access to application(s) or other services. The server106may be a backend server associated with a particular group that facilitates conducting interactions between entities and one or more users. Details of the operations of the server106are described in conjunction withFIG.5. Memory130includes software instructions132that, when executed by a processor134, cause the server106to perform one or more functions described herein. Memory130may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM). Memory130may be implemented using one or more disks, tape drives, solid-state drives, and/or the like. Memory130is operable to store software instructions132, blockchain record122, and/or any other data or instructions. The software instructions132may comprise any suitable set of instructions, logic, rules, or code operable to execute the processor134. In these examples, the processor134may be communicatively coupled to the memory130and may access the memory130for these determinations.

Processor134comprises one or more processors operably coupled to the memory130. The processor134is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate array (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor134can include any suitable data generation engine modules. The processor134may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor134may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. The processor134may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. The one or more processors are configured to implement various instructions. For example, the one or more processors are configured to execute software instructions132. In this way, processor134may be a special-purpose computer designed to implement the functions disclosed herein. In an embodiment, the processor134is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. The processor134is configured to operate as described inFIGS.1and5. For example, the processor134may be configured to perform the steps of method500as described inFIG.5.

The processor134may be operable to identify the one or more parameters associated with the rendered object112for generating and validating the NFT116. In embodiments, the processor134may utilize any suitable deep learning algorithm and/or protocols, machine learning algorithms, and the like. In certain embodiments, the processor134may implement a deep learning context module. For example, the deep learning context module may be implemented by a plurality of neural network layers, and the like. The deep learning context module may be configured to extract information (for example, the one or more parameters of the NFT116) from an input. In certain embodiments, the deep learning context module may include an input layer (connected to) one or more hidden layers (connected to) an output layer. In certain embodiments, in each hidden layer, the neuron circuits (e.g., neuron logic gates) are connected to each other. The deep learning context module may be implemented by a supervised machine learning, semi-supervised machine learning, and/or unsupervised machine learning algorithm.

The processor134(e.g., via the deep learning context module) may parse an input and identify particular keywords that indicate the meaning of the input. For example, the deep learning context module may be pre-trained to identify particular keywords that indicate valid responses. In this process, the deep learning context module may perform word tokenization, sentence tokenization, word segmentation, sentence segmentation, word-tagging, sentence tagging, word sequences, sentiment analysis, and/or any other linguistic pattern analysis.

As illustrated, the server106may further comprise a network interface136. Network interface136is configured to enable wired and/or wireless communications (e.g., via communication network110). The network interface136is configured to communicate data between the server106and other devices (e.g., first user device104, second user device106, first entity device108, second entity device110, etc.), databases (e.g., external database144), systems, or domain(s). For example, the network interface136may comprise a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. The processor134is configured to send and receive data using the network interface136. The network interface136may be configured to use any suitable type of communication protocol as would be appreciated by one of skill in the art.

The communication network110may facilitate communication within the system100. This disclosure contemplates the communication network110being any suitable network operable to facilitate communication between the first user device104, second user device106, first entity device108, second entity device110, and the server106. Communication network110may include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding. Communication network110may include all or a portion of a local area network (LAN), a wide area network (WAN), an overlay network, a software-defined network (SDN), a virtual private network (VPN), a packet data network (e.g., the Internet), a mobile telephone network (e.g., cellular networks, such as 4G or 5G), a POT network, a wireless data network (e.g., WiFi, WiGig, WiMax, etc.), a Long Term Evolution (LTE) network, a Universal Mobile Telecommunications System (UMTS) network, a peer-to-peer (P2P) network, a Bluetooth network, a Near Field Communication network, a Zigbee network, and/or any other suitable network, operable to facilitate communication between the components of system100. In other embodiments, system100may not have all of these components and/or may have other elements instead of, or in addition to, those above.

The first user device104may be any computing device configured to communicate with other devices, such as a server (e.g., server106), databases, etc. through the communication network110. The first user device104may be configured to perform specific functions described herein and interact with server106, e.g., via its user interfaces. The first user device104is a hardware device that is generally configured to provide hardware and software resources to a user. Examples of a user device include, but are not limited to, a virtual reality device, an augmented reality device, a laptop, a computer, a smartphone, a tablet, a smart device, an Internet-of-Things (IoT) device, or any other suitable type of device. The user device may comprise a graphical user interface (e.g., a display), a touchscreen, a touchpad, keys, buttons, a mouse, or any other suitable type of hardware that allows a user to view data and/or to provide inputs into the user device. The first user device104may be configured to allow a user to send requests to the server106or to another user device.

Example User Device

FIG.2is a block diagram of an embodiment of the first user device104used by the system ofFIG.1. First user device104may be configured to display the virtual environment102(referring toFIG.1) within a field of view of the first user108(referring toFIG.1), capture biometric, sensory, and/or physical information of the first user108wearing the first user device104, and to facilitate an electronic interaction between the first user108and the rendered object112(referring toFIG.1). An example of the first user device104in operation is described inFIG.5.

First user device104comprises a processor202, a memory204, and a display206. Further embodiments may include a camera208, a wireless communication interface210, a network interface212, a microphone214, a global position system (GPS) sensor216, and/or one or more biometric devices218. First user device104may be configured as shown or in any other suitable configuration. For example, first user device104may comprise one or more additional components and/or one or more shown components may be omitted.

The processor202comprises one or more processors operably coupled to and in signal communication with memory204, display206, camera208, wireless communication interface210, network interface212, microphone214, GPS sensor216, and biometric devices218. Processor202is configured to receive and transmit electrical signals among one or more of memory204, display206, camera208, wireless communication interface210, network interface212, microphone214, GPS sensor216, and biometric devices218. The electrical signals are used to send and receive data (e.g., images captured from camera208, virtual objects to display on display206, etc.) and/or to control or communicate with other devices. Processor202may be operably coupled to one or more other devices (for example, the server106inFIG.1). Similar to processor134(referring toFIG.1), the processor202may be operable to identify one or more parameters associated with the rendered object112(referring toFIG.1). In embodiments, the processor202may utilize any suitable deep learning algorithm and/or protocols, machine learning algorithms, and the like.

The processor202is any electronic circuitry including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate array (FPGAs), application specific integrated circuits (ASICs), or digital signal processors (DSPs). The processor202may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, the processor202may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. The processor202may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.

The one or more processors are configured to implement various instructions. For example, the one or more processors are configured to execute instructions to implement the function disclosed herein, such as some or all of those described with respect toFIGS.1and5. For example, processor202may be configured to display virtual objects on display206, detect hand gestures, identify virtual objects selected by a detected hand gesture (e.g., identify selected files), capture biometric information of a user, such as first user108, via one or more of camera208, microphone214, and/or biometric devices218, and communicate via wireless communication interface210with server106. In some embodiments, the function described herein is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware or electronic circuitry.

The memory204is operable to store any of the information described with respect toFIGS.1and5along with any other data, instructions, logic, rules, or code operable to implement the function(s) described herein when executed by processor202. For example, the memory204may store the instructions and logic rules220, which are described below with respect toFIG.5. The memory204comprises one or more disks, tape drives, or solid-state drives, and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. Memory204is operable to store, for example, instructions for performing the functions of first user device104described herein, and any other data or instructions. The memory204may be volatile or non-volatile and may comprise read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).

Display206is configured to present visual information to a user (for example, first user108inFIG.1) in an augmented reality environment that overlays virtual or graphical objects onto tangible objects in a real scene in real-time. In other embodiments, the display206is configured to present visual information to the user as the virtual environment102(referring toFIG.1) in real-time. In an embodiment, display206is a wearable optical display (e.g., glasses or a headset) configured to reflect projected images and enables a user to see through the display. For example, display206may comprise display units, lens, semi-transparent mirrors embedded in an eye glass structure, a visor structure, or a helmet structure. Examples of display units include, but are not limited to, a cathode ray tube (CRT) display, a liquid crystal display (LCD), a liquid crystal on silicon (LCOS) display, a light emitting diode (LED) display, an active matrix OLED (AMOLED), an organic LED (OLED) display, a projector display, or any other suitable type of display as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. In another embodiment, display206is a graphical display on a user device. For example, the graphical display may be the display of a tablet or smart phone configured to display an augmented reality environment with virtual or graphical objects onto tangible objects in a real scene in real-time and/or virtual environment102.

Examples of camera208include, but are not limited to, charge-coupled device (CCD) cameras and complementary metal-oxide semiconductor (CMOS) cameras. Camera208is configured to capture images of a wearer of first user device104, such as first user108. Camera208may be configured to capture images continuously, at predetermined intervals, or on-demand. For example, camera208may be configured to receive a command from first user108to capture an image. In another example, camera208is configured to continuously capture images to form a video stream. Camera208is communicably coupled to processor202.

Examples of wireless communication interface210include, but are not limited to, a Bluetooth interface, an RFID interface, a near field communication interface, a local area network (LAN) interface, a personal area network interface, a wide area network (WAN) interface, a Wi-Fi interface, a ZigBee interface, or any other suitable wireless communication interface as would be appreciated by one of ordinary skill in the art upon viewing this disclosure. Wireless communication interface210is configured to facilitate processor202in communicating with other devices. For example, wireless communication interface210is configured to enable processor202to send and receive signals with other devices, such as server106(referring toFIG.1). Wireless communication interface210is configured to employ any suitable communication protocol.

The network interface212is configured to enable wired and/or wireless communications. The network interface212is configured to communicate data between the first user device104and other network devices, systems, or domain(s). For example, the network interface212may comprise a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. The processor202is configured to send and receive data using the network interface212. The network interface212may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.

Microphone214is configured to capture audio signals (e.g., voice signals or commands) from a user, such as first user108. Microphone214is configured to capture audio signals continuously, at predetermined intervals, or on-demand. Microphone214is communicably coupled to processor202.

GPS sensor216is configured to capture and to provide geographical location information. For example, GPS sensor216is configured to provide a geographic location of a user, such as first user108, employing first user device104. GPS sensor216may be configured to provide the geographic location information as a relative geographic location or an absolute geographic location. GPS sensor216may provide the geographic location information using geographic coordinates (i.e., longitude and latitude) or any other suitable coordinate system. GPS sensor216is communicably coupled to processor202.

Examples of biometric devices218may include, but are not limited to, retina scanners and fingerprint scanners. Biometric devices218are configured to capture information about a person's physical characteristics and to output a biometric signal based on captured information. A biometric signal is a signal that is uniquely linked to a person based on their physical characteristics. For example, biometric device218may be configured to perform a retinal scan of the user's eye and to generate a biometric signal for the user based on the retinal scan. As another example, a biometric device218is configured to perform a fingerprint scan of the user's finger and to generate a biometric signal for the user based on the fingerprint scan. Biometric device218is communicably coupled to processor202.

Example Block of the Blockchain Record

FIG.3illustrates an embodiment of a blockchain300from the blockchain record122ofFIG.1. The blockchain300links together blocks302of data which comprise identifiable units called transfers304. Transfers304may comprise information, files, or any other suitable type of data. For example, a transfer304may comprise information associated with contracts, real-world resource transfers, virtual resource transfers, personal information, or any other type of information.

Each block302in the blockchain300comprises a block identifier306and information derived from a preceding block302. For example, every block302in the blockchain300includes a hash308of the previous block302. By including the hash308, the blockchain300comprises a chain of blocks302from a genesis block302to the current block302. Each block302is guaranteed to come after the previous block302chronologically because the previous block's hash308would otherwise not be known. In one embodiment, blocks302in a blockchain300may be linked together by identifying a preceding block302with a cryptographic checksum (e.g., secure hash algorithm (SHA)-256) of its contents (e.g., the transfer and additional metadata) which serves as each block's unique identifier. Links are formed by storing the cryptographic checksum identifier of one block302in the metadata of another block302, such that the former block302becomes the predecessor of the latter block302. In this way, the blocks302form a chain that can be navigated from block-to-block by retrieving the cryptographic checksum of a particular block's predecessor from the particular block's own metadata. Each block302is computationally impractical to modify once it has been in the blockchain because every block302after it would also have to be regenerated. These features protect data stored in the blockchain300from being modified by bad actors which provides information security. When a network node creates an entry (e.g., one or more transfers304in a block302) in its blockchain record122, the blockchain300for all other network nodes in the distributed network is also updated with the new entry. Thus, data entered in a blockchain300is available and accessible to every network node with a copy of the blockchain record122. This allows the data stored in the block302to be accessible for inspection and verification at any time by any device with a copy of the blockchain record122.

Some blocks302comprise one or more contracts310. The contracts310comprise machine-executable code, script, or instructions312that are configured to execute when a set of predetermined conditions have been satisfied. The contract310is configured to receive messages or information from other devices (e.g., first user device104or server106) and to use the conditions as logical tests to determine whether or not to execute a set of instructions312. The contract310, instructions312, and conditions may be written C++, C#, Go, Python, Java, extensible markup language (XML) script, or any other suitable programming language. The instructions312may be configured with instructions for performing any specified operations. For example, the instructions312may be configured to facilitate a real-world resource transfer and/or a virtual resource transfer between users. In one embodiment, the instructions312comprise instructions for entering a transfer in the blockchain300for transferring real-world resources and/or virtual resources between users' digital folders. In other embodiments, the instructions312may comprise any other suitable type and combination of machine-executable instructions for performing other types of operations. The conditions may be configured as Boolean tests for determining whether a condition has been satisfied. Examples of conditions include, but are not limited to, range threshold values, valid time periods, approved product and service types, approved locations or areas, or any other suitable type of condition.

In embodiments, the server106may generate the NFT116associated with the rendered object112. In this case, the server106may send instructions or commands to one or more contracts310in the blockchain record122to execute the one or more contracts310to perform a generation of the NFT116and an assignment to the rendered object112.

Example NFT Container Package

FIG.3illustrates an embodiment of a NFT container package400for the system100ofFIG.1. The NFT container package400may comprise a plurality of NFTs. As illustrated, the NFT container package400may comprise a first NFT402, a second NFT404, and a third NFT406, wherein each is packaged within the NFT container package400to collectively be processed as a singular object structure. Each of the first NFT402, second NFT404, and third NFT406may include one or more parameters associated with the rendered object112(referring toFIG.1). For example, the first NFT402may comprise the one or more parameters categorized as infrastructure resources, the second NFT404may comprise the one or more parameters categorized as object parameters, and the third NFT406may comprise the one or more parameters categorized as event parameters. In embodiments, the NFT container package400may be assigned to the rendered object112in place of the generated NFT116(referring toFIG.1), and the server106(referring toFIG.1) may be operable to validate the NFT container package400. Validating the NFT container package400may comprise of validating each of the first NFT402, second NFT404, and third NFT406within the NFT container package400.

To validate the first NFT402, the server102may receive a request from the first user device104(referring toFIG.1) to provide the one or more parameters associated with infrastructure resources for validating the first NFT402of the generated NFT container package400. For example, the first user device104may not have access to parameters such as an internet protocol (IP) address and device information of a device that generated the first NFT402, host environment data, server data, and the like. In embodiments, the server106may have generated the first NFT402and may provide those parameters to the first user device104.

In an embodiment, there may be an update to the rendered object112or to a surrounding portion of the virtual environment102(referring toFIG.1) affecting the rendered object112. The server106may generate a newer version of any one of the first NFT402, second NFT404, or third NFT406containing one or more parameters affected by the update. For example, an object parameter, such as the color of the rendered object112may be updated. In this example, the server106may generate a new second NFT404and create a NFT container package400that comprises the new second NFT404. The server106may update the blockchain300(referring toFIG.3) to reflect the created NFT container package comprising the new second NFT404, wherein any future authentication attempts for the rendered object112may utilize the NFT container package400comprising the new second NFT404.

Example Operation of the System for Authenticating Digital Assets

FIG.5is a flow diagram illustrating an example method500of the system100ofFIG.1. The method500may be implemented using the first user device104and the server106ofFIG.1. The method500may begin at step502where the server106may create a rendered object112(referring toFIG.1) in the virtual environment102(referring to FIG.1). For example, the server106may be associated with an entity and may create a rendered object112, such as a virtual kiosk, to facilitate interactions within the virtual environment102with one or more users. The processor134(referring toFIG.1) of the server106may determine one or more parameters associated with the rendered object112. In embodiments, the processor134may utilize any suitable deep learning algorithm and/or protocols, machine learning algorithms, and the like to determine the one or more parameters.

At step504, the processor134of the server106may generate at least one NFT116(referring toFIG.1) based on the determined one or more parameters from step502. The at least one generated NFT116may comprise data associated with the rendered object112and may be assigned to the rendered object112. In another example, the processor134may generate the NFT container package400(referring toFIG.4) comprising individual NFTs categorized by the one or more parameters contained therein. In this example, the NFTs may be separated based on whether the one or more parameters are categorized as infrastructure resources, object parameters, or event parameters. The processor134of the server106may update the blockchain record122indicating generation of the at least one NFT116or NFT container package400. In embodiments, there may be an update to the rendered object112or to a surrounding portion of the virtual environment102affecting the rendered object112. The processor134of the server106may generate a newer version of the NFT116containing one or more parameters affected by the update. For example, an object parameter, such as the color of the rendered object112may be updated from red to blue. The server106may update the blockchain300(referring toFIG.3) to reflect the new NFT116, and future authentication attempts for the rendered object112through method500may utilize the new NFT116.

At step506, the first user108(referring toFIG.1) may request to establish an interaction session to conduct an interaction between the first avatar114(referring toFIG.1) and the rendered object112in the virtual environment102. In embodiments, the first user device104may transmit the request118(referring toFIG.1) to the server106to establish the interaction session. Before the interaction between the first avatar114and the rendered object112occurs, the server106may authenticate the rendered object112. For example, any suitable user may be capable of creating the rendered object112, and the rendered object may not be authentic. If an interaction were to occur between the first avatar114and the rendered object without prior authorization by the server106, a fraudulent user may gain access to account information associated with the first user108. In embodiments, the rendered object112may be authenticated by validating generation of the NFT116(or NFT container package400). The first user device104may further transmit the request120(referring toFIG.1) to the server106to validate the NFT116, or NFT container package400, associated with the rendered object112. The method500may proceed to either step508or step510.

At step508, in response to the processor134of the server106receiving the requests118,120, the processor134may receive signal128(referring toFIG.1) from the first user device104comprising one or more parameters associated with the rendered object112that have been extracted by the first user device104. The extracted one or more parameters may correlate to the one or more parameters used to generate the NFT116by server106. The processor134of the server106may access the NFT database126(referring toFIG.1) storing the generated NFT116for comparison with the extracted one or more parameters. If the extracted one or more parameters match the one or more parameters used to generate the NFT116, the processor134of the server106may transmit the signal124(referring toFIG.1) to the first user device104indicating that the rendered object112is authentic and proceed with method500.

At step510, in response to the processor134of the server106receiving the requests118,120, the processor134may access the memory130(referring toFIG.1) to search the blockchain record122(referring toFIG.1). The processor134of the server106may analyze one or more transfers304(referring toFIG.3) stored in the blockchain300associated with the NFT116. The processor134of the server106may perform a search query based on hash information of the NFT116to produce search results associated with the NFT116. In embodiments, the generation of the NFT116may be stored in the blockchain300. Based on the search results, the server processor134of the server106may determine an account storing the NFT116. The processor134of the server106may transmit signal124to the first user device104indicating whether or not the rendered object112is authentic based on the determined account. For example, if the determined account corresponds to a user or entity associated with the rendered object112, the processor134of the server106may proceed with the method500to establish the interaction session. If the determined account does not correspond to a user or entity associated with the rendered object112, the processor134of the server106may indicate that the rendered object112is not authentic based on analyzing the NFT116.

At step512, the processor134may determine whether the NFT116has been validated for authentication of the rendered object112. If the processor134determines that the NFT116is not validated, the method500proceeds to step514. Otherwise, the method500proceeds to step516. At step514, the processor134of the server106may deny the request to establish an interaction session between the first avatar114and the rendered object112. Then, the method500proceeds to end.

At step516, the processor134of the server106may establish the interaction session between the first avatar114and the rendered object112in order to conduct the interaction between the first user108and the rendered object112. The processor134of the server106may then conduct the interaction, wherein the interaction comprises exchanging virtual resources and/or real-world resources. Then, the method500proceeds to end.

While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not limiting, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.

In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.

To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants note that they do not intend any of the appended claims to invoke 35 U.S.C. § 106(f) as it exists on the date of filing hereof unless the words “means for” or “step for” are explicitly used in the particular claim.