Skip to content

nikolap994/Ph.D-Thesis

Repository files navigation

Readme

Abstract:

The Internet of Things and blockchain are considered to be the two main technologies of today. Reducing delays and system connectivity has led to greater flexibility in using applications located on remote devices. The biggest problem with the Internet of Things is that they do not have enough computing resources, insufficient memory, and weak processors that are optimized to consume little energy prevent the use of robust encryption algorithms. The Internet of Things faces many challenges, such as poor interoperability, security vulnerabilities, privacy, and a lack of standards. This paper proposes the use of a software interface as a security gateway architecture for smart devices. The security interface allows the use of stronger cryptographic algorithms to remotely service smart devices. This approach enhances the security of data sent by smart devices by using compatible data encryption algorithms before being forwarded to remote services. In addition to the interface, blockchain technology is used in this paper. The reason for using blockchain technology is to include decentralization and authentication in the network of connected smart devices. The integration of the blockchain itself gives the much-needed anonymity and flexibility that the current Internet of Things does not have. Blockchain protects the interface with its single point control technologies, records all transactions, validates them, and thus provides trust between devices on a single network. The result of this work is the development of an interface that supports smart devices to use any cryptographic algorithm, provides the ability to map IP addresses (Internet Protocol addresses), and thus prevents unauthorized access to the network. In addition to the development of the interface, blockchain technology will be included in the compatible mode so that it is efficient to work on smart devices, taking into account resource limitations.

  • Clone repo
  • npm install
  • node npm run node1
  • node npm run node2
  • node npm run node3
  • node npm run node4
  • node npm run node5

Here we start 5 nodes in network

"node1": "http://localhost:3001"
"node2": "http://localhost:3002"
"node3": "http://localhost:3003"
"node4": "http://localhost:3004"
"node5": "http://localhost:3005"

To make sure this nodes can talk to each other we have to register them in network:

  • Run post request like this:
POST http://localhost:3001/register-and-broadcast-node
BODY { "nodeUrl": "http://localhost:3001" }
POST http://localhost:3001/register-and-broadcast-node
BODY { "nodeUrl": "http://localhost:3002" }
POST http://localhost:3001/register-and-broadcast-node
BODY { "nodeUrl": "http://localhost:3003" }
POST http://localhost:3001/register-and-broadcast-node
BODY { "nodeUrl": "http://localhost:3004" }
POST http://localhost:3001/register-and-broadcast-node
BODY { "nodeUrl": "http://localhost:3005" }

And then transactions can be done:

POST http://localhost:3001/transaction
BODY {
    "nodeUrl": "http://localhost:3005",
    "amount": 10,
    "sender": "http://localhost:3001",
    "recipient": "http://localhost:3005"
}

About

Ph.D thesis for IoT and Blockchain integration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published