Page 78 - RAC_CIAW_ a_I_n_01_2021.pdf
P. 78
ty, and availability. In this system, buoys and UAVs be- through a text file containing NMEA entries. Each
have as blockchain clients, possessing their respective NMEA string is sent, as a blockchain transaction, by
cryptographic credentials. The Fabric’s Membership the client to an endorsing peer in the respective ND
Service Provider (MSP) manages the keys and charac- and processed by the smart contract.
terizes the blockchain’s permissioned nature. The cli-
ents are equipped with a low-cost AIS receiver devel-
oped by the Brazilian Navy, compound by a VHF whip
antenna, an SDR (Software Defined Radio) frequency
demodulating dongle, and a Raspberry Pi 3. Figure 1
illustrates the Blockchain-based MMS topology.
Fig. 2: System Architecture
The endorsing peers are responsible for processing
each transaction, verifying data authenticity and integ-
rity. The transaction invokes a specific smart contract
function that can query the ledger, send a blockchain
Fig. 1: Blockchain-based MMS node command, or process the sensing data before
storing it in the ledger. The endorsing peers sign the
The blockchain implementation uses Fabric transaction response with its private key and return it
standard configuration [14] tailored to be integrated to the invoker. In turn, the client collects endorsements
into an MMS. Clients transmit sensing data in transac- until it has the number of endorsements established in
tions to the blockchain peers in the ND responsible for the system policy. This number is easily modifiable to
the monitoring area. The client application consists of meet different security levels, although this demands
Python 3 modules able to request smart contract func- more processing power due to transactions signing
tions using the Fabric Python SDK (Software Develop- with asymmetric cryptography. The client then sends
ment Kit) . Fabric SDK delivers an abstraction layer the endorsed transaction to the orderer service.
1
that allows developing applications easily and inter- The orderer service is responsible for receiving all
acts with blockchain in many different manners [15]. signed transactions and establishes the new block final
2
The client application processes the NMEA data order via consensus. Usually, the consensus involves
received by the VHF whip antenna and analog-digi- a quorum of peers that need to agree about the next
tal converted by the SDR dongle. It accesses NMEA block and its mechanism depends on chosen consensus
data directly on the SDR control application port or protocol. Then the orderer broadcasts the new block
to all blockchain nodes. Finally, committer peers verify
the block and irreversibly add it to the ledger. Figure 2
1 Available on https://hyperledger.github.io/fabric-sdk-node/ shows the system architecture and the aforementioned
2 NMEA: communication data format standardized by National transaction workflow. Transactions that present any in-
Marine Electronics Association and used by GPS, AIS, VTS (Ves- consistency are not added to the ledger and are stored
sel Traffic System), and other applications.
78 REVISTA ACADÊMICA CIENTÍFICA DO CIAW

