Method for routing to mesh network content with blockchain technology
By using blockchain technology in a mesh network, cryptocurrency transactions and content routing between nodes are achieved, solving the problem of flexibility in content access in offline environments and enabling content access and routing without a central authority.
Patent Information
- Application Number
- CN201980087298.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-11-06
- Filing Date
- 2019-11-06
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2039-11-06
AI Technical Summary
Conventional mesh networks require internet access or support from a central authority, which limits their adaptability and flexibility, and makes it impossible to effectively provide content access in environments with no or limited internet access.
By employing blockchain technology to enable content routing within a mesh network, and through cryptocurrency transactions and blockchain records between nodes, nodes can access and route content without the need for a central authority.
It enables content access and routing between nodes in environments with no or limited internet access, improving network adaptability and flexibility and avoiding dependence on a central authority.
Smart Images

Figure CN113261024B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims priority to U.S. Patent Application No. 16 / 182,173, filed November 6, 2018, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] The embodiments described herein generally relate to mesh networks. Background Technology
[0004] Typically, for many conventional mesh networks, access to content requires internet access or a central authority. Full internet access may be unavailable at certain locations within a conventional mesh network. Furthermore, if internet access is available, it may only be available to a few nodes, which can limit full internet access. Additionally, requiring a central authority to oversee a conventional mesh network can be overly restrictive, reducing the network's adaptability and flexibility. Therefore, there is a need for mesh networks that can provide access to content without requiring a central authority. Summary of the Invention
[0005] This disclosure presents various systems, components, and methods related to the use of blockchain within a mesh network. Each of the systems, components, and methods disclosed herein offers one or more advantages over conventional systems, components, and methods.
[0006] Various embodiments include techniques for routing content within a mesh network using blockchain. Data associated with the mesh network can be received and stored by electronic devices (such as, for example, smartphones). Electronic devices can be established as nodes on the mesh network based on the stored received data. Established nodes can create and store cryptocurrency wallets. Established nodes can load a certain amount of cryptocurrency into the created cryptocurrency wallets. The blockchain can store searchable transactions associated with content stored within the mesh network. The content can be any type of file or information. Established nodes can search the blockchain to locate content. Established nodes can send requests for desired content and can issue payments to nodes hosting said content. Blockchain can provide a way to route content stored within a mesh network without the need for a central authority and / or in situations where there is incomplete internet access within the mesh network. Attached Figure Description
[0007] Figure 1 Examples illustrating the operating environment.
[0008] Figure 2 The first logical flow is illustrated with an example.
[0009] Figure 3 The second logical flow is illustrated with an example.
[0010] Figure 4 An example illustrating the third logical flow.
[0011] Figure 5 Examples of storage media are provided.
[0012] Figure 6 Examples illustrating computing architecture.
[0013] Figure 7 An example illustrating the communication architecture.
[0014] Figure 8 An example illustrating the logical model of blockchain.
[0015] Figure 9 Example illustrations stored Figure 8 The logical model of messages in a blockchain. Detailed Implementation
[0016] Figure 1 The illustrated operating environment 100 may represent various embodiments of techniques for routing content to a mesh network that can be implemented therein. Operating environment 100 may be a mesh network and may include a first node 102-1, a second node 102-2, a third node 102-3, a fourth node 102-4, and a fifth node 104-5. Mesh network 100 is not limited to... Figure 1 The number of nodes depicted in the text.
[0017] Mesh network 100 may include one or more nodes 102 hosting content. The content can be any type of file, such as, for example, website-related files, video files, audio files, image files, multimedia files, or any type of file that can be provided to any other node 102. In various embodiments, any node 102 may be allowed or permitted to host content. In various embodiments, only certain nodes 102—e.g., authorized or registered nodes 102—may be allowed to host content. In various embodiments, any node 102 may search for and request hosted content. In various embodiments, only certain nodes 102—e.g., authorized or registered nodes 102—may be allowed to host content.
[0018] In various embodiments, mesh network 100 can be any type of mesh network and can operate according to any known mesh networking protocol or standard. In various embodiments, data, traffic, messages, or other communications within mesh network 100 can be sent between nodes 102. In various embodiments, data, traffic, messages, or other communications within mesh network 100 may originate only from certain nodes—e.g., authorized or registered nodes 102—or be intended to be received only by certain nodes—e.g., authorized or registered nodes 102—such that unauthorized or unregistered nodes 102 tunnel data, traffic, messages, or other communications within mesh network 100 only to authorized or registered nodes 102.
[0019] In various embodiments, data, traffic, messages or other communications within the mesh network 100 can be sent from an initial node to a desired receiving node via one or more intermediate nodes, which are intended to pass the communications of the desired receiving node to the next nearest neighbor node (e.g., determined by distance or geographic location) or another node as described herein.
[0020] Mesh network 100 can provide a way to route to hosted content maintained by nodes 102 on mesh network 100. In various embodiments, one or more nodes 102 can maintain a blockchain that can be used to route to the hosted content. As an example, the blockchain may include records or blocks indicating what content is hosted within mesh network 100, which nodes 102 can host the content, copies of the content, and / or cached versions of the content. The blockchain may also provide indications about the version of the hosted content and the authenticity of the hosted content.
[0021] In various embodiments, the node 102 searching for content can search the blockchain for specific content and can determine which node 102 interactively receives that content. In various embodiments, the node 102 searching for content can have another node 102 (e.g., the node maintaining the blockchain) perform the search on its behalf. In various embodiments, the node 102 searching for content can offer payment to the node 102 hosting the content in order to receive the content (e.g., either before or after the content is served). In various embodiments, the node 102 searching for content can offer payment to any intermediary node 102 that helps transfer the hosted content from the hosting node 102 to the node 102 searching for the content.
[0022] In various embodiments, the blockchain may be associated with a cryptocurrency that can support a payment system available within mesh network 100. In various embodiments, mesh network 100 may be provided in areas with no or limited internet access (such as, for example, a farmers' market or a convention center). Mesh network 100 may provide a payment system within mesh network 100 that does not require each node 102 to be directly connected to the internet.
[0023] In various embodiments, only authorized and / or registered nodes 102 capable of maintaining the blockchain can connect to a remote network, such as, for example, the Internet. In various embodiments, a separate blockchain can be associated with a cryptocurrency that can be used as a payment system within the mesh network 100. In various embodiments, other payment systems—such as conventional payment systems—can be used within the mesh network 100.
[0024] In various embodiments, nodes 102-1 and 102-5 can each be considered authorized nodes on mesh network 100. One or more of authorized nodes 102-1 and 102-5 can maintain the blockchain. Node 102-1 can host content within mesh network 100. Node 102-1 can publish the content as a searchable transaction on the blockchain, and a signature of the content is added to the chain for record keeping. The signature can indicate the type of hosted content, the host, and the version number associated with the content. Other nodes 102 of mesh network 100 can search the blockchain for hosted content and can determine that node 102-1 is hosting specific content of interest. Other nodes 102 of mesh network 100 can then initiate an interaction with node 102-1—for example, through one or more intermediary nodes 102—to request access to the hosted content.
[0025] In various embodiments, nodes 102-2, 102-3, and 102-4 can each be considered unauthorized nodes. In various embodiments, as unauthorized nodes, nodes 102-2, 102-3, and 102-4 can each route communications or other messages to authorized nodes (e.g., nodes 102-1 and 102-5), but cannot send messages directly to each other (e.g., node 102-2 cannot send messages directly to node 102-3). In various embodiments, as unauthorized nodes, nodes 102-2, 102-3, and 102-4 can be permitted to receive and send communications, messages, or other traffic in a limited manner. In various embodiments, one or more of the authorized nodes 102-1 and 102-5 can determine the permitted participation level of nodes 102-2, 102-3, and 102-4 on the mesh network 100.
[0026] Path 104 can represent a communication path between certain nodes on the mesh network 100 (e.g., between node 102-1 and node 102-2). Other paths 104 between certain nodes are... Figure 1 The path 104 may indicate that communication between certain nodes 102 is permitted or possible within the mesh network 100. In various embodiments, communication between authorized nodes 102-1 and 102-5 may be provided by node 102-3—for example, node 102-3 may relay messages between authorized nodes 102-1 and 102-5. In various embodiments, no communication path may be provided between nodes 102-3 and 102-4 because each node is unauthorized and cannot send messages directly to each other. Instead, as described herein, nodes 102-3 and 102-4 may be permitted to perform only limited functions within the mesh network 100.
[0027] In various embodiments, each of nodes 102 may be associated with a cryptocurrency wallet that can be loaded with a certain amount of cryptocurrency (e.g., cryptocurrency tokens). Authorized nodes 102-1 and 102-5 may issue cryptocurrency wallets to other nodes 102-2, 102-3, and 102-4. Authorized nodes 102-1 and 102-5 may also control access to the mesh network 100. As an example, authorized nodes 102-1 and 102-5 may grant or deny requests from another node 102 (e.g., node 102-2) to join and participate in the mesh network 100. In various embodiments, only authorized nodes 102 may be associated with cryptocurrency wallets.
[0028] Authorized nodes 102-1 and 102-5 can be designated in several ways. In various embodiments, node 102 can be considered an authorized node 102 once it holds or stores a certain amount or value of cryptocurrency. In various embodiments, node 102 can be considered an authorized node 102 once a certain number of other nodes 102 (e.g., authorized nodes) determine that node 102 should be an authorized node. In various embodiments, node 102 can be considered an authorized node 102 once it uses the blockchain to help facilitate a certain number of transactions (e.g., using the blockchain to help authorize transactions).
[0029] Generally, to become an authorized node 102, as described herein, one or more criteria must be met. Once node 102 becomes an authorized node, it can communicate with any other node 102 in the mesh network 100 in any way, manage the participation of other nodes 102 on the mesh network, including, for example, issuing cryptocurrency wallets, and managing the blockchain. As described herein, the blockchain can be used to facilitate financial transactions and / or can be used to store information related to hosted content—for example, by storing information related to content hosting transactions that can indicate the hosted content and its origin.
[0030] In various embodiments, the authorized node 102 can host content and receive payment for sending that content to the requesting node 102. In various embodiments, records of content transmitted from the hosting node 102 to another node 102 (e.g., an intermediary node or a requesting node), and payments for that transmission, can be stored on a blockchain. Such information can form part of a searchable content transaction. Other information related to the content transaction can also be stored.
[0031] In various embodiments, the unauthorized node 102 may be limited to routing communications and other messages to the authorized node 102. In various embodiments, the unauthorized node 102 may receive payment (e.g., based on cryptocurrency) for transmitting a request for hosted content from the requesting node 102 to the hosting node 102. For example, node 102-2 may receive payment from node 102-5 (as the requesting node) that issued the request for content hosted by node 102-1 (as the hosting node). In various embodiments, the unauthorized node 102 may receive payment (e.g., based on cryptocurrency) for transmitting requested hosted content from the hosting node 102 to the requesting node 102. For example, node 102-2 may receive payment from node 102-5 for transmitting requested content hosted by node 102-1 to node 102-5.
[0032] In various embodiments, node 102 (e.g., node 102-5) requesting access to hosted content or a copy of hosted content makes payment to node 102 (e.g., node 102-1) hosting the content. Furthermore, node 102 (e.g., node 102-5) requesting access to hosted content or a copy of hosted content will make payment to any intermediate node 102 (e.g., node 102-2) that can assist in transmitting communications or other messages related to the request (including any response messages from the hosting node 102, and any transmissions of the requested content).
[0033] Therefore, in various embodiments, when more intermediate nodes 102 are involved, the requesting node 102 may need to pay a higher amount—that is, the total payment payable to intermediate nodes 102 can increase with each intermediate node 102 involved (e.g., as the total number of intermediate nodes 192 increases). As a result, the requesting node 102 can search the blockchain for nodes 102 that are closer (e.g., by distance or geographic location) and may have the content (e.g., either a copy of the original content, an acceptable different version of the content, and / or a cached copy of the content). Thus, if the content (or an acceptable version thereof) is located at a node 102 closer to the requesting node 102, the requesting node 102 may be able to reduce the total payment payable to intermediate nodes 102—thereby avoiding payments to additional, unnecessary intermediate nodes 102.
[0034] For illustrative and explanatory purposes only, Figure 1 Five nodes 102 are shown, but the number of nodes 102 capable of operating on the mesh network 100 is not limited to this, as any number of nodes 102 can be included within the mesh network 100. Nodes 102 can represent any type of electronic and / or computing device maintained by an operator or user, including, for example, smartphones, tablets, laptops, or any other consumer electronic device capable of operating as a node 102 on the mesh network 100. Users of any of the operators or nodes 102 can be private individuals, or business owners or suppliers, such that some nodes 102 can represent point-of-sale nodes (e.g., nodes associated with the sale of goods or services, or the sale of hosted content). Therefore, transactions can be conducted entirely within the mesh network 100 using a blockchain between POS nodes 102 and individual nodes 102, and / or between two individual nodes 102.
[0035] For the purposes of discussion, the operation of node 102-2 in relation to access mesh network 100 and applicable to any other node 102 on mesh network 100 is described. In various embodiments, node 102-2 may receive data or other information related to mesh network 100. In various embodiments, an application (app) or other program may be downloaded to node 102-2. Data or other information related to mesh network 100 and / or the downloaded app may be used to establish an electronic device and / or computing device as node 102-2 on mesh network 100. Other nodes 102 may also be established on mesh network 100 in a similar manner.
[0036] After a computing device is established as node 102-2 capable of operating on mesh network 100, node 102-2 can generate cryptocurrency wallets. The generated cryptocurrency wallets can be stored on node 102-2—for example, within the storage device and / or memory unit of the computing device established as node 102-2. The cryptocurrency wallets used by node 102-2 can be issued by authorized nodes 102 in the mesh network (such as, for example, node 102-1 or node 102-5).
[0037] After a cryptocurrency wallet is created, the user of the computing device operating as node 102-2 can load a certain amount of cryptocurrency tokens into the generated cryptocurrency wallet. The amount of cryptocurrency tokens can be issued by the authorized node 102 of the mesh network. As an example, node 102-2 can make a payment to authorized node 102-1 in exchange for a corresponding amount of cryptocurrency (e.g., cryptocurrency tokens). Other nodes 102 of the mesh network 100 can create cryptocurrency wallets and load cryptocurrency into those wallets in a similar manner.
[0038] In various embodiments, only authorized nodes 102 may be permitted to conduct financial transactions and / or host or request content on mesh network 100. In various embodiments, unauthorized nodes may also be permitted to conduct financial transactions and / or host or request content on mesh network 100.
[0039] In various embodiments, the mesh network 100 may operate without the control of a central authority. Instead, the mesh network 100 may be driven by several distributed authorized nodes 102 (e.g., nodes 102-1 and 102-5) that manage a routing system (e.g., a blockchain) that can be used to locate content hosted on the mesh network 100, with other nodes 102 on the mesh network 100 routing content-related traffic to the authorized nodes 102 to earn payments.
[0040] In various embodiments, node 102 may join mesh network 100, but may have limited capabilities within mesh network 100 that are regulated and controlled by authorized nodes 102-1 and 102-5. In various embodiments, node 102 may only be allowed to participate in mesh network 100 after a certain amount of cryptocurrency has been stored in an associated wallet, either by receiving participation authorization from one of authorized nodes 102-1 and 102-5, or by facilitating a certain number of transactions (e.g., transmitting messages related to financial transactions involving content sharing or verification requests), or by facilitating the transmission of data communications.
[0041] In various embodiments, an unauthorized node 102 can be elevated to an authorized node 102 in a similar manner—that is, by meeting certain criteria, such as, for example, by having a certain amount of cryptocurrency stored in an associated wallet, by receiving full authorization from one of the existing authorized nodes 102-1 and 102-5, or by facilitating a certain number of transactions (e.g., by transmitting messages related to transactions involving content sharing or verification requests), or by facilitating the transmission of data communications.
[0042] In various embodiments, an unauthorized node—such as node 102-2—may be limited to routing any type of communication or message only to authorized nodes (such as nodes 102-1 and 102-5). In various embodiments, an authorized node—such as node 102-1—may be able to route any type of communication or message to any adjacent or next-to-next neighboring node—for example, the node immediately adjacent to node 102-1 (e.g., the one geographically determined to be adjacent, or the one closest based on the measured distance to the node).
[0043] As described herein, in various embodiments, node 102 may host content within mesh network 100 and may publish that content as a searchable “transaction” on the blockchain. In various embodiments, a hash of the content may be provided. The hash of the content may then be encrypted—for example, using the private key of the hosting node 102—to form a signature stored on the blockchain. In addition to the hash of the content, the signature may indicate the hosting node 102, the requesting node 102, and information indicating the type and version number of the content (e.g., metadata). In various embodiments, the blockchain may store information related to the hosted content in different ways, such as, for example, by storing the type of content, the version of the content, and an indication of the hosting node 102. Such information may be encrypted and may be accessible only to node 102 on mesh network 100, or only to authorized nodes 102 on mesh network 100.
[0044] In various embodiments, each transfer of content from a first node 102 (e.g., a hosting node) to a second node 102 (e.g., an intermediate node or a requesting node) can generate a record or block on the blockchain that includes information associated with that transfer—e.g., source node 102, destination node 102, the content transferred, content version, etc. In various embodiments, a node 102 on the mesh network 100 can search the blockchain for records, blocks, and / or information related to potentially available hosted content. For example, a node 102 can examine the blockchain to identify the source node 102 hosting the content and all nodes 102 that have requested the content, and / or all nodes that have transferred the content between any two nodes 102. A node 102 may be able to determine which node 102 stores the content, which nodes 102 may have cached copies of the content, and which nodes 102 may have different versions of the original content stored. In various embodiments, a node 102 can determine a list of nodes that may store cached copies of the content from a search of the blockchain. In various embodiments, information related to the hosted content available within the mesh network 100 can be provided within the corresponding signature stored in the blockchain.
[0045] In various embodiments, node 102 on the mesh network can replicate hosted content and can also host said content. Such an occurrence can be considered a “fork” of the content and can be indicated in the blockchain. The signature associated with the record on the blockchain regarding the fork of the hosted content can verify the authenticity and version number of the content. In various embodiments, when multiple copies of content are hosted within mesh network 100, the signature associated with said content can be examined to determine the current version of the content (e.g., the most recent copy of the content) and / or a previous version of the content. As used herein, mesh network 100 (and / or node 102 operating within mesh network 100) can operate to view or be provided with content, or to make a payment request.
[0046] The technology used for routing to content stored on mesh network 100 provides access to the content while avoiding the requirement for nodes 102 of mesh network 100 to remotely access the network or the Internet. Furthermore, the routing to content stored on mesh network 100 eliminates the need for a central authority to manage all hosted content. In various embodiments, only nodes 102 on mesh network 100 (e.g., only authorized nodes 102) can search for and be served content, thus providing a security layer for mesh network 100 and the hosted content.
[0047] In various embodiments, node 102 can search the blockchain for information related to content available together with mesh network 100. The information can be searched based on a specific node 102 (e.g., searching the blockchain for content “transactions” involving a specific node 102) or based on specific content. In various embodiments, the information or a portion thereof can be provided or indicated within a signature stored in the blockchain. In various embodiments, as described herein, the signature can store and / or indicate the hosting node 102, the hosted content, the version of the content, and who has viewed or been provided with the content (e.g., other nodes 102 that have requested the content).
[0048] In various embodiments, before requesting content, the requesting node 102 can verify that the hosting node 102 is still active on the network. If the hosting node 102 is no longer on the mesh network, the requesting node 102 can search the blockchain for records or data associated with the content to find another node 102 that may have a cached copy of the content, or another node 102 that may also host the content (or a version thereof). In various embodiments, the signature can be encrypted, for example, using an encryption key (e.g., a public key) associated with the node 102 that transacted with or hosted the content. In various embodiments, decryption can be performed using a key (e.g., a private key) associated with the receiving node 102.
[0049] Figure 2 Examples illustrating logic flow 200 are provided. Logic flow 200 can represent a technique for enabling a user's computing device (or electronic device) to operate as a node on a mesh network and to generate cryptocurrency wallets to facilitate the use of cryptocurrency tokens. For example, logic flow 200 can represent various embodiments that can be... Figure 1 The operations performed by any component of the mesh network 100 depicted (e.g., any one of the nodes 102, such as node 102-1).
[0050] At 202, the user's computing device can receive data related to the mesh network. The computing device can store the received data in its storage device (e.g., a memory component). The computing device can be, for example, a smartphone. The user can be, for example, an attendee of an event or a visitor to a venue associated with the mesh network. The mesh network can be, for example, mesh network 100. The event or venue can be, for example, a farmers' market or event with limited or no internet access. In various embodiments, the user can download an app to their smartphone. The app can include data related to the mesh network, or can be used to receive data related to the mesh network.
[0051] At 204, the computing device can be configured to operate as a node on mesh network 100 based on stored received data. In various embodiments, a downloaded app can be used to establish the smartphone as a node on the mesh network (e.g., as node 102-1). At 204, node 102-1 can operate within mesh network 100.
[0052] At node 206, the node can generate cryptocurrency wallets. These cryptocurrency wallets can be stored in the node's storage device. Cryptocurrency wallets can be issued by authorized nodes in the mesh network. For example, node 102-5 can authorize and issue cryptocurrency wallets from node 102-1.
[0053] At 208, the node can load an initial amount of cryptocurrency tokens into the generated cryptocurrency wallet. This initial amount of cryptocurrency tokens can be loaded into the generated cryptocurrency wallet through direct interaction with authorized nodes in the mesh network. For example, node 102-1 can provide payments directly to authorized node 102-5, causing authorized node 102-5 to issue a corresponding amount of cryptocurrency (e.g., cryptocurrency tokens) to node 102-1.
[0054] In various embodiments, at 208, node 102-1 may be considered an authorized node based on the amount of cryptocurrency loaded into its wallet. For example, the amount of cryptocurrency may exceed a predetermined threshold required to ensure that the node will be considered an authorized node.
[0055] Figure 3 An example illustrating logic flow 300 is provided, which can represent a technique for using blockchain to identify hosted content within a mesh network. For example, logic flow 300 can represent various embodiments that can be... Figure 1 The operations performed by any component of the mesh network 100 depicted (e.g., any one of the nodes 102, such as node 102-1).
[0056] At 302, node 102-1 can generate information about the content that node 102-1 will host. The content can be any type of file as described herein. The information generated by node 102-1 can be identifying the type of the content, the type of file containing the content, the version of the content, and / or any other information related to the source or nature of the content. The generated information can identify the content (e.g., an image of a cat).
[0057] At 304, node 102-1 can perform operations related to the content. Node 102-1 can perform operations related to transactions involving the content. Node 102-1 can perform operations related to the content that result in information about the content and / or operations involving the content being stored on the blockchain. The blockchain can be maintained by one or more nodes 102 (such as, for example, node 102-5) within a mesh network. As an example, as a transaction involving the transmission of the content that can be indicated within the blockchain, node 102-1 can route the content to itself. As another example, as a transaction involving the transmission of the content that can be indicated within the blockchain, node 102-1 can route the content to another adjacent node—for example, node 102-2—and then route it back to node 102-1. At 304, a recordable "transaction" involving the content is executed so that information about the content and / or the operations can or is eligible to be stored on the blockchain.
[0058] At 306, node 102-1 or node 102 maintaining the blockchain (e.g., node 102-5) may store information about the content and / or transactions involving the content. This information may be stored in the blockchain in a manner that makes the content and / or the hosting node (node 102-1) searchable or determinable. In various embodiments, node 102-1 may generate signatures that can specify various information about the content and / or operations involving the content. In various embodiments, the signature may indicate to the hosting node (node 102-1) and node 102 (e.g., node 102-1 or node 102-2) that received the content.
[0059] In various embodiments, the signature may include additional information or data about the content (e.g., metadata), such as, for example, a version number associated with the content, a description of the content, the source of the content, file type, etc. In various embodiments, the signature may be encrypted. In various embodiments, the signature may be encrypted using at least one of a public or private key associated with node 102-1. In various embodiments, the signature may include a hash of the content. At 306, the signature may be stored on the blockchain for review by other nodes 102 on the mesh network that indicate the availability of the corresponding content.
[0060] Figure 4 An example illustrating logic flow 400 is provided, which can represent a technique for using blockchain to locate hosted content within a mesh network. For example, logic flow 400 can be represented in various embodiments that can... Figure 1The operations performed by any component of the mesh network 100 depicted (e.g., any one of the nodes 102, such as node 102-1).
[0061] In 402, node 102-1 can gain access to the blockchain. Access to the blockchain can be granted directly to node 102-1, or it can be granted indirectly—for example, through one or more intermediate nodes 102, or through one or more authorized nodes 102 and / or the node 102 that maintains the blockchain (e.g., node 102-5).
[0062] At 404, node 102-1 can perform a blockchain search. The search can be performed in several ways. In various embodiments, node 102-1 can search the blockchain for specific hosted content—for example, based on known content or a description of the hosted content. In various embodiments, node 102-1 can search the blockchain for a specific node 102 that may relate to or be associated with the content—such as a known hosting node 102 (e.g., node 102-5), or a node 102 that may have a copy of the content for hosting or a cached copy of the content. In various embodiments, the search can be performed by reviewing signatures stored on the blockchain that contain information about the hosted content within the mesh network 100.
[0063] At 404, node 102-1 can determine what content on the hosted network is of interest to node 102-1. Furthermore, at 404, node 102-1 can determine which node 102 hosts the content, which node 102 might have a forked copy of the content, and which node 102 might have a cached copy of the content. Therefore, node 102-1 can determine one or more nodes 102 that might be able to provide the content to node 102-1—including, but not limited to, hosting node 102-5. Node 102-1 can also determine the version number of the content and can verify the authenticity of the content at 404.
[0064] At 406, node 102-1 can request the content. The content can be requested from a hosting node (e.g., node 102-5), a node 102 that may have a copy of the content, or a cached copy of the content. Node 102-1 can generate and send one or more request messages related to the request for the content, and can receive and process one or more response messages related to the request for the content. Node 102-1 can reach a target node 102 that can provide the content either directly (e.g., as an adjacent node) or indirectly (e.g., through one or more intermediate nodes). Node 102-1 can issue payment for the content before or after receiving the content from a responding node 102 that can provide the content to that node.
[0065] As an example, if node 102-1 (as the requesting node) determines that node 102-5 (as the hosting node) has content that node 102-1 wants to access, then node 102-1 can issue a request to node 102-5 indicating that content. This request can be generated and sent by node 102-1 and can be received by node 102-2, which can then pass the request to node 102-5. Node 102-2 can also tunnel any response message or the content from node 102-5 to node 102-1. As a result of facilitating node 102-1's access to the content hosted by node 102-5, intermediate node 102-2 can receive payment from node 102-1. Furthermore, node 102-5 can receive payment from node 102-1 based on providing the content to node 102-1. Therefore, at 406, node 102-1 can also issue payments related to being granted access to the content—to the intermediary node 102 that facilitated the access, or to the hosting node that stores the content.
[0066] In various embodiments, one or more searches may be performed at 404 to provide search node 102 with multiple options for retrieving certain content. For example, one option may be related to requesting the content from the initial hosting node 102. Another option may be related to requesting a different version of the content from a different node 102 located closer to search node 102, such that obtaining the content may be cheaper than obtaining it from the initial hosting node 102 (e.g., the initial hosting node 102 may be located further away and requires multiple hops to retrieve the content).
[0067] Figure 5 Example illustration of storage medium 500. Storage medium 500 can represent something that can be used as... Figure 1The storage medium 500 is an implementation of any electronic device and / or computing device that operates within a mesh network. The storage medium 500 may include any non-transitory computer-readable or machine-readable storage medium. In various embodiments, the storage medium 500 may include a physical article of manufacture. In various embodiments, the storage medium 500 may store computer-executable instructions, such as those implementing the logical flows or operations described herein (such as...). Figure 2 Logical flow 200 Figure 3 Logic flow 300 and / or Figure 4 One or more computer-executable instructions in the logical flow of a process.
[0068] In various embodiments, storage medium 500 may store computer-executable instructions, such as computer-executable instructions that implement the functionality of any of the described apparatus, system, or device. Examples of computer-readable or machine-readable storage media may include any tangible medium capable of storing electronic data. Examples of computer-executable instructions may include any type of computer-readable code.
[0069] Figure 6 The illustrations depict a computing architecture 600 that can implement various embodiments described herein. In various embodiments, the computing architecture 600 may include or be implemented as part of an electronic device and / or a computing device. In various embodiments, the computing architecture 600 may represent Figure 1 The implementation of any component of the mesh network 100 depicted herein. One or more of the components of the computing architecture 600, and / or any component of the mesh network 100, may be implemented in hardware, software, or a combination thereof, including an implementation of logic based on a storage device (e.g., a memory cell) and at least a portion thereof implemented in a circuit system and coupled to the storage device. The logic may be or may include a processor or controller component.
[0070] The computing architecture 600 can include a variety of common computing elements, such as one or more processors, multi-core processors, coprocessors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input / output (I / O) components, power supplies, etc.
[0071] like Figure 6 As shown, the computing architecture 600 may include a computer 602, which has a processing unit 604, a system memory 606, and a system bus 608. The processing unit 604 may be any of a variety of commercially available processors, or it may be a specially designed processor.
[0072] System bus 608 provides interfaces for system components, including, but not limited to, the interface between system memory 606 and processing unit 604. System bus 608 can be any of several types of bus structures that can be further interconnected to memory bus (with or without memory control), peripheral bus, and local bus using any of a variety of commercially available bus architectures.
[0073] System memory 606 may include any type of computer-readable storage medium, including any type of volatile and non-volatile memory. Computer 602 may include any type of computer-readable storage medium, including internal (or external) hard disk drive (HDD) 614. In various embodiments, computer 602 may include any other type of disk drive, such as, for example, magnetic floppy disk and / or optical disk drive. HDD 614 may be connected to system bus 608 via HDD interface 624.
[0074] In various embodiments, any number of program modules can be stored in drive and memory units 606 and / or 614, such as, for example, operating system 630, one or more application programs 632, other program modules 634, and program data 636.
[0075] Users can input commands and information into computer 602 using one or more wired / wireless input devices (such as, for example, keyboard 638 and pointing devices such as mouse 640). These and other input devices can be connected to processing unit 604 via input device interface 642, which is coupled to system bus 608. Monitor 644 or other types of display devices can also be connected to system bus 608 via an interface (such as video adapter 646). Monitor 644 can be internal or external to computer 602.
[0076] Computer 602 can operate in a networked environment using a logical connection to one or more remote computers (such as remote computer 648) via wired and / or wireless communication. Remote computer 648 can be a workstation, server computer, router, personal computer, laptop computer, microprocessor-based entertainment device, smartphone, tablet, peer-to-peer device, or other common network node, and typically includes many or all of the elements described with respect to computer 602. The depicted logical connection includes a wired and / or wireless connection to network 652, such as, for example, a local area network (LAN) and / or a larger network, such as a wide area network (WAN). Network 652 can provide connectivity to global communication networks (such as, for example, the Internet). Network adapter 656 can facilitate wired and / or wireless communication with network 652. Computer 602 is operable to communicate according to any known computer networking technology, standard, or protocol, via any known wired or wireless communication technology, standard, or protocol.
[0077] Figure 7 A block diagram illustrating the communication architecture 700 is provided. The communication architecture 700 can implement various embodiments described herein. For example... Figure 7 As shown, the communication architecture 700 includes one or more clients 702 and servers 704. One of the clients 702 and / or servers 704 can represent Figure 1 Any component of the mesh network 100 depicted herein.
[0078] Client 702 and server 704 can be operatively connected to client data storage 708 and server data storage 710, respectively, which can be used to store information locally on the respective client 702 and server 704. In various embodiments, client 702 and / or server 704 can implement one or more of the logical flows or operations described herein.
[0079] Client 702 and server 704 can use communication framework 706 to transmit data or other information to each other. Communication framework 706 can implement any known communication technology or protocol. Communication framework 706 can be implemented as a packet-switched network (e.g., a public network (such as the Internet), a private network (such as a corporate intranet), etc.), a loop-switched network (e.g., a public switched telephone network), or a combination of packet-switched and loop-switched networks (with suitable gateways and translators), or any combination thereof. Communication framework 706 can operate on any communication medium according to any networking technology (including any wired or wireless communication standards or protocols, or any combination thereof).
[0080] Figure 8A logical model 800 of an exemplary blockchain consistent with the disclosed embodiments is depicted. A blockchain may represent one or more of the blockchains described herein, such as, for example, a blockchain that stores searchable transactions related to hosted content on a mesh network (such as mesh network 100). A blockchain may include blocks, such as blocks 801a-801d. Blocks may include messages, such as messages 807a-807d. Generally, blocks may include headers that uniquely identify each block, such as headers 802a-802d. Headers 802a-802d may include hash values generated by a hash function. A hash function is any function that can be used to map input data of arbitrary size to hash values of fixed size. For example, the header may include at least one of the hash value of the previous block, a hash value generated based on any messages in the block (e.g., a Merkle root), and a timestamp. Consistent with the disclosed embodiments, blocks added to the blockchain described herein may satisfy at least one of a proof-of-work condition and a digital signature condition. For example, headers 802a-802d may include random numbers selected to ensure the header satisfies the proof-of-work condition. As a non-limiting example, the proof-of-work condition may require a hash of the header falling within a predetermined value range. As an additional example, the header may be digitally signed with a cryptographic key of an authorized system (e.g., authorized node 102), and the digital signature may be included in the header. This digital signature can be verified using an available key. The block may also include proof components, such as proof components 805a-805d. As an example, the random number may include proof component 805.
[0081] In various embodiments, block 801 may store information related to hosted content available on mesh network 100. Block 801 may store information indicating a node 102 that hosts the content, has a copy of the content, or has a cached copy of the content. Block 801 may store additional information indicating, for example, the type of the content, the file type storing the content, and other metadata related to the content. Mesh network nodes 102 may search for content or specific nodes 102 that may have the content in block 801. Transactions involving the transfer of the content may be stored with block 801, including the transfer of the content by intermediate nodes 102. Each block 801 may include a signature that can store the aforementioned information related to the content, which can be reviewed by nodes 102 of mesh network 100 and processed using processes involving, for example, decrypting the signature to obtain information related to the content.
[0082] Figure 9 The description of message 807b, consistent with the disclosed embodiments and stored in the blockchain (e.g., Figure 8The logical model of the blockchain elements depicted in the diagram. In various embodiments, message 807 can be considered as a stored record associated with hosted content. In some embodiments, message 807b may include index information 903. In some aspects, index information 903 may include information identifying the user. For example, index information 903 may be at least one of a whole name, email address, telephone number, or other non-sensitive personal information of the user. In various aspects, index information 903 may include one or more references to earlier blocks in the private blockchain. For example, index information 903 may include one or more references to one or more earlier blocks associated with the same user. References may include, as a non-limiting example, a hash of the previous block in the blockchain associated with the same user. In some aspects, index information 903 may be obfuscated or encrypted according to methods known to those skilled in the art. For example, index information 903 may be encrypted using a cryptographic key. As an additional example, index information 903 may include a hash of at least one of a whole name, email address, telephone number, or other non-sensitive personal information of the user.
[0083] Message 807b may include additional information 905 consistent with the disclosed embodiments. The additional information 905 may be, for example, metadata or other information related to content hosted on a mesh network. In various embodiments, the additional information may include metadata related to the hosted content. In various aspects, the additional information 905 may be obscured or encrypted according to methods known to those skilled in the art.
[0084] Message 807b may include authentication record 907 consistent with the disclosed embodiments. In some aspects, authentication record 907 may include information that enables subsequent auditing of transactions. For example, authentication record 907 may identify at least one node of mesh network 100. In some aspects, authentication record 907 may be obfuscated or encrypted according to methods known to those skilled in the art. For example, authentication record 907 may be encrypted using a cryptographic key.
[0085] Consistent with the disclosed embodiments, cryptographic keys can be used to encrypt elements of messages within a block. In some aspects, such cryptographic keys can be associated with nodes of mesh network 100. In various aspects, at least some of the cryptographic keys can be associated with authorized node 102. Consistent with the disclosed embodiments, corresponding cryptographic keys can be used to decrypt encrypted message elements. For example, when elements of messages within a block are encrypted using a symmetric key, the same symmetric key can be used to decrypt the encrypted elements. As another example, when elements of messages within a block are encrypted using a private key, the corresponding public key can be used to decrypt the encrypted elements, or when elements of messages within a block are encrypted using a public key, the corresponding private key can be used to decrypt the encrypted elements. In various embodiments, the signature included for each block 801 can be encrypted and can be decrypted by node 102 of mesh network 100.
[0086] In various embodiments, the message creator (e.g., a user of a computing device operating in node 102) can determine the recipient (e.g., either an intermediate node or the final end recipient of the message). In various embodiments, the recipient can be determined by providing identification information for the recipient (such as, for example, name, username, email address, phone number, or public key for the blockchain, and / or other information).
[0087] The various embodiments described herein may include one or more elements. Elements may include any structure arranged to perform certain operations. Each element may be implemented as hardware, software, or any combination thereof. Any statement of “one embodiment” or “embodiment” means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. The appearance of the phrases “in one embodiment,” “in some embodiments,” and “in various embodiments” in various places in the specification does not necessarily refer to the same embodiment.
[0088] In various cases, for the sake of simplicity, well-known operations, components, and circuits have not been described in detail so as not to obscure the embodiments. It will be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments.
[0089] Some embodiments of the invention have been described above. However, it is explicitly stated that the invention is not limited to these embodiments, but rather, additions and modifications to the content expressly described herein are also included within the scope of the invention. Furthermore, it should be understood that the features of the various embodiments described herein are not mutually exclusive, and various combinations and substitutions may exist without departing from the spirit and scope of the invention, even if such combinations or substitutions are not explicitly stated herein. In fact, variations, modifications, and other implementations of the content described herein will be conceived by those skilled in the art without departing from the spirit and scope of the invention. Accordingly, the invention is not limited to the foregoing illustrative description.
Claims
1. An electronic device comprising: Storage device; as well as Logic, at least a portion of which is implemented in a circuit system coupled to the storage device, wherein the logic: Receive data related to the mesh network and store the received data in the storage device; Based on the stored received data, the electronic device is configured to operate as a node on the mesh network. Generate a cryptocurrency wallet and store the generated cryptocurrency wallet in the storage device; Search the blockchain maintained within the mesh network to determine the content available within the mesh network; Identify the node that stores the content; Generate and send a request for the content; and Payment is made to the node storing the content in exchange for the content. In this context, data, traffic, messages, or other communications within the mesh network originate only from or are received only by authorized or registered nodes, so that unauthorized or unregistered nodes only tunnel data, traffic, messages, or other communications within the mesh network to authorized or registered nodes.
2. The electronic device of claim 1, wherein the logic determines the number of nodes in the mesh network that are reached during traversal to the node storing the content, and issues an additional payment, the amount of which is based on the determined number of nodes that are reached during traversal to the node storing the content.
3. The electronic device of claim 2, wherein each instance of sending the content from the first node to the second node on the mesh network corresponds to a transaction on the blockchain.
4. The electronic device of claim 3, wherein searching the blockchain includes searching for signatures of transactions stored on the blockchain.
5. The electronic device according to claim 4, wherein, The signature of a transaction stored on the blockchain indicates the type of the content, the version of the content, and the time when the content was sent from the first node to the second node.
6. The electronic device of claim 5, wherein the sent request is issued to a node storing a copy of the cached content or a node hosting the content.
7. The electronic device of claim 5, wherein the logic generates a list of one or more nodes hosting one or more versions of the content and a list of one or more nodes that may store cached copies of the content based on a search of the blockchain.
8. The electronic device of claim 1, wherein the logic performs transactions related to the blockchain to indicate that the electronic device is hosting additional content on the mesh network.
9. The electronic device of claim 8, wherein the logic receives a request for a copy of the additional content.
10. The electronic device of claim 9, wherein the logic responds to a request for receipt by receiving payment for sending a copy of the additional content.
11. A method comprising: Receive data related to the mesh network and store the received data in a storage device; Based on the stored received data, the electronic device is established as a node on the mesh network; Generate a cryptocurrency wallet and store the generated cryptocurrency wallet in the storage device; Search the blockchains of cryptocurrencies maintained within the mesh network to determine what is available within the mesh network; Send a request for the content; and Payment is offered for the content, the amount of which is based on the number of intermediate nodes between the electronic device and the node storing the content. In this context, data, traffic, messages, or other communications within the mesh network originate only from or are received only by authorized or registered nodes, so that unauthorized or unregistered nodes only tunnel data, traffic, messages, or other communications within the mesh network to authorized or registered nodes.
12. The method of claim 11, wherein each instance of sending the content from the first node to the second node on the mesh network corresponds to a transaction on the blockchain.
13. The method of claim 12, wherein searching the blockchain includes searching for signatures of transactions stored on the blockchain.
14. The method of claim 13, wherein the signature of the transaction stored on the blockchain indicates the type of the content, the version of the content, and the time when the content was sent from the first node to the second node.
15. The method of claim 14, wherein the node storing the content hosts the content.
16. The method of claim 14, wherein the node storing the content stores a cached copy of the content.
17. At least one non-transitory computer-readable medium comprising an instruction set, the instruction set being executable on a computing device to cause the computing device to: Receive data related to the mesh network and store the received data in a storage device; Based on the stored received data, the computing device is configured to operate as a node on the mesh network. Generate a cryptocurrency wallet and store the generated cryptocurrency wallet in the storage device; Search the blockchains of cryptocurrencies maintained within the mesh network to determine what is available within the mesh network; Determine the number of nodes in the mesh network that reach the content during traversal; Send a request for the content; and Payment is made for the content, the amount of which is based on a determined number of nodes traversed between the computing device and the node storing the content. In this context, data, traffic, messages, or other communications within the mesh network originate only from or are received only by authorized or registered nodes, so that unauthorized or unregistered nodes only tunnel data, traffic, messages, or other communications within the mesh network to authorized or registered nodes.
18. The at least one non-transitory computer-readable medium of claim 17, wherein each instance of sending the content from the first node to the second node on the mesh network corresponds to a transaction on the blockchain.
19. The at least one non-transitory computer-readable medium of claim 18, wherein searching the blockchain includes searching for signatures of transactions stored on the blockchain.
20. At least one non-transitory computer-readable medium according to claim 19, wherein the signature of a transaction stored on the blockchain indicates the type of the content, the version of the content, and the time when the content was sent from the first node to the second node.
Citation Information
Patent Citations
Mobile phone earphone interface-based block chain digital currency wallet
CN106779636A
Systems and methods for blockchain virtualization and scalability
US20170337534A1