# US 12,113,805 B2 · Applying blockchain to a sensor tracker

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,805 B2
- Document ID: US12113805B2
- Status: Granted
- Kind: B2
- Application number: 17/523,577
- Filed: 2021-11-10
- Published: 2022-03-03
- Granted: 2024-10-08
- Earliest claimed: 2020-04-21
- Assignees: Lockheed Martin Corporation
- Applicants: Lockheed Martin Corporation
- Inventors: Ambrose Kam; Hiren Patel; Alexander Richard Vesey
- Web page: https://patentgrep.com/patent/US12113805B2

## CPC

- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 12/2854: {Wide area networks, e.g. public data networks}
- H04L 12/46: Interconnection of networks
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/101: {Access control lists [ACL]}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/1466: {Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks}
- H04L 63/1483: {service impersonation, e.g. phishing, pharming or web spoofing (detection of rogue wireless access points H04W12/12)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and a computer network of interconnected computer nodes, one assigned a role of a deployer node, the deployer node creating and executing a rule-based block, and assigning others of the computer nodes a role of sensor node or a role of display node. The deployer node maintains addresses of the sensor nodes and the display nodes, the sensor nodes add sensor track data to create linked blocks, and the display nodes read the sensor track data in the linked blocks. The rule-based block includes a sensor add rule which checks that only computer nodes assigned the role of the deployer node can assign a computer node the role of sensor node. The rule-based block includes a sensor track data add rule which checks that only the computer nodes assigned the role of sensor node can request to add new sensor track data to create the linked blocks.

## Claims

### Claim 1

A computer network for performing sensor tracking using a blockchain, the computer network comprising:
a first interconnected computer node participating in the blockchain, the first interconnected computer node assigned a deployer role, the first interconnected computer node configured to:
deploy a smart contract to the blockchain, wherein the smart contract, when executed, checks that only a computer node assigned a sensor role is able to request to add new sensor track data to the blockchain, and
assign a second interconnected computer node participating in the blockchain to: (i) a sensor role or (ii) a display role;
wherein, when executed, the smart contract is configured to:
receive, from the second interconnected computer node, a request to add new sensor track data to the blockchain,
determine whether the second interconnected computer node is assigned the sensor role, and
in response to determining that the second interconnected computer node is not assigned the sensor role, reject the request to add new sensor track data to the blockchain.

### Claim 2 (depends on 1)

The computer network of claim 1, wherein the first interconnected computer node maintains addresses of computer nodes assigned sensor roles and display roles.

### Claim 3 (depends on 1)

The computer network of claim 1, wherein an interconnected computer node included in the computer network and assigned the sensor role is configured to add sensor track data to the blockchain.

### Claim 4 (depends on 1)

The computer network of claim 1, wherein an interconnected computer node included in the computer network and assigned the display role is configured to read sensor track data from in the blockchain.

### Claim 5 (depends on 1)

The computer network of claim 1, wherein the smart contract, when executed, checks that only an interconnected computer node included in the computer network assigned the deployer role is able to assign the sensor role to another interconnected computer node included in the computer network.

### Claim 6 (depends on 1)

The computer network of claim 1, wherein the smart contract is configured to regulate a message issued via the first interconnected computer node.

### Claim 7 (depends on 1)

The computer network of claim 1, wherein the smart contract, when executed, is configured to reject assignment of the sensor role to a third interconnected node when an address of the third interconnected node is not a preexisting address associated with the computer network.

### Claim 8 (depends on 1)

The computer network of claim 1, wherein the smart contract, when executed, is configured to reject a request to add new sensor track data to the blockchain when an address of a source of the request does not match an address of any interconnected computer node included in the computer network assigned the sensor role.

### Claim 9 (depends on 1)

The computer network of claim 1, wherein the smart contract, when executed, is configured to reject a message to remove the sensor role from an interconnected computer node included in the computer network when the message is not issued from an interconnected computer node included in the computer network assigned the role of deployer-node role.

### Claim 10 (depends on 1)

The computer network of claim 1, wherein the second interconnected computer node is assigned to the sensor role and wherein the smart contract, when executed, is configured to:
obtain a first message including a first time from the second interconnected computer node;
obtain a second message including a second time from the second interconnected computer node;
compare the first time of the first message to the second time of the second message;
reject the second message when the second time of the second message is equal to or less than the first time of the first message; and
in response to rejecting the second message:
log an event associated with rejecting the second message to an event logger; and
remove assignment of the sensor role from the second interconnected computer node based on rejected messages logged in the event logger associated with the second interconnected computer node.

### Claim 11 (depends on 1)

The computer network of claim 1, wherein the smart contract, when executed, is configured to:
record, to an authorized sensor node log, a first address of a third interconnected computer node included in the computer network assigned the sensor role;
obtain a data item including a second address;
compare the second address to the authorized sensor node log; and
reject the data item in response to the second address not being a preexisting address stored in the authorized sensor node log.

### Claim 12 (depends on 1)

The computer network of claim 1, wherein the blockchain is implemented using the Ethereum platform.

### Claim 13 (depends on 1)

The computer network of claim 1, wherein the blockchain is implemented using at least one of (i) a Proof of Work consensus algorithm or (ii) a Proof of Stake consensus algorithm.

### Claim 14

A method in a computer network for performing sensor tracking using a blockchain, the method comprising:
assigning a first interconnected computer node participating in the blockchain a of deployer role;
deploying, by the first interconnected computer node, a smart contract to the blockchain;
assigning, by the first interconnected computer node, a second interconnected computer node to: (i) a sensor role or (ii) a display role; and
checking, by execution of the smart contract, that only a computer node included in the computer network assigned the deployer role is able to assign the sensor role to other computer nodes included in the computer network;
wherein, when executed, the smart contract is configured to:
receive, from a second interconnected computer node participating in the blockchain, a request to add new sensor track data to the blockchain,
determine whether the second interconnected computer node is assigned the sensor role, and
in response to determining that the second interconnected computer node is not assigned the sensor role, reject the request to add new sensor track data to the blockchain.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
broadcasting, by the first interconnected computer node, to all interconnected computer nodes in the computer network, new sensor track data to be added to the blockchain.

### Claim 16 (depends on 14)

The method of claim 14, further comprising:
rejecting, by execution of the smart contract, a message to assign the sensor role to a computer node when an address of the computer node is not a preexisting address associated with the computer network.

### Claim 17 (depends on 14)

The method of claim 14, further comprising:
recording, by the first interconnected computer node, an address of the second interconnected computer node assigned the sensor role or the display role.

### Claim 18 (depends on 14)

The method of claim 14, further comprising:
performing, at interconnected computer nodes of the computer network, a consensus algorithm, wherein the consensus algorithm is at least one of (i) a Proof of Work algorithm or (ii a Proof of Stake algorithm.

### Claim 19 (depends on 14)

The method of claim 14, wherein the blockchain is implemented using the Ethereum platform.

### Claim 20

A method in a computer network for performing sensor tracking using a blockchain, the method comprising:
assigning a first interconnected computer node included in the computer network a deployer role,
assigning, by the first interconnected computer node, a second interconnected computer node included in the computer network a sensor role;
assigning, by the first interconnected computer node, a third interconnected computer node included in the computer network, a display role;
creating, by the first interconnected computer node, a smart contract;
deploying, by the first interconnected computer node, the smart contract within the blockchain, the smart contract storing sensor track data received from the second interconnected computer node and allowing the third interconnected computer node to read the sensor track data;
checking, by execution of the smart contract, that only a computer node included in the computer network assigned the deployer role is able to assign the sensor role; and
checking, by execution of the smart contract, that only a computer node included in the computer network assigned the sensor role is able to request to add new sensor track data to the smart contract.
