Systems and Methods of Decentralized Geospatial Data Gathering
20190073645 ยท 2019-03-07
Inventors
Cpc classification
International classification
G06Q20/06
PHYSICS
Abstract
The present invention relates to systems and methods for decentralized gathering of geospatial data in a cryptocurrency environment. Methods of incentivizing users to provide geospatial data, and incentivizing computing operators to process the data, are provided. The system comprises a node configured to receive a first instance of geospatial data from a first device and a second instance of geospatial data from a second device. The node further comprises executable code for comparing a first instance of geospatial data to a second instance of geospatial data, and based on the comparison, associating a unit of cryptocurrency with an identifier associated with the second instance of geospatial data.
Claims
1. A decentralized cryptocurrency geospatial data system comprising: a node, configured to receive from a first device a first instance of geospatial data and a first identifier; wherein the node is further configured to receive from a second device a second instance of geospatial data and a second identifier; wherein the second device is configured to (i) capture the second instance of geospatial data, wherein the second instance of geospatial data is collected by the first device and comprises a second location and a second orientation, (ii) associate the second instance of geospatial data with the second identifier, (iii) transmit the second instance of the geospatial data and the second identifier to the node; and wherein the node is configured to process the first instance of geospatial data to create a first geospatial data block; wherein the node is further configured to compare the second instance of geospatial data to the first geospatial data block, and, if the comparison validates the second instance of geospatial data, associate a unit of cryptocurrency with the second identifier.
2. The system of claim 1, wherein the node is further configured to validate a block to be added to a blockchain, the block comprising a reference to a previous block, a timestamp, the first and second instances of geospatial data, a transaction, and a value representing a maximum number of computational steps to execute in a state transition function.
3. The system of claim 2, wherein the node is further configured to: verify the previous block referenced by the block to be added to the blockchain exists; verify the timestamp of the block is greater than that of the previous block; verify a cryptographic hash associated with the block satisfies a predetermined criteria, the predetermined criteria defined such that average computation time required to compute the cryptographic hash exceeds a set time; and perform the comparison of the second instance of geospatial data to the first geospatial data block.
4. The system of claim 1, wherein the second device comprises a camera and device orientation hardware.
5. The system of claim 1, wherein the comparison of the second instance of geospatial data to the first geospatial data block comprises identifying a feature point and comparing the feature point to a feature point of the first geospatial data block.
6. The system of claim 3, wherein the first geospatial data block is associated with an earlier block of the blockchain.
7. A method of collecting and interpreting information about the physical world, comprising the steps of: collecting a first set of geospatial data from a first computing device controlled by a first user; storing the first set of geospatial data; collecting a second set of geospatial data from a second computing device controlled by a second user; storing the second set of geospatial data; comparing the second set of geospatial data to the first set of geospatial data to identify a feature; and upon identifying a feature, rewarding an amount of a cryptocurrency to the second user.
8. The method of claim 7, wherein the step of comparing further comprises identifying whether to consider the feature as permanent.
9. The method of claim 7, wherein the first and second sets of geospatial data comprise: image information, location information, and orientation information.
10. The method of claim 9, wherein the image information comprises depth information.
11. The method of claim 7, wherein the step of collecting the first set of geospatial data comprises using at least one of: (1) at least one optical sensor that is coupled with the first computing device, and (2) at least one inertial measurement unit (IMU) that is coupled with the first computing device.
12. The method of claim 7, wherein the step of collecting the second set of geospatial data comprises using at least one of: (1) at least one optical sensor that is coupled with the second computing device, and (2) at least one inertial measurement unit (IMU) that is coupled with the second computing device.
13. The method of claim 7, wherein the step of collecting the first set of geospatial data comprises using at least one optical sensor that is coupled with the first computing device.
14. The method of claim 7, wherein the amount of the cryptocurrency is determined based on a quantity of successfully identified features.
Description
BRIEF DESCRIPTION OF THE DRAWING
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
DETAILED DESCRIPTION
[0042] The following discussion provides example embodiments of the inventive subject matter. Although each embodiment represents a single combination of inventive elements, the inventive subject matter is considered to include all possible combinations of the disclosed elements. Thus if one embodiment comprises elements A, B, and C, and a second embodiment comprises elements B and D, then the inventive subject matter is also considered to include other remaining combinations of A, B, C, or D, even if not explicitly disclosed.
[0043] As used in the description in this application and throughout the claims that follow, the meaning of a, an, and the includes plural reference unless the context clearly dictates otherwise. Also, as used in the description in this application, the meaning of in includes in and on unless the context clearly dictates otherwise.
[0044] Also, as used in this application, and unless the context dictates otherwise, the term coupled to is intended to include both direct coupling (in which two elements that are coupled to each other contact each other) and indirect coupling (in which at least one additional element is located between the two elements). Therefore, the terms coupled to and coupled with are used synonymously.
[0045] It should be noted that any language directed to a computer should be read to include any suitable combination of computing devices, including servers, interfaces, systems, databases, agents, peers, Engines, controllers, or other types of computing devices operating individually or collectively. One should appreciate the computing devices comprise a processor configured to execute software instructions stored on a tangible, non-transitory computer readable storage medium (e.g., hard drive, solid state drive, RAM, flash, ROM, etc.). The software instructions preferably configure the computing device to provide the roles, responsibilities, or other functionality as discussed below with respect to the disclosed apparatus. In especially preferred embodiments, the various servers, systems, databases, or interfaces exchange data using standardized protocols or algorithms, possibly based on HTTP, HTTPS, AES, public-private key exchanges, web service APIs, known financial transaction protocols, or other electronic information exchanging methods. Data exchanges preferably are conducted over a packet-switched network, the Internet, LAN, WAN, VPN, or other type of packet switched network. The following description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided in this application is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0046] The invention described in this application presents a system and method for a digital currency comprising a transaction, a block, a blockchain, and a mining function, wherein the mining function comprises a method for comparing a potential geospatial data point to a pre-existing geospatial data point. It is contemplated that embodiments of the inventive subject matter present systems and methods for cryptocurrency-based geospatial data collection.
[0047] In one embodiment, the system comprises accounts, messages, and transactions. An account comprises an address, as well as a nonce, a balance, and, optionally, a contract code and storage. The nonce is a counter to ensure each transaction can be processed only once. An account may optionally be an externally owned account or a contract account. In a contract account, receiving a message causes the contract code associated with the account to execute.
[0048] A transaction is data sent from an externally owned account. It comprises information about the recipient of a message, a signature identifying the sender, an amount of cryptocurrency to transfer from the sender to the recipient, an optional data field, a value representing the maximum number of computational steps the transaction execution is allowed to take, and a value representing a fee the sender pays per computational step. A transaction, when sent, causes the recipient of the transaction to execute the code associated with the account.
[0049] A message is data that is caused to be sent by the execution of contract code. A message comprises information about the sender of the message (implicit), the recipient of the message, an amount of cryptocurrency to transfer alongside the message, an optional data field, and a value representing a number of computational steps. A message, like a transaction, causes the recipient account to run the account's contract code.
[0050] Embodiments of the inventive subject matter also comprise at least one node. A node comprises software for executing a state transition function, which includes the following steps: (1) check if the transaction is well-formed, that the signature is valid, and that the nonce matches the nonce in the sender's account. If not, return an error. (2) Calculate the transaction fee. (3) Initialize a computational step counter. (4) Transfer the transaction value from the sender's account to the receiver's account. If the receiving account does not yet exist, create it. If the receiving account is a contract, run the contract's code either to completion or until the number of computational steps is exceeded. (5) If the value transfer failed because the sender lacked funds, or the code execution exceeded the maximum computational steps, revert all state changes except payment of fees. (6) If the value transfer failed for another reason, refund fees for all remaining computational steps to the sender, and send fees paid for computational steps consumed to the processor of computational steps.
[0051] Embodiments of the inventive subject matter further comprise a blockchain, which comprises at least one block. A block comprises a transaction state corresponding to the most recent transaction state and a transaction state transition. A node also comprises a validation algorithm for a block, which performs a process to verify that a state transition is valid. One node validation algorithm is: (1) check if the previous block referenced by the block exists and is valid, (2) check that the timestamp of the block is greater than that of the previous block and less than some amount of time (e.g., 0-1 hours, 2-3 hours, 3-4 hours, but preferably 2 hours) into the future, (3) check that the block number, difficulty, transaction root, uncle root, and gas limit are valid, (4) check that proof of work on the block is valid, (5) Let S[0] be the state at the end of the previous block. (6) Let TX be the block's transaction list, with n transactions. For all i in 0 . . . n1, set S[i+1]=APPLY(S[i],TX[i]). If any application returns an error, or if the total computational steps consumed in the block up until this point exceeds the maximum number of computational steps, return an error. (7) Let S_FINAL be S[n], but adding the block reward paid to the miner. (8) Check if the Merkle tree root of the state S_FINAL is equal to the final state root provided in the block header. If it is, the block is valid; otherwise, it is not valid. The blockchain further comprises feature data that has achieved consensus, a process described further below.
[0052] Embodiments of the inventive subject matter further comprise a geospatial data gathering contract account, comprising a contract address and software code for comparing a first geospatial data point received from a first device and associated with a first identifier to a second geospatial data point received from a second device and associated with a second identifier and, if the first geospatial data point is sufficiently similar to the second geospatial data point, incrementing a value associated with verification of the first and second geospatial data points. If the value associated with verification exceeds a predetermined amount, it causes a unit of cryptocurrency to be sent to an account associated with the first identifier.
[0053] It is contemplated that the devices (e.g., the first and second devices) that are used to collect the geospatial data can be computing devices including cell phones, tablets, cameras, etc. Devices preferably include both at least one camera (e.g., optical, infrared, ultraviolet) and at least one inertial measurement unit (IMU). An IMU is an electronic device that can be configured to measure and report any combination of one or all of: force, angular rate, and magnetic field. To do this, IMUS can include: a combination of accelerometers, gyroscopes, and magnetometers. It is additionally contemplated that devices can also include GPS sensors to determine geolocation. It is also contemplated that a first device may obtain geospatial data indirectly from a third device that includes at least one camera and at least one IMU.
[0054] Thus, devices can detect and measure: location, spatial information, orientation information, and all other information that can be inferred directly or indirectly from those measured quantities. All or some of the information that is collected from a device (e.g., directly or indirectly) can be incorporated into the geospatial data that is contemplated in this application.
[0055] Thus, a first device can be enabled to communicate a first geospatial data point to a node. When the node performs a block validation, it causes executable code to run which compares the first geospatial data point to a second geospatial data point that is either stored in a contract's persistent storage or another persistent storage medium. If the executable code determines, based on the comparison, that the communicated first geospatial data point is valid, it causes.
[0056] In some embodiments of the inventive subject matter, it is contemplated that a first device is configured to gather a first instance of geospatial data and further configured to communicate the first instance of geospatial data and a first identifier associated with a first user of the first device to a remote computing device; a second device configured to gather a second instance of geospatial data and further configured to communicate the second instance of geospatial data, and a second identifier associated with a second user of the second device, to the remote computing device, wherein the computing device is configured to compare the first instance of geospatial data to the second instance of geospatial data, and, if the comparison result is valid, performing one or both of the following: (i) associating the first identifier and the second identifier with a counter or (ii) associating a first unit of a cryptocurrency with the first identifier.
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065] Thus, specific compositions and methods of the invention have been disclosed. It should be apparent, however, to those skilled in the art that many more modifications besides those already described are possible without departing from the inventive concepts in this application. The inventive subject matter, therefore, is not to be restricted except in the spirit of the disclosure. Moreover, in interpreting the disclosure all terms should be interpreted in the broadest possible manner consistent with the context. In particular the terms comprises and comprising should be interpreted as referring to the elements, components, or steps in a non-exclusive manner, indicating that the referenced elements, components, or steps can be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced.