1. Introduction
A global navigation satellite system (GNSS) is a satellite-based navigation technology that determines the three-dimensional position at any time and location, and weather conditions developed by the United States (US) as GPS, Russia as GLONASS, Europe—known as Galileo, China—known as BeiDou, and so on. The positioning accuracy was dramatically improved with the development of these positioning systems [
1]. Various types of positioning exist, such as static measurement, real-time kinematic (RTK), and smartphone location tracking. These systems are used in various fields that require precise positioning, such as those that involve drones of kinematic changes and in autonomous driving [
2,
3,
4,
5,
6]. In both cases, correction information is received in real-time to estimate precise coordinates. The method of providing correction is divided into state–space representation (SSR) and observation space representation (OSR), such as single RTK and network RTK [
7,
8,
9]. Moreover, there are other techniques, such as a satellite-based augmentation system (SBAS), wide area RTK (WARTK), and precise point positioning RTK (PPP-RTK) [
10,
11,
12].
Geodetic surveys are currently being conducted using GNSS in various countries. In Korea, UK, and the USA, the survey and regulation of the operations of GNSS and network RTK usage are required within the accuracy of 3–10 cm. Depending on the grade, the USA requires accuracy up to 1 cm with the limited data latency to less than 2 s. Most network RTK techniques are used in GPS surveying are centralized systems, wherein the central server data of continuously operating reference stations (CORS) are also centralized. Accordingly, transmitting and receiving with the “Rover” are thus conducted based on this scheme [
13].
In this process, the user can send “forged”; the National Marine Electronics Association (NMEA) and the server can generate the Radio Technical Commission for Maritime Services (RTCM) message based on these data. Thus, there are limitations in that all of the data can be counterfeit [
14]. There are several cases of manipulation of survey results in Korea and the USA, and the possibility of forgery and falsification by surveyors was confirmed during the survey using GPS. GPS not only identifies the location of an object, but it diversifies its role by analyzing the congestion level of traffic information and distributing the congestion level by routes in the vehicular navigation service. Considering these trends, positioning reliability improvement is also considered important. Samios et al. (2021) created an attack path for seismometers, accelerometers, and GPS receivers, and identified security vulnerabilities [
15]. Thus, countermeasures are necessary because there are limitations in terms of the security and integrity of the GPS receiver and server-side data.
Research studies conducted on the identification of solutions of data forgery and falsification cases by centralized structures using blockchains is increasing. Unlike the traditional system, in which only a single group manages the database, the blockchain secures the integrity of the database by recording and storing data from multiple groups. Furthermore, by disclosing it to users, the transparency of data are secured. Kowaiski et al. (2021) confirmed the improvement of the trust relationship and security between business partners through blockchains in trade finance [
16]. In turn, Majeed et al. (2021) improved blockchain technologies applied to smart cities and their reliability and security [
17]. In turn, Li et al. (2021) proposed a framework using blockchain and improved positioning accuracy through data filtering [
18].
Therefore, the current study was conducted to solve the problem of data forgery and falsification, which relates to the existing satellite survey system using the Ethereum blockchain. Assuming that there are no forged data in the communication between CORS and the server, and forged data in the communication between the user and the server, a blockchain-based decentralized satellite surveying system is implemented using data from the NMEA and RTCM. In the NMEA transmission/reception process, the received NMEA is transmitted to the server and recorded on the Ethereum network simultaneously. Subsequently, the RTCM received from the ground station is recorded on the Ethereum network, and correction is performed simultaneously. To this end, prototype software that communicates between the GPS receiver and the Ethereum blockchain network is produced, and the reliability and stability of this network is verified and compared with the existing system. It is crucial to prevent damage by securing the integrity of survey data, including surveyors and survey processes, but this has not been resolved in decades.
In this study, we solved this problem by uploading data to the blockchain in the process of obtaining the data at the software level. The contributions of this study are as follows: first, in the GPS positioning process, a blockchain-based positioning system is proposed to check data injection and compliance. Second, to improve the integrity of GPS data, blockchains using Keccak-256 functions, Merkle tree, and P2P-based consensus proof algorithms are applied to GPS positioning. Third, in order to improve the reliability of the GPS positioning process, the hash value on the blockchain makes it possible to verify the data source, the positioning record by the worker, and the positioning process of the positioning point. Fourth, the efficiency of introduction is evaluated by calculating the cost incurred when using the public blockchain.
The remainder of this paper is structured as follows.
Section 2 presents some background on GPS positioning and blockchain technology, to illustrate the motivation of the study.
Section 3 describes the flow of blockchain-based GPS positioning as proposed in this work, and presents a schematic, with explanations of the main algorithms in the software.
Section 4 describes the checking of the operation of the software, and presents the results, as well as analyses of the cost and security concerns regarding the use of blockchain. Finally,
Section 5 presents the conclusions of this study.
3. Blockchain-Based Global Positioning System
In this study, we developed and implemented a GPS positioning system using a smart contract of Ethereum to improve the integrity of GPS data. It receives NMEA data from the GPS receiver and transmits it to NTRIP Caster to receive RTCM data. The two data are then uploaded to the blockchain network, and the RTCM is transmitted to the GPS receiver for NTRIP-based position correction. By repeating this process for a certain period of time, the GPS receiver continuously corrects the position of the measured information to improve the positional accuracy, and all data are uploaded to the blockchain network. (
Figure 1).
Transactions have several attributes: transaction hash refers to identifiers; contract addresses refer to survey points and survey processes; wallet addresses refer to surveyors; and data refer to NMEA and RTCM data. Unlike the traditional system, the entire process, other than the final result, can be checked for compliance with regulations pertaining to issues, such as survey time, and the work of surveyors can be traced (
Table 1). Using this approach, even if a value in the system is manipulated, anyone can inquire about the transaction hash to perform integrity checks and track the original data.
The integrity of all data are guaranteed by the blockchain. A blockchain generates transaction hashes using transaction attribute values, input data, and the Keccak-256 function, and creates a transaction root using the value of the transaction hashes and the Merkle tree. When a block is mined, a block hash is generated using the attribute values of the block, including the transaction root and the Keccak-256 function, and is used as one of the attributes of the following block,
Figure 2. Therefore, as the block attempts to manipulate the data at a more extended point, the cost of injecting it increases exponentially. In this way, the blockchain prevents the injection.
In this system, a low-cost GPS receiver (u-blox ZED-F9P) was used for GPS surveying [
43]. We then developed software that send and receive the NMEA and RTCM data to the GPS receiver and NTRIP Caster. Moreover, it sent them to the Ropsten testnet of the Ethereum blockchain network for the experiment. The target network can be changed to the other network using the Ethereum virtual machine (EVM) for the actual case. It was developed on Python, and a smart contract that was executed on the Ethereum network was also developed with Solidity and inserted into the Python code. Python takes advantage of this by compiling the Solidity compiler and separating the application binary interface (ABI) and bytecode. Given that the smart contract is executed after the system operates using the user’s Ethereum wallet, the wallet address remains, and the wallet address becomes a value that can identify the worker involved in the GPS positioning process.
In the original GPS survey process, Algorithm 2, which performs device initialization for surveying and connection with the NTRIP server, is started once, and Algorithm 3, which receives and corrects RTCM information and re-transmits NMEA information, is repeated for a specific time. In this study, Algorithm 1, a smart contract operating on Ethereum, was added. The Ethereum network connection and smart contract distribution, which is performed once in Algorithm 1, is executed in Algorithm 2, and data recording in the blockchain through smart contract execution is executed in Algorithm 3. Based on these, all data generated and used by GPS devices are recorded in the Ethereum network and integrity is secured.
Algorithm 1: Smart contract: ensure or return the surveyor, NMEA, RTCM. |
|
Algorithm 1 is constructed to input the surveyor’s address when the contract is deployed that stores the user’s wallet address, when deploying a smart contract. Algorithm 1-1 (first function for GPS positioning) stores NMEA and RTCM, and Algorithm 1-2 reads operator and GPS information. It is defined as Algorithm 1-2 (second function for return the data). In the case of the construct, it is an area that is executed together with the distribution of the smart contract, and the user’s wallet address is automatically saved as soon as Algorithm 1 operates. Algorithm 1-1 receives data from Algorithm 4 and stores them as data types. Subsequently, the GPS information and workers stored in this contract can be checked by Algorithms 1 and 2. Although the structure of Algorithm 3 is simple, it is a smart contract code written in Solidity and works on the Ethereum network. That is, the integrity of the GPS data and operator information stored in Algorithm 2 is guaranteed by Ethereum.
Algorithm 2: Connect to the GPS receiver and NTRIP caster. |
|
Algorithm 2 initiates the execution and connection of the sensor using serial communication for GPS positioning. It is set to receive various types of information through connection and communication with the satellite at the same time the device is running, so GPS positioning starts. Subsequently, to connect with the NTRIP server, the input caster information is used to create the NTRIP client. In this study, the mount point VRS_V32 of the NGIS server was used. Thereafter, GNGGA was read from the information measured by positioning from the device and transmitted to the server through the NTRIP client to perform the initial connection. This is a general GPS positioning process. In this study, the connection of the Ethereum network and the execution of Algorithm 1-1 were added.
Algorithm 3: Connect to the Ethereum blockchain and deploy the smart contract. |
|
NMEA and RTCM generated in the positioning process through Algorithm 1 were recorded on the Ethereum blockchain. However, this requires that the device is connected to the Ethereum network and deploys a smart contract. This algorithm manage this task. To achieve proof-of-concept, we entered the URL address of the test net. Additionally, the wallet address and private key were entered to execute the smart contract. Subsequently, connection to the network was established through the HTTP provider and a Web3 instance was created. The contract was then deployed using the ABI and bytecode extracted from the Web3 instance and the compiled Solidity code (Algorithm 3). Through the address of the deployed smart contract, the user (surveyor) can be identified, and GPS information can be tracked. After deploying, the receipt of the transaction was returned, which confirmed that the contract had been distributed correctly. Using only the address of the transaction that occurred in this process, the operator and GPS information whose integrity was secured in Algorithm 3 can be checked.
Algorithm 4: GPS positioning. |
|
To improve the integrity and reliability of GPS data and processes, Algorithm 4 performs blockchain-based GPS positioning for as long as the surveyor sets the time. When NMEA and RTCM data are input to the system through GPS surveying, through Algorithm 1, to record data on the blockchain and store the transaction hash value together in the system, this method prevents the injection of blockchain-based data and allows anyone to trace and prove the original data using hash values. For one survey point, a transaction hash occurs as long as there is a contract address and the time is set by the surveyor. Unlike the traditional system, data on the entire survey process can be tracked using this method.
5. Discussion and Conclusions
In this study, we proposed a system that uploads the GPS positioning process to the blockchain network, using smart contracts, and ensuring data integrity. The Ropsten testnet of Ethereum networks were used, but they can work in the same way on Ethereum’s main network and many other blockchains using EVM. All users were able to check GPS data at a specific location, as well as workers and processes, using the provided contract address. These concerns can be addressed earlier if such information is written together in areas vulnerable to easy manipulation and financial damage, such as cadastral surveys. Therefore, the government needs to prevent legal disputes and improve administrative efficiency by operating a blockchain network that records such GPS information. In addition, based on the structure of the existing algorithm, it was suggested that the blockchain could be applied in a simple method, such as by putting information on the blockchain network and wallet to be used in the existing survey software and smart contracts. However, networks such as Ethereum and Binance Smart Chain may involve prohibitively high costs, and Klaytn requires a reasonable level of costs. This concern can be addressed by using various blockchains using Solidity-based smart contracts. Furthermore, if a part of the ground station system is operated as a private blockchain, the cost concern will be resolved entirely. Therefore, future research will focus on cost issues and the configuration of the blockchain network.