Project Report
Project Report
Bachelor of Engineering
by
University of Mumbai
2021 - 2022
1
Abstract
The purpose of this project is to study Blockchain Technology and the development of web
applications deployed on the Ethereum blockchain. In the current centralized social media
platforms, the user's data is stored in the central servers of the company and also sold to third-
party companies to earn profit. These third-party companies may target the user for showing
specific advertisements. Our application named Bleep will be a decentralized social networking
application on Blockchain. Blockchain can provide transparency, traceability, tamper-
proofing, security and control.
2
Certificate
This is to certify that the project synopsis entitled “Bleep – A digital town square on
Blockchain” has been submitted by Faiz Jameel Ansari, Mudassir Abdul Jalil Ansari, Mohd
Hanzala Salim Jaffer and Faizan Naser Khan under the guidance of Prof. Mohammed Juned
Shaikh and Prof. Vishal Patil in partial fulfillment of the requirement for the award of the
Degree of Bachelor of Engineering in Computer Engineering from University of Mumbai.
Certified By
Principal
3
Index
2. Literature Survey 6
2.1. Survey of Existing System 6
2.2. Limitations in Existing system 12
2.3. Problem statement 13
2.4. Scope 13
3. Proposed System 14
3.1. Technologies and Framework 14
3.2. Details of Hardware and Software 18
3.3. Design Details 19
3.4. Relevance to PO and PSO of the Department 26
4. Implementation Plan 27
4.1. Gantt Chart 27
Conclusion 28
References 29
4
1. Introduction
Through social media, people can create and interact in virtual communities on digital
platforms that are accessible via the internet. Information may be quickly shared between
people, considerably enhancing interaction and communication. They can overcome political,
economic, and geographic boundaries to connect with new organizations, locate former
classmates and friends, or locate people who have similar interests. As a result, social media
facilitates knowledge sharing among millions of internet users worldwide. They offer amazing
odds of access to a vast data source. Social media does have certain restrictions, though. The
distribution of fraudulent content, discussions surrounding restricted or open conversation,
compromised secrecy, and political constraints are only a few of the critical issues that
academics, policymakers, and users have identified.
The decentralization of social services has received attention in recent years as a potential
solution to the key privacy problems in social media, bogus news, and censorship. The most
well-known decentralized method used today is blockchain technology, which has been
considered when creating the next generation of decentralized social platforms. Blockchain
was initially primarily utilized for Bitcoin; however, it is now being applied on many other
platforms and used for a variety of other goals. The usage of Blockchain in social media has
several advantages, including enhanced user privacy, circumvention of limitations, and the
ability for users to conduct bitcoin transactions via social media sites.
An entity can easily be tokenized and traded on a blockchain thanks to them. This implies that
any form of content, including audio, video, and images, can be tokenized and exchanged on
the Blockchain. By providing a visible, immutable, and certifiable operation registry and
creating a secure peer-to-peer environment for storing and transferring data, blockchains can
ensure the origin, trustworthiness, and traceability of data. Combating misinformation by
tracking down and verifying the source of potentially dangerous facts is another useful
technique. Another use is the construction of a register of submitted images with information
such as locations, contracts, ownership of copyrights, and other metadata that can be verified
by anybody.
5
2. Literature Survey.
We studied 11 papers relevant to our project. These papers helped us review the already
existing social media applications on Blockchain and also study the features which can be
implemented in our project.
The Delegated Proof-of-Stake (DPoS) consensus process is used to collaboratively run the
platform on Steemit by a decentralised community of 21 members, who are elected on a regular
basis. Steemit's real level of decentralisation is much lower than the desired level, suggesting
that using the DPoS consensus system to create a highly decentralised social media network
may not be the best option. A new Byzantine Agreement (BA) protocol was put forth by the
cryptocurrency Algorand, which enables the election to be fairly carried out by Verifiable
Random Functions in cryptography rather than by users. Users on Steemit produce material in
the form of posts, which are then vetted based on user votes. The network occasionally gives
cryptocurrency to popular post creators and curators as a reward. The current incentive system
is being abused because the benefits are given to a purported bot network that makes up 16%
of the network.
6
Figure 1: Steemit User Architecture
The study offers a method for identifying bots by looking at the time correlation between
transfer and voting activities. The findings in this article offer perceptions on the state of the
new blockchain-based social media networks, including the efficiency of the architecture,
functionality, and incentive system.
On social media, there is a lot of false material that can mislead readers and users in search of
the correct information. In order to better forecast false user accounts and postings and detect
fake news, the study offers an integrated approach using Reinforcement Learning technique
for several blockchain and natural language processing (NLP) features. Fake news problems
emerge in the diplomatic, economic, and political spheres as an unresolved issue in social
networks' data and information consuming application layer and as a severe and difficult
problem in information progress. Fake news detection is the capability of contents analysis
based on truth in the shared information
7
Figure 2: Block diagram of the proposed fake news detection approach.
The model that is being given makes use of features like shared news date and time, type of
news, and user gender for knowledge discovery using information that has been gathered via
DM approaches. The greatest option for the prediction model input is the time-series data
because it has useful information. This technique examines the scheduled day for sharing news
based on day, month, and year in the first phase. The second step is to examine the entire
volume of news using daily, monthly, and annual analyses.
Blockchain is utilized for deploying the social media application. The user ID can be obtained
from there. When news is generated, the transaction will broadcast it throughout the chain.
Here, we will only discuss specific news stories that have received more than a given threshold
of virality, such as 5000+ shares. The word will get around the chain. The news may also be
delivered to general users, although it will not receive a rating at first. As time goes on,
validators will offer their opinions, and the users' news will then appear along with a rating.
This score indicates how accurate and genuine a piece of news is.
The paper suggests a validation based on weights. Two different weight types will be used.
There is a weight assigned to each unique user. The likelihood of getting chosen as a validator
is determined by this weight. This will have an additional impact on how a person is rated.
8
Think about two people, one weighing 4.8 pounds and the other 4.0. The user with 4.8 weight
will have a higher chance than the user with 4.0 weight of being chosen as a specific news
validator. The user rating with the greater weight will also contribute more to the final
score than the user with the lower weight. Our validation phases also have additional
weight. It involves two stages. There is only one weight assigned to the initial phase.
There will be two steps to the validation process. The chosen users who work for journals and
newspapers within a certain nation are the first phase validators. At first, these news reporters
on the site are presumed to be reliable. In order to review the news, validators must register.
These groupings are registered according to where they live and work. country. choosing a
team to validate a piece of news is arbitrary. The basis for this randomness is a weight of a
single individual. Validators on the second phases will be determined by proximity, i.e., the
location of the incident which has been made aware of the news. The examiners who come
from The rating's highest weight is placed in the same region calculations using a 1–5 scale.
9
The truth-discovery algorithm is used to solve conflicts of information that come from different
noise sources. This algorithm defines degrees of reliability for a given set of sources, based on
the information provided by this source. Figure 1 illustrates the operation of the truth-discovery
algorithm. For an object of interest called object, diverse sources s provides an information o
in relation to the object. The truth-discovery algorithm processes this information by
considering the reliability index of each w source, to get at a conclusion from which sources
comes the true information t.
Proposed Architecture:
In our architecture, each news source is considered a network node in the blockchain. The
purpose of using this type of architecture is to guarantee the reliability level of each network
source. As a consensus algorithm, we choose to use the truth-discovery algorithm. We choose
to define each news as a block to generate transparency due to the centralized architecture.
Proof of Concept and Results:
We used the ganache platform and the Solidity language to develop a proof of concept for a
news-sharing network. The tests were conducted on a private network, with one processing
node and a block size of 12,176,426 gas and 2 Wei gas price.
Algorithm 1. Contract Linkage Function
1: procedure GENERATE CHILDREN(address pChildren, address Contract)
2: address nC = new NewsLedger()
3: NewsLedger pC = NewsLedger pChildren
4: for i=1 to pChildren.size do
5: for j=1 to newChildren.size do
6: if nC.dataframe[j].source equals dataframe[i].source then
10
7: nC.dataframe[j].trust = pC.dataframe[i].trust
8: end if
9: end for
10: end for
11: Contract = nC
12: end procedure
The given algorithm is an architecture that links the trustability of each source in the creation
of each new smart contract regarding a new object. The function, based on the address of the
previous contract, generates an instance of the new contract, crossing both contracts, searching
for similar sources that if found, have their reliability attribute modified.
Related Work:
Song et al. describe the use of blockchain to ensure the authenticity of publications on social
networks. In their model, the social media service provider generates a digital signature through
Public Key Infrastructure on each publication done by users and stores the digital signature in
the blockchain. When a user wants to check if an image is real, it checks in blockchain whether
the hash of the images.
Conclusion and Future Work:
In this paper, we have presented a blockchain architecture focused on fake news detection. Our
architecture defines each block as an object, and inside each object is stored what each source
knows about this object. We will also develop a data mining module aimed at obtaining
metadata of every social media article.
11
2.2. Limitations of Existing system.
Over the past two decades, social media platforms have become vast and powerful tools for
connecting, communicating, sharing content, conducting business, and disseminating news and
information. Today, millions or billions of users populate major social networks including
Facebook, Instagram, TikTok, Snapchat, YouTube, Twitter, LinkedIn, and dating apps like
Grindr and Tinder.
But the extraordinary growth of social media has given platforms extraordinary access and
influence into the lives of users. Social networking companies harvest sensitive data about
individuals’ activities, interests, personal characteristics, political views, purchasing habits, and
online behaviors. In many cases this data is used to algorithmically drive user engagement and
to sell behavioral advertising—often with distortive and discriminatory impacts.
The privacy hazards of social networks are compounded by platform consolidation, which has
enabled some social media companies to acquire competitors, exercise monopolistic power,
and severely limit the rise of privacy-protective alternatives. Personal data held by social media
platforms is also vulnerable to being accessed and misused by third parties, including law
enforcement agencies.
The massive stores of personal data that social media platforms collect and retain are vulnerable
to hacking, scraping, and data breaches, particularly if platforms fail to institute critical security
measures and access restrictions. Depending on the network, the data at risk can include
location information, health information, religious identity, sexual orientation, facial
recognition imagery, private messages, personal photos, and more. The consequences of
exposing this information can be severe: from stalking to the forcible outing of LGBTQ
individuals to the disclosure of one’s religious practices and movements.
Data collection is at the core of many social media platforms’ business models. For this reason,
mergers and acquisitions involving social networks pose acute risks to consumer privacy. Yet
in recent years, platforms that have promised to protect user privacy have been repeatedly taken
over by companies that fail to protect user privacy.
12
2.3. Problem Statement
The aim of the project is to develop a social media application called “Bleep”. User privacy on
social media platforms like Twitter, Whatsapp, Facebook, and others is a growing concern.
This is because they are governed and monitored by centralized corporations. Having an
account on these platforms means you are giving away your privacy rights in their hands.
Moreover, content posted on such media platforms is also used frequently for political gains
and to curb dissent. Apart from security and privacy, content producers on social media
platforms are losing a significant amount of money due to the involvement of third-party
intermediaries. Blockchain provides solutions to overcome those challenges.
With Decentralized networks, unethical usage of users’ data can be prevented. Blockchain
technology uses cryptography to protect the interactions between users, which results in data
security and privacy. As there is no central authority, the usage of data is controlled by the
users themselves, resulting in freedom of expression. So, users can control what they can
publish and what not to. Our application will be built using the Solidity programming language
on the Ethereum Blockchain.
2.4. Scope
This project’s inherent objective is to delve into the Blockchain technology and gain practical
experience by using the tools, software, and programming languages in Blockchain
development. Our project does not aim to develop a commercial end-product to the general
public. Hence, initially it is not aimed to be deployed for public use.
Due to the non-public facing nature of the project, the security checks haven’t been planned to
be done robustly. The project’s security depends primarily on the security of the Ethereum
Blockchain. The proposed plans of the project are not binding. Some features proposed can be
dropped due to complexity or non-integration issues. Some new features can be done
depending on its relevance to the project.
13
3. Proposed System
Ethereum
Ethereum is a blockchain with a computer embedded in it. It is the foundation for building apps
and organizations in a decentralized, permissionless, censorship-resistant way.
In the Ethereum universe, there is a single, canonical computer (called the Ethereum Virtual
Machine, or EVM) whose state everyone on the Ethereum network agrees on. Everyone who
participates in the Ethereum network (every Ethereum node) keeps a copy of the state of this
computer. Additionally, any participant can broadcast a request for this computer to perform
arbitrary computation. Whenever such a request is broadcast, other participants on the network
verify, validate, and carry out ("execute") the computation. This execution causes a state
change in the EVM, which is committed and propagated throughout the entire network.
Requests for computation are called transaction requests; the record of all transactions and the
EVM's present state gets stored on the blockchain, which in turn is stored and agreed upon by
all nodes.
Cryptographic mechanisms ensure that once transactions are verified as valid and added to the
blockchain, they can't be tampered with later. The same mechanisms also ensure that all
transactions are signed and executed with appropriate "permissions" (no one should be able to
send digital assets from Alice's account, except for Alice herself).
Web3js
The web3.js library is a collection of modules that contain functionality for the ethereum
ecosystem.
• web3-eth is for the ethereum blockchain and smart contracts.
• web3-shh is for the whisper protocol, to communicate p2p and broadcast.
• web3-bzz is for the swarm protocol, the decentralized file storage.
• web3-utils contains useful helper functions for Dapp developers.
HTML (HyperText Markup Language) is the most basic building block of the Web. It defines
the meaning and structure of web content. Other technologies besides HTML are generally
14
used to describe a web page's appearance/presentation (CSS) or functionality/behavior
(JavaScript).
"Hypertext" refers to links that connect web pages to one another, either within a single website
or between websites. Links are a fundamental aspect of the Web. By uploading content to the
Internet and linking it to pages created by other people, you become an active participant in the
World Wide Web.
HTML uses "markup" to annotate text, images, and other content for display in a Web browser.
HTML markup includes special "elements" such
as <head>, <title>, <body>, <header>, <footer>, <article>, <section>, <p>, <
div>, <span>, <img>, <aside>, <audio>, <canvas>, <datalist>, <details>, <em
bed>, <nav>, <output>, <progress>, <video>, <ul>, <ol>, <li> and many others.
An HTML element is set off from other text in a document by "tags", which consist of the
element name surrounded by "<" and ">". The name of an element inside a tag is case
insensitive. That is, it can be written in uppercase, lowercase, or a mixture. For example,
the <title> tag can be written as <Title>, <TITLE>, or in any other way. However, the
convention and recommended practice is to write tags in lowercase.
Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a
document written in HTML or XML (including XML dialects such
as SVG, MathML or XHTML). CSS describes how elements should be rendered on screen, on
paper, in speech, or on other media.
CSS is among the core languages of the open web and is standardized across Web browsers
according to W3C specifications. Previously, the development of various parts of CSS
specification was done synchronously, which allowed the versioning of the latest
recommendations. You might have heard about CSS1, CSS2.1, or even CSS3. There will never
be a CSS3 or a CSS4; rather, everything is now CSS without a version number.
The standards for JavaScript are the ECMAScript Language Specification (ECMA-262) and
the ECMAScript Internationalization API specification (ECMA-402). As soon as one browser
implements a feature, we try to document it. This means that cases where some proposals for
new ECMAScript features have already been implemented in browsers, documentation and
examples in MDN articles may use some of those new features. Most of the time, this happens
between the stages 3 and 4, and is usually before the spec is officially published.
Truffle
A world class development environment, testing framework and asset pipeline for blockchains
using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier. With
Truffle, you get:
Ganache is a personal blockchain for rapid Ethereum and Corda distributed application
development. You can use Ganache across the entire development cycle; enabling you to
develop, deploy, and test your dApps in a safe and deterministic environment.
Ganache comes in two flavors: a UI and CLI. Ganache UI is a desktop application supporting
both Ethereum and Corda technology. Our more robust command-line tool, ganache, is
available for Ethereum development.
16
It offers:
• console.log in Solidity
• Zero-config Mainnet and testnet forking
• Fork any Ethereum network without waiting to sync
• Ethereum JSON-RPC support
• Snapshot/revert state
• Mine blocks instantly, on demand, or at an interval
• Fast-forward time
• Impersonate any account (no private keys required!)
• Listens for JSON-RPC 2.0 requests over HTTP/WebSockets
• Programmatic use in Node.js
• Pending Transactions
17
3.2. Details of Hardware and Software
Hardware requirements:
Software Requirements:
• Microsoft Windows
• Web Browser (Chrome Recommended)
• Solidity
• Visual Studio Code
• Geth
• Mist
• Solc
• Remix
• Metamask
• Truffle
• Ganache
• Blockchain Testnet
18
3.3. Design Details
Use Case Diagram
Use case diagram has been used to perform requirements analysis in order to understand the
core functionalities and usage scenarios associated with the identical requirements. A Use case
diagram simply shows how the system looks from outside i.e., User’s point of view. The system
will be treated as a black box and one solely identifies what the system will be used for. The
components of the Use-case diagram include actors, use-cases, associations and the system
boundary.
1. Actors: represents the external entities of the system i.e. people or things that interact
with the system that is being modeled.
2. Use Cases: are functional parts of the system. It is what an actor does e.g. a customer
"browses the catalog", "chooses items to buy", and "pays for the items".
3. Associations: are shown between actors and use cases, by drawing a solid line between
them. It links an actor with the use case it interacts with.
4. System Boundary: represents the scope of the system the actor is interacting with.
The use case has two (2) actors and sixteen (16) use cases. The Administrator is the
manager of the system, User are the main users of the system. The following use case diagram
illustrate the system. The Use-case diagram is shown in the next Figure.
19
Figure 4: Use-Case Diagram of Web Application
20
Data Flow Diagram
Figure 1 shows that there would be three sources of data within the system: the User(s), Social
Networking Application, and the System Admin. User(s) will provide information as input, the
system will gather all information and generate services as outputs to the users.
21
Figure 6: Level 1 DFD, Social Networking Application
Figure 2 represents the Social Networking Application major processes, data flow and data
stores. There are three streams or flows of data. The user information input for registration is
being stored in user account database.
22
Figure 7: Level 2.1 DFD, Online Registration
Figure 3 shows that the decomposition process 1.0 online registration from level 0 diagram of
Social Networking Application. The user will register online. Once the user has registered,
the System Admin will have the authority to verify and update all user account being entered.
23
Figure 8: Level 2.2 DFD, Online Services
Figure 4 shows that the decomposition process 2.0 the Online Services. The user will be able
to use the services of Social Networking Application like chat: sending messages in real time
upload images and files. The user will also be given the functionality to manage his/ her profile.
24
Figure 9: Level 3.1 DFD, System Admin
Figure 5 shows that the decomposition process 3.0 which is System Admin Maintenance. The
system administrator will be responsible for updating the user account and services then,
acknowledge all the
25
3.4. Relevance to PO and PSO of the Department.
Engineering knowledge 3
Problem analysis 2
Design/development of solutions 3
Ethics 3
Communication 3
Life-long learning 3
Industry Readiness 3
26
4. Implementation Plan
27
Conclusion
In this report, we have presented the result of the Literature Survey done on existing Social
Media Blockchain applications. We had studied 11 papers on the subject which helped to gain
the understanding of the use case of Blockchain for social media. Several features like fake
media detection were also studied which could be implemented in our project. We have pointed
out the limitations in existing applications and proposed our own project to overcome these
limitations. The detailed implementation plan and design of the project is presented. The Data
Flow Diagram and Use case diagram is presented to brief about the proposed architecture of
the project.
28
References
3. Fake News Detection in Social Media using Blockchain - Shovon Paul, Jubair Islam
Joy et al.
6. Social networks and Web 3.0: their impact on the management and marketing of
organizations - Fernando J. Garrigos-Simon, et al.
8. Blockchain-based Notarization for Social Media - Gyuwon Song, Suhyun Kim, et al.
9. Social Media Services and Technologies Towards Web 3.0 - Neil Y. Yen & Chengcui
Zhang, et al.
10. When blockchain meets social-media: Will the result benefit social media analytics for
supply chain operations management? - Tsan-Ming Choi, et al.
11. An Overview of Blockchain Online Social Media from the Technical Point of View -
Barbara Guidi
12. Ushare: user controlled social media based on blockchain - Antorweep Chakravorty, et
al.
13. Cryptography and Network Security: Principles and Practice – William Stallings
14. Mathieu Bastian et al. Gephi: an open source software for exploring and manipulating
networks. Icwsm, 8(2009):361–362, 2009.
29
15. Steem blockchain [Internet]. Available from. https://developers.steem.io/. Accessed
Oct. 2018.
16. Vitalik Buterin et al. A next-generation smart contract and decentralized application
platform. white paper, 2014.
30