Identifying non-homogenized tokens and related content for indexing
By processing blockchain data and output actions, identifying data to identify and index non-fungible tokens, the problem of identifying and verifying non-fungible token search results in the prior art is solved, and high accuracy is achieved. Token data index and search.
Patent Information
- Application Number
- CN202280097582.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2025-02-18
AI Technical Summary
The prior art is difficult to effectively identify and verify the search results of non-fungible tokens, resulting in complex and inaccurate search processes.
By obtaining blockchain data, processing blockchain data is processed to determine candidate token data, and determining whether candidate token data is associated with non-fungible tokens by processing output actions, identifying data is generated to identify and index related tokens by identifying and indexing related tokens data.
Accurate identification and indexing of non-fungible tokens is achieved, the accuracy and user experience of search results are improved, and the effectiveness evaluation and quality judgment of candidate token data are enhanced.
Smart Images

Figure CN119487501A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to identifying token data associated with a non-fungible token minted on a blockchain. More specifically, the present disclosure relates to obtaining blockchain data, processing the blockchain data to determine candidate token data, and processing the candidate token data to determine whether the candidate token data is associated with a non-fungible token. Background Art
[0002] A search engine can receive a search query and provide search results that list web pages that are determined to be responsive to the search query. The search engine can crawl the web to determine web pages with certain terms. The search results can typically be indicated using a caption and / or a text title. The search results can include text results, video results, and image results.
[0003] However, searching and identifying non-fungible token search results may be difficult. Searching for non-fungible tokens may be limited to finding general web pages associated with different non-fungible tokens; however, search engines may not correctly identify and verify non-fungible token search results as non-fungible tokens. Summary of the invention
[0004] Aspects and advantages of embodiments of the present disclosure will be set forth in part in the following description, or may be learned from the description, or may be learned through practice of the embodiments.
[0005] An example aspect of the present disclosure relates to a computing system. The system may include one or more processors and one or more non-transitory computer-readable media that collectively store instructions that, when executed by the one or more processors, cause the computing system to perform operations. The operation may include obtaining blockchain data. The blockchain data may include byte codes associated with a blockchain. The operation may include processing the blockchain data to determine that a subset of the blockchain data includes candidate token data. In some implementations, the candidate token data may be associated with a blockchain trigger event. The operation may include determining an output action associated with the blockchain trigger event. The output action may be associated with a digital resource. The operation may include processing the output action to determine that the candidate token data describes a non-fungible token, and providing identification data as an output. The identification data may describe that the candidate token data is associated with a non-fungible token.
[0006] In some implementations, processing an output action to determine candidate token data describing a non-fungible token may include determining an entity associated with the output action and determining that the entity is a digital resource being transferred in response to a blockchain triggering event. The operation may include determining the validity of the candidate token data. The validity may be determined based on whether the candidate token data includes the determined problematic characteristic. The identification data may be generated based at least in part on the validity.
[0007] In some implementations, processing the output action to determine candidate token data describing the non-fungible token may include determining that the output action includes a link to a login address, obtaining login data associated with the login address, processing the login data to determine that the login data includes a digital resource, and determining that the digital resource is associated with the non-fungible token. The operations may include processing the output action to determine the digital resource associated with the non-fungible token, processing the digital resource to determine a quality of the digital resource, and determining whether to index the candidate token data based at least in part on the identification data and the quality of the digital resource.
[0008] In some implementations, the quality of the digital resource may be determined based on at least one of a resolution of the digital resource, a size of the digital resource, or a determined uniqueness of the digital resource. In some implementations, processing the output action to determine candidate token data describing the non-fungible token may include obtaining a uniform resource identifier via an application programming interface. The candidate token data may be determined based on one or more criteria associated with a non-fungible token code standard. In some implementations, the candidate token data may include reference data associated with the digital resource.
[0009] Another example aspect of the present disclosure relates to a computer-implemented method. The method may include obtaining blockchain data by a computing system including one or more processors. The blockchain data may include byte code associated with a blockchain. The method may include processing the blockchain data by the computing system to determine that a subset of the blockchain data includes candidate token data. The candidate token data may be associated with a blockchain trigger event. The method may include obtaining standard data by the computing system. The standard data may include one or more standards associated with a standard for a non-fungible token. The method may include processing the candidate token data by the computing system to determine that the candidate token data is associated with one or more standards. In some implementations, the method may include generating identification data by the computing system based on the candidate token data being associated with one or more standards. The identification data may describe that the candidate token data is associated with a non-fungible token. The method may include providing the identification data as an output by the computing system.
[0010] In some implementations, the method may include generating, by a computing system, index data based on the candidate token data and the identification data. The method may include processing, by a computing system, a blockchain trigger event to determine a digital resource associated with a non-fungible token; processing, by a computing system, the digital resource to determine that the digital resource is vulgar; and determining, by the computing system, whether to index the candidate token data based at least in part on the identification data and the digital resource being vulgar.
[0011] In some implementations, obtaining blockchain data by a computing system including one or more processors may include obtaining, by the computing system, first node data from a blockchain node. The blockchain node may be associated with a particular blockchain. Obtaining blockchain data by a computing system including one or more processors may include processing, by the computing system, the first node data in a sandbox to generate a first portion of blockchain data, and storing, by the computing system, the first portion of blockchain data.
[0012] In some implementations, obtaining blockchain data by a computing system including one or more processors may include obtaining, by the computing system, second node data from a blockchain node. The blockchain node may be associated with a particular blockchain. Obtaining blockchain data by a computing system including one or more processors may include processing, by the computing system in a sandbox, the second node data to generate a second portion of blockchain data, and storing, by the computing system, the second portion of blockchain data.
[0013] Another example aspect of the present disclosure relates to one or more non-transitory computer-readable media that collectively store instructions that, when executed by one or more computing devices, cause one or more computing devices to perform operations. The operation may include obtaining blockchain data. The blockchain data may include byte codes associated with a blockchain. The operation may include processing the blockchain data to determine that a subset of the blockchain data includes candidate token data. In some implementations, the candidate token data may be associated with a blockchain trigger event. The operation may include processing the candidate token data to determine an intent associated with the candidate token data. The candidate token data may include reference data associated with a digital resource. The operation may include processing the intent to determine that the candidate token data describes a non-fungible token, and providing identification data as an output. In some implementations, the identification data may describe that the candidate token data is associated with a non-fungible token.
[0014] In some implementations, the intent may be determined based at least in part on a blockchain trigger event. The candidate token data may include data describing a smart contract. The blockchain trigger event may be an event that triggers the transfer of a payload of the smart contract. In some implementations, the intent may be a minting intent to issue a non-fungible token on a blockchain. The intent may be determined based at least in part on free-form text in the candidate blockchain data.
[0015] Other aspects of the disclosure relate to various systems, apparatuses, non-transitory computer-readable media, user interfaces, and electronic devices.
[0016] These and other features, aspects and advantages of various embodiments of the present disclosure will be better understood with reference to the following description and appended claims.The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate example embodiments of the present disclosure and, together with the description, serve to explain the relevant principles. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] A detailed discussion of the embodiments for those skilled in the art is set forth in this specification with reference to the accompanying drawings, in which:
[0018] Figure 1A A block diagram depicting an example computing system that performs token data identification and non-fungible token indexing according to example embodiments of the present disclosure.
[0019] Figure 1B A block diagram depicting an example computing device that performs token data identification and non-fungible token indexing according to example embodiments of the present disclosure.
[0020] Figure 2 A block diagram depicts an example token data identification system according to an example embodiment of the present disclosure.
[0021] Figure 3 A block diagram depicts an example index filtering system according to an example embodiment of the present disclosure.
[0022] Figure 4 A block diagram depicts an example index determination system according to an example embodiment of the present disclosure.
[0023] Figure 5 A block diagram depicts an example quality determination system according to an example embodiment of the present disclosure.
[0024] Figure 6 A flow chart depicting an example method for performing token data identification according to an example embodiment of the present disclosure.
[0025] Figure 7 A flow chart depicting an example method for performing token data identification according to an example embodiment of the present disclosure.
[0026] Figure 8 A flow chart depicting an example method for performing token data identification according to an example embodiment of the present disclosure.
[0027] Fig.9A A block diagram depicts an example computing system that performs token data identification and indexing according to example embodiments of the present disclosure.
[0028] Fig. 9B A block diagram depicting an example computing device that performs token data identification and indexing according to example embodiments of the present disclosure.
[0029] Fig. 9C A block diagram depicts an example computing system that performs token data identification and indexing according to example embodiments of the present disclosure.
[0030] Fig.10 A block diagram depicts an example indexing system according to an example embodiment of the present disclosure.
[0031] Fig.11 A block diagram depicts an example indexed data set according to an example embodiment of the present disclosure.
[0032] Fig.12 A block diagram depicts an example search according to an example embodiment of the present disclosure.
[0033] Fig.13A Depicted is an illustration of an example search results page according to an example embodiment of the present disclosure.
[0034] Fig. 13B Depicted is an illustration of an example search results page according to an example embodiment of the present disclosure.
[0035] Fig. 13C Depicted is an illustration of an example search results page according to an example embodiment of the present disclosure.
[0036] Reference numerals repeated across multiple drawings are intended to identify like features in the various implementations. DETAILED DESCRIPTION
[0037] Overview
[0038] In general, the present disclosure relates to systems and methods for identifying token data in blockchain data. Specifically, the system and method can utilize blockchain trigger event determination and processing to identify data describing non-fungible tokens. The system and method may include obtaining blockchain data. The blockchain data may include byte code associated with the blockchain. The blockchain data may be processed to determine that a subset of the blockchain data includes candidate token data. In other words, the blockchain data may be processed to determine that the candidate token data is included in the subset of the blockchain data. In some implementations, the candidate token data may be associated with a blockchain trigger event. An output action associated with the blockchain trigger event may be determined. The output action may be associated with a digital resource. The output action may be processed to determine that the candidate token data describes a non-fungible token. Identification data may be provided as an output. The identification data may describe that the candidate token data is associated with a non-fungible token.
[0039] The systems and methods disclosed herein may be used to implement non-fungible token searches via a search engine. For example, a search query may be received. The search engine may process the search query and may determine a plurality of search results associated with the search query. In some implementations, one or more search results may be associated with a non-fungible token. A particular search result may be associated with index data. One or more non-fungible token search results may be provided for display in a search result interface (e.g., a search result page). One or more non-fungible token search results may be provided for display in a separate panel. Alternatively and / or additionally, one or more non-fungible token search results may be provided for display adjacent to general search results. One or more non-fungible token search results may be provided along with one or more indicators indicating the properties of the non-fungible token (e.g., provided along with one or more labels, flags, and / or tags). In some implementations, one or more non-fungible token search results may be provided along with a generated preview of a digital resource based on the index data.
[0040] In some implementations, the systems and methods disclosed herein may be used for Web3 profiles, Web3 transactions, and / or Web3 identification.
[0041] The systems and methods can improve search user interfaces and user experiences by identifying and indexing relevant data that can be used to determine that a non-fungible token is responsive to a search query. Additionally and / or alternatively, the indexed data can be used to determine the ranking of non-fungible token search results relative to other search results. The systems and methods can be used to determine whether search results can be provided with a non-fungible token logo and / or whether they can be given a ranking boost based on an association with a certified non-fungible token. The systems and methods can be used not only to identify non-fungible tokens that are pre-labeled or strictly follow non-fungible token standards, but also to identify data sets that are intended to act as non-fungible tokens even if there are errors or lack of compliance with certain procedures or rules.
[0042] The system and method may obtain blockchain data. The blockchain data may be associated with a blockchain that stores data in a decentralized and distributed system. For example, the blockchain data may include byte code associated with the blockchain. The blockchain data may be associated with a plurality of non-fungible tokens. The plurality of non-fungible tokens may be associated with a plurality of digital resources (e.g., a plurality of digital assets). In some implementations, the blockchain data may be obtained from a blockchain node associated with a particular blockchain. The blockchain data may include pre-filtered blockchain data that has been processed to filter out data that may not have been utilized during identification and / or indexing.
[0043] The system and method may process blockchain data to determine that a subset of the blockchain data includes candidate token data. That is, the blockchain data may be processed to determine or identify a subset of the blockchain data that includes candidate token data. The candidate token data may be associated with a blockchain trigger event (e.g., an if-then event that may result in the transfer of a digital resource (e.g., a digital asset)). In some implementations, the candidate token data may be determined based on one or more criteria associated with a non-fungible token code standard. Additionally and / or alternatively, the candidate token data may include reference data associated with the digital resource. The blockchain trigger event may be associated with a smart contract. In some implementations, the candidate token data may be determined by parsing the blockchain data into fragments that may be processed separately. The candidate token data may be determined based on a determination that a subset of the blockchain data is associated with a smart contract. The smart contract may include a blockchain trigger event, and the blockchain trigger event may include an event in which a payload (e.g., a digital resource) is transferred in response to a transfer request (e.g., purchasing a digital resource with a cryptocurrency).
[0044] An output action associated with the blockchain triggering event may be determined. The output action may be associated with a digital resource. In some implementations, the output action may be a result action occurring in response to the blockchain triggering event. The output action may be associated with an embedded uniform resource identifier and / or an embedded uniform resource locator.
[0045] In some implementations, processing the output action to determine that the candidate token data describes the non-fungible token may include determining an entity associated with the output action, and determining that the entity is a digital resource (e.g., a digital asset) being transferred in response to a blockchain triggering event. Alternatively and / or additionally, the entity may be processed to determine that the smart contract is an empty contract. In response to the smart contract being an empty contract, the identification data may describe that the candidate token data is not data to be indexed.
[0046] Alternatively and / or additionally, processing the output action to determine that the candidate token data describes the non-fungible token may include determining that the output action includes a link to a landing address (e.g., a landing web page and / or a landing storage file). Landing data associated with the landing address may be obtained. The landing data may then be processed to determine that the landing data includes a digital resource (e.g., a digital asset). It may be determined that the digital resource is associated with the non-fungible token.
[0047] Alternatively and / or additionally, processing the output action to determine candidate token data describing the non-fungible token may include obtaining a uniform resource identifier via an application programming interface.
[0048] The output action may be processed to determine that the candidate token data describes a non-fungible token. The determination may be determined based on the output action being associated with a digital resource (e.g., a digital asset). In some implementations, the determination may be determined based on the output action describing an intent to associate a smart contract with a non-fungible token.
[0049] The identification data may be provided as an output. The identification data may describe that the candidate token data is associated with a non-fungible token. The identification data may be generated based on a determination that the candidate token data describes a non-fungible token. The identification data may describe that the candidate token data includes token data for indexing.
[0050] In some implementations, the systems and methods may include determining the validity of the candidate token data. The validity may be determined based on whether the candidate token data includes the determined problematic characteristic. The identification data may be generated based at least in part on the validity. Additionally or alternatively, the determined validity of the candidate token data may be used to allow or prevent further actions, thereby improving security and preventing the use of fraudulent or invalid candidate token data.
[0051] In some implementations, the system and method may include processing output actions to determine a digital resource (e.g., a digital asset) associated with a non-fungible token. The digital resource may be processed to determine the quality of the digital resource (e.g., the quality of the digital asset). The system and method may determine whether to index the candidate token data based at least in part on the identification data and the quality of the digital resource. The quality of the digital resource may be determined based on the resolution of the digital resource, the size of the digital resource, a machine learning determination (e.g., the output of a machine learning model that has processed data associated with the digital resource), and / or the determined uniqueness of the digital resource. Additionally and / or alternatively, the determined quality of the digital resource may be used to control how or whether to take further action. For example, one or more actions may occur in response to at least a threshold quality level. The determination of the quality of the digital resource may be used to control or prevent the use of low-quality digital resources, or to control the manner in which lower-quality digital resources are disposed of or managed.
[0052] Alternatively and / or additionally, the system and method may utilize standard data to identify token data in blockchain code. For example, the system and method may include obtaining blockchain data. The blockchain data may include byte code associated with the blockchain. The blockchain data may be processed to determine that a subset of the blockchain data includes candidate token data. The candidate token data may be associated with a blockchain trigger event. The system and method may include obtaining standard data. In some implementations, the standard data may include one or more standards associated with a standard for non-fungible tokens. The candidate token data may be processed to determine that the candidate token data is associated with one or more standards. Identification data may be generated based on the candidate token data being associated with the one or more standards. In some implementations, the identification data may describe that the candidate token data is associated with a non-fungible token. The identification data may be provided as an output.
[0053] The system and method may obtain blockchain data. The blockchain data may include bytecode associated with the blockchain. The blockchain data may be associated with multiple smart contracts. The multiple smart contracts may include multiple if-then logic sets.
[0054] In some implementations, obtaining blockchain data may include obtaining first node data from a blockchain node. The blockchain node may be associated with a particular blockchain. Obtaining blockchain data may further include processing the first node data in a sandbox (e.g., an isolated computer environment to mitigate the spread of any potential unintended consequences (e.g., computer vulnerabilities (bugs)) to generate a first portion of blockchain data, and storing the first portion of blockchain data.
[0055] Additionally and / or alternatively, obtaining the blockchain data may include obtaining second node data from the blockchain node. The blockchain node may be associated with a particular blockchain. In some implementations, obtaining the blockchain data may further include processing the second node data in the sandbox to generate a second portion of the blockchain data, and storing the second portion of the blockchain data.
[0056] The blockchain data may be processed to determine that a subset of the blockchain data includes candidate token data. In some implementations, the candidate token data may be associated with a blockchain triggering event. The blockchain triggering event may include an if-then event such that if a certain event occurs, then ownership of the digital resource may be transferred. The candidate token data may be determined based on detection of the blockchain triggering event in the byte code of the blockchain.
[0057] The systems and methods may obtain standard data. The standard data may include one or more standards associated with a standard for non-fungible tokens. The standard may be associated with a predetermined interface for uniformly interfacing with different non-fungible tokens. The smart contract structure may conform to the standard for implementing a standard application programming interface to facilitate interaction with different non-fungible tokens (e.g., regardless of a particular issuer).
[0058] The candidate token data may be processed to determine whether the candidate token data is associated with one or more criteria. The determination may include searching the candidate token data to determine whether one of the predetermined interfaces is included in the candidate token data. In some implementations, the candidate token data may be processed to identify whether a particular blockchain trigger event language (e.g., a function signature that may include a particular string that matches one of the predefined string templates for non-fungible tokens as indicated by the one or more criteria) is included in the candidate token data.
[0059] The identification data may be generated based on associating the candidate token data with one or more criteria. The identification data may describe that the candidate token data is associated with a non-fungible token.
[0060] The identification data may be provided as an output. The identification data may be provided to a user computing system. In some implementations, the identification data may be provided to an index computing system to instruct the index computing system whether to index the candidate token data. For example, if the identification data describes that the candidate token data is associated with a non-fungible token, the candidate token data may be indexed. Alternatively and / or additionally, if the identification data describes that the candidate token data is not associated with a non-fungible token, the candidate token data may not be indexed. Candidate token data determined to be associated with a non-fungible token may be identified as token data that may be stored for indexing and / or for other purposes (e.g., for machine learning training to train one or more models to detect and identify token data associated with a non-fungible token).
[0061] Index data may then be generated based on the candidate token data and the identification data. The identification data may be used to determine whether and / or to what extent the candidate token data is to be indexed. In some implementations, data describing the identification data may be indexed using other data associated with the candidate token data.
[0062] In some implementations, a blockchain trigger event can be processed to determine a digital asset associated with a non-fungible token. The digital asset can be processed to determine that the digital asset is vulgar, and the systems and methods can determine whether to index candidate token data based at least in part on the identification data and the digital asset being vulgar.
[0063] Alternatively and / or additionally, token data may be identified based on a determined intent. For example, the systems and methods may include obtaining blockchain data. The blockchain data may include byte code associated with a blockchain. The blockchain data may be processed to determine that a subset of the blockchain data includes candidate token data. In some implementations, the candidate token data may be associated with a blockchain trigger event. The candidate token data may be processed to determine an intent associated with the candidate token data. The candidate token data may include reference data associated with a digital resource. The intent may be processed to determine that the candidate token data describes a non-fungible token. In some implementations, identification data may be provided as an output. The identification data may describe that the candidate token data is associated with a non-fungible token.
[0064] The system and method can obtain blockchain data. The blockchain data can include byte code associated with the blockchain. The blockchain data can be obtained from a blockchain node. Alternatively and / or additionally, the blockchain data can be obtained from a non-blockchain repository.
[0065] The blockchain data may be processed to determine that a subset of the blockchain data includes candidate token data. The candidate token data may be associated with a blockchain triggering event. In some implementations, the candidate token data may include data describing a smart contract. The blockchain triggering event may be an event that triggers the transfer of a payload of a smart contract.
[0066] The candidate token data may be processed to determine an intent associated with the candidate token data. The candidate token data may include reference data associated with a digital resource. In some implementations, the intent may be determined based at least in part on a blockchain trigger event. Alternatively and / or additionally, the intent may be determined based at least in part on free-form text in the candidate blockchain data. The intent may be a minting intent to issue a non-fungible token on a blockchain. In some implementations, the intent may be determined by processing the candidate token data using a machine learning model. The machine learning model may be trained to determine whether the candidate token data describes script data structured to provide non-fungible token functionality.
[0067] The intent may be processed to determine whether candidate token data describes a non-fungible token. For example, the intent may be processed to determine whether the intent meets a threshold likelihood of being a non-fungible token intent.
[0068] The systems and methods may provide identification data as an output. The identification data may describe that the candidate token data is associated with a non-fungible token. The identification data may be generated based at least in part on a determination that the intent is a non-fungible token intent.
[0069] In some implementations, the systems and methods disclosed herein may identify non-fungible token data based on whether the actions associated with the smart contract match (e.g., are the same or similar) the actions of how the non-fungible token behaves. For example, the smart contract may include a "get URI" that may include an application programming interface for pulling a uniform resource identifier. Additionally and / or alternatively, the smart contract may include an API that complies with one or more EIP-721 standards (EIP-721: Non-Fungible Token Standard), EIP-721: Non-Fungible Token Standard, ... THEREUM I MPROVEMENT P ROPOSALS (Ethereum Improvement Proposal) (January 24, 2018), https: / / eips.ethereum.org / EIPS / eip-721.) Alternatively and / or additionally, the blockchain can be crawled to identify payloads that can match (e.g., are identical or substantially similar to) digital assets of non-fungible tokens. The system and method can identify token datasets even if the datasets include deviations from one or more standards.
[0070] Additionally and / or alternatively, the systems and methods may include one or more pre-filtering techniques. For example, the systems and methods may include filtering out any data sets associated with suspicious addresses, suspicious embeddings, and / or suspicious actors (e.g., unknown issuers or owners / issuers associated with past scam-related non-fungible tokens) to improve security.
[0071] In some implementations, the identified token data may be further processed to determine whether and / or how to index the identified token data. For example, the systems and methods may process candidate token data to determine whether the token data is suspicious, potentially includes vulnerabilities, and / or includes low-quality digital assets. For example, if the token data is determined to potentially include vulnerabilities and / or low-quality digital assets, the token data may not be indexed, or the token data may be flagged for further inspection or processing.
[0072] The token data may be determined to be suspicious based on an embedded uniform resource identifier and / or an embedded uniform resource locator. Alternatively and / or additionally, the token data may be determined to be suspicious based on transaction data of the non-fungible token (e.g., a suspicious string of transactions, suspicious actors in transactions, suspicious context surrounding minting, etc.).
[0073] Determining the potential for a vulnerability can be based on heuristics and / or machine learning techniques (e.g., utilizing a machine learning model to process token data).
[0074] A low-quality digital resource (e.g., a low-quality digital asset) may be a digital asset that has few distinguishing features (e.g., a white noise audio clip or a digital asset that is identical or substantially similar to a plurality of other digital assets or media files that predate the date of minting). Alternatively and / or additionally, a low-quality digital asset may be a digital asset that has poor resolution, heavy pixelation, heavy noise, file errors, and / or is relatively small in size compared to other non-fungible token digital assets of the same type or class. In some implementations, a low-quality digital asset may be a digital asset with vulgar and / or offensive content. For example, the system and method may obtain a digital asset associated with token data. The digital asset may be processed to determine whether the digital asset includes vulgar and / or offensive material. If it is determined that the digital asset includes vulgar and / or offensive content, the corresponding token data may be marked and / or flagged. The system and method may determine not to index the token data based on the flag, and / or may index the token data using a flag indicating the vulgar and / or offensive nature of the digital asset. Flags may then be utilized to limit the presentation of the indexed data to only a subset of users (eg, users who are permitted to present vulgar and / or offensive content).
[0075] Alternatively and / or additionally, the quality of a non-fungible token can be determined based on the degree of compliance of the token data with the EIP and ERC standards for non-fungible tokens. Compliance can be weighted based on which standards are met and which standards are lacking in the token data. In some implementations, quality can be based on whether the uniform resource identifier can be used to navigate to the digital asset without editing.
[0076] In some implementations, the name and / or description associated with the token data can be processed to determine whether the name and / or description satisfies certain naming patterns or description patterns.
[0077] In some implementations, token data can be identified as being associated with a particular group of non-fungible tokens (e.g., a particular community) based on a determined artist name, a determined publisher, and / or through metadata associated with the non-fungible token. The grouping can be determined based on a minting date, an association with an event, and / or based on a purchaser's transaction history.
[0078] Alternatively and / or additionally, the token data can be identified by processing the blockchain data and identifying the method signature. The method signature can be associated with the first four bytes of the hash. In some implementations, the method signature can be associated with a set uniform resource identifier with two parameters. The first parameter can include the token ID of a specific non-fungible token, and the second parameter can include a string of data.
[0079] The systems and methods disclosed herein can crawl a blockchain by utilizing a peer node running on one or more computing devices. The system and method can passively "listen" and then dump any new data into a log for later processing. Alternatively and / or additionally, the system and method can involve "live watching" a node at intervals (e.g., manually set intervals, predetermined intervals, and / or automatically determined intervals). The system and method can crawl a blockchain to determine whether any changes have occurred, and can identify any changes and add them to a log. In some implementations, the system and method can utilize an application programming interface to identify and obtain new data.
[0080] In some implementations, the system and method may utilize a non-blockchain repository to obtain blockchain data. For example, a third-party application programming interface may obtain blockchain data and store it in a non-blockchain repository, which may be accessed by the system and method to obtain blockchain data for processing.
[0081] When crawling the blockchain and / or when crawling the web, the system and method can search for contract addresses and token IDs to identify token data. Additionally and / or alternatively, the system and method can crawl the web to identify non-fungible token drop events and / or lazy mint events. The system and method can monitor messaging applications and / or social media platforms to obtain data about potential minting events.
[0082] The acquisition and processing of blockchain data from blockchain nodes may include one or more security techniques for mitigating the possibility of data being corrupted by opening or processing vulnerabilities or computer viruses. For example, blockchain data may be acquired and stored in a sandbox. The data may be processed in the sandbox prior to indexing to ensure that vulnerabilities and / or viruses do not affect the index database.
[0083] In some implementations, the system and method may include customized blockchain nodes for different tasks. For example, multiple blockchain nodes may be configured to obtain and filter blockchain data for multiple different purposes. One node may filter blockchain data to obtain and process transaction data, while another node may filter blockchain data to obtain and process newly minted non-fungible tokens. Additionally and / or alternatively, different nodes may be configured to identify and obtain data associated with different non-fungible token types. For example, one node may be configured to identify and obtain token data for a non-fungible token associated with an image, while another node may be configured to identify and obtain token data for a non-fungible token associated with a domain. Multiple nodes may be associated with different blockchains and / or may be associated with filtering based on different identification techniques. For example, a first node may obtain blockchain data for identifying token data based on identification of a digital asset payload, a second node may obtain data to be processed to determine token data based on a naming pattern, and a third node may obtain blockchain data for processing to determine token data based on one or more non-fungible token standards.
[0084] In some implementations, the systems and methods may probe the blockchain by sending beacon transactions to measure and / or track network health, along with potentially tracking other data characteristics. This probing may be used to update a "data fetching" strategy or approach. For example, if beacon transactions are taking a long time to process for a given amount of gas, the systems and methods may utilize a more complex, dynamic fetching strategy that may back off until the transaction rate picks up. This adjustment may help to potentially reduce the cost of obtaining "latest" data from the blockchain.
[0085] The systems and methods of the present disclosure provide many technical effects and benefits. As an example, the systems and methods may provide systems and methods for identifying token data associated with one or more non-fungible tokens. For example, the systems and methods disclosed herein may process blockchain data to identify multiple candidate token data sets, which may be further processed to determine one or more token data sets. Then, the one or more token data sets may be indexed to generate a non-fungible token index database.
[0086] Another technical benefit of the systems and methods of the present disclosure is the ability to utilize a quality determination system to determine whether to index a token data set. For example, the systems and methods disclosed herein can process token data to determine whether the token data is potentially suspicious, potentially includes malicious data, is associated with a low-resolution digital resource, includes vulgar data, includes offensive data, and / or is associated with a digital resource that has little distinguishing value. The quality can then be used to determine whether to index the token data. In some implementations, quality filtering can be used to ensure that low-quality and potentially harmful data is not indexed for future visualization.
[0087] Another example of technical effects and benefits relates to improved computing efficiency and improvements in the operation of computing systems. For example, the systems and methods disclosed herein can utilize token data identification to significantly reduce the computing power required to index, search, and visualize non-fungible token data. Additionally, the systems and methods disclosed herein can reduce the computing power used to generate an index database by filtering blockchain data to identify token data sets within the blockchain data.
[0088] Referring now to the drawings, example embodiments of the present disclosure will be discussed in further detail.
[0089] Example Apparatus and Systems
[0090] Figure 1A A block diagram depicting an example computing system 100 that performs token data identification and non-fungible token indexing according to an example embodiment of the present disclosure. The system 100 includes a user computing system 130, a server computing system 110, a creator computing system 150, and a blockchain computing system 170 communicatively coupled via a network 180.
[0091] User computing system 130 can be any type of computing device, such as, for example, a personal computing device (e.g., a laptop or desktop computer), a mobile computing device (e.g., a smartphone or tablet), a game console or controller, a wearable computing device, an embedded computing device, or any other type of computing device.
[0092] The user computing system 130 includes one or more processors 132 and memory 134. The one or more processors 132 may be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and may be one processor or a plurality of processors operatively connected. The memory 134 may include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc., and combinations thereof. The memory 134 may store data 136 and instructions 138 executed by the processor 132 to cause the user computing system 130 to perform operations.
[0093] The user computing system 130 may also include one or more user input components that receive user input. For example, the user input component may be a touch-sensitive component (e.g., a touch-sensitive display screen or a touchpad) that is sensitive to the touch of a user input object (e.g., a finger or a stylus). The touch-sensitive component may be used to implement a virtual keyboard. Other example user input components include a microphone, a traditional keyboard, or other components through which a user can provide user input.
[0094] The server computing system 110 includes one or more processors 112 and memory 114. The one or more processors 112 may be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and may be one processor or a plurality of processors operatively connected. The memory 114 may include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof. The memory 114 may store data 118 and instructions 116 that are executed by the processor 112 to cause the server computing system 110 to perform operations.
[0095] In some implementations, the server computing system 110 includes or is otherwise implemented by one or more server computing devices. In the case where the server computing system 110 includes multiple server computing devices, such server computing devices may operate according to a sequential computing architecture, a parallel computing architecture, or some combination thereof.
[0096] The blockchain computing system 170 includes one or more processors and memory. The one or more processors may be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and may be one processor or multiple processors operatively connected. The memory may include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc., and combinations thereof. The memory may store data and instructions executed by the processor to cause the blockchain computing system 170 to perform operations. In some implementations, the blockchain computing system 170 includes one or more server computing devices or is otherwise implemented by one or more server computing devices.
[0097] Network 180 may be any type of communications network, such as a local area network (e.g., an intranet), a wide area network (e.g., the Internet), or some combination thereof, and may include any number of wired or wireless links. In general, communications over network 180 may be carried via any type of wired and / or wireless connection using a wide variety of communications protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and / or protection schemes (e.g., VPN, secure HTTP, SSL).
[0098] The computing system 100 may include multiple applications (e.g., applications 1 to N). Each application may communicate with a central intelligence layer. Example applications may include a text messaging application, an email application, a dictation application, a virtual keyboard application, a browser application, etc. In some implementations, each application may communicate with the central intelligence layer (and the models stored therein) using an API (e.g., a common API across all applications).
[0099] The central intelligence layer can communicate with a central device data layer. The central device data layer can be a centralized data repository for the computing system 100. In some implementations, the central device data layer can communicate with multiple other components of the computing device, such as, for example, one or more sensors, context managers, device state components, and / or additional components. In some implementations, the central device data layer can use an API (e.g., a private API) to communicate with each device component.
[0100] Additionally and / or alternatively, Figure 1AAn exemplary computing system 100 is depicted that can be used to implement token data identification and indexing according to aspects of the present disclosure. The system 100 has a user-server architecture that includes a server 110 that communicates with one or more user computing systems 130 via a network 180. However, the present disclosure may be implemented using other suitable architectures that may include any number of computing systems that communicate via a network 180.
[0101] System 100 includes a server 110, such as, for example, a web server. Server 110 may be one or more computing devices implemented as a parallel computing system and / or a distributed computing system. Specifically, multiple computing devices may act together as a single server 110. Server 110 may have one or more processors 112 and a memory 114. Server 110 may also include a network interface for communicating with one or more remote computing devices (e.g., user devices) 130 via a network 180.
[0102] The processor 112 may be any suitable processing device, such as a microprocessor, a microcontroller, an integrated circuit, or other suitable processing device. The memory 114 may include any suitable computing system or medium, including but not limited to non-transitory computer-readable media, RAM, ROM, a hard drive, a flash drive, or other memory device. The memory 114 may store information accessible to the processor 112, including instructions 116 that may be executed by the processor 112. The instructions 116 may be any set of instructions that, when executed by the processor 112, cause the processor 112 to provide desired functionality.
[0103] Specifically, the instructions 116 may be executed by the processor 112 to implement index adjustment (e.g., index deduplication). The user profile database 120 may be configured to store multiple user profiles associated with multiple users utilizing one or more user computing systems 130. In some implementations, the user profile database 120 may be configured to facilitate one or more interactions. The facilitation of one or more interactions may involve using a blockchain application programming interface (API) 122 to send data to and receive data from the blockchain computing system 170. For example, the server computing system 110 may utilize the blockchain API 122 to update one or more ledgers 172 of the blockchain computing system 170. One or more ledgers 172 may be associated with one or more tokens 174. One or more tokens 174 may include one or more non-fungible tokens, which may include scripts associated with digital assets (e.g., image data, video data, text data, potential encoding data, domain data, audio data, augmented reality asset rendering data, and / or virtual reality asset rendering data). Specifically, the script may reference a specific digital asset that is offered for sale. Digital assets may include image data, text data, video data, potentially encoded data, domain names, virtual property, augmented reality assets, virtual reality assets (e.g., virtual reality environments and / or virtual reality objects for interaction in the environments), smart contracts, physical item authentication, etc. In some implementations, one or more ledgers 172 may be associated with a cryptocurrency that may be used to conduct transactions in a physical marketplace and / or a virtual marketplace.
[0104] It should be understood that the term "element" may refer to computer logic for providing desired functionality. Therefore, any element, function and / or instruction may be implemented in hardware, dedicated circuits, firmware and / or software that controls a general-purpose processor. In one implementation, the element and / or function is a program code file stored on a storage device, loaded into a memory and executed by a processor, or may be provided from a computer program product (e.g., computer executable instructions) stored in a tangible computer-readable storage medium such as RAM, a hard disk, or an optical or magnetic medium.
[0105] The memory 114 may also include data 118 that may be retrieved, manipulated, created, or stored by the processor 112. The data 118 may include search result data, ranking data, image data (e.g., digital maps, satellite images, aerial photographs, street-level photographs, synthetic models, paintings, personal images, portraits, etc.), video data, audio data, text data (e.g., books, articles, blogs, poems, etc.), potentially encoded data, blockchain address data, tables, vector data (e.g., vector representations of roads, parcels, buildings, etc.), points of interest data (e.g., places such as islands, cities, restaurants, hospitals, parks, hotels, and schools), or other data or related information. As an example, the data 118 may be used to access information and data associated with a particular digital asset, website, search result, blockchain, etc.
[0106] The data 118 may be stored in one or more databases. The one or more databases may be connected to the server 110 via a high bandwidth LAN or WAN, or may also be connected to the server 110 via a network 180. The one or more databases may be split so that they are located in multiple locations.
[0107] Server 110 may exchange data with one or more user computing systems 130 via network 180. Figure 1A 10 , two user computing systems 130 are illustrated, but any number of user computing systems 130 may be connected to the server 110 via the network 180. The user computing system 130 may be any suitable type of computing device, such as a general purpose computer, a special purpose computer, a navigation device, a laptop, a desktop computer, an integrated circuit, a mobile device, a smart phone, a tablet computer, a wearable computing device, a display having one or more processors coupled thereto and / or embedded therein, or other suitable computing devices. Further, the user computing system 130 may be a plurality of computing devices acting together to perform an operation or computing action.
[0108] Similar to server 110, user computing system 130 may include processor 132 and memory 134. Memory 134 may store information accessible to processor 132, including instructions and data that may be executed by the processor. As an example, memory 134 may store data 136 and instructions 138.
[0109] Instructions 138 may provide instructions for implementing a browser, non-fungible token purchases, and / or a number of other functions. Specifically, a user of user computing system 130 may exchange data with server 110 by using a browser to visit a website accessible at a particular URL. The token data identification and non-fungible token index of the present disclosure may be provided as an element of a user interface of a website and / or application.
[0110] Data 136 may include data related to running a specialized application on user computing system 130. Specifically, the specialized application may be used to exchange data with server 110 via network 160. Data 136 may include user device readable code for providing and implementing aspects of the present disclosure. Additionally and / or alternatively, data 136 may include data related to previously input or received data. For example, data 136 may include data related to past occurrences of a specialized application.
[0111] The user computing system 130 may include various user input devices for receiving information from the user, such as a touch screen, a touch pad, data entry keys, a speaker, a mouse, a motion sensor, and / or a microphone suitable for voice recognition. Further, the user computing system 130 may have a display for presenting information (such as a user interface), displaying digital assets, displaying pop-ups or application elements displayed in an interface, and / or other forms of information.
[0112] The user computing system 130 may also include a user profile 140 that may be used to identify a user of the user computing system 130. The user profile 140 may optionally be used by the user to conduct one or more transactions, which may then be recorded on one or more ledgers 172 of the blockchain computing system 170. The user profile 140 may describe user information, which may include an identification number and / or payment account information. For example, the user profile 140 may include data associated with a crypto wallet, which may be linked to a browser application via an application extension and / or embedding.
[0113] User computing system 130 may further include a graphics processing unit. The graphics processing unit may be used by processor 132 for index adjustments. In some embodiments, user computing system 130 performs any and all index adjustments.
[0114] User computing system 130 may include a network interface for communicating with server 110 over network 180. Network interface may include any component or configuration suitable for communicating with server 110 over network 180, including, for example, one or more ports, transmitters, wireless cards, controllers, physical layer components, or other items for communicating according to any currently known or later developed communication protocol or technology.
[0115] The network 180 may be any type of communication network, such as a local area network (e.g., an intranet), a wide area network (e.g., the Internet), or some combination thereof. The network 180 may also include a direct connection between the client device 130 and the server 110. In general, communications between the server 110 and the client device 130 may be carried via a network interface using any type of wired and / or wireless connection, using a variety of communication protocols (e.g., TCP / IP, HTTP), encodings or formats (e.g., HTML, XML), and / or protection schemes (e.g., VPN, secure HTTP, SSL).
[0116] In some implementations, the exemplary computing system 100 may include one or more creator computing systems 150. The one or more creator computing systems 150 may be used to generate images, videos, prose, poetry, audio, etc., which may then be offered for sale. The one or more creator computing systems 150 may include one or more processors 152, which may be used to perform one or more operations to implement the systems and methods disclosed herein. The one or more creator computing systems 150 may include one or more memory components 154, which may be used to store data 156 and one or more instructions 158. The data 156 may include data related to one or more applications, one or more media data sets, etc. The instructions 158 may include one or more operations for implementing the systems and methods disclosed herein.
[0117] One or more creator computing systems 150 may store data associated with one or more digital assets 160 and / or one or more creator profiles 162. One or more digital assets 160 may include text data, image data, video data, audio data, potentially encoded data, domain data, or a variety of other data formats. One or more creator profiles 162 may include information associated with one or more "creators" of one or more digital assets 160. One or more creator profiles 162 may include identification data, transaction data, and / or encrypted wallet data.
[0118] Additionally and / or alternatively, the exemplary computing system 100 may include one or more blockchain computing systems 170. The one or more blockchain computing systems 170 may include multiple computing devices for decentralized data storage, such that multiple "blocks" may be distributed across a network of computing devices to provide a secure system for data storage, and may include one or more ledgers 172 and one or more tokens 174. In some implementations, each of the one or more tokens 174 may be associated with at least a portion of the one or more ledgers 172.
[0119] Blockchain may refer to a system configured to record information securely. Blockchain may include a decentralized system that can make it extremely difficult to change information. Blockchain may include a digital ledger of transactions that may be repeated and distributed across a network of computing systems. Each block in the chain may include multiple transactions. When a new transaction occurs on the blockchain, a record of the transaction may be added to the ledger of each computing device. Blockchain may be used to track the exchange of currency and / or digital assets via records of transactions on a digital ledger that may be propagated in a decentralized system. Currencies exchanged and tracked via the blockchain computing system 170 may be referred to as cryptocurrencies.
[0120] Tokens 174 may include one or more non-fungible tokens. Non-fungible tokens may be minted on a blockchain associated with the blockchain computing system 170. Non-fungible tokens (NFTs) may be certificates of authenticity of digital assets. NFTs may be non-interchangeable, thus making their value dependent on the price anyone may be willing to pay for the asset. NFTs may be printed on the blockchain so that their scarcity and authenticity may be maintained. Digital assets may be defined as anything that is stored digitally and may be uniquely identifiable and that an organization may use to realize value. Examples of digital assets may include tweets, social media comments, documents, audio, images, videos, logos, website domains, slide presentations, spreadsheets, CSS files and formats, executable code, and / or websites.
[0121] Figure 1B Describing can be done by Figure 1ABlock diagram of an example blockchain 50 utilized by the blockchain computing system 170 of the exemplary computing system 100 of FIG. The example blockchain 50 may include a plurality of blocks that may be used to store data having one or more cryptographic features. The blockchain 50 may be stored on a decentralized computing system including a plurality of computing devices. The blockchain 50 may be a public blockchain (e.g., a blockchain that is open and has no access restrictions so that anyone with Internet access can send transactions or verify transactions as part of a decentralized distributed system), a private blockchain (e.g., a blockchain that provides access rights based on permissions set by a network administrator), or a hybrid blockchain (e.g., a blockchain with a combination of unrestricted blocks and restricted blocks). The blockchain 50 may include a proof of work feature, which may include one or more cryptographic forms of proof. Proof of work may be provided at a request to update the blockchain 50 (e.g., a request to update the ledger based on a new transaction). The proof of work may convey that a certain device or group of devices has performed a certain amount of computation, which may then be verified by other parties. Once verified, the blockchain 50 may be updated, or may remain unchanged in response to a failure of verification. The proof-of-work feature may be used to mitigate the computational cost of each device in the system having to perform the same computational functions and checks to determine that a request is valid for updating the blockchain 50.
[0122] Each block may include a hash, a previous hash associated with the hash of the previous block, and data. In some implementations, each block may include a nonce. A hash may be a fixed-length hash value that can be used as a fingerprint of a particular block. A hash value may be generated based on a hash function and may be changed each time a change is made to the data of that particular block. A previous hash may include a hash value of a block immediately preceding a particular block. A previous hash may be used to ensure that the downstream true value remains unchanged unless appropriate verification occurs. The data may include transaction data (e.g., a transaction ledger), a timestamp, a value associated with a cryptocurrency value, a non-fungible token (e.g., a non-fungible token including a script that references a digital asset, random number data, and / or general blockchain data). A nonce (i.e., a number that is used only once) may be a number that can satisfy a difficulty level limit when a block is rehashed for a block added to the blockchain. A nonce may be a number that a blockchain miner is solving in order to receive an incentive (e.g., cryptocurrency).
[0123] The blockchain 50 may include one or more security protocols and / or features. The blockchain 50 may include an encryption system. For example, the blockchain 50 may verify that the blockchain 50 is valid by ensuring that the stored previous hash stored in the block matches the hash value of the previous block from the last block back to the first block (e.g., the genesis block). In some implementations, the blockchain 50 may include proof-of-work verification, which may rely on verifying proof of computation before implementing changes to the stored data (e.g., the stored ledger). Based in part on the number of blocks in the blockchain 50, the proof-of-work verification may take seconds, minutes, and / or hours. Additionally and / or alternatively, the blockchain 50 may be implemented on a distributed decentralized computing system. In some implementations, each computing device in the distributed decentralized computing system may store a portion (e.g., a block in a plurality of blocks) or all of the blocks in the blockchain 50. Therefore, the system may verify the data by ensuring that the data is unified across most, if not all, of the distributed system. Before adding new data, each node of the distributed system may be checked for tampering.
[0124] The data may include data associated with a cryptocurrency value (e.g., a ledger associated with a particular cryptocurrency value), data associated with a digital asset (e.g., a non-fungible token minted on blockchain 50 that may include a script associated with the digital asset), data associated with a smart contract (e.g., a smart contract that includes conditions that automatically initiate an action in response to criteria being met), and / or timestamp data (e.g., timestamp data for block creation, minting, transactions, etc.).
[0125] Specifically, Figure 1B A first block 10, a second block 20, a third block 30, a fourth block 40, and an nth block 60 are depicted. Although five blocks are depicted, any number of blocks may be utilized. The first block 10 may be a genesis block (e.g., the first overall block in a blockchain). The first block 10 may include a corresponding first hash 12 (e.g., a hash value associated with the first block 10). The first block 10 may include a first previous hash value 14 (e.g., if the first block 10 has a block before it in the blockchain 50, the hash of the previous block may be stored on the first block 10). Additionally and / or alternatively, the first block 10 may include data 16 and a random number 18.
[0126] The second block 20 may follow the first block 10. The second block 20 may include a corresponding second hash 22 (e.g., a hash value associated with the second block 20). The second block 20 may include a second previous hash 24 (e.g., the second previous hash 24 may be the same as or reference the first hash 12). Additionally and / or alternatively, the second block 20 may include data 26 and a random number 28.
[0127] The third block 30 may follow the second block 20. The third block 30 may include a corresponding third hash 32 (e.g., a hash value associated with the third block 30). The third block 30 may include a third previous hash 34 (e.g., the third previous hash 34 may be the same as or reference the second hash 22). Additionally and / or alternatively, the third block 30 may include data 36 and a random number 38.
[0128] Additionally and / or alternatively, the fourth block 40, the nth block 60, and other potential blocks may include corresponding hashes, corresponding previous hashes, and data. The first data 16, the second data 26, the third data 36, and the data of the other blocks may include overlapping data, which may be different and / or the same so that the data is repeated for all blocks. In some implementations, each block may be associated with a different transaction (e.g., different minting, different selling, etc.). The first random number 18, the second random number 28, the third random number 38, and the random numbers of the other blocks may be different and may be solved during mining.
[0129] The data in each block may include ledger data that may include a timestamp, the asset and / or cryptocurrency exchanged, the actors involved in the transaction, and / or a variety of other information.
[0130] In some implementations, multiple different blockchains can be used for the systems and methods disclosed herein. Different blockchains can include different configurations. Different blockchains can include parallel chains, side chains, shared blocks, different chains, varying permissions, varying purposes, varying numbers of blocks, and / or varying hash functions and / or varying hash value lengths.
[0131] In some implementations, the system and method may include one or more machine learning model computing systems 900. One or more machine learning models may be used for a variety of tasks to implement token data identification, indexing, and deduplication.
[0132] Fig.9A A block diagram depicts an example computing system 900 that performs token data identification, indexing, and deduplication according to an example embodiment of the present disclosure. System 900 includes a user computing device 902, a server computing system 930, and a training computing system 950 that are communicatively coupled via a network 980.
[0133] The user computing device 902 can be any type of computing device, such as, for example, a personal computing device (e.g., a laptop or desktop computer), a mobile computing device (e.g., a smartphone or tablet), a game console or controller, a wearable computing device, an embedded computing device, or any other type of computing device.
[0134] The user computing device 902 includes one or more processors 912 and memory 914. The one or more processors 912 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and can be one processor or multiple processors operatively connected. The memory 914 can include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc. and combinations thereof. The memory 914 can store data 916 and instructions 918 executed by the processor 912 to cause the user computing device 902 to perform operations.
[0135] In some implementations, the user computing device 902 may store or include one or more token index models 920. For example, the token index model 920 may be or may otherwise include various machine learning models, such as a neural network (e.g., a deep neural network) or other types of machine learning models, including nonlinear models and / or linear models. The neural network may include a feedforward neural network, a recurrent neural network (e.g., a long short-term memory recurrent neural network), a convolutional neural network, or other forms of neural networks. Reference Figure 2 and Fig.11 Discuss example token indexing model 920.
[0136] In some implementations, one or more token indexing models 920 may be received from a server computing system 930 via a network 980, stored in a user computing device memory 914, and then used or otherwise implemented by one or more processors 912. In some implementations, a user computing device 902 may implement multiple parallel instances of a single token indexing model 920 (e.g., to perform parallel token data indexing across multiple instances of token data describing non-fungible tokens).
[0137] More specifically, the token indexing model may include one or more detection models, one or more segmentation models, one or more classification models, and / or one or more feature extractor models. The token indexing model may process blockchain data and / or web page data to generate index data describing index information associated with one or more corresponding non-fungible tokens. In some implementations, the one or more token indexing models may include one or more token identification models. The one or more token identification models may process blockchain data to identify token data, which may then be indexed via one or more additional machine learning models of the token indexing model.
[0138] Additionally or alternatively, one or more token index models 940 may be included in or otherwise stored and implemented by a server computing system 930 that communicates with the user computing device 902 according to a client-server relationship. For example, the token index model 940 may be implemented by the server computing system 940 as part of a web service (e.g., a token index service). Thus, one or more models 920 may be stored and implemented at the user computing device 902, and / or one or more models 940 may be stored and implemented at the server computing system 930.
[0139] The user computing device 902 may also include one or more user input components 922 that receive user input. For example, the user input component 922 may be a touch-sensitive component (e.g., a touch-sensitive display screen or a touchpad) that is sensitive to the touch of a user input object (e.g., a finger or a stylus). The touch-sensitive component may be used to implement a virtual keyboard. Other example user input components include a microphone, a traditional keyboard, or other means by which a user can provide user input.
[0140] The server computing system 930 includes one or more processors 932 and memory 934. The one or more processors 932 may be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and may be one processor or a plurality of processors operatively connected. The memory 934 may include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc., and combinations thereof. The memory 934 may store data 936 and instructions 938 executed by the processor 932 to cause the server computing system 930 to perform operations.
[0141] In some implementations, the server computing system 930 includes or is otherwise implemented by one or more server computing devices. In the case where the server computing system 930 includes multiple server computing devices, such server computing devices may operate according to a sequential computing architecture, a parallel computing architecture, or some combination thereof.
[0142] As described above, the server computing system 930 may store or otherwise include one or more machine-learned token index models 940. For example, the model 940 may be or may otherwise include various machine-learned models. Example machine-learned models include neural networks or other multi-layer nonlinear models. Example neural networks include feedforward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Figure 2 and Fig.11 Example model 940 is discussed.
[0143] User computing device 902 and / or server computing system 930 may train models 920 and / or 940 via interaction with training computing system 950 communicatively coupled via network 980. Training computing system 950 may be separate from server computing system 930, or may be part of server computing system 930.
[0144] The training computing system 950 includes one or more processors 952 and a memory 954. The one or more processors 952 may be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, an FPGA, a controller, a microcontroller, etc.) and may be one processor or a plurality of processors operatively connected. The memory 954 may include one or more non-transitory computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, disks, etc., and combinations thereof. The memory 954 may store data 956 and instructions 958 executed by the processor 952 to cause the training computing system 950 to perform operations. In some implementations, the training computing system 950 includes or is otherwise implemented by one or more server computing devices.
[0145] The training computing system 950 may include a model trainer 960 that trains machine-learned models 920 and / or 940 stored at the user computing device 902 and / or the server computing system 930 using various training or learning techniques such as, for example, error back propagation. For example, a loss function may be back propagated through the model to update one or more parameters of the model (e.g., based on the gradient of the loss function). Various loss functions may be used, such as mean squared error, likelihood loss, cross entropy loss, hinge loss, and / or various other loss functions. Gradient descent techniques may be used to iteratively update parameters over multiple training iterations.
[0146] In some implementations, performing error back-propagation may include performing truncated back-propagation through time.The model trainer 960 may perform a variety of generalization techniques (eg, weight decay, dropout, etc.) to improve the generalization capabilities of the model being trained.
[0147] Specifically, the model trainer 960 can train the token index model 920 and / or 940 based on a set of training data 962. The training data 962 can include, for example, training blockchain data, training web page data, training transaction data, true value labels, true value index information, and / or true value segmentation masks.
[0148] In some implementations, if the user has provided consent, the training examples may be provided by the user computing device 902. Thus, in such implementations, the model 920 provided to the user computing device 902 may be trained by the training computing system 950 on user-specific data received from the user computing device 902. In some cases, this process may be referred to as personalizing the model.
[0149] The model trainer 960 includes computer logic for providing the desired functionality. The model trainer 960 can be implemented in hardware, firmware, and / or software that controls a general purpose processor. For example, in some implementations, the model trainer 960 includes a program file stored on a storage device, loaded into a memory, and executed by one or more processors. In other implementations, the model trainer 960 includes one or more computer executable instruction sets stored in a tangible computer readable storage medium such as RAM, a hard disk, or an optical or magnetic medium.
[0150] The network 980 may be any type of communications network, such as a local area network (e.g., an intranet), a wide area network (e.g., the Internet), or some combination thereof, and may include any number of wired or wireless links. In general, communications over the network 980 may be carried via any type of wired and / or wireless connection using a wide variety of communications protocols (e.g., TCP / IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and / or protection schemes (e.g., VPN, secure HTTP, SSL).
[0151] The machine learning models described in this specification can be used in a variety of tasks, applications and / or use cases.
[0152] In some implementations, the input to the machine learning model of the present disclosure may be image data. The machine learning model may process the image data to generate an output. As an example, the machine learning model may process the image data to generate an image recognition output (e.g., recognition of image data, potential embedding of image data, encoded representation of image data, hash of image data, etc.). As another example, the machine learning model may process the image data to generate an image segmentation output. As another example, the machine learning model may process the image data to generate an image classification output. As another example, the machine learning model may process the image data to generate an image data modification output (e.g., a change in image data, etc.). As another example, the machine learning model may process the image data to generate an encoded image data output (e.g., an encoded and / or compressed representation of image data, etc.). As another example, the machine learning model may process the image data to generate a prediction output.
[0153] In some implementations, the input to the machine learning model of the present disclosure may be text or natural language data. The machine learning model may process text or natural language data to generate an output. As an example, the machine learning model may process natural language data to generate a language encoding output. As another example, the machine learning model may process text or natural language data to generate a potential text embedding output. As another example, the machine learning model may process text or natural language data to generate a classification output. As another example, the machine learning model may process text or natural language data to generate a text segmentation output. As another example, the machine learning model may process text or natural language data to generate a semantic intent output. As another example, the machine learning model may process text or natural language data to generate an upgraded (upscale) text or natural language output (e.g., text or natural language data of higher quality than the input text or natural language, etc.). As another example, the machine learning model may process text or natural language data to generate a prediction output.
[0154] In some implementations, the input to the machine learning model of the present disclosure may be speech data. The machine learning model may process speech data to generate an output. As an example, the machine learning model may process speech data to generate a speech recognition output. As another example, the machine learning model may process speech data to generate a speech translation output. As another example, the machine learning model may process speech data to generate a potential embedding output. As another example, the machine learning model may process speech data to generate an encoded speech output (e.g., an encoded and / or compressed representation of speech data, etc.). As another example, the machine learning model may process speech data to generate a text representation output (e.g., a text representation of input speech data, etc.). As another example, the machine learning model may process speech data to generate a predicted output.
[0155] In some implementations, the input to the machine-learned model of the present disclosure may be latent coded data (e.g., a latent space representation of an input, etc.). The machine-learned model may process the latent coded data to generate an output. As an example, the machine-learned model may process the latent coded data to generate a recognition output. As another example, the machine-learned model may process the latent coded data to generate a reconstruction output. As another example, the machine-learned model may process the latent coded data to generate a search output. As another example, the machine-learned model may process the latent coded data to generate a re-clustering output. As another example, the machine-learned model may process the latent coded data to generate a prediction output.
[0156] In some implementations, the input to the machine learning model of the present disclosure may be statistical data. The machine learning model may process the statistical data to generate an output. As an example, the machine learning model may process the statistical data to generate an identification output. As another example, the machine learning model may process the statistical data to generate a prediction output. As another example, the machine learning model may process the statistical data to generate a classification output. As another example, the machine learning model may process the statistical data to generate a segmentation output. As another example, the machine learning model may process the statistical data to generate a segmentation output. As another example, the machine learning model may process the statistical data to generate a visualization output. As another example, the machine learning model may process the statistical data to generate a diagnostic output.
[0157] In some cases, the machine learning model can be configured to perform a task including encoding input data for reliable and / or efficient transmission or storage (and / or corresponding decoding). For example, the task can be an audio compression task. The input can include audio data, and the output can include compressed audio data. In another example, the input includes visual data (e.g., one or more images or videos), the output includes compressed visual data, and the task is a visual data compression task. In another example, the task can include generating an embedding for the input data (e.g., input audio or visual data).
[0158] In some cases, the input includes visual data, and the task is a computer vision task. In some cases, the input includes pixel data of one or more images, and the task is an image processing task. For example, the image processing task may be image classification, where the output is a set of scores, each score corresponding to a different object class and representing the possibility that one or more images depict an object belonging to the object class. The image processing task may be object detection, where the image processing output identifies one or more regions in one or more images, and identifies the possibility that the region depicts an object of interest for each region. As another example, the image processing task may be image segmentation, where the image processing output defines the corresponding possibility of each category in a predetermined category set for each pixel in one or more images. For example, the category set may be a foreground and a background. As another example, the category set may be an object class. As another example, the image processing task may be depth estimation, where the image processing output defines a corresponding depth value for each pixel in one or more images. As another example, the image processing task may be motion estimation, where the network input includes multiple images, and the image processing output defines the motion of the scene depicted at the pixel between images in the network input for each pixel in one of the input images.
[0159] In some cases, the input includes audio data representing a spoken utterance, and the task is a speech recognition task. The output may include a text output mapped to the spoken utterance. In some cases, the task includes encrypting or decrypting the input data. In some cases, the task includes a microprocessor performance task, such as branch prediction or memory address translation.
[0160] Fig.9AAn example computing system that can be used to implement the present disclosure is illustrated. Other computing systems may also be used. For example, in some implementations, the user computing device 902 may include a model trainer 960 and a training data set 962. In such implementations, the model 920 may be trained and used locally at the user computing device 902. In some of such implementations, the user computing device 902 may implement the model trainer 960 to personalize the model 920 based on user-specific data.
[0161] Fig. 9B A block diagram depicts an example computing device 970 that performs in accordance with an example embodiment of the present disclosure. The computing device 970 may be a user computing device or a server computing device.
[0162] The computing device 970 includes multiple applications (e.g., applications 1 to N). Each application contains its own machine learning library and machine learning model. For example, each application can include a machine learning model. Example applications include text messaging applications, email applications, dictation applications, virtual keyboard applications, browser applications, etc.
[0163] like Fig. 9B As illustrated, each application can communicate with multiple other components of the computing device (such as, for example, one or more sensors, context managers, device state components, and / or additional components). In some implementations, each application can communicate with each device component using an API (e.g., a public API). In some implementations, the API used by each application is specific to the application.
[0164] Fig. 9C A block diagram depicts an example computing device 990 that performs in accordance with an example embodiment of the present disclosure. The computing device 990 may be a user computing device or a server computing device.
[0165] The computing device 990 includes a plurality of applications (e.g., applications 1 to N). Each application communicates with a central intelligence layer. Example applications include text messaging applications, email applications, dictation applications, virtual keyboard applications, browser applications, etc. In some implementations, each application can communicate with the central intelligence layer (and the models stored therein) using an API (e.g., a common API across all applications).
[0166] The central intelligence layer includes multiple machine learning models. For example, Fig. 9CAs illustrated, a corresponding machine learning model (e.g., model) can be provided for each application, and the machine learning model is managed by the central intelligence layer. In other implementations, two or more applications can share a single machine learning model. For example, in some implementations, the central intelligence layer can provide a single model (e.g., a single model) for all applications. In some implementations, the central intelligence layer is included in the operating system of the computing device 990 or is otherwise implemented by the operating system.
[0167] The central intelligence layer can communicate with the central device data layer. The central device data layer can be a centralized data repository for computing devices 990. Fig. 9C As illustrated, the central device data layer can communicate with multiple other components of the computing device (such as, for example, one or more sensors, context managers, device state components, and / or additional components). In some implementations, the central device data layer can use an API (e.g., a private API) to communicate with each device component.
[0168] Example system layout
[0169] Figure 2 A block diagram depicting an example token identification system 1000 according to an example embodiment of the present disclosure. In some implementations, the example token identification system 1000 may be configured to receive blockchain data 1004 from a blockchain and / or repository 1002 associated with a plurality of non-fungible tokens, and as a result of receiving the blockchain data 1004, provide identification data 1014 that may be used to determine what data to index 1016. Thus, in some implementations, the token identification system 1000 may include an identification block (e.g., a machine-learned token identification model) that is operable to determine which subsets of data in a blockchain are associated with non-fungible tokens to index.
[0170] Specifically, Figure 2 A block diagram depicting an example token data identification system 1000 according to an example embodiment of the present disclosure. For example, the token data identification system 1000 may include accessing a blockchain and / or a repository 1002 to obtain blockchain data 1004. The blockchain may be accessed via a blockchain node. In some implementations, the blockchain and / or the repository 1002 may be accessed via an application programming interface to obtain the blockchain data 1004. The repository may be a repository outside of the blockchain computing system that stores the blockchain data 1004. The repository may be generated by a third-party computing system using one or more third-party application programming interfaces.
[0171] Blockchain data 1004 may include script data associated with multiple non-fungible tokens. Multiple non-fungible tokens may be associated with multiple corresponding electronic ledgers. Blockchain data 1004 may be associated with a specific blockchain and / or multiple different blockchains. Blockchain data may include byte code data associated with a blockchain. Alternatively and / or additionally, blockchain data may be associated with a leaf page of a web platform.
[0172] The blockchain data 1004 may be processed by one or more blocks to generate identification data 1014. The identification data 1014 may describe one or more identified token data sets. In some implementations, identifying one or more token data sets may include processing the blockchain data using a machine learning token identification model.
[0173] Processing the blockchain data 1004 to generate the identification data 1014 may include determining that one or more subsets of the blockchain data 1004 describe one or more token data sets associated with one or more non-fungible tokens. The determination may include parsing the blockchain data 1004. The parsing may be based on code semantics, data substructures, one or more code identifiers, and / or based on a plurality of other factors. Alternatively and / or additionally, the blockchain data 1004 may be processed to determine that one or more subsets of the blockchain data 1004 are associated with one or more blockchain triggering events 1006. One or more subsets associated with the one or more blockchain triggering events 1006 may be determined as candidate token data sets. The one or more blockchain triggering events 1006 may be associated with one or more smart contracts that include data describing if-then events that result in the transfer of a payload (e.g., a digital resource) in response to a transaction.
[0174] The one or more candidate token data sets may be further processed to determine whether the blockchain trigger event 1006 is associated with a non-fungible token. For example, the blockchain trigger event 1006 may be processed to determine an output action associated with the blockchain trigger event 1006. The output action may be processed to determine whether the output action is associated with a digital resource (e.g., a digital asset). If the output action is associated with a digital resource associated with a non-fungible token, the candidate token data may be identified as token data, which may then be indexed 1016.
[0175] Alternatively and / or additionally, token data can be identified based on one or more criteria 1008. The one or more criteria 1008 can be a standard associated with a unified structure for non-fungible tokens (e.g., an EIP standard and / or an ERC standard). For example, the blockchain data 1004 can be crawled to search for one or more strings associated with one or more standard non-fungible token strings (e.g., strings associated with a unified interface template and / or predetermined strings associated with a "function" and / or "event" portion of the script data). If a subset of the blockchain data meets a threshold level of criteria (e.g., the subset includes a unified interface template and / or meets one or more criteria), then the subset can be determined to be token data, which can then be used to generate identification data 1014.
[0176] In some implementations, the candidate token data and / or the identified token data can be processed to determine the quality of the non-fungible token associated with the token data 1010. The quality 1010 can be determined based on heuristic data and / or based on output data of one or more machine learning models. In some implementations, the quality 1010 of the non-fungible token can be based on the determined authenticity or validity of the non-fungible token (e.g., whether the non-fungible token is suspicious), based on whether the digital resource associated with the non-fungible token includes a distinguishing feature (e.g., the digital resource is equivalent to more than white noise or only slightly different from a previously minted digital resource), based on the level of vulgarity or offensiveness (e.g., if the digital resource provides family-friendly content that does not include offensive language or imagery, the digital resource may have a higher quality), and / or based on the degree to which the token data conforms to one or more uniform standards for non-fungible tokens. The quality 1010 can be used to generate identification data 1014. In some implementations, the quality 1014 can be used to determine whether to index 1016 the token data and / or how to index the token data 1016 (e.g., fully indexed, partially indexed, indexed with quality tags or labels, and / or not indexed).
[0177] In some implementations, the blockchain data 1004 can be processed to determine other characteristics 1012 that can be used to generate identification data 1014. The other characteristics 1014 can include data related to lazy minting, empty payloads, non-fungible token communities, pertinence of non-fungible tokens, duplicate non-fungible tokens, types of digital resources (e.g., images, videos, augmented reality rendering assets, virtual reality environments, audio, authentication credentials for physical objects, domains, and / or virtual property), and / or recency of minting.
[0178] The identification data 1014 may be provided to an index computing system, which may determine which subsets, if any, of the blockchain data 1004 to index 1016. For example, high-quality identified token data (e.g., token data associated with non-fungible tokens from verified issuers, including high-resolution digital assets, such as non-vulgar payloads) may be indexed 1016, while data sets with a low likelihood of being associated with non-fungible tokens may not be indexed 1016.
[0179] The indexed data may then be stored in an index database, which may be used to implement a non-fungible token search platform.
[0180] Figure 3 A block diagram depicts an example index filtering system 1100 according to an example embodiment of the present disclosure. Specifically, the example index filtering system 1100 can process blockchain data 1102, determine token data 1106 in the blockchain data 1102, and determine whether to index 1110 the token data 1106. In some implementations, the index filtering system 1100 can include multiple machine-learned models to determine what and how to index 1110 (e.g., an identification model 1104 to determine a subset of blockchain data 1102 associated with a non-fungible token and / or a quality model 1108 to determine the quality of the identified subset of the data).
[0181] For example, blockchain data 1102 can be obtained from a blockchain node and / or repository. Blockchain data 1102 can be associated with a blockchain. Blockchain data can describe byte code.
[0182] The blockchain data 1102 may be processed by the recognition model 1104 to determine and / or generate token data 1106. The token data 1106 may be associated with a non-fungible token. In some implementations, the token data 1106 may be generated by identifying a token ID and / or a contract address. The recognition model 1104 may detect the token ID and / or the contract address, and may then obtain a portion of the blockchain data associated with the token ID and / or the contract address, which may then be processed (e.g., the data may be processed for aggregation and / or concatenation of the data) to generate the token data 1106. Alternatively and / or additionally, the recognition model 1104 may determine and / or generate the token data 1106 by processing the blockchain data 1104 to determine a subset of the blockchain data 1102 associated with at least one of a blockchain event, one or more unified non-fungible token standards, and / or a given non-fungible token intent.
[0183] The token data 1106 may then be processed using a quality model 1108, which may then be used to determine whether and / or how to index the token data 1110. The quality model 1108 may process the token data 1106 to determine whether the token data 1106 includes suspicious characteristics, potentially includes a vulnerability, is associated with a high-quality digital resource, and / or is vulgar or offensive. The quality model 1108 may generate a quality output (e.g., a quality metric), which may then be used to determine whether to index the token data 1108 1110. In some implementations, token data sets having a threshold quality metric may be indexed 1110, while token data sets that do not meet the threshold may not be indexed and / or may be partially indexed. Alternatively and / or additionally, the token data 1106 may be indexed using the quality metric and / or one or more flags / tags associated with the quality metric.
[0184] In some implementations, the determination as to whether to index 1110 the token data 1106 may be based on a weighted score, which may be based on the recognition data from the recognition model 1104 and the quality data from the quality model 1108 .
[0185] One or more machine learning models can be trained on labeled training examples and / or can be trained based on labeled features. One or more machine learning models can include one or more classification models, one or more feature extractors, one or more detection models, one or more segmentation models, and / or one or more enhancement models. One or more machine learning models can be trained for natural language processing, computer vision, image processing, video processing, latent coding processing, audio processing, and / or encoding / decoding.
[0186] Figure 4 A block diagram depicts an example index determination system 1200 according to an example embodiment of the present disclosure. Specifically, the example index determination system 1200 may obtain blockchain data 1202, identify candidate token data 1204, generate identification data 1206 based on the identified candidate token data 1204, and generate an index determination 1212 based on the identification data. The index determination 1212 may include indexing the token data 1214, partially indexing the token data 1216, or not indexing the token data 1218.
[0187] For example, blockchain data 1202 may be obtained from a blockchain computing system. Blockchain data 1202 may include data describing a plurality of non-fungible tokens associated with a plurality of digital resources. Blockchain data 1202 may be processed to identify candidate token data 1204 in the blockchain data. The identification may be based on a determined blockchain triggering event, based on one or more unified non-fungible token standards, based on a determined issuer intent, and / or based on a determined association with a digital resource (e.g., a digital asset).
[0188] The candidate token data may then be processed to generate identification data 1206. The identification data may describe that the candidate token data is associated with a non-fungible token. The identification data may include an identification metric describing the likelihood that the candidate token data is associated with a non-fungible token.
[0189] The identification data may then be processed to generate an index determination. The index determination 1212 may include data that may be sent to the index computing system to instruct the index computing system to index the token data 1214, partially index the token data 1216, or not index the token data 1218. The index determination 1212 may be based on the identification data such that candidate token data having a first threshold likelihood may be indexed 1214, candidate token data having a likelihood between the first threshold and a second threshold may be partially indexed 1216, and candidate token data having a likelihood below both thresholds may not be indexed 1218.
[0190] Alternatively and / or additionally, candidate token datasets determined to be associated with non-fungible tokens may be indexed; however, the indexing level may be based on a quality metric such that high-quality token datasets may be fully indexed 1214, while low-quality token datasets may be partially indexed 1216.
[0191] Figure 5 A block diagram depicts an example quality determination system 1300 according to an example embodiment of the present disclosure. Specifically, the quality determination system 1300 can obtain blockchain data 1302, determine token data 1304 in the blockchain data 1302, generate quality data 1306 for the token data, and determine whether to index the token data 1310 based on the quality data 1306.
[0192] For example, blockchain data 1302 may be obtained from a blockchain repository (e.g., blockchain data pre-filtered in a sandbox after being obtained from a blockchain node). The blockchain data 1302 may be processed to determine token data 1304 in the blockchain data 1302 (e.g., the blockchain data may be processed to determine that a subset of the blockchain data includes data associated with a non-fungible token).
[0193] The token data may then be processed to generate quality data 1306 associated with the token data. The quality data 1306 may be determined based on the resolution of the digital resource associated with the non-fungible token of the token data. Additionally and / or alternatively, the quality data 1306 may be generated based on the level of differentiation between the digital resources of the associated non-fungible tokens. The level of differentiation may be based on whether the digital resource is equivalent to more than just white noise, a blank image, and / or non-descriptive data. In some implementations, the level of differentiation may be based on whether the digital resource is the same or substantially similar to other digital resources associated with other non-fungible tokens. The minting date and / or origin date of the digital resource may be considered. Additionally and / or alternatively, the quality data 1306 may be based on whether the non-fungible token includes vulgar and / or offensive content (e.g., the digital resource depicts nudity and / or the title includes hate speech).
[0194] The quality data 1306 can be used to generate one or more flags 1308 for the processed token data. Additionally and / or alternatively, the quality data 1306 can be used to determine whether to index 1310 the token data.
[0195] The token data may be indexed 1312 based on the determination whether to index 1310. Indexing 1312 may include indexing the token data using one or more generated flags 1308.
[0196] Fig.10 A block diagram depicting an example indexing system 200 according to an example embodiment of the present disclosure is depicted. In some implementations, the indexing system 200 is configured to receive blockchain data 202 describing a blockchain storing data associated with a plurality of non-fungible tokens, and provide output data 220 describing a plurality of index data sets associated with the plurality of non-fungible tokens as a result of receiving the input data 202. Thus, in some implementations, the indexing system 200 may include one or more models and / or one or more functions for identifying token data and extracting relevant information for generating index data.
[0197] Specifically, the example indexing system 200 may include obtaining blockchain data 202 associated with a blockchain. The blockchain data 202 may include the code of the blockchain. Additionally and / or alternatively, the blockchain data 202 may include script data associated with a plurality of non-fungible tokens (e.g., data describing a script that may be deployed to interact with the smart contract code of the blockchain data 202).
[0198] The blockchain data 202 may be processed to identify first token data of a first non-fungible token 204, second token data of a second non-fungible token 206, third token data of a third non-fungible token 208, and nth token data of an nth non-fungible token 210. Identifying the token data sets may involve parsing the blockchain data and determining whether each parsed segment is associated with one or more non-fungible token characteristics. Alternatively and / or additionally, identifying the token data may include crawling the blockchain data to search for specific characteristics, structures, and / or features associated with the token data.
[0199] The first token data associated with the first non-fungible token 204 may be processed to generate first index data 212 associated with the first non-fungible token 204. The second token data associated with the second non-fungible token 206 may be processed to generate second index data 214 associated with the second non-fungible token 206. The third token data associated with the third non-fungible token 208 may be processed to generate third index data 216 associated with the third non-fungible token 208. The nth token data associated with the nth non-fungible token 210 may be processed to generate nth index data 218 associated with the nth non-fungible token 210.
[0200] The first index data 212, the second index data 214, the third index data 216, and the nth index data 218 may be stored in an index database 220, which may then be used for various tasks (e.g., non-fungible token searches). The index data set may include index information associated with a plurality of index term fields. The index data set may include a title of the non-fungible token, a reference to a digital resource payload, a descriptor, and / or a plurality of other index terms for annotating and / or characterizing various aspects of the non-fungible token that may be searched.
[0201] Fig.11 A block diagram depicting an example index data set 300 according to an example embodiment of the present disclosure. In some implementations, index data 310 may be generated based on blockchain data and / or web page data 326. The blockchain data may be processed to identify a subset of the blockchain data describing token data 302. The token data 302 may be processed to determine one or more index terms for index data 310 generation. Additionally and / or alternatively, web page data 326 associated with a non-fungible token that is the same as or related to the non-fungible token associated with the token data 302 may be used to determine one or more additional index terms for one or more index term fields.
[0202] Additionally and / or alternatively, the token data 302 and / or the web page data 326 may be processed using one or more machine-learned models 324 to generate one or more outputs that may be used as index items for the index data 310. Alternatively and / or additionally, input data for the one or more machine-learned models 324 may be obtained from other data sources. In some implementations, the index data 310 may include data describing the blockchain 312 on which the non-fungible token was minted. The index data 310 may include references 314 (e.g., URIs) to digital resources, time data 316 (e.g., minting time, first digital resource release time, and / or the time difference between two times), transaction data 318 (e.g., purchase time, acquisition amount, acquisition frequency, identity of buyers and bidders, and / or auction event data), metadata 320 (e.g., stored by the blockchain, the marketplace, and / or another data source), other machine-learned data 322, and / or other derived data.
[0203] Fig.12 A block diagram depicting an example search 400 according to an example embodiment of the present disclosure. The example search 400 may include receiving a search query 402. The search query 402 may include one or more words, one or more images, and / or one or more other forms of input. The search query 402 may be processed by a search engine 404, which may then access a non-fungible token index database 406 to determine one or more non-fungible token search results 410 responsive to the search query 402. Additionally and / or alternatively, the search query 402 may be processed by a search engine 404, which may then access a web database 408 to determine one or more general web results 412 responsive to the search query 402. The one or more non-fungible token search results 410 and / or the one or more general web results 412 may be used to generate a search results page 414. The search results page 414 may then be provided for display.
[0204] FIG. 13A to FIG. 13CDifferent example search results page configurations are depicted. Although three configurations are depicted, other variations may be utilized to provide search results for display. The different variations depicted may include a search interface 502, which may include a search query input box 504, one or more non-fungible token search results (e.g., a first non-fungible token search result 510, a second non-fungible token search result 512, a third non-fungible token search result 514, and / or a fourth non-fungible token search result 516), one or more general web results (e.g., a first general web result 520, a second general web result 522, a third general web result 524, and / or a fourth general web result 526), and / or a knowledge panel 506. The search query input box 504 may be configured to receive and / or display one or more search queries. One or more non-fungible token search results and one or more general web results may be determined and provided based on a determined responsiveness to the input search query. Additionally and / or alternatively, the knowledge panel 506 may include structured data associated with a topic determined to be responsive to the input query.
[0205] Fig.13A An illustration of an example search results page 500 is depicted according to an example embodiment of the present disclosure. The example search results page 500 includes a search query input box 504 displayed at the top of a search interface 502 and a knowledge panel 506 displayed in a side panel of the search interface 502. Additionally, the example search results page 500 includes a non-fungible token search results section that displays one or more non-fungible token search results (e.g., a first non-fungible token search result 510, a second non-fungible token search result 512, a third non-fungible token search result 514, and / or a fourth non-fungible token search result 516). The example search results page 500 may include a separate general web results section that may display one or more general web results (e.g., a first general web result 520, a second general web result 522, a third general web result 524, and / or a fourth general web result 526). Additionally and / or alternatively, one or more non-fungible token search results and one or more general web results may be provided in different formats (e.g., non-fungible token search results may be provided with image thumbnails, while general web results may be displayed only in text).
[0206] Fig. 13BAn illustration of an example search results page 540 according to an example embodiment of the present disclosure is depicted. The example search results page 540 includes a search query input box 504 displayed at the top of the search interface 502 and a knowledge panel 506 displayed in a side panel of the search interface 502. The example search results page 540 may include one or more non-fungible token search results (e.g., a first non-fungible token search result 510, a second non-fungible token search result 512, a third non-fungible token search result 514, and / or a fourth non-fungible token search result 516) and one or more general web results (e.g., a first general web result 520, a second general web result 522, a third general web result 524, and / or a fourth general web result 526), which may be displayed in an intermingle format such that different types of search results may be adjacent to each other. The order may be determined based on a score based on a determination of responsiveness to the search query and / or based on other factors. The sorting may be based entirely on the score without preference for the type of result.
[0207] Fig. 13C An illustration of an example search results page 580 is depicted according to an example embodiment of the present disclosure. The example search results page 580 may include both one or more non-fungible token search results (e.g., first non-fungible token search result 510, second non-fungible token search result 512, third non-fungible token search result 514, and / or fourth non-fungible token search result 516) and one or more general web results (e.g., first general web result 520, second general web result 522, third general web result 524, and / or fourth general web result 526), both of which may be provided for display with a media content item preview.
[0208] Example Method
[0209] Figure 6 A flowchart depicting an example method to be performed according to an example embodiment of the present disclosure. Figure 6 The steps are depicted as being performed in a particular order for purposes of illustration and discussion, but the method of the present disclosure is not limited to the particular illustrated order or arrangement. The various steps of method 600 may be omitted, rearranged, combined and / or adapted in various ways without departing from the scope of the present disclosure.
[0210] At 602, a computing system may obtain blockchain data. The blockchain data may be associated with a blockchain. For example, the blockchain data may include byte code associated with a blockchain. The blockchain data may be associated with a plurality of non-fungible tokens. The plurality of non-fungible tokens may be associated with a plurality of digital assets. In some implementations, the blockchain data may be obtained from a blockchain node associated with a particular blockchain. The blockchain data may include pre-filtered blockchain data that has been processed to filter out data that may not have been utilized during indexing.
[0211] At 604, the computing system may process the blockchain data to determine that a subset of the blockchain data includes candidate token data. The candidate token data may be associated with a blockchain trigger event (e.g., an if-then event that may result in a transfer of a digital resource (e.g., a digital asset)). In some implementations, the candidate token data may be determined based on one or more criteria associated with a non-fungible token code standard. Additionally and / or alternatively, the candidate token data may include reference data associated with the digital resource. The blockchain trigger event may be associated with a smart contract.
[0212] At 606, the computing system may determine an output action associated with the blockchain triggering event. The output action may be associated with a digital resource. In some implementations, the output action may be a result action that occurs in response to the blockchain triggering event. The output action may be associated with an embedded uniform resource identifier, an embedded uniform resource locator, and / or a peer-to-peer network address (e.g., an IPFS address).
[0213] In some implementations, processing the output action to determine that the candidate token data describes the non-fungible token may include determining an entity associated with the output action, and determining that the entity is a digital resource (e.g., a digital asset) being transferred in response to a blockchain triggering event. Alternatively and / or additionally, the entity may be processed to determine that the smart contract is an empty contract. In response to the smart contract being an empty contract, the identification data may describe that the candidate token data is not data to be indexed.
[0214] Alternatively and / or additionally, processing the output action to determine that the candidate token data describes the non-fungible token may include determining that the output action includes a link to a login address. Login data associated with the login address may be obtained. The login data may then be processed to determine that the login data includes a digital resource (e.g., a digital asset). It may be determined that the digital resource is associated with the non-fungible token.
[0215] Alternatively and / or additionally, processing the output action to determine candidate token data describing the non-fungible token may include obtaining a uniform resource identifier via an application programming interface.
[0216] At 608, the computing system may process the output action to determine that the candidate token data describes a non-fungible token. The determination may be determined based on the output action being associated with a digital resource (e.g., a digital asset). In some implementations, the determination may be determined based on the output action describing an intent to associate a smart contract with a non-fungible token.
[0217] At 610, the computing system may provide identification data as an output. The identification data may describe that the candidate token data is associated with a non-fungible token. The identification data may be generated based on a determination that the candidate token data describes a non-fungible token. The identification data may describe that the candidate token data includes token data for indexing.
[0218] In some implementations, the computing system may include determining validity of the candidate token data. The validity may be determined based on whether the candidate token data includes the determined problem characteristic. The identification data may be generated based at least in part on the validity.
[0219] In some implementations, the computing system may process the output action to determine a digital resource (e.g., a digital asset) associated with the non-fungible token. The digital resource may be processed to determine a quality of the digital resource (e.g., a quality of the digital asset). The computing system may determine whether to index the candidate token data based at least in part on the identification data and the quality of the digital resource. The quality of the digital resource may be determined based on at least one of a resolution of the digital resource, a size of the digital resource, or a determined uniqueness of the digital resource.
[0220] Figure 7 A flowchart depicting an example method to be performed according to an example embodiment of the present disclosure. Figure 7 The steps are depicted as being performed in a specific order for purposes of illustration and discussion, but the method of the present disclosure is not limited to the specific illustrated order or arrangement. The various steps of method 700 may be omitted, rearranged, combined and / or adapted in various ways without departing from the scope of the present disclosure.
[0221] At 702, a computing system may obtain blockchain data. The blockchain data may include byte code associated with a blockchain. The blockchain data may be associated with a plurality of smart contracts. The plurality of smart contracts may include a plurality of logic sets (e.g., a plurality of if-then logic sets).
[0222] In some implementations, obtaining blockchain data may include obtaining first node data from a blockchain node. The blockchain node may be associated with a particular blockchain. Obtaining blockchain data may further include processing the first node data in a sandbox to generate a first portion of blockchain data, and storing the first portion of blockchain data.
[0223] Additionally and / or alternatively, obtaining the blockchain data may include obtaining second node data from the blockchain node. The blockchain node may be associated with a particular blockchain. In some implementations, obtaining the blockchain data may further include processing the second node data in the sandbox to generate a second portion of the blockchain data, and storing the second portion of the blockchain data.
[0224] At 704, the computing system may process the blockchain data to determine that a subset of the blockchain data includes candidate token data. In some implementations, the candidate token data may be associated with a blockchain trigger event. The blockchain trigger event may include an if-then event such that if a certain event occurs, ownership of the digital resource may be transferred.
[0225] At 706, the computing system may obtain standard data. The standard data may include one or more standards associated with a standard for non-fungible tokens. The standard may be associated with a predetermined interface for uniformly interfacing with different non-fungible tokens. The smart contract structure may conform to the standard to implement a standard application programming interface to facilitate interaction with different non-fungible tokens (e.g., regardless of a particular issuer).
[0226] At 708, the computing system may process the candidate token data to determine whether the candidate token data is associated with one or more criteria. The determination may include searching the candidate token data to determine whether one of the predetermined interfaces is included in the candidate token data. In some implementations, the candidate token data may be processed to identify whether a particular blockchain trigger event language is included in the candidate token data.
[0227] At 710, the computing system may generate identification data based on associating the candidate token data with the one or more criteria. The identification data may describe that the candidate token data is associated with a non-fungible token.
[0228] At 712, the computing system may provide identification data as an output. The identification data may be provided to a user computing system. In some implementations, the identification data may be provided to an index computing system to instruct the index computing system whether to index the candidate token data.
[0229] In some implementations, a blockchain trigger event can be processed to determine a digital asset associated with a non-fungible token. The digital asset can be processed to determine that the digital asset is vulgar, and the systems and methods can determine whether to index candidate token data based at least in part on the identification data and the digital asset being vulgar.
[0230] Index data may then be generated based on the candidate token data and the identification data. The identification data may be used to determine whether and to what extent the candidate token data is to be indexed. In some implementations, data describing the identification data may be indexed using other data associated with the candidate token data.
[0231] Figure 8 A flowchart depicting an example method to be performed according to an example embodiment of the present disclosure. Figure 8 The steps are depicted as being performed in a specific order for purposes of illustration and discussion, but the method of the present disclosure is not limited to the specific illustrated order or arrangement. The various steps of method 800 may be omitted, rearranged, combined and / or adapted in various ways without departing from the scope of the present disclosure.
[0232] At 802, a computing system may obtain blockchain data. The blockchain data may include byte code associated with a blockchain. The blockchain data may be obtained from a blockchain node. Alternatively and / or additionally, the blockchain data may be obtained from a non-blockchain repository.
[0233] At 804, the computing system may process the blockchain data to determine that a subset of the blockchain data includes candidate token data. The candidate token data may be associated with a blockchain triggering event. In some implementations, the candidate token data may include data describing a smart contract. The blockchain triggering event may be an event that triggers the transfer of a payload of a smart contract.
[0234] At 806, the computing system may process the candidate token data to determine an intent associated with the candidate token data. The candidate token data may include reference data associated with a digital resource. In some implementations, the intent may be determined based on a blockchain trigger event. Alternatively and / or additionally, the intent may be determined based at least in part on free-form text in the candidate blockchain data. The intent may be a minting intent to issue a non-fungible token on a blockchain.
[0235] At 808, the computing system may process the intent to determine that the candidate token data describes a non-fungible token. For example, the intent may be processed to determine whether the intent meets a threshold likelihood of being a non-fungible token intent.
[0236] At 810, the computing system may provide identification data as output. The identification data may describe that the candidate token data is associated with a non-fungible token.
[0237] Example index and usage
[0238] The systems and methods disclosed herein can identify data associated with non-fungible tokens in a blockchain (e.g., in the code of the blockchain). For example, multiple non-fungible tokens can be identified and indexed based on a variety of techniques. One technique can include analyzing (e.g., crawling) a blockchain to identify data associated with a non-fungible token. The data can then be parsed to determine identifiable data that can be indexed. Another technique can include analyzing (e.g., crawling) a non-fungible token market to identify non-fungible tokens to be sold. Data related to non-fungible tokens can then be obtained and indexed. In some implementations, a variety of techniques can be utilized to generate a more comprehensive database for searching.
[0239] The systems and methods disclosed herein may include obtaining blockchain data from a blockchain computing system. The blockchain data may include one or more function signatures. In some implementations, the blockchain data may include script data associated with a digital asset. A specific portion (e.g., a subset) of the blockchain data may be determined to include token data. The token data may describe a non-fungible token associated with a digital asset. Index data may be generated based on the token data. The index data may include information obtained from the blockchain data. In some implementations, the index data may be associated with a digital asset. The index data may then be stored in an index database. The index database may then be used for a variety of purposes (e.g., non-fungible token search, data aggregation and analysis, training data for a model for machine learning, and / or for generating statistical representations).
[0240] The system and method can obtain blockchain data (e.g., code from a blockchain) from a blockchain computing system (e.g., a decentralized computing system that stores distributed data). The blockchain data may include one or more function signatures. In some implementations, the blockchain data may include scripts associated with digital assets. The blockchain data may be obtained via a blockchain node. The blockchain data may include code and / or records stored on the blockchain. The code may include scripts and may describe multiple smart contracts. The blockchain data may include transaction data associated with the acquisition of digital assets and / or the exchange of digital currencies (e.g., cryptocurrency). In some implementations, the transaction data may describe one or more mutations of a contract (e.g., "setURI", etc.). The blockchain data may include metadata associated with one or more non-fungible tokens.
[0241] The systems and methods disclosed herein may include determining that a particular portion of blockchain data includes token data. The token data may describe a non-fungible token associated with a digital asset. Alternatively and / or additionally, the systems and methods may determine that a subset of blockchain data includes token data based on that the subset has a structure associated with one or more standards. The token data may describe a non-fungible token associated with a digital asset. In some implementations, the structure may include a format of a code in the blockchain data associated with a standard format for non-fungible token code.
[0242] In some implementations, blockchain data may be parsed, and each parsed segment of the blockchain data may be processed to classify whether the parsed segment includes token data describing a non-fungible token. The classification may be generated using a machine learning classification model that has been trained to classify whether the parsed segment includes data associated with a non-fungible token (e.g., whether the data includes a reference to a payload, satisfies one or more criteria, and / or describes a smart contract). In some implementations, the blockchain data may be parsed using a machine learning segmentation model trained to parse blockchain data based on one or more factors (e.g., syntax, semantics, structure, code length, payload characteristics, code features, potential encoding markers, and / or another machine learning characteristic).
[0243] In some implementations, determining that the specific portion of the blockchain data includes the token data may include determining that the specific portion of the blockchain data includes the token data based on one or more function signatures. The one or more function signatures may be associated with a non-fungible token standard.
[0244] Alternatively and / or additionally, determining that the particular portion of the blockchain data includes token data may include determining that the particular portion includes a smart contract associated with a digital media item. The digital media item may be a payload of the smart contract. In some implementations, the digital media item may be a digital asset.
[0245] Then, index data may be generated based on the token data. The index data may include information obtained from the blockchain data. In some implementations, the index data may be associated with the digital asset. The index data may include transaction data associated with the non-fungible token. The index data may include data describing metadata associated with the non-fungible token. In some implementations, the index data may include a digital asset type associated with the digital asset. The digital asset type may be an augmented reality rendering asset type, and the digital asset may be an augmented reality rendering asset. The index data may include whether the URI (Uniform Resource Identifier) has been changed and whether the data of the payload (e.g., pixels of an image and / or text of a text string) has been changed (e.g., when the URI has been changed; however, the change in data may occur and be indexed without a change to the URI). Additionally and / or alternatively, the index data may include information describing the change to the URI. The index data may include data that may describe factors that may be used to determine whether a non-fungible token involves fraud.
[0246] In some implementations, generating index data based on token data may include obtaining a digital asset associated with a non-fungible token, processing the digital asset to determine one or more characteristics of the digital asset, and generating characteristic data describing the one or more characteristics. The index data may include the characteristic data.
[0247] In some implementations, generating index data may include determining a digital asset associated with a non-fungible token, and processing the non-fungible token using a machine learning model (e.g., a classification model, a detection model, a feature extractor model, and / or a semantic model) to determine one or more classifications, features, and / or attributes associated with the digital asset. The one or more classifications, features, and / or attributes may be included in the index data. The index data may include a name associated with the non-fungible token and / or digital asset, a name of a digital asset creator / publisher, transaction data (e.g., current and / or past owners, purchase price, transaction trends, trends of related non-fungible tokens, gas price, etc.), a topic of the digital asset, non-fungible token metadata, pixel tags, non-fungible token descriptions, free-form text associated with the non-fungible token, and / or notoriety associated with the non-fungible token, publisher, or creator.
[0248] The digital asset may include image data, video data, text data, audio data, domains, augmented reality assets, virtual reality experiences, and / or potentially encoded data. In some implementations, the digital asset may include image data, and processing the digital asset may include processing the digital asset using a machine learning model to determine one or more image features.
[0249] Alternatively and / or additionally, generating feature data describing the one or more features may include determining one or more feature descriptor terms associated with the one or more features. The feature data may describe the one or more feature descriptor terms.
[0250] In some implementations, the systems and methods may include determining that a web content item is associated with a digital asset. A publishing time associated with the web content item may be obtained. The systems and methods may determine a minting time associated with a non-fungible token based on the blockchain data. Time difference data may be generated based on the minting time and the publishing time. In some implementations, the index data may include the time difference data.
[0251] Alternatively and / or additionally, generating index data based on the token data may include determining reference data associated with the digital asset based on the token data, and determining an issuer of the non-fungible token based on the token data. The index data may include data describing the reference data, the issuer, and the specific blockchain associated with the blockchain data.
[0252] The system and method may store index data in an index database. The index database may be stored on a server computing system. The index database may include multiple index data sets associated with multiple non-fungible tokens. For example, first token data may be identified to generate a first index data set, second token data may be identified to generate a second index data set, and third token data may be identified to generate a third index data set. The first token data may be associated with a first non-fungible token, the second token data may be associated with a second non-fungible token, and the third token data may be associated with a third non-fungible token.
[0253] The index database can be used for a variety of different purposes. For example, the index database can be used as a database for storing non-fungible token data for rapid retrieval upon request or search. The system and method may include receiving a request for a digital asset from a user computing system, and providing the token data to the user computing system.
[0254] The index database may include an index data set generated based on blockchain data, web page data, and / or data obtained from other sources.
[0255] Alternatively and / or additionally, the systems and methods disclosed herein may obtain web page data from a web page. The web page data may describe list information of non-fungible tokens. In some implementations, the web page data may include data associated with digital assets. Additionally and / or alternatively, obtaining web page data may include generating a snapshot of a web page listing non-fungible tokens to be sold. In some implementations, the web page data may describe a leaf page of a digital web platform website (e.g., a digital marketplace website) that hosts and / or facilitates the purchase and sale of non-fungible tokens. The web page data may include a snapshot of a web page, which may include image data, text data, and / or potentially encoded data.
[0256] A specific portion (e.g., a subset) of the web page data may be processed to determine that the web page data includes token data. The token data may describe a non-fungible token associated with a digital asset. Alternatively and / or additionally, a digital marketplace website may be crawled to determine a plurality of leaf pages associated with a plurality of non-fungible tokens, and each leaf page may be processed to generate index data for each of the non-fungible tokens.
[0257] Then, index data may be generated based on the token data. In some implementations, the index data may include information obtained from the web page data. The index data may be associated with the digital asset. Generating the index data may include processing the image data, text data, and / or potentially encoded data of the leaf page to determine data associated with a plurality of index fields to be included in the index data.
[0258] The system and method may include storing the index data in an index database. The index database may be stored on a server computing system. In some implementations, the index database may be used to visualize non-fungible token search results of a search engine. Additionally and / or alternatively, the index database may be used to determine statistics associated with non-fungible tokens. For example, trending non-fungible tokens of a certain type and / or creator may be determined and then used to rank non-fungible tokens in a marketplace, search results page, and / or to inform users to make smart purchases.
[0259] The index database may include index data from multiple different sources (e.g., multiple different blockchains associated with multiple different blockchain computing systems and / or multiple different web pages associated with multiple different markets). The index database may be used for multiple different tasks (e.g., search, statistics generation, and / or model training). For example, the system and method may obtain blockchain data. The system and method may include determining that a subset of the blockchain data describes a non-fungible token associated with a digital asset. The index data may be generated based at least in part on the subset of the blockchain data. The index data may include reference data associated with the digital asset. In some implementations, the index data may be stored in a search database. The system and method may include receiving a search query from a user computing system. The system and method may determine that the search query is associated with the index data. Then, search results associated with the digital asset may be provided to the user computing system.
[0260] The systems and methods may include obtaining blockchain data (e.g., blockchain data obtained from a blockchain node associated with a blockchain computing system). Alternatively and / or additionally, the systems and methods may obtain web page data (e.g., market data obtained via taking a snapshot of a web page associated with a non-fungible token market). In some implementations, the systems and methods may include obtaining both blockchain data and web page data. The obtained data may be obtained via an application programming interface. In some implementations, the obtained data may be updated from time to time. Updates may occur at set intervals, and / or may be obtained at a certain frequency based on transaction trends, the type of digital asset, a particular blockchain, and / or based on cost.
[0261] The system and method may then determine that a subset of the obtained data (e.g., blockchain data and / or web page data) describes a non-fungible token associated with a digital asset. The determination may be based on a search for a specific structure, a specific term, and / or a specific actor. The determination may be based on a known digital asset creator / publisher, a known digital asset attribute, a known digital asset type, a known digital asset name, a known digital asset description, metadata, and / or tags. The determination may be based on whether the subset of the obtained data complies with the EIP (EI P-721: Non-Fungible Token Standard, ETHEREUM IMPROVEMENT PRO POSALS (January 24, 2018), https: / / eips.ethereum.org / EIPS / eip-721.). In some implementations, strict compliance may not be required. For example, a data type may deviate from the specification of a standard. The functional nature and / or spirit of the data may be determined to be associated with a non-functional token.
[0262] Index data may be generated based at least in part on a subset of the obtained data (e.g., blockchain data and / or web page data). In some implementations, the index data may include reference data associated with a digital asset (e.g., script data that references a URL (Uniform Resource Locator) or URI). The index data may include digital asset creator / publisher, digital asset attributes, digital asset type, digital asset name, digital asset description, metadata, payload information, smart contract information, free form text, transaction data, blockchain information (e.g., information associated with a specific blockchain on which a non-fungible token was minted), minting time, first release time of a digital asset, digital asset changes, specific web pages (e.g., specific marketplaces), and / or tags (e.g., pixel tags). In some implementations, the obtained data may be processed to determine a non-fungible token community associated with a specific non-fungible token, and the non-fungible token community may be indexed in the index data.
[0263] In some implementations, the index data may be generated by processing the obtained data using one or more machine learning models (e.g., a segmentation model, a detection model, a classification model, and / or a feature extractor model). The transaction history may be processed to determine the price history of the non-fungible token, and the price history may be processed to index the trend data and / or stability data. Additionally and / or alternatively, whether the non-fungible token is lazy minted may be indexed. The index data may include whether the non-fungible token is auctioned.
[0264] The system and method may then store the index data in a search database. The search database may include multiple index data sets associated with multiple non-fungible tokens. In some implementations, multiple non-fungible tokens may be identified by processing data from multiple sources.
[0265] In some implementations, the systems and methods may receive a search query from a user computing system. The search query may include one or more search terms. Alternatively and / or additionally, the search query may include one or more images, audio data, latently encoded data, and / or multimodal data.
[0266] The search query may be processed to determine that the search query is associated with the index data. A search engine may be utilized to receive and process the search query. The search engine may be configured to crawl one or more blockchains, web pages, and / or an index database or a search database.
[0267] In some implementations, determining that the search query is associated with the index data can include determining that one or more search terms of the search query describe at least one of the digital asset, the author of the digital asset, or non-fungible token metadata.
[0268] Search results associated with the digital asset may then be provided to the user computing system. The search results may include a preview of the digital asset. Alternatively and / or additionally, the search results may include an indicator indicating that the search results are associated with a non-fungible token.
[0269] In some implementations, providing search results associated with the digital asset to a user computing system may include determining that one or more web pages are associated with the search query, generating one or more general web results based on the one or more web pages, and providing a search results page to the user computing system. The search results page may include the search results and the one or more general web results.
[0270] In some implementations, index data generated based on blockchain data and index data generated based on web page data can be reconciled. For example, in the event of a conflict between blockchain data and web data, the system and method can process the data, determine which data is more credible, determine whether to merge the data, and / or determine whether to delete one or both sets of data.
[0271] In some implementations, index data may be updated periodically. Updates may occur at set intervals, and / or may be obtained at a certain frequency based on trading trends, performance data, type of digital asset, specific blockchain, minting time (e.g., older non-fungible tokens may be updated less often due to greater computational costs associated with crawling), and / or based on cost.
[0272] The index database may include index entry fields associated with digital asset types, such that non-fungible tokens associated with augmented reality rendering assets may be distinguished from non-fungible tokens associated with images. In some implementations, the index data may include how to launch, run, and / or view a payload (e.g., a digital asset). For example, a video player tag, an image preview tag, a specific augmented reality application, and / or a specific device may be indexed.
[0273] Data extraction for index data generation may be machine learning based, heuristic based, and / or may be deterministic.
[0274] The systems and methods disclosed herein may be used for searching to allow a user to make a conscious decision whether to invest or not invest in a particular non-fungible token.
[0275] Specifically, the system and method can be used to make Web3 technology easily accessible to a significant portion of our users (not just Web3-savvy early adopters or crypto enthusiasts). The way Web3 can work can deviate significantly from the average user mental model. For example, the system and method can focus on simplifying technology, jargon, applications, and / or settings.
[0276] The blockchain computing system may include a decentralized system; however, the systems and methods disclosed herein may be implemented in a decentralized system, a closed ecosystem, and / or a hybrid system including portions performed by a decentralized system and portions performed by a centralized system.
[0277] In some implementations, the systems and methods disclosed herein can be used for identity purposes. For example, the systems and methods disclosed herein can involve and / or interface with a user's crypto wallet to store user identity data to be utilized across Web3. A user can log into a website, share personal data, prove identity, and / or transfer cryptocurrency based at least in part on the identity data.
[0278] Wallet apps can be built into browsers. In Web3, there can be a single mechanism to log in while keeping your data for yourself.
[0279] The blockchain computing system can store data describing a variety of information, which can include non-fungible token content IDs and / or ownership information of non-fungible tokens. Non-fungible tokens can introduce scarcity and authenticity to digital items.
[0280] The systems and methods disclosed herein can be implemented into search engines to enhance image, video, and audio searches. For example, the systems and methods implemented into search engines can signal to users who owns an image or video on the web and where the digital asset came from, can enforce copyright rules for digital assets, can detect whether a digital asset has been tampered with or has trust issues, and / or can enable the sale or transfer of digital content on the web (e.g., a non-fungible token market for images, music, and / or another form of digital asset).
[0281] The systems and methods disclosed herein may include creator tokens. The Web3 model may enable creators to own their content and have a direct relationship with their followers / subscribers / fans, which may bypass today's platforms. This may be very disruptive to video platforms, but may be an opportunity for search engines, which may not be the creator's primary concern. Creator tokens may be a way for fans to "invest" in their favorite creators while also enabling creators to create communities around their fans.
[0282] In some implementations, the systems and methods disclosed herein can be used to provide an oracle system (e.g., a system that can provide a service provider system for a smart contract to check whether something is true or has occurred).
[0283] The systems and methods disclosed herein may include general information retrieval. The systems and methods may enable searches to index important parts of the blockchain and make them accessible and useful.
[0284] The system and method may include a decentralized autonomous organization that can be used to automate decision making. In some implementations, information about the decentralized autonomous organization of the search engine may be provided, and the information may make decision making more transparent.
[0285] In some implementations, the system and method can enable ownership of any digital asset on the web by empowering creators and publishers to claim ownership of their digital content and set rules for the use of digital content in a scalable and high-speed manner. Additionally and / or alternatively, the system and method can enable ownership of any digital asset on the web by empowering search users to understand the provenance and history of digital assets while also being able to take actions on digital assets in a manner permitted by the original creator (e.g., buying non-fungible tokens and / or using non-fungible tokens as tickets).
[0286] In some implementations, the system and method can simultaneously create a carrot for creators and publishers to publish non-fungible content on the web, while also giving them the tools to create this content and set usage rules for the content.
[0287] For example, rewards could be created to show who owns an image on the web or to show items published by a creator / publisher, copies of "owned" digital assets could be blocked or at least any revenue generated by them transferred to the original owner, users could be enabled to sell and monetize generated content, and royalties could be realized.
[0288] Additionally and / or alternatively, the system and method may include tools for creators / publishers to create non-fungible content. For example, the system and method may give creators / publishers easy tools to publish non-fungible content and set rules for content usage that can be done by both casual creators and mature large players.
[0289] In some implementations, the systems and methods may include a smart contract blockchain that may be open, closed, and / or a hybrid of both.
[0290] The systems and methods can be implemented to implement a non-fungible token market across various digital asset platforms (e.g., image platforms, video hosting platforms, and / or music hosting platforms) and / or across various service platforms (e.g., search engines, social media platforms, and / or blogging platforms). Creators and / or publishers can generate digital assets, mint digital assets, sell digital assets, and / or receive royalties for future sales of digital assets.
[0291] Non-fungible tokens can be used to access private chat groups or blogs within different platforms and communities, can be used to set up avatars that are verified to be owned by a specific user, can enable quick communication between creators and owners, and can provide transaction history that can be used to provide insightful recommendations for future issuance and purchases.
[0292] Additional disclosure
[0293] The technology discussed herein relates to servers, databases, software applications, and other computer-based systems, as well as the actions taken and the information sent to and from such systems. The inherent flexibility of computer-based systems allows for multiple possible configurations, combinations, and partitions of tasks and functionality between and among components. For example, the processes discussed herein can be implemented using a single device or component or multiple devices or components working in combination. Databases and applications can be implemented on a single system, or distributed across multiple systems. Distributed components can operate sequentially or in parallel.
[0294] Although the present subject matter has been described in detail with respect to various specific example embodiments of the present subject matter, each example is provided by way of explanation, rather than limitation of the present disclosure. Those skilled in the art may easily produce changes, variations, and equivalents of such embodiments when obtaining an understanding of the foregoing. Therefore, the present disclosure does not exclude such modifications, variations, and / or additions to the present subject matter that would be readily apparent to those of ordinary skill in the art. For example, a feature illustrated or described as part of an embodiment may be used together with another embodiment to produce still further embodiments. Therefore, the present disclosure is intended to cover such changes, variations, and equivalents.
Claims
1. A computing system, the system comprising: one or more processors; as well as one or more non-transitory computer-readable media collectively storing instructions that, when executed by the one or more processors, cause the computing system to perform operations comprising: Obtaining blockchain data, wherein the blockchain data includes byte code associated with a blockchain; processing the blockchain data to determine that a subset of the blockchain data includes candidate token data, wherein the candidate token data is associated with a blockchain triggering event; determining an output action associated with the blockchain triggering event, wherein the output action is associated with a digital resource; processing the output action to determine that the candidate token data describes a non-fungible token; and Providing identification data as an output, wherein the identification data describes that the candidate token data is associated with the non-fungible token.
2. The system of claim 1, wherein processing the output action to determine the candidate token data describing the non-fungible token comprises: determining an entity associated with the output action; as well as A determination is made that the entity is a digital resource being transferred in response to the blockchain triggering event.
3. The system of any preceding claim, wherein the operations further comprise: determining validity of the candidate token data, wherein the validity is determined based on whether the candidate token data includes the determined problematic characteristic; and Wherein the identification data is generated based at least in part on the validity.
4. The system of any preceding claim, wherein processing the output action to determine the candidate token data describing the non-fungible token comprises: Determining that the output action includes a link to a login address; Obtaining login data associated with the login address; processing the login data to determine that the login data includes a digital resource; and Determining that the digital resource is associated with the non-fungible token.
5. The system of any preceding claim, wherein the operations further comprise: processing the output action to determine a digital resource associated with the non-fungible token; processing the digital resource to determine a quality of the digital resource; as well as A determination is made whether to index the candidate token data based at least in part on the identification data and the quality of the digital resource.
6. The system of claim 5, wherein the quality of the digital asset is determined based on at least one of a resolution of the digital asset, a size of the digital asset, or a determined uniqueness of the digital asset.
7. The system of any preceding claim, wherein processing the output action to determine the candidate token data describing the non-fungible token comprises: Obtain a uniform resource identifier via an application programming interface.
8. A system as claimed in any preceding claim, wherein the candidate token data is determined based on one or more criteria associated with a non-fungible token code standard.
9. A system as claimed in any preceding claim, wherein the candidate token data comprises reference data associated with the digital resource.
10. A computer-implemented method, the method comprising: Obtaining, by a computing system including one or more processors, blockchain data, wherein the blockchain data includes bytecode associated with a blockchain; processing, by the computing system, the blockchain data to determine that a subset of the blockchain data includes candidate token data, wherein the candidate token data is associated with a blockchain triggering event; obtaining, by the computing system, standards data, wherein the standards data includes one or more standards associated with a standard for non-fungible tokens; processing, by the computing system, the candidate token data to determine that the candidate token data is associated with the one or more criteria; generating, by the computing system, identification data based on associating the candidate token data with the one or more criteria, wherein the identification data describes that the candidate token data is associated with the non-fungible token; as well as The identification data is provided as output by the computing system.
11. The method of claim 10, further comprising: Index data is generated by the computing system based on the candidate token data and the identification data.
12. The method of claim 10 or claim 11, further comprising: processing, by the computing system, the blockchain trigger event to determine a digital resource associated with the non-fungible token; processing the digital resource by the computing system to determine that the digital resource is vulgar; as well as A determination is made by the computing system whether to index the candidate token data based at least in part on the identification data and the digital resource being vulgar.
13. The method of any one of claims 10 to 12, wherein obtaining, by the computing system comprising the one or more processors, the blockchain data comprises: Obtaining, by the computing system, first node data from a blockchain node, wherein the blockchain node is associated with a particular blockchain; Processing the first node data in a sandbox by the computing system to generate a first portion of the blockchain data; as well as The first portion of the blockchain data is stored by the computing system.
14. The method of claim 13, wherein obtaining, by the computing system comprising the one or more processors, the blockchain data comprises: obtaining, by the computing system, second node data from the blockchain node, wherein the blockchain node is associated with the particular blockchain; Processing the second node data in the sandbox by the computing system to generate a second portion of the blockchain data; as well as The second portion of the blockchain data is stored by the computing system.
15. One or more non-transitory computer-readable media that collectively store instructions that, when executed by one or more computing devices, cause the one or more computing devices to perform operations comprising: Obtaining blockchain data, wherein the blockchain data includes byte code associated with a blockchain; processing the blockchain data to determine that a subset of the blockchain data includes candidate token data, wherein the candidate token data is associated with a blockchain triggering event; processing the candidate token data to determine an intent associated with the candidate token data, wherein the candidate token data includes reference data associated with a digital resource; processing the intent to determine that the candidate token data describes a non-fungible token; and Providing identification data as an output, wherein the identification data describes that the candidate token data is associated with the non-fungible token.
16. The one or more non-transitory computer-readable media of claim 15, wherein the intent is determined based at least in part on the blockchain triggering event.
17. One or more non-transitory computer-readable media as described in claim 15 or claim 16, wherein the candidate token data includes data describing a smart contract.
18. The one or more non-transitory computer-readable media of any one of claims 15 to 17, wherein the blockchain triggering event is an event that triggers the transfer of a payload of a smart contract.
19. The one or more non-transitory computer-readable media of any one of claims 15 to 18, wherein the intent is a minting intent to issue the non-fungible token on the blockchain.
20. The one or more non-transitory computer-readable media of any one of claims 15 to 19, wherein the intent is determined based at least in part on free-form text in the candidate blockchain data.