Professional Documents
Culture Documents
1
Table of Contents
1. Introduction:.............................................................................................................................2
1.2 Aim....................................................................................................................................3
1.4 Scope.................................................................................................................................3
2. Methods:...................................................................................................................................4
2.4 Truffle............................................................................................................................6
2.8 Authenticate...................................................................................................................7
2.12 MongoDB..........................................................................................................................9
2
4. Discussion:.............................................................................................................................12
4.5 Blockchain......................................................................................................................14
4.8 DAO............................................................................................................................16
5. Evaluation:..............................................................................................................................17
6.1 Conclusion......................................................................................................................18
6.3 Challenges.......................................................................................................................20
3
1. Introduction:
The Introduction part explains why the thesis was written, what it's about, what it's back
to say, what it's about to say, what it's about to say, what it's about to say, what it's about to say,
what it's about to say, what it's about to say, and what it's about to say. It is Waste Management
System with Intelligence:
1.2 Aim
4
close to poorly discarded trash may suffer direct and indirect health effects. Waste management
and disposal may pave the way for material recycling and reuse. Not only may trash be recycled
and reused, but it can also be turned into energy, improving people's quality of life.
The two additional research topics will be used to solve the issues mentioned above in this thesis:
To answer this issue, we have considered the most recent tools, protocols, and technologies
emerging in both the Internet of Things and blockchain technology. Researchers in a specific
domain have provided evidence to justify using a certain library or protocol in a particular
situation.
The Internet of Things (IoT), smart contracts, and decentralized autonomous organizations
(DAOs) all have ramifications in social, economic, and environmental contexts.
1.4 Scope
This thesis attempts to offer bonds are made of technologies that may help with the
combination of IoT and blockchain technology. IoT and crypto currency software may be used to
develop new revenue streams, with blockchain managing trades and data administration and IoT
devices acting as a touchpoint with nature. As a prototype, this framework is being utilized to
build Sustainable Waste Management software. The distribution occurs on a Smart Trash Barrel
that has been duplicated, a blockchain test complex, and an institutional server (not the leading
Ethereum network). Test data is worn to signify dissipate and user feedback. A routine crypto
currency is used to allow the system's money flow to be regulated as required. The price of the
money and its value regulation is outside the purview of this theory. The implementation did not
account for trash sorting at the source. The implementation's security element has not been
considered.
5
2. Methods:
A mobile software bot, an SGB model, created on the Linux Python language, a
centralized server built using NodeJS and MongoDB. Finally, a blockchain-based component
makes up the implementation's whole ecology. A thorough evaluation of an ecosystem's overall
functioning is a momentous process beyond the project boundaries. In several situations, the
effectiveness of the cryptocurrency network element was assessed. The measurements, which are
described in more detail in the next chapters, may be used to assess the computation of
operations in the blockchain.
6. Programming languages
The application of the various methods and features mentioned in the preceding parts is
detailed in this paragraph. The MQTT protocol allows messages to be logically separated
depending on hierarchy and category. Two-parent classes were established to make the
6
interaction between the client and SGB easier. Each category has a comment thread identifying a
specific entity that was sending which kind of communication (server or SGB). The next sections
cover tools such as Geth and Truf used to operate Ethereum nodes and install Decentralized
Applications on the Ethereum blockchain accordingly.
The last part discusses an ideal bitcoin IoT design and performs a serious review on it.
The first level of the subject hierarchy is organized by the devices that are used. As a
result, the first level is made up of SGB and Server. The next degree of message categorization is
dependent on the action taken by each device. MQTT is used by each device for broadcasting
and listening.
2.4 Truffle
7
since we needed both wireless and wired nodes for the development and analysis. For
preparation and distribution, Truffle version 2.1.2 was utilized.
The most basic design for supporting blockchain with IoT devices (mass sensor and
distance sensor) is to host an Ethereum node in the SGB using geth. The sensors transfer signals
to a Raspberry Pi in this arrangement. Using an RPC interface, a program on the Raspberry Pi
can interact with geth, which is executing on the Raspberry Pi. Each SGB in this design operates
a complete Ethereum node. These SGBs can operate on a single secure network if a single node
is utilized—the blockchain stores all data (such as user, payment, activity, and SGB). The DAO
and Brilliant Agreement addresses may be saved in a file or a database, from which the
application can read the number and take appropriate actions.
The order of flowchart within various TAG components is described by Process Flow.
When a user has trash to dispose of, this process flow illustrates the interaction between various
components. The sewage treatment process is split into three sections:
User, Intercom Bot, SWM Server, blockchain, and MongoDB are all engaged in this process.
When a user has to get rid of any trash, they will utilize the MQTT Protocol perccomanitmo. The
8
request is responded to by a Telegram bot operating on the SWM server, which asks the user to
input their Ethereum version number. This item should be blockchain-registered with The Bank.
The steps to create a description are broken down into two sections. The SWM server determines
if the user's bank explanation has sufficient funds. This required stability quantity may be
specified in the SGB when it is being registered in the System. In the method, we check whether
the description has a balance greater than zero for testing purposes. If yes, the attendant creates a
set of numbers of 10 numbers and letters, converts it to a QR code, and transmits it to the user
and the user's account information. An established validity with an unfinished state is also added
to the database at the same time. A location proposal is made via the QR-code. When a user puts
in their position, all SGB within a specified radius of the user's position is provided as a Google
map. Figure 18 depicts the site of an SGB as well as associated information.
2.8 Authenticate
The location SGB may be explored using the Interactive Map once the user has acquired
the QR-code and position from the preceding procedure. The SGB includes a QR scanner that
can detect the QR code that the user got in the Telegram app. The SGB broadcasts the encoded
value to an MQTT server to discuss the SWM Servers are connected once the QR-code is read
and decoded. The SWM Server verifies the code's validity and replies by broadcasting to an
MQTT broker on a separate subject to which the SGB is connected. The top of SGB opens when
the SWM Server confirms that it can validate the encoded value.
The user may dispose of trash into the SGB once the top of the SGB is released as a
result of the contact with the Sustainable waste management as described in the preceding
procedures. The overall volume of the SGB is computed and published to the SWM Service
when the top of the SGB is stopped. The SWM Server measures the number of weights
deposited by determining the change among the previous and present weights in SGB. The
quantity the user must pay is determined using a weight-rate-based computation. To begin, the
establish the validity in the network with an incomplete state is changed to complete, and all
details (value of service, log-in details, date, the quantity of the trash, and so on) are updated in
9
the record. Finally, through the Web3 interface, a release clause for the money the consumer is
intended to disburse to the SGB holder is submitted to The Bank in the blockchain.
Angular is a website design framework that emphasizes execution speed, velocity, and
testability, to make web development seem easy. Angular apps may be delivered as web pages or
native programs to smartphones and tablet computers. For example, Google Cloud Platform and
AdWords both utilize Angular, as do many other internal tools. Angular is a software
development framework for creating graphical interfaces. To rapidly put up a sustainable,
scalable app, it offers building pieces. Angular gives developers the ability to develop
applications that run on the web, mobile devices, or desktop computers using a single
framework. Dynamic Single Page Programs may be built using Angular, a JavaScript framework
(SPAs). The Angular team at Google frequently updates this popular front-end programming
framework. Elements are at the core of Angular 7. This decision tree is made up of many parts,
each having a parent and a kid.
It's based on Chrome's V8 Java compiler and uses Node.js® as a runtime for
JavaScript. Node.js is a JavaScript runtime for building scalable network applications that are
intended to be asynchronous and event-driven. Ruby's Activity Machine and Python's Twisted
have impacted the architecture of Node.js. Node.js goes a step further with the event model.
Instead of a library, an event loop is presented as a real-time construct. In other platforms, the
event-loop is always started with a blocking call. At the start of a script, behavior is often
specified using several methods, such as Callback::define and Callback::define (). There is no
equivalent call in Node.js for starting an event loop. After the input script is executed, Node.js
enters the event loop. There are no more responses left to achieve; Node.js ends the event loop.
The activity loop is stored in browser JavaScript, which is how this behavior behaves in
browsers.
Node.js treats HTTP as a first-class citizen, with features like low latency and
broadcasting in mind. As a result, Node.js is an excellent choice for building a web toolkit or
10
framework on top of it. The lack of threading in Node.js does not preclude you from using many
cores in your system. Our child process. Fork () API may be used to spawn new child processes,
and these processes are intended to be simple to interact with. The network module is based on
the same interface and lets you share sockets across different methods for load balancing across
your cores.
2.12 MongoDB
MongoDB is a central NoSQL document database that is available as open-source. C++ is used
to create MongoDB. When it comes to document-oriented databases, MongoDB stands out
because of its excellent performance, uptime, and ease of scaling across many platforms. When
using MongoDB, you'll be working with collections and documents, not rows and columns. A
database serves as a physical home for many types of data. On the operating system, each
database has its collection of files. Multi-database MongoDB servers are commonplace. A
collection of MongoDB objects is referred to as a set. It's a database table in the RDBMS sense.
A database contains a set of items called a collection. There is no schema enforcement in
collections.
Fields on items in a collection may vary. In most cases, all of the papers in a collection serve the
same function. A document is nothing more than a collection of pairs of fundamental values. The
schema of documents may change dynamically. Publications in the same series don't have to
have the same format or fields, and similar sectors in a collection's texts may contain various
kinds of data. Dynamic schema implies this. There is a standard schema design for every
relational database that indicates the number of tables and their relationships. There is no notion
of a relationship in MongoDB. MongoDB is a document-oriented database where each collection
contains a variety of records. The document's quantity of fields, content, and size may vary from
one instance to another.
Microsoft Excel is used to create a real-time display of the loaded level in each container.
We were able to make this user interface with the assistance of Excel's dynamic reporting
feature. Message service is used at the interaction end to get notifications every time the trash bin
11
fills up. This message is sent to you in the form of written files linked to an Excel spreadsheet
that displays the level of each container's fill.
Our dustbin's GSM modules provide SMS in the case of text files saved on our computer.
The text file is linked to the spreadsheets using an excel connector. The real-time data is based
on the most recent trashcan level measurements collected from users. To get the most recent data
from the excel sheet, you may use different excel functions as IFERROR, LARGE, INDEX, IF,
COUNTIF, and ROW (row counts). Excel charts were used to create the widget. The Doughnut
chart shows all three levels. The line graph is used to create a pointer that moves in real-time
following the amount of dust in the bin. The levels are denoted by green for the first, orange for
the second, and red for the third.
Ultrasonic sensors monitor the amount of trash filling in every intelligent bin. There are
three compartments in the container, each holding a different kind of trash. The levels
progressively fill up over time if used continuously. The sensors get data on the amount of
garbage that has been collected each time it passes through a story. The trash analyzer receives
this data through the GSM module and sends it as an internet chat. For evaluation and parameter
estimation purposes, all messages received by the trash analyzer are stored as data. The mobile
application makes use of real-time data to provide a more accurate representation of the occupied
level.
The information received is stored in the database, which preserves all of the associated
timestamps. The data analysis section uses a history of months' worth of data for forecasting and
generating reports. To prevent an oversupply, the application interface displays the rubbish
analyzer's real-time level and instructs its garbage collectors to go out and collect the trash. The
prediction model's goal is to estimate when each container level will be complete in the future,
based on historical data. The waste management agency will optimize the route whenever a trash
collector travels throughout the city to pick up rubbish. This saves the waste department time and
resources, allowing them to focus on other tasks.
12
3.1 Data Analytics
The smart-bin originally invented will constantly send more about stages of rubbish
obtained in various parts of the municipality. The set of data generated can be analyzed to
forming solid observations. The survey method set over such a duration of time will develop an
extensive historical dataset. This set of data will encompass many parameters, such as revealed
below from the desk.
Variables of Historical Dataset
Variables Description
ID Unique ID of each smart-bin
Sector Sectors are divided as A to G based on driving routes
13
Tk[Lk , tk] = Array which consist the last updated level and time of every smart-bin in the
network.
Result: Predicted percentage filled status of every smart-bin and thus estimate the optimal route
based on potential filled Bins.
begin
for i=1 to n do
If Li==3 then // Compare Li with 3 to check if
ith bin is full or not.
for k=1 to n do if k!=i then
qk = Tk[1]+(3-Tk[0])ak1 // Compute the ex- pected time for every kth smart-bin to get full.
pk = qk - Ti // Compute the time required more to get full by the kth smart-bin.
if pk<=0 then // Check if kth bin is already
filled.
f(b)=k // Store ID of kth smart-bin in an ar-
ray.
else if pk>0 then
prk= [(ak3-pk)/ak3]*100 //Compute the pre- dicted current percentage level filled of kth bin.
if prk>65 then //The threshold percentage is considered as 65 here.
f(b)=k // Store ID of kth smart-bin in an
array.
end
end
end
4. Discussion:
14
The collecting of waste materials from the point of production of processing and disposal
is defined by the World Bank as Waste Management. In industrialized nations, most current
waste management systems involve numerous third-party trash collectors that carry rubbish
deposited in waste bins to recycling plants or disposal sites. In industrialized countries, trash
disposal is the mainly expensive part of the waste organization system.
A variety of protocols have been suggested to suit the Internet of Things architecture
better, as the focus has grown in recent years. The most widely used include MQTT, CoAP,
WebSocket, and AMQP, to name a few. IoT devices are capacity restricted, meaning that they
have a limited amount of storage, processing, and memory. MQTT and CoAP are the protocols
that are regarded to be the most promising in a resource-constrained context, among the others.
It is critical to choose the most appropriate protocol for use in the proposed system's
implementation.
CoAP is a protocol that allows for customer engagement and is particularly well suited
for data transfer. With the MQTT protocol, various authors and subscribers may interact with
one another via a central broker, which facilitates communication between them. This design of
MQTT is most apposite for event-based model, according to the developers. In order to transmit
the status of SGB or interact with the server in response with certain events such as the slamming
shut of the SGB's lid, TAG required to utilise a protocol. Furthermore, when high-traffic
connections are utilised, MQTT surpasses CoAP in terms of speed and duration.
In 2014, Dr. Gavin Wood developed Ethereum, which is another blockchain framework
that enables Decentralized Applications (described below). Ether is the Ethereum blockchain's
money or means of trade. Any transaction requires a certain quantity of gas to complete. This
prevents contracts from being executed in an endless loop since they will stop whenever you run
out of energy. This gas may be obtained by exchanging Ether for it. To be more specific, gas
15
costs are minimal and are bought in Wei, with 1 Ether equaling 1010 Wei. In the Ethereum
blockchain network, the price of gas fluctuates and is regulated by the rule of demand and
supply. A transaction may range from money transfers between accounts to smart contract
execution. So, if user X wishes to pay user Y E, user X will transmit E + standard gas price,
where standard gas price is defined by a collection of activities involved in the transaction
execution, such as the SHA3 cryptography and the quantity of data included in the transaction. 6
gas units are required for every 256 bits of data to be hashed. This transaction cost may be
thought of as the cost of purchasing space or the price of inclusion in a block which is being
processed by a miner. In additional to the mining payment, the network provides the miner with
any excess gas left over after the transaction is completed.
Nick Szabo, a computer scientist, invented the phrase Smart Contract. A smart contract is
a collection of rules that govern how a transaction in the blockchain is intended to take place.
Smart Contracts enhance blockchain's usefulness by simulating real-world situations using
Turing-complete high-level programming languages. The Ethereum blockchain has its own set of
available languages for writing these contracts. Smart Contracts enhance blockchain's
capabilities by simulating real-world ideas in the blockchain. The Public Blockchain code can't
be changed after it's been launched.
4.5 Blockchain
The Ethereum blockchain powers TAG. The integration of Digital Assets and the idea of
DAO offered by Ethereum are the driving forces behind this. Smart contracts may be written in
one of three languages supported by Ethereum, which can be built and deployed on the Ethereum
blockchain. Soundness, Serpent, and LLL are the three languages. The Ethereum community has
created and promoted Solidity, a Java-like language. LLL is a Lisp-like implementation, whereas
Serpent is a Written in java implementation. For TAG, smart rules have been developed in
Solidity 0.4.8. Truffle and Intrepid are two frameworks for developing Ethereum applications.
Smart Contracts are deployed using Truffle v2.1.2. Three Smart Contracts interact with TAG.
The following is a comprehensive description of each:
16
The Bank
External Transfer
Minting
Community DAO
MinimumQuorum
DebatingPeriodInMinutes
MajorityMargin
SGB Factory
Even though blockchain has tremendous potential, it is important to recognize that it is still in
its early stages. Due to the delay in execution, distributed ledger technology is not sophisticated
enough to work with applications that need fast read and write operations. The Sensible Waste
Collection Server (SWM), a central server that handles elements that need high read/to write
speeds, and blockchain-based, which handles financial transactions, are designed to work
together as a hybrid system due to this constraint. The SWM is composed of the components
listed below
Telegram Bot
In the Telegram program, a Telegram Bot called "perccomanitmo" has been installed. It can
be exactly found in Telegram that other users can be found. The chat will begin when you type
"/hello." It may be used to discover balance or to create the QR code required to access the SGB.
If the user's account balance is sufficient, the bot will generate a QR code and ask for the user's
location. When a user provides a place, it is deemed the center of the circle, and the nearest SGB
within a 3 km radius is returned to them. At this point, MongoDB's geoJSON question comes in
useful. After that, the user may go to the SGB then scan the QR-code that was created
previously. The SGB opens if the QR-code is also not re-used and was created by the Telegram
bot.
API
17
A variety of data endpoints are available via SWM's Application Programming Interface. The
following are a few of the most important:
When an SGB id is provided as a parameter, several characteristics of the SGB are retrieved.
Current waste amt, total capacity, percent used, rate are the values returned.
/
api/filledbins/:percent/:radius/:lat/:lon/api/filledbins/:percent/:radius/:lat/:lon/api/filledbins/:perce
nt/:radi\
When the level of waste (percent), radius, lat, and long are provided, all SGB within the range
with the necessary amount of waste is returned.
To imitate an SGB in TAG, many characteristics are taken into account. When a user
requests that trash be disposed of, the server provides the location and quantity of rubbish in the
SGB. A reserve ratio property is given to the SGB architecture to limit usage when the user's
bank cashier checks. A total volume and a current value of waste characteristics prevent trash
flow and give statistics on waste levels. When a user customer pays, the cryptocurrencies are
moved to the owner's account, private, public, societal, or partnership. The SGB Schema derived
from the TAG prototype is shown below.
User Domain
4.8 DAO
A Decentralized Autonomous Organization (DAO) is a Smart Contract or a group of Smart Contracts that
may be used to represent an organisation on the blockchain, automating decision-making and governance.
Members of a DAO, like those of any other real-world organisation, have the power to raise money and
make various suggestions. These ideas may be implemented if they get a majority vote. Proposals may
18
range from simple money transfers to the execution of additional Smart Contracts. We utilised a DAO
that depicts a waste management company in our thesis. The members vote to approve a proposal to send
money to an SGB factory accounts for the acquisition of SGB. Prior to the installation of the DAO, the
amount of ballots needed, the voting period, and the majority margin are all specified. Of course, they are
subject to modify even after installation, with the members' agreement, as determined by a public voting
process.
5. Evaluation:
In the OpenStack cloud, a Personal Ethereum Channel with a node was operated.
It had a single VCPU and 2GB of RAM. To perform RPC from a local computer to this
Openstack node, the SWM Server utilized the Web3 interface. Web3 is a JavaScript package that
makes it possible to communicate with the Ethereum blockchain. The processing time of
transactions is measured using one thread and two threads, respectively. For each modification of
the number of threads, a total of ten operations were considered. In addition to the actual CPU
business process management for mining, network delay may have influenced the measurement
since events are sent to the distant node through the Web3 protocol.
Several benefits or abrupt increases in mining time were noticed in the ten tests
performed using a standard interface in Private Network. There may be any cause for this
increase, given that the computer utilized for testing was also running several other processes.
The average order mining time was estimated to be 29759.1321 milliseconds, significantly
influenced by the result's absolute values.
In Internal Network, using two threads produced better performance. There was a
significant decrease in the amount of time spent digging. A single thread performed this phase of
assessment immediately after the preceding one. The identical procedure that caused the sharp
increase in mining time and time showed may be completed during this session, leading to the
19
steep decrease throughout the first three measurements. This phase's median processing time was
17154.5816 milliseconds, which is faster than single thread mining.
The test networking was installed locally on the same computer as the SWM. The Web3
connection was also utilized in this test, but network delay should not have affected the results
since the server was operating locally. The test system has four CPUs and eight gigabytes of
RAM. It can be observed that when the network is operating on high-end machinery locally, the
speed of mine improves considerably.
Extraction with Two Threads is a method of mining that uses two threads.
With the usage of high-end hardware, processing speed is greatly increased. In Private Network,
the first three measurements indicate a rapid drop, comparable to extracted twice mining.
1835.0843 milliseconds is the typical mining time. The graph indicates a rapid decrease in
mining speed, but the first three maximum levels substantially impact the median, considerably
boosting it.
This study aimed to assess, analyze, and apply various IoT technologies and
cryptocurrency innovations to create smart waste disposal appropriate for future cities. This
chapter summarises the work, identifies shortcomings, and suggests ways to enhance it in the
future.
6.1 Conclusion
In this research, we present a smart trash control system prototype based on IoT and
cryptocurrencies. To state of the art, no other application of this kind has occurred yet. To better
understand the requirements for implementing this same kind of waste disposal in the real world,
we utilized an architecture that included Smart Waste Bin simulations.
20
We've shown how distributed ledger technology may aid in the development of payment
solutions capable of handling payment systems with little transaction overhead. The gravity rate-
based system is heavily reliant on a steady supply of small transactions. Because of bitcoin and
Smart Contracts, the suggested intelligent management systems can handle monetary
transactions. Furthermore, the thesis shows how the idea of DAOs may be used to build various
business structures that reduce adoption costs and increase creativity. People may band together,
collect funds, and participate in solutions that will help them solve their issues while also
knowing they are in charge of their own money. Utilizing this technique makes garbage
collection in the city much simpler. It aids in decreasing air pollution, transportation congestion,
human resources, and the associated costs of all of those things. Using the implemented
technological possibility, we can direct the trash collection vehicles to choose the quickest route.
This initiative can provide communities that want to become more intelligent and people-friendly
with a competitive advantage. Blockchain and Smart Contracts are used in future smart waste
disposal to handle micropayments. The thesis also shows that DAOs can develop new business
models with reduced entry costs and higher levels of creativity. Together, people can collect
money and invest in answers to their issues while still knowing that they have complete control
over their money.
Sorting trash at the source is critical for improving the quality of wastes generated. Users
may be paid by recycling businesses depending on the strength and kind of trash they create,
encouraging users to sort and inspect their waste. Users might be rewarded for using more
recyclable goods, for example. People associate users with the garbage they generate becomes
critical for this functionality to operate. This is a problem that the suggested solution cannot yet
solve. We're exploring methods to handle this situation in TAG so that it imposes the least
amount of technical complexity on consumers.
TAG's further growth may lead to creating a Trash Management System like Uber, in
which anybody can earn money by transporting devastate from SGB to a recycling facility. It
may just be an additional DAO (decentralized autonomous association) on the network.
21
In the worst-case scenario, mining might take up to 50 seconds. This implies that it may
take up to 50 seconds for ethereum to confirm the deal. While blockchain is extremely good at
handling duplicate payments, there is a chance that a malevolent user might abuse the system
during the time it takes to mine the transaction. Blockchain will categorically reject the recurring
purchase, but the network does not plan to take the necessary measures to punish the malicious
user in this particular case, as stated in the previous section. As a method of progressing this job,
it may be necessary to establish a punishment system. It is necessary to build the solution to
notify the user and impose a penalty if a potential hacker purchase almost as much as the money
in his pocket (which is only possible under the unusual conditions described above). The user
must be banned from using the system until the consequence is completed.
6.3 Challenges
The idea of blockchain technology is a relatively new one. The Ethereum platform is
getting more popular. However, it is still a developing and undeveloped technology. One of the
disadvantages it presents is that due to the computing time required by the network to compile
data into blocks, building a system whose whole database runs on the blockchain is not
particularly relevant at present. The Bitcoin network alone uses as much energy as the whole
nation of Ireland. A switch from Consensus protocol (PoW) to Proof of Stake (PoS) as the
method may make the system less resource-intensive and more efficient. Another disadvantage is
the general public's poor understanding of blockchain technology. The attractiveness of
blockchain may rise as the number of apps developed on top of it grows, and the channel's
performance improves.
22