Understanding Blockchain Technology Basics
Understanding Blockchain Technology Basics
Properties
A. Decentralized: Blockchain can run without a central hub, authority, or
clearing house in the middle; for example, it can operate among small
business borrowers and lenders without a bank in between. Blockchain is
inherently decentralized, which is why it is also called a “distributed”
ledger.
B. Immutable Records: Each entry on a blockchain is immutable, meaning it
cannot be altered or deleted the way information in a typical database
can. It is the users of blockchain, not a central authority, that validate
each entry made on blockchain. This implies major cost savings for
companies and governments that typically carry out such activities as
validating databases and computer systems. Data on a blockchain also
fundamentally builds trust and removes informational asymmetries among
users.
C. Identity Revelation: Each user on a blockchain has a secure id entity and
can reveal only parts of it. Blockchain-based identities can be “self-
sovereign,” administered by the identity holder and based on the
Decentralized Identifiers (DiDs) that are much like a secure website that is
cryptographically stored on a blockchain ledger.3 Each DiD is assigned to
the different parts o f a user's identity; one DiD could be your name,
another your passport number, still another your date of birth. As a user,
you could provide access to a DiD or DiDs of your choice to a third party,
none of which could otherwise access any part of your identity.
D. Automation: Blockchain can automate the fulfilment of contractual
obligations. So-called smart contracts can be built on a blockchain to do x
when event y happens and thus automate what in many cases are still
manual, paper-based processes involving costly intermediaries.
E. Tokenization of Assets: Blockchain makes it easy to transact such pieces
of assets by tokenizing them. Blockchains can convert just about any asset
into a digitized token that is fungible and tradable—one that is easy to buy
and sell among the users of a blockchain—but that is also secure. A token
is an algorithmically generated random number that essentially converts
sensitive data into non-sensitive data, and tokenization is already used to
prevent credit card fraud. Once a user buys a token, his or her ownership
is secure and cannot be erased: blockchain leaves a tamper-proof trail
regarding who owns which asset when.
Blocks
Let us say Aron wishes to initiate a transaction, in order to do so he would need
to broadcast the intended transaction out to the rest of the network. Periodically,
all the computers on this network will gather up any pending transactions that
await approval into a single group, also known as a ‘block’ that is vetted to
ensure that each transaction adheres to the blockchain’s rules and possesses a
valid signature from the nodes. Once a majority consensus is achieved on the
validity of this new block, it is added to the chain and hence the process repeats
itself.
A block is identified using either the block hash or the block height,
- Block Height: Block height refers to the sequence of the blocks from the
genesis block to the newest block. It acts as identification created for the
blocks after the genesis block which has a nil height as there are no blocks
prior to it. In blockchain, the total height of the chain depends on the
blocks added. Thus, with the inclusion of blocks, the height also increases.
It is directly proportional to the number of validated blocks.
Types
Blockchain networks are characterised into four categories, namely:
1. Public Blockchains
2. Private Blockchains
3. Hybrid Blockchains
4. Consortium Blockchains
I. Public Blockchains
Public blockchain networks are the most open and inclusive type of blockchain.
Anyone can join and participate without needing permission. This openness
promotes decentralization and ensures that no single entity has control over the
network. However, this also means that public blockchains often require
substantial computational power and can have slower transaction speeds.
Features
- Universal Access: Every node has access to read and write on the ledger.
Anyone can download and add notes to the system.
- Decentralized: It is purely decentralized.
- Anonymity: Transactions cannot be tracked back to the user.
- Slower: It is comparatively slower when put to other types of blockchain.
Applications
Public blockchains are ideal for scenarios where trust and transparency are
paramount. They are commonly used for cryptocurrencies like Bitcoin and
Ethereum.
II. Private Blockchains
In a private blockchain network, only selected and verified participants can join.
A single organization governs the network, controlling participation, running a
consensus protocol, and maintaining the shared ledger. This controlled
access significantly boosts trust and confidence among the nodes. Unlike public
blockchains, a private blockchain can be run behind a corporate firewall and
even be hosted on premises.
Features
- Restricted Access: Private blockchains are only accessible to authorized
participants.
- Enhanced Security: The data and information related to participants have
limited visibility, and confidentiality is paramount.
- Controlled Consensus: Private blockchains use consensus mechanisms
that fit the participants’ needs. The controlling organization sets
customized rules on operation, governance, and decision-making.
Applications
Private blockchains are utilised in Hyperledger fabric, (used by various
businesses for supply chain management, finance, and healthcare), Quorum
(developed by JP Morgan and relied upon for high privacy and transaction speed)
Features
- Closed Ecosystem: A hybrid blockchain permits communication with
outside parties while maintaining anonymity.
- Data Security: Hybrid blockchains allow slightly more scope and offer
tighter data security procedures.
- New Regulations: The good thing about hybrid blockchain is that new
regulations must be implemented. However, the goal of the hybrid
blockchain will determine the type of modification.
- Economical: Given that just a small number of nodes are required to
validate transactions, their cost is guaranteed to be cheaper.
Applications
The best example of a hybrid blockchain is XinFin, the first hybrid blockchain
launched in 2017 built on the public blockchain Ethereum and the private
blockchain Qurorum.
Features
- Permissioned Network: A consortium blockchain is a permissioned network
that only allows pre-selected entities to participate. This ensures that the
network is secure and only accessible to trusted parties.
- Private: It is also a private network that is not accessible to the public. This
ensures that the data is only visible to the participants and remains
secure. Participants can customize the blockchain to meet their specific
needs and requirements.
- Shared: A consortium blockchain is operated and maintained by a group of
organizations or entities. This shared control allows for greater
collaboration and transparency between participants.
- Transparency: The transparency of the blockchain allows for greater
accountability and traceability of the data. Secure and transparent record-
keeping provides greater trust and confidence in the data recorded on the
blockchain.
Application
Two standout applications of the consortium blockchains are:
R3 Corda in the financial industry that serves as a secure and efficient way for
banks and financial platforms to enable faster transactions, lower operational
costs, and improved inter-firm trust.
The IBM food trust which is used by major companies like Nestle and Walmart to
ensure food safety and transparency across the supply chain.
History of Blockchain
Although the term blockchain gained popularity in the year 2008 with the
introduction of Bitcoin cryptocurrency, its underlying principles and concepts
have been in use since the 1980s.
In the year 1983, David Chaum proposed the concept of blind signatures, a new
form of cryptography that allowed the automation of payments and constrained
third parties from identifying the payee, amount, and time of payment.
Later, in the year 1991, the concept of timestamped documents was introduced
by a group of researchers who were trying to secure digital documents by
stamping the documents with the date.
In 2004, Harold Thomas Finney II (Hal Finney) introduced the Reusable Proof of
Work (RPOW).
It was in 2008 when blockchain made its public debut with a paper titled
“Bitcoin: A Peer-to-Peer Electronic Cash System” outlining the development of a
secure and transparent currency without the involvement of a bank or central
party. The first bitcoin transaction took place in the year 2009 when a
transaction of 10 BTC (Bitcoin) was done to his friend Hal Finney. This marked the
beginning of the first generation of blockchain technology. In the year 2010, the
world’s first bitcoin exchange was set up by the name “Bitcoin market”.
In 2013, Vitalik Buterin proposed the concept of smart contracts in his white
paper “Ethereum: The Ultimate Smart Contract and Decentralized Application
Platform”. In 2015 Ethereum launched its blockchain. The Linux Foundation
launched Hyperledger the same year which provides a set of tools for the
creation of blockchain. In 2016 the DAO project was built on top of Ethereum
which raised US$ 150 million. Later, in the same year, it was attacked causing a
loss of around US$ 50 million.
Building a Blockchain
Infrastructure Requirements
A blockchain is much more than a new type of software or database. This is why
a smart and comprehensive infrastructure is required. This section delves into
the blockchain infrastructure’s software and hardware requirements.
Software Requirements
1. Solidity: Solidity was created to target the Ethereum Virtual Machine and was
influenced by Python, C++, and JavaScript. Blockchain developers can use
Solidity to create apps that can execute self-enforcing business logic
contained in smart contracts, resulting in an authoritative transaction record.
This is useful for establishing voting contracts, crowdfunding contracts, multi-
signature wallets, and blind auctions.
2. Geth: On the Ethereum Blockchain, Geth is used for a variety of operations,
including token transfers, ether mining, the creation of smart contracts, and
block history exploration. You can link with any existing Blockchain or start a
new one after downloading Geth. The good news is that Geth makes things
easier by linking to the Ethereum core net seamlessly.
3. Mist: The official Ethereum wallet created by Ethereum's developers is called
Mist. Mist is useful because there is a need for a specified location where you
can keep the Ether tokens and carry out your smart contracts before you can
begin utilizing the network.
4. Solc: A C++ command-line compiler for Solidity is called Solc (Solidity
Compiler). Its main objective is to translate Solidity scripts into a format that
the Ethereum Virtual Machine can understand more easily.
5. Remix: Remix is most commonly referred to as Remix IDE (Integrated
Development Environment). It is an open-source web and desktop application,
a development environment, if you will. It packs a rich set of plugins and
fosters a fast development cycle via intuitive GUI. Moreover, Remix IDE is
primarily used for the entire process of smart contract development. In
addition, it serves as a playground for teaching and learning how to use the
Ethereum network.
6. MetaMask: MetaMask is a wallet designed to function that acts as a bridge
between Ethereum Blockchain and a browser (Chrome or Firefox). Essentially,
it acts as a browser extension. MetaMask offers a software platform that
allows you to serve Ether and other ERC-20 assets while also letting you
interact with Ethereum Dapps. The best part – you can do so right from your
browser. Since it can interact with different Ethereum test networks, it makes
an ideal wallet for Blockchain Developers. Once you installed the app in your
browser, you have a built-in Ethereum wallet ready to be used.
7. Blockchain Test net: A test net or test network is a type of network that can
provide functionalities similar to that of a main network (main net).
Developers can use test net as a simulated version of main net to test,
modify, or create projects on blockchain networks.
Testing or implementing new features on the main net can be highly risky and
irreversible in case of any errors. So, blockchain developers first conduct the
trials on the test net to monitor the functioning before adding it live on the
main net.
8. BaaS: Blockchain-as-a-service (BaaS) involves a third-party offering cloud-
based solutions that enable an organization to build and run blockchain
applications and smart contracts without the requirement of in-house
blockchain infrastructure. BaaS providers offer the flexibility and capability of
blockchain technology and the ability to reach a wider audience.
Hardware Requirements
Blockchain computing hardware is generally referred to as high-performance
computers or HPCs. These powerful computers are important to businesses
because they enable tasks to be completed quickly and error-free.
These specifications and requirements may include processing speed, memory,
storage, plug-ins, and environmental constraints such as shock, vibration,
temperature fluctuations, and humidity levels.
1. Central Processing Unit
The CPU or processor is the main component of a system. It is the brain of a
computer system. It carries out complex operations that control the entire
computer. Improved CPU performance translates into quicker work completion as
it increases performance. However, blockchain technology is revolutionizing how
we perceive computing power, particularly latency and real-time transactions.
2. Blockchain and GPUs
Graphics cards are also referred to as graphics processing units. A GPU is
designed to handle a computer’s display tasks, such as video rendering.
A GPU is made to perform several calculations per second with one important
restriction: the calculations must not be very complicated. As a result, a CPU
uses the GPU to handle specific processes, allowing it to concentrate on other
essential measures that a GPU cannot handle.
3. Nodes and Clients
A node is a computer that performs the essential tasks of the network, such as
authenticating transactions, maintaining blockchain records, storing blockchain
data, or casting votes for network governance. A client is a computer program
that specifies how these important tasks should be carried out.
Depending on how the network is designed, it can support multiple software
implementations or clients. Many computer languages can be used to build
clients and can be implemented differently. There are different proof-of-stake
network nodes: participation nodes, sentry nodes, replay nodes and read/write
nodes.
4. Clusters
A cluster is a set of network-specific nodes and their supporting infrastructure. A
cluster consists of failover protection, load balancers, container services, and
monitoring and alerting services. Two primary use cases include maintaining
multiple clusters and supporting Blockchain client APIs.
Creation of a Blockchain
The following is a prototype built from scratch to give a thorough understanding
of the blockchain’s state machine in the simplest coding language Go in four
simple steps that involve:
- Creating a block
- Adding Data to the block (Header and Body)
- Hashing the blocks
- Chaining the Blocks together
Let’s start with a baby prototype in the Go language.
Blockchain Using Go
If you are unfamiliar with the Go coding language, the developer website for the
same offers a complete beginner’s guide for basic understanding. (A Tour of Go).
There are comments entered to assist in understanding the code.
Step 1: Create A Block
Begin by creating a folder with two files in it, ‘[Link]’ and ‘[Link]’.
Folder Structure
[Link]
If you run this program it will show an error because the CreateBlock function is
not defined yet, so go ahead and create it in [Link].
Step 2: Add Data to Your Blocks
The beauty of Go is that you don’t have to import or export functions, just
declare them with capital letters, and Go will find them for you. Now, open a
terminal and move to your created folder, and run go build, then run “.\go” on
Windows, or “./go” on Linux and Macbook.
Now we have a simple Go program that calls a function and passes some string
data. Let us add two more files to make our total number of files equate to four:
- [Link]
- [Link]
Ans: Each blockchain is established by consensus between the chain's users. This
means that after a transaction has been validated a number of times, the
cryptography in the blockchain ensures the entry cannot be reversed. However,
blockchain does have three types of vulnerabilities.
1. Consider a large city that leverages blockchain applications. Who should
be able to access the data on the blockchain? Should they be able to
access it in full or in part? These questions are especially pressing when
there is a “single point of failure,” such as in a corporation or local or
national government. To answer them, the blockchain manager would
need to balance many issues. One is security and accessibility: for
example, to control access, the city might want to have several layers of
passwords to a computer and store data in an encrypted format, yet
enable city government officials to easily access data for improving their
day-to-day operations. In addition, the blockchain manager would need to
protect unstructured data (information that is not reams of structured data
such as numbers, but consists, for example, of written business
documents), while also allowing for redaction of all or parts of them,
depending on the role of the user.
2. The second vulnerability is the possibility that a blockchain could be
hijacked and hacked if 51 percent of the chain is controlled by a bad node
that wants to tamper with the results. The issue is not trivial: the state of
Michigan has recently introduced a bill that imposes criminal penalties for
manipulating data on blockchains in order to commit fraud. The upside of
the famous “51% rule” is that it also makes it possible for a blockchain
platform to “fork” out a hacker's data entry, capture the money, and leave
the chain looking like the hack never occurred. This is what Verge, a
cryptocurrency platform, did in April 2018 when an attacker stole 250,000
verges, the currency unit.
3. The third vulnerability of blockchain systems is What if the data imputed
on the blockchain, for example, on a medical treatment are inaccurate or
fraudulent to begin with? This is a thorny question, but one that can be
overcome by replacing humans with machines in making data entries.
Terms Of Reference
1. Node: A participant in the blockchain network.
2. Cryptography: It is the process of hiding or coding information so that only
the person a message was intended for can read it.
3. Decentralised Identifier: It is an address on the internet that someone
referred to as Subject, which could be you, a company, a device, a data
model, thing, can own and direct control. It can be used to find a DID
document connected to it, which provides extra information for verifying
the signatures of that subject.
4. Smart Contracts: They are digital contracts stored on a blockchain that are
automatically executed when predetermined terms and conditions are
met. Typically used to automate the execution of an agreement so that all
participants can be immediately certain of the outcome, without any
intermediary’s involvement or time loss.
5. Hashing: It is the process by which any type of data fed to the algorithm
gets an output that is unique to that provided data.
6. Block Validation: This refers to a process in the blockchain where a group
of participants operate different nodes to validate (and verify) the
transactions. The prime purpose of this process is to confirm all the
transactions before adding them to the blockchain or database.
7. Ethereum Virtual Machine (EVM): The EVM governs what nodes can or
cannot do to the distributed ledger maintained by the Ethereum
blockchain and also defines the specific rules of changing state from block
to block.
8. Proof Of Work (PoW): It is a consensus mechanism used in blockchain
networks to verify transactions and create new blocks.
9. Reusable Proof of Work (RPOW): This is a system that allows users to
provide proof that they have performed a certain amount of computational
work without needing to reveal the details of that work. This is achieved
through the use of specially designed servers that can verify the work and
issue tokens or credits to the users.
[Link] Explorer: A block explorer is a place where you can view every wallet
address (and its history), along with every transaction and details that
have been recorded on a blockchain network.
[Link] Applications (DAPP): These are smart contract-based
protocols and applications that operate on public blockchains. One of the
defining features of Dapps is that they are not under the control of any
single authority. Instead of relying on centralized servers with a single-
point-of-failure, DAPPS use a distributed network of computers.
Accordingly, many are community-governed. Furthermore, public DAPPS
offer borderless and permissionless access presenting utility for a global
market. Also, indiscriminate financial DAPPS provide business new
opportunities to developing countries and economies
Bibliography
I. [Link]
II. [Link]
III. [Link]
IV. [Link]
V. [Link]
VI. [Link]
VII. [Link]
VIII. [Link]
IX. [Link]
X. [Link]
XI. [Link]
XII. [Link]
XIII. [Link]
XIV. [Link]
XV. [Link]
XVI. [Link]
XVII. [Link]
XVIII. [Link]
XIX. [Link]
XX. [Link]
XXI. [Link]
XXII. [Link]
XXIII. [Link]
XXIV. [Link]
XXV. [Link]
XXVI. [Link]
XXVII. [Link]
XXVIII. [Link]
XXIX. [Link]
XXX. [Link]
XXXI. [Link]
XXXII. [Link]
XXXIII. [Link]
XXXIV. [Link]
XXXV. [Link]
XXXVI. [Link]
XXXVII. [Link]
XXXVIII. [Link]
XXXIX. [Link]
XL. The World of Blockchain by Debajani Mohanty
XLI. A comprehensive review of blockchain technology: Underlying principles and
historical background with future challenges by Gautami Tripathi
XLII. The Human Rights Risks and Opportunities in Blockchain by William Crumpler, Marti
Flacks, Amith Mandavilli
XLIII. Disadvantages and Advantages of Blockchain by Mukhammedova Zarina Murodovna