Blockchain End Sem - Important Question and Solution

Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

This Blockchain End Sem PDF has been brought to you by,

( also including Urvi - now a part of Niru Gang Conglomerate)

Motivation - smallify.live/real-motivation

Niru Gang
Chapter 1

Define Blockchain
● Blockchain is a list of records called blocks that store data publicly and in chronological
order.
● This information is encrypted using cryptography to ensure that the privacy of the user is
not compromised and data cannot be altered.
● Blockchain is a peer-to-peer (P2P) distributed network that connects nodes.
● Blockchain is decentralized. It means there’s no central point of authority in the network.
● Each node carries the same copy of network records.
● Every network update (such as adding a new block) requires consensus or global
network agreement.

Explain concept of Merkle tree and its use in Blockchain.


● Merkle tree is a mathematical data structure composed of hashes of different blocks of
data, and which serves as a summary of all the transactions in a block.
● Merkle tree is a fundamental part of blockchain technology.
● It also allows for efficient and secure verification of content in a large body of data.
● Both Bitcoin and Ethereum use Merkle Trees structure.
● Merkle Tree is also known as Hash Tree.
● A Merkle tree stores all the transactions in a block by producing a digital fingerprint of the
entire set of transactions.
● It allows the user to verify whether a transaction can be included in a block or not.
● Merkle Root is stored in the block header.

● Use in blockchain:
○ It is used to validate the data's integrity effectively.
○ Compared to other data structures, the Merkle tree takes up very little disk space,
hence the size of records on each node is minimized.
○ Merkle trees can be broken down into small pieces of data for verification, hence
making verification less computationally intensive.As the data format is efficient,
verifying the data's integrity takes only a few moments.

Niru Gang
Explain in detail the components of Blockchain.
Node
● Full Node: It maintains a full copy of all the transactions. It has the capacity to validate,
accept and reject the transactions.
● Partial Node: It is also called a Lightweight Node because it doesn’t maintain the whole
copy of the blockchain ledger. It maintains only the hash value of the transaction. These
nodes have low storage and low computational power.

Ledger
It is a digital database of information.
There are three types of ledger. They are:
● Public Ledger – It is open and transparent to all. Anyone in the blockchain network can
read or write something.
● Distributed Ledger – In this ledger, all nodes have a local copy of the database. Here, a
group of nodes collectively execute the job i.e verify transactions, add blocks in the
blockchain.
● Decentralized Ledger – In this ledger, no one node or group of nodes has a central
control. Every node participates in the execution of the job.

Wallet
It is a digital wallet that allows users to store their cryptocurrency.
Every node in the blockchain network has a Wallet.
Privacy of a wallet in a blockchain network is maintained using public and private key pairs.
Cryptocurrency wallets are mainly of two types –
● Hot Wallet – These wallets are used for online day-to-day transactions connected to the
internet. Hackers can attack this wallet as it is connected to the internet. Hot wallets are
further classified into two types –
○ Online/ Web wallets – These wallets run on the cloud platform. Examples –
MyEtherWallet, MetaMask Wallet.
○ Software wallets – It consists of desktop wallets and mobile wallets. Desktop
wallets can be downloaded on a desktop and the user has full control of the
wallet. An example of a desktop wallet is Electrum.
○ Mobile wallets: designed to run on mobile devices: eg. mycelium.
● Cold Wallet – These wallets are not connected to the internet. It is very safe and hackers
cannot attack it. These wallets are purchased by the user. Example – Paper wallet,
hardware wallet.
○ Paper wallet – They are offline wallets in which a piece of paper is used that
contains the crypto address. The private key is printed in QR code format. QR
code is scanned for cryptocurrency transactions.
○ Hardware wallet – It is a physical electronic device that uses a random number
generator that is associated with the wallet.
The focus of wallets is on these three things –
● Privacy
● Transactions should be secure

Niru Gang
● Easy to use

Nonce
● A nonce is an abbreviation for “number only used once,” which is a number added to a
hashed or encrypted block in a blockchain.
● It is the 32-bit number generated randomly only one time that assists to create a new
block or validate a transaction.
● It is used to make the transaction more secure.
● It is hard to select the number which can be used as the nonce.
● It requires a vital amount of trial-and-error.
● First, a miner guesses a nonce. Then, it appends the guessed nonce to the hash of the
current header.
● After that, it rehashes the value and compares this to the target hash.
● Now it checks whether the resulting hash value meets the requirements or not. If all the
conditions are met, it means that the miner has created an answer and is granted the
block.

Hash
The data is mapped to a fixed size using hashing. It plays a very important role in cryptography.
In a blockchain network hash value of one transaction is the input of another transaction.
Properties of the hash function are as follows –
● Collision resistant
● Hiding
● Puzzle friendliness

Explain types of blockchain.


Public Blockchain
● These blockchains are completely open to following the idea of decentralization.
● They don’t have any restrictions, anyone having a computer and internet can participate
in the network.
● As the name is public, this blockchain is open to the public - which means it is not owned
by anyone.
● All the computer in the network hold the copy of other nodes or block present in the
network

Advantages:
● Trustable: Public Blockchain nodes do not need to know or trust each other because the
proof-of-work procedure ensures no fraudulent transactions.
● Secure: A public network can have as many participants or nodes as it wants, making it
a secure network. The higher the network's size, the more records are distributed, and
the more difficult it is for hackers to hack the entire network.
● Open and Transparent: The data on a public blockchain is transparent to all member
nodes. Every authorized node has a copy of the blockchain records or digital ledger.

Niru Gang
Disadvantages:
● Lower TPS: The number of transactions per second in a public blockchain is extremely
low. This is because it is a large network with many nodes which take time to verify a
transaction and do proof-of-work.
● Scalability Issues: Its transactions are processed and completed slowly. This harms
scalability. Because the more we try to expand the network's size, the slower it will
become.
● High Energy Consumption: The proof-of-work device is expensive and requires lots of
energy.

Use Cases:
● Voting: Governments can use a public blockchain to vote, ensuring openness and trust.
● Public Blockchain is secured with proof of work or proof of stake; they can be used to
displace traditional financial systems.

Examples of public blockchain are Bitcoin, Ethereum.

Private Blockchain
● This blockchain operates in a private context, such as a restricted network, or is
controlled by a single identity.
● While it has a similar peer-to-peer connection and decentralization to a public blockchain
network, this Blockchain is far smaller.
● Only selected nodes can participate in the process, making it more secure than the
others.
● These blockchains are operated in a closed network.

Advantages:
● Speed: Private Blockchain transactions are faster. This is because a private network has
a smaller number of nodes, which shortens the time it takes to verify a transaction.
● Scalability: You can tailor the size of your private Blockchain to meet your specific
requirements. This makes private blockchains particularly scalable since they allow
companies to easily raise or decrease their network size.
● Privacy: It has increased the level of privacy for confidentiality reasons as the
businesses required.

Disadvantages:
● Trust Building: In a private network, there are fewer participants than in a public network.
● Lower Security: A private blockchain network has fewer nodes or members, so it is more
vulnerable to a security compromise.
● Centralization: Private blockchains are limited in that they require a central Identity and
Access Management (IAM) system to function.

Use Cases:

Niru Gang
● Supply Chain Management: A private blockchain can be used to manage a company's
supply chain.
● Asset Ownership: A private blockchain can be used to track and verify assets.
● Internal Voting: Internal voting is also possible with a private blockchain.

Examples of Private Blockchain: R3 (Banks), EWF (Energy)

Hybrid Blockchain
● Organizations who expect the best of both worlds use a hybrid blockchain, which
combines the features of both private and public blockchains.
● It enables enterprises to construct a private, permission-based system alongside a
public, permissionless system, allowing them to choose who has access to certain
Blockchain data and what data is made public.
● In a hybrid blockchain, transactions and records are typically not made public, but they
can be validated if necessary by granting access via a smart contract.

Advantages of Hybrid Blockchain -


● Secure: Hybrid Blockchain operates within a closed environment, preventing outside
hackers from launching a 51 percent attack on the network.
● Cost-Effective: It also safeguards privacy while allowing third-party contact. Transactions
are inexpensive and quick and scale better than a public blockchain network.

Disadvantages of Hybrid Blockchain -


● Lack of Transparency: Because information can be hidden, this type of blockchain isn't
completely transparent.
● Less Incentive: Upgrading can be difficult, and users have no incentive to participate in
or contribute to the network.

Uses of Hybrid Blockchain -


● Real Estate: Real-estate companies can use hybrid networks to run their systems and
offer information to the public.
● Retail: The hybrid network can also help retailers streamline their processes.
● Highly Regulated Markets: Hybrid blockchains are also well-suited to highly regulated
areas like the banking sector.

Examples of Hybrid Blockchain: IBM Food Trust

Consortium Blockchain
● In the same way that a hybrid blockchain has both private and public blockchain
features, a Consortium blockchain, also known as a federated blockchain, does.
● However, it differs because it involves various organizational members working together
on a decentralized network.
● Predetermined nodes control the consensus methods in a consortium blockchain.

Niru Gang
● It has a validator node responsible for initiating, receiving, and validating transactions.
Transactions can be initiated or received by member nodes.

Advantages of Consortium Blockchain -


● Secure: A consortium blockchain is more secure, scalable, and efficient than a public
blockchain network. It, like private and mixed blockchains, has access controls.

Disadvantages of Consortium Blockchain -


● Lack of Transparency: The consortium blockchain has a lower degree of transparency. If
a member node is infiltrated, it can still be hacked, and the Blockchain's rules can render
the network inoperable.

Uses of Consortium Blockchain -


● Banking and Payments: A consortium can be formed by a group of banks working
together. They have control over which nodes will validate transactions.
● Research: A consortium blockchain can be employed to share research data and
outcomes.
● Food Tracking: It is also apt for food tracking.

Examples of consortium Blockchain are Tendermint and Multichain.

Explain Pros and cons of blockchain


Pros:
● Immutability: Blockchain supports immutability, meaning it is impossible to erase or
replace recorded data. Therefore, the blockchain prevents data tampering within the
network.
● Transparency: Blockchain is decentralized, meaning any network member can verify
data recorded into the blockchain. Therefore, the public can trust the network.
● Censorship: Blockchain technology is free from censorship since it does not have control
of any single party. Therefore, no single authority (including governments) can interrupt
the operation of the network.
● Traceability: Blockchain creates an irreversible audit trail, allowing easy tracing of
changes on the network.
Cons:
● Speed and performance: Blockchain is considerably slower than the traditional database
because blockchain technology carries out more operations.
● High implementation cost: Blockchain is costlier compared to a traditional database.
● Data modification: Blockchain technology does not allow easy modification of data once
recorded, and it requires rewriting the codes in all of the blocks, which is time-consuming
and expensive.

Explain life of miners in blockchain


● Anybody can apply for a miner, and you could run the client yourself.

Niru Gang
● However, these miners use very powerful computers that are specifically designed to
mine crypto transactions.
● They do this by actually solving math problems and resolving cryptographic issues
because every transaction needs to be cryptographically encoded and secured.
● These mathematical problems ensure that nobody is tampering with that data.
● The cryptocurrency is created by rewarding these miners for their work in solving the
mathematical and cryptographical problems.

Explain distributed ledger


● A distributed ledger is a database that is spread across various computers, nodes,
institutions, or countries accessible by multiple people around the globe.
● Distributed ledgers use independent nodes to record, share, and synchronize
transactions in their respective electronic ledgers instead of keeping them in one
centralized server.
● A blockchain uses several technologies including distributed ledger technology to enable
blockchain applications.
● Features:
○ Decentralized: It is a decentralized technology and every node will maintain the
ledger, and if any data changes happen, the ledger will get updated.
○ Immutable: Distributed ledger uses cryptography to create a secure database in
which data once stored cannot be altered or changed.
○ Append only: Distributed ledgers are append-only in comparison to the traditional
database where data can be altered.
○ Distributed: In this technology, there is no central server or authority managing
the database, which makes the technology transparent.
○ Shared: The distributed ledger is not associated with any single entity. It is
shared among the nodes on the network where some nodes have a full copy of
the ledger while some nodes have only the necessary information that is required
to make them functional and efficient.

Explain Hashing function


A hash function is a mathematical function that takes an input string of any length and converts
it to a fixed-length output string.
The fixed-length output is known as the hash value.
To be cryptographically secure and useful, a hash function should have the following properties:
● Collision resistant: Given two messages m1 and m2, it is difficult to find a hash value
such that hash(k, m1) = hash(k, m2) where k is the key value.
● Preimage resistance: Given a hash value h, it is difficult to find a message m such that h
= hash(k, m).
● Second preimage resistance: Given a message m1, it is difficult to find another message
m2 such that hash(k, m1) = hash(k, m2).
● Large output space: The only way to find a hash collision is via a brute force search,
which requires checking as many inputs as the hash function has possible outputs.

Niru Gang
● Deterministic: A hash function must be deterministic, which means that for any given
input a hash function must always give the same result.
● Avalanche Effect: This means for a small change in the input, the output will change
significantly.
● Puzzle Friendliness: This means even if one gets to know the first 200 bytes, one cannot
guess or determine the next 56 bytes.
● Fixed-length Mapping: For any input of fixed length, the hash function will always
generate the output of the same length.

What is the difficulty? Explain the requirement and use.


● Cryptocurrency difficulty is a measure of how difficult it is to mine a block in a blockchain
for a particular cryptocurrency.
● A high cryptocurrency difficulty means it takes additional computing power for mining.
● Cryptocurrency difficulty is a parameter that bitcoin and other cryptocurrencies use to
keep the average time between blocks steady as the network's hash power changes.
● Cryptocurrency difficulty is important since a high difficulty can help secure the
blockchain network against malicious attacks.
● Without such a system in place, blocks would likely be discovered faster and faster as
more miners joined the network with increasingly sophisticated equipment.
● This would result in new bitcoin entering circulation at an unpredictable rate and would
likely have the knock-on effect of inhibiting its rise in value.

How hash is calculated in blockchain


● A cryptographic hash is a digest or digital fingerprint of a certain amount of data.
● The hash function takes the input of variable lengths and returns outputs of fixed
lengths.
● In cryptographic hash functions, the transactions are taken as inputs and the hash
algorithm gives an output of a fixed size.
● SHA-256 is the most famous of all cryptographic hash functions because it’s used
extensively in blockchain technology.

● The hash algorithm has certain unique properties:


○ It produces a unique output (or hash).

Niru Gang
○ It is a one-way function.

Differentiate between blockchain and database

Differentiate between open and close blockchain.


Open blockchain Closed blockchain

It is a public network that maintains an It is a private network that maintains a shared


immutable record of transactions. record of transactions.

Anyone can publish a transaction and The network is accessible only to those who
participate in the network by adhering to a set have permission and transactions can be
of published rules. edited by administrators.

Eg. bitcoin, litecoin Eg. Hyperledger, Ripple

Public open: Public and open blockchains are Public closed: Public and closed blockchains
available for everybody and written data is are open to everyone to write, but only
accessible and readable by everybody as restricted people can read the data.
well.

Public and open blockchains support use A use case for this kind of blockchain for

Niru Gang
cases such as public/transparent ledgers example is voting or polling.
where everybody can read and verify data. Everybody can write his/her vote or opinion to
the blockchain, but only the creators of the
ballot box are allowed to read the voting
results.

Public open blockchain example is bitcoin Public and closed blockchains are often used
for medical, legal or financial use cases
where customers or prospects can store
confidential and / or personal information for
restricted access by the corresponding
entities.

Private and Open: This type of private Private and Closed: Private and closed
blockchain is commonly used in supply blockchains enable use cases where only
chains, where only suppliers are able to write trusted and known members are able to write
the supply status to the chain, but every and read the data in the blockchain (e.g. an
private blockchain’s participant can track the interbank blockchain where banks exchange
status and see the information. assets).

Differentiate between public and private blockchain.

Niru Gang
Basis of comparison Public blockchain Private blockchain

Access In this type of blockchain In this type of blockchain read


anyone can read, write and and write is done upon
participate in a blockchain. invitation.

Permission It is a permissionless It is a permissioned


blockchain. It is public to blockchain.
everyone.

Network actors Don’t know each other Know each other

Decentralized vs centralized Decentralized Centralized

Native token Yes Not necessary

Speed Slow Fast

Transactions TPS are lesser TPS is more as compared

Security More secure due to More prone to hacks, risks


decentralization and active and data breaches /
participation manipulation.

Energy consumption Consumes more energy Consumes a lot less energy

Consensus algorithm Proof of Work, Proof of Proof of Elapsed Time, Raft


Stake, Proof of Burn, Proof of and Istanbul BFT
Space

Examples Ethereum, Litecoin, Bitcoin R3 (banks), EWF (Energy)

Niru Gang
Differentiate between permissionless and permissioned blockchain

Image link

Define following
● Miners: Miners validate new blockchain transactions and record them on the blockchain.
Miners compete to solve a difficult mathematical problem based on a cryptographic hash
algorithm.
● Mining: Mining is the process that Bitcoin and several other cryptocurrencies use to
generate new coins and verify new transactions. It involves vast, decentralized networks
of computers around the world that verify and secure blockchains.
● Nonce: It is a four-bit (32 byte) number added to a hashed—or encrypted—block in a
blockchain that, when rehashed, meets the difficulty level restrictions. The nonce is the
number that blockchain miners are solving for.
● Hash tree: A hash tree encodes the blockchain data in an efficient and secure manner.
It enables the quick verification of blockchain data, as well as quick movement of large
amounts of data from one computer node to the other on the peer-to-peer blockchain
network.

Niru Gang
Chapter 2

Differentiate between bitcoin and ethereum

What is consensus? Why is it required in blockchain?


● Consensus for blockchain is a procedure in which the peers of a Blockchain network
reach agreement about the present state of the data in the network. Through this,
consensus algorithms establish reliability and trust in the Blockchain network.
● Consensus mechanisms (also known as consensus protocols or consensus algorithms)
are used to verify transactions and maintain the security of the underlying blockchain
● There are many different types of consensus mechanisms, each with various benefits
and drawbacks
● Proof of work (PoW) and proof of stake (PoS) are two of the most widely used
consensus mechanisms
● Why Blockchains Need Consensus Mechanisms:

Niru Gang
○ Consensus mechanisms form the backbone of all cryptocurrency blockchains,
and are what make them secure.
○ In order to guarantee that all participants (‘nodes’) in a blockchain network agree
on a single version of history, blockchain networks like Bitcoin and Ethereum
implement what’s known as consensus mechanisms (also known as consensus
protocols or consensus algorithms). These mechanisms aim to make the system
fault-tolerant.

Explain different consensus algorithm


● The proof of work (PoW) is a common consensus algorithm used by the most popular
cryptocurrency networks like bitcoin and litecoin. It requires a participant node to prove
that the work done and submitted by them qualifies them to receive the right to add new
transactions to the blockchain. However, this whole mining mechanism of bitcoin needs
high energy consumption and a longer processing time.
● The proof of stake (PoS) is another common consensus algorithm that evolved as a
low-cost, low-energy consuming alternative to the PoW algorithm. It involves the
allocation of responsibility in maintaining the public ledger to a participant node in
proportion to the number of virtual currency tokens held by it. However, this comes with
the drawback that it incentivizes cryptocoin hoarding instead of spending.
● While PoW and PoS are by far the most prevalent in the blockchain space, there are
other consensus algorithms like Proof of Capacity (PoC) which allow sharing of memory
space of the contributing nodes on the blockchain network. The more memory or hard
disk space a node has, the more rights it is granted for maintaining the public ledger.
● Proof of Activity (PoA), used on the Decred blockchain, is a hybrid that makes use of
aspects of both PoW and PoS.
● Proof of Burn (PoB) is another that requires transactors to send small amounts of
cryptocurrency to inaccessible wallet addresses, in effect "burning" them out of
existence.
● Another, called Proof of History (PoH), developed by the Solana Project and similar to
Proof of Elapsed Time (PoET), encodes the passage of time itself cryptographically to
achieve consensus without expending many resources.

Differentiate between hard and soft fork

Hard fork Soft fork

Backwards incompatible backwards compatible

Reversible in nature Irreversible in nature

Created two blockchains at the end Soft fork combines the split into one at the
end

Hard fork can valid previously entered invalid Soft fork can only invalidate previously
transactions and vice-versa. entered valid transactions.

Niru Gang
More secure and private Less secure and private

Requires all miners to validate new rules Soft fork can work well with the majority of
miners

Changes the entire rules of a blockchain Used to add new functions and properties to
a blockchain

Alters the characteristics of a blockchain Modifies the characteristics of a blockchain

Does not require a soft fork for reversible Requires hard fork for reversible process
process

What is a Wallet? Explain types of Wallet. Differentiate between hot and cold
wallets.
The letter ‘E’ in e-wallet stands for electronic; thus, e-wallet refers to an electronic wallet. An
e-wallet, also known as a digital wallet, enables users to conduct transactions with ease. These
wallets can be used for simple transactions both online and in stores.
Types of wallet are as follows:
● Closed wallet
○ A closed wallet enables users to make payments via an app or website.
○ They are typically created by businesses that sell products or services to their
customers.
○ Users of a closed wallet can only use the stored funds to complete a transaction
with the wallet’s issuer.
○ If a transaction is canceled or a refund is issued, the entire amount is stored in
the wallet.
● Semi-closed wallet
○ A semi-closed wallet allows users to easily make transactions at merchants and
locations that are listed.
○ Semi-closed wallets have a limited coverage area.
○ To accept payment from the wallet, merchants must accept the contract or
agreement with the issuer.
● Open wallet
○ Banks provide open wallets.
○ Users with open wallets can use them for any type of transaction.
○ Open wallets allow you to easily transfer funds.
○ Payments can be made both online and in-store at any time.
○ The open e-wallets service provider allows users to conduct transactions from
anywhere in the world; however, both the sender and the receiver must have
accounts on the same application.
● Crypto wallet
○ Users’ public and private keys are stored in cryptocurrency wallets.
○ The keys could be cryptocurrency ownership certificates.

Niru Gang
○ Hardware wallets, also known as cold wallets, add an extra layer of security and
safety.
○ A USB stick can be used to operate wallets offline.
○ These wallets can be used to make cryptocurrency payments.
● IoT wallet
● IoT is an abbreviation for the Internet of Things.
● These are installed in watches, jackets, wristbands or other wallet enabled devices such
as smart car computers, smart refrigerators, and others.
● IoT wallets work with e-money and virtual currencies.

Difference between a hot wallet and cold wallet.

Explain different types of cryptocurrencies.


A cryptocurrency is a form of digital currency that can be used to verify the transfer of assets,
control the addition of new units, and secure financial transactions using cryptography.
Types of Cryptocurrency :
● Bitcoin
● Altcoin
○ Derived from bitcoin
○ Derived from original blockchain
● Token

Bitcoin
● Bitcoin is the original blockchain cryptocurrency.

Niru Gang
● Most popular
● Widely used
● Derived from bitcoin[fork]: Namecoin, Peercoin, litecoin

Altcoin/Coins [Alternative Cryptocurrency Coins]


● Refers to a group of cryptocurrencies, ultimately all the cryptocurrencies other than
Bitcoin.
● Most of them are forks of bitcoin and Ethereum.
● They are created to improve or add additional features or security like improved block
time, transaction management, scripting language,consensus mechanism.
● Eg. Ripple, Tether, Bitcoin Cash, Bitcoin SV

Tokens
● Crypto tokens are a type of cryptocurrency that represents an asset or specific use and
reside on their own blockchain.
● Tokens can be used for investment purposes, to store value, or to make purchases.
● Cryptocurrencies are digital currencies used to facilitate transactions (making and
receiving payments) along the blockchain.

Explain UTXO
In bitcoin, the transaction lives until it has been executed till the time another transaction is done
out of that UTXO. UTXO stands for Unspent Transaction Output.

● It is the amount of digital currency someone has left remaining after executing a
transaction.
● When a transaction is completed, the unspent output is deposited back into the
database as input which can be used later for another transaction.
● UTXOs are created through the consumption of existing UTXOs. Every Bitcoin
transaction is composed of inputs and outputs. Inputs consume an existing UTXO,
while outputs create a new UTXO.
● The UTXO model does not incorporate wallets at the protocol level. It is based on
individual transactions that are grouped in blocks. The UTXO model is a design
common to many cryptocurrencies, most notably Bitcoin.
● Cryptocurrencies that use the UTXO model do not use accounts or balances.
Instead, UTXOs are transferred between users much like physical cash.
● Each transaction in the UTXO model can transition the system to a new state, but
transitioning to a new state with each transaction is infeasible.
● The network participants must stay in sync with the current state.

Importance of UTXO Model :

Niru Gang
● Language Agnostic Smart Contracts: The UTXO based smart contracts are
independent of language and allow UTXOs to develop unique consensus
mechanisms.
● Support for Decentralized Exchanges and Atomic Swap: The UTXO model could
support atomic swaps, hence enabling peer-to-peer crypto trades without the
involvement of a third party. The atomic swap feature of UTXOs offers a better facility
for direct cryptocurrency trades between user wallets.
● Scalability Benefits: Facility or parallel transaction processing reduces computation
load on the blockchain networks.
● Privacy and Security: With new addresses used for every UTXO transaction, it is
impossible to track the transactions.
● Prevents Double Spending: A UTXO can only be used once, this is fundamental
within the operation of the blockchain technology that guarantees that the currencies
are not used more than once.
● More Flexibility: It provides more flexibility than fiat currency.
● Simple parallelization: It allows for the simpler parallelization of transactions in the
smart contracts.
Refer for example

Niru Gang
Chapter 3

Solidity programming
Solidity in 2 mins (for beginners)
or Solidity in 100 Seconds
Solidity is an object-oriented programming language for implementing smart contracts on
various blockchain platforms, most notably, Ethereum.
File Extension is .sol

Example:
pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}

Pragma:
The first line of any solidity program is a pragma directive which tells the source code’s intended
Solidity version.

Solidity Contract:
A Solidity contract is a collection of functions and states that resides at a specific address on the
Ethereum blockchain.

Function:
Function in Solidity is defined by using the ‘function’ keyword, followed by a unique function
name, a list of parameters, scope, data type of returned value and a statement block
surrounded by curly braces.

// function definition
function function-name(parameter-list) scope returns() {
//statements
}
// function call
function-name()

Solidity supports three types of variables.


● State Variables − Variables whose values are permanently stored in a contract storage.
● Local Variables − Variables whose values are present till function is executing.
● Global Variables − Special variables exist in the global namespace used to get
information about the blockchain.

Niru Gang
Value Types
● Boolean: This data type accepts only two values True or False.
● Integer: This data type is used to store integer values, int and uint are used to declare
signed and unsigned integers respectively.
● Fixed Point Numbers: They can be declared as fixed and unfixed for signed and
unsigned fixed-point numbers of varying sizes respectively.
● Address: Address holds a 20-byte value which represents the size of an Ethereum
address. It can be used to get balance or to transfer a balance by balance and transfer
method respectively.
● Bytes and Strings: Bytes are used to store a fixed-sized character set while the string is
used to store the character set equal to or more than a byte. Byte has an advantage that
it uses less gas, so better to use when we know the length of data.
● Enums: It is used to create user-defined data types, used to assign a name to an integral
constant which makes the contract more readable, maintainable, and less prone to
errors. Options of enums can be represented by unsigned integer values starting from 0.
● Arrays: An array is a collection of values of the same data type where each value has a
particular location known as an index. By using the index location, the desired value can
be accessed or modified. The array size can be fixed or dynamic.
● Struct: Solidity allows users to create and define their own type in the form of structures.
The structure is a group of different types which can contain both value type and
reference type.
● Mapping: Mapping is a reference type that stores the data in a key-value pair where a
key can be any value type. It is like a hashtable or dictionary as in any other
programming language, where values can be retrieved using corresponding key.

Inheritance:
Solidity supports inheritance between smart contracts, where multiple contracts can be inherited
into a single contract. The contract from which other contracts inherit features is known as a
base contract, while the contract which inherits the features is called a derived contract. Simply,
they are referred to as parent-child contracts.

Types of inheritance supported:


● Single Inheritance
● Multi-level Inheritance
● Hierarchical Inheritance
● Multiple Inheritance

Error Handling
Errors can occur at compile time or runtime. Solidity is compiled to byte code and there a syntax
error check happens at compile-time, while runtime errors are difficult to catch and occurs
mainly while executing the contracts. Solidity has many functions for error handling. Some of the
runtime errors are out-of-gas error, data type overflow error, divide by zero error,
array-out-of-index error, etc.

Niru Gang
After version 4.10 new error handling construct assert, require, and revert statements were
introduced.

Explain smart contract and its types


Smart contracts are digital transaction protocols that verify, control, and self-execute an
agreement, embedded in computerized codes on a blockchain, if parties meet predefined rules.
Unlike traditional (physical) ones, these contracts occur among anonymous parties and are
enforced automatically without the involvement of any third party.

There are three types of self-executing contracts based on their applications:

● Smart Legal Contracts: These contracts are legally enforceable and require the parties
to fulfill their contractual obligations. Failure to do so may result in strict legal actions
against them.
● Decentralized Autonomous Organizations: These are blockchain communities that
are bound to specific rules coded into blockchain contracts combined with governance
mechanisms. Hence, any action taken by the community members gets replaced by a
self-enforcing code.
● Application Logic Contracts: These contracts contain an application-based code that
remains in sync with other blockchain contracts. It enables communication across
different devices, such as the merger of the Internet of Things with blockchain
technology.

Niru Gang
Benefits of smart contract
● Autonomy and savings: Smart contracts do not need brokers or other intermediaries to
confirm the agreement; thus, they eliminate the risk of manipulation by third parties.
Moreover, the absence of intermediaries in smart contracts results in cost savings.
● Backup: All the documents stored on the blockchain are duplicated multiple times; thus,
originals can be restored in the event of any data loss.
● Safety: Smart contracts are encrypted, and cryptography keeps all the documents safe
from infiltration.
● Speed: Smart contracts automate tasks by using computer protocols, saving hours for
various business processes.
● Accuracy: Using smart contracts eliminates errors that occur due to the manual filling of
numerous forms.

How do smart contracts work??


● Smart contracts work by following simple “if/when…then…” statements that are written
into code on a blockchain.
● A network of computers executes the actions when predetermined conditions have been
met and verified.
● These actions could include releasing funds to the appropriate parties, registering a
vehicle, sending notifications, or issuing a ticket.
● The blockchain is then updated when the transaction is completed.
● That means the transaction cannot be changed, and only parties who have been granted
permission can see the results.
● Within a smart contract, there can be as many stipulations as needed to satisfy the
participants that the task will be completed satisfactorily.
● To establish the terms, participants must determine how transactions and their data are
represented on the blockchain, agree on the “if/when...then…” rules that govern those
transactions, explore all possible exceptions, and define a framework for resolving
disputes.
● Then the smart contract can be programmed by a developer – although increasingly,
organizations that use blockchain for business provide templates, web interfaces, and
other online tools to simplify structuring smart contracts.

What are blockchain oracles


● Blockchain oracles are entities that connect blockchains to external systems, thereby
enabling smart contracts to execute based upon inputs and outputs from the real world
● Oracles provide a way for the decentralized Web3 ecosystem to access existing data
sources, legacy systems, and advanced computations.
● Decentralized oracle networks (DONs) enable the creation of hybrid smart contracts,
where on-chain code and off-chain infrastructure are combined to support advanced
decentralized applications (dApps) that react to real-world events and interoperate with
traditional systems.

Niru Gang
● For example, let’s assume Alice and Bob want to bet on the outcome of a sports match.
● Alice bets $20 on team A and Bob bets $20 on team B, with the $40 total held in escrow
by a smart contract.
● When the game ends, how does the smart contract know whether to release the funds to
Alice or Bob?
● The answer is it requires an oracle mechanism to fetch accurate match outcomes
off-chain and deliver it to the blockchain in a secure and reliable manner.
● Solving the oracle problem is of the utmost importance because the vast majority of
smart contract use cases like DeFi require knowledge of real-world data and events
happening off-chain.

Advantages and disadvantages of smart contracts


Advantages:
● Autonomy: Smart contracts do not need brokers or other intermediaries to confirm the
agreement; thus, they eliminate the risk of manipulation by third parties.
● Savings: The absence of intermediaries in smart contracts results in cost savings.
● Backup: All the documents stored on blockchain are duplicated multiple times; thus,
originals can be restored in the event of any data loss.
● Safety: Smart contracts are encrypted, and cryptography keeps all the documents safe
from infiltration.
● Speed: Smart contracts automate tasks by using computer protocols, saving hours of
various business processes.
● Accuracy: Using smart contracts results in the elimination of errors that occur due to
manual filling of numerous forms.

Disadvantages:
● Difficult to change: Changing smart contract processes is almost impossible, any error
in the code can be time-consuming and expensive to correct.
● Possibility of loopholes: According to the concept of good faith, parties will deal fairly
and not get benefits unethically from a contract. However, using smart contracts makes it
difficult to ensure that the terms are met according to what was agreed upon.
● Third party: Although smart contracts seek to eliminate third-party involvement, it is not
possible to eliminate them. Third parties assume different roles from the ones they take
in traditional contracts. For example, lawyers will not be needed to prepare individual
contracts; however, they will be needed by developers to understand the terms to create
codes for smart contracts.
● Vague terms: Since contracts include terms that are not always understood, smart
contracts are not always able to handle terms and conditions that are vague.

Explain features of solidity programming


● Syntax: Solidity syntax is similar to that of JavaScript.
● File extension: The file extension for Solidity is .sol
● Applications: Solidity is used to create contracts for various purposes such as voting,
crowdfunding, blind auctions, multi-signature wallets, etc.

Niru Gang
● Contracts: Solidity contracts are written in a format similar to class declarations in
object-oriented languages. A contract can contain state variables, functions, and
modifiers.
○ State variables can be of any type, including user-defined types.
○ Functions can be called externally or internally (within the contract).
○ Modifiers can be used to change the behavior of functions.
○ Contracts can also interact with each other, allowing for the creation of complex
decentralized applications.
● Data types: Solidity provides several built-in types, including address, uint (unsigned
integer), int (signed integer), bool (boolean), and byte (a fixed-size byte array). Solidity
also allows for creating user-defined types, such as enums and structs.
● Contract deployment: Solidity contracts can be deployed on the Ethereum blockchain.
Once deployed, a contract can be interacted with by any party that has the contract’s
address.
● Solidity compiler: The language is not yet fully standardized, and no official reference
compiler exists. Solidity Compiler is maintained by the Ethereum Foundation.
● Easy to learn: Solidity is a high-level language, meaning it is easier to learn and use
than a lower-level language like EVM bytecode. Several resources are available to help
learn Solidity, including the official Solidity documentation.
● Smart contracts: Smart contracts are programs that run on the Ethereum blockchain
and can be used to facilitate transactions and agreements between parties. Smart
contracts can be used to create decentralized applications (d-apps).
● DEXes: Solidity is also used to create decentralized exchanges (DEXes). DEXes are
exchanges that allow for the trading of cryptocurrency without the need for a central
authority.
● Programming components: The Solidity programming language has several high-level
language components, which can be used to build contracts and programs. These
include
○ Data types.
○ Functions.
○ Control structures.
○ Inheritance.
○ Packages.
○ Error handling.

Types of variables with example


Solidity supports three types of variables.
● State Variables − Variables whose values are permanently stored in a contract storage.
● Local Variables − Variables whose values are present till function is executing.
● Global Variables − Special variables exist in the global namespace used to get
information about the blockchain.

State Variable
Variables whose values are permanently stored in a contract storage.

Niru Gang
Local Variable
Variables whose values are available only within a function where it is defined. Function
parameters are always local to that function.

Global Variables
These are special variables which exist in global workspace and provide information
about the blockchain and transaction properties.

Niru Gang
Explain the fallback function used in solidity
● The solidity fallback function is executed if none of the other functions match the function
identifier or no data was provided with the function call.
● Only one unnamed function can be assigned to a contract and it is executed whenever
the contract receives plain Ether without any data.
● To receive Ether and add it to the total balance of the contract, the fallback function must
be marked payable.
● If no such function exists, the contract cannot receive Ether through regular transactions
and will throw an exception.

Properties of a fallback function:


● Has no name or arguments.
● If it is not marked payable, the contract will throw an exception if it receives plain ether
without data.
● Can not return anything.
● Can be defined once per contract.
● It is also executed if the caller meant to call a function that is not available
● It is mandatory to mark it external.
● It is limited to 2300 gas when called by another function. It is so as to make this function
call as cheap as possible.

Explain address type in solidity


● An address value type is specifically designed to hold up to 20B, or 160 bits, which is the
size of an Ethereum address.
● Solidity actually offers two address value types: address and address payable. The
difference between the two is that addresses payable can send and transfer Ether.
● We can use an address to acquire a balance using the .balance method and to transfer
a balance using the .transfer method.

Here’s an example of an address data type in Solidity:


pragma solidity ^0.5.10

// example of an address value type in solidity


Contract SampleAddress }
address public myAddress =
0xb794f5ea0ba39494ce839613fffba74279579268;
}

Reference type in solidity


● Solidity reference types differ from value types in that they do not store values directly on
their own.

Niru Gang
● Instead, reference types store (or “reference”) the address of the data’s location and do
not directly share the data.
● Reference data types must be handled cautiously since they deal with storage locations.
● Data location affects the amount of gas used in a transaction and therefore can
negatively impact smart contract development performance.
● When using reference types, reference variables point a user to the location of value
storage, and these can take up more than 32B of memory in size.
● Two separate variables can refer to the exact location, and any change in one variable
can affect the other.
● Several variables that point to the same address can be used to effect a change in a
reference data type.
● There are several reference data types in Solidity: fixed-sized arrays, dynamic-sized
arrays, array members, byte arrays, string arrays, structs, and mapping.

Function declaration in solidity


● In Solidity a function is generally defined by using the function keyword, followed by the
name of the function which is unique and does not match with any of the reserved
keywords.
● A function can also have a list of parameters containing the name and data type of the
parameter.
● The return value of a function is optional but in solidity, the return type of the function is
defined at the time of declaration.

Niru Gang
Error handling in solidity
Solidity provides various functions for error handling. Generally when an error occurs, the state
is reverted back to its original state.
Other checks are to prevent unauthorized code access. Following are some of the important
methods used in error handling −
● assert(bool condition) − In case condition is not met, this method call causes an invalid
opcode, and any changes done to state got reverted. This method is to be used for
internal errors.
● require(bool condition) − In case the condition is not met, this method call reverts to
the original state. - This method is to be used for errors in inputs or external components.
● require(bool condition, string memory message) − In case condition is not met, this
method call reverts to the original state. - This method is to be used for errors in inputs or
external components. It provides an option to provide a custom message.
● revert() − This method aborts the execution and reverts any changes done to the state.
● revert(string memory reason) − This method aborts the execution and reverts any
changes done to the state. It provides an option to provide a custom message.

Inheritance in Solidity
● It is a way of extending the functionality of a program, used to separate the code,
reduces the dependency, and increases the re-usability of the existing code.
● Solidity supports inheritance between smart contracts, where multiple contracts can be
inherited into a single contract.
● The contract from which other contracts inherit features is known as a base contract,
while the contract which inherits the features is called a derived contract.

Types of inheritance in solidity


● Single Inheritance: In Single or single level inheritance the functions and variables of one
base contract are inherited to only one derived contract.
● Multi-level Inheritance: It is very similar to single inheritance, but the difference is that it
has levels of the relationship between the parent and the child. The child contract
derived from a parent also acts as a parent for the contract which is derived from it.
● Hierarchical Inheritance: In Hierarchical inheritance, a parent contract has more than one
child contract. It is mostly used when a common functionality is to be used in different
places.
● Multiple Inheritance: In Multiple Inheritance, a single contract can be inherited from many
contracts. A parent contract can have more than one child while a child contract can
have more than one parent.
examples here

Niru Gang
Chapter 4

What is a public blockchain and explain its characteristics.


● Public blockchains are open networks that allow anyone to participate in the network i.e.
public blockchain is permissionless.
● In this type of blockchain, anyone can join the network and read, write, or participate in
the blockchain.
● A public blockchain is decentralized and does not have a single entity that controls the
network.
● Data on a public blockchain is secure as it is not possible to modify or alter data once
they have been validated on the blockchain.

Characteristics of public blockchain are:


● High Security: It is secure Due to Mining (51% rule).
● Open Environment: The public blockchain is open to all.
● Anonymous Nature: In the public blockchain everyone is anonymous. There is no need
to use your real name, or real identity, therefore everything would stay hidden, and no
one can track you based on that.
● No Regulations: Public blockchain doesn’t have any regulations that the nodes have to
follow. So, there is no limit to how one can use this platform for their betterment
● Full Transparency: Public blockchain allow you to see the ledger anytime you want.
There is no scope for any corruption or any discrepancies and everyone has to maintain
the ledger and participate in consensus.
● True Decentralization: In this type of blockchain, there isn’t a centralized entity. Thus, the
responsibility of maintaining the network is solely on the nodes. They are updating the
ledger, and it promotes fairness with help from a consensus algorithm .
● Full User Empowerment: Typically, in any network user has to follow a lot of rules and
regulations. In many cases, the rules might not even be a fair one. But not in public
blockchain networks. Here, all of the users are empowered as there is no central
authority to look over their every move.
● Immutable: When something is written to the blockchain, it can not be changed.
● Distributed: The database is not centralized like in a client-server approach, and all
nodes in the blockchain participate in the transaction validation.

Compare and contrast bitcoin and ethereum


already done in chapter 2

Explain each Components of Ethereum in detail


Nodes:
There are two types of nodes in an Ethereum network. They are as follows.
● Mining Node: These nodes are responsible for writing all the transactions that have
occurred in the Ethereum network in the block.

Niru Gang
● Ethereum Virtual Machine Node: These are the nodes in the Ethereum network in
which Smart Contracts are implemented. By default, this node utilizes a 30303 port
number for the purpose of communication among themselves.

Ether:
● Ether is a type of cryptocurrency used in the Ethereum network just like bitcoin is used in
a blockchain network.
● It is a peer-to-peer currency, similar to Bitcoin. It tracks and promotes each transaction in
the network.
● Ether is paid as a commission for any execution that affects the state in Ethereum.
● It is used in the Ethereum algorithm as an incentive for miners who connect blocks to the
blockchain using a proof-of-work method.
● It is the only currency that can be used to pay transaction costs, which go to miners as
well.
● Aside from paying for transactions, ether is often used to purchase gas, which is used to
pay for the computation of any transaction on the Ethereum network.

Gas:
● Gas is a unit of measurement on the Ethereum network for the computing power used to
execute a smart contract or a transaction.
● The price of gas is very low compared to Ether. The execution and resource utilization
costs are predetermined in Ethereum in terms of Gas units, called gwei.

Ethereum Accounts:
There are two types of Ethereum accounts. They are as follows.
● Externally owned account: These accounts are used to store transactions.
● Contract account: As the name itself suggests, these accounts store the details of
Smart Contracts.

Nonce:
For externally owned accounts, nonce means the number of transactions via this account. For a
contract account, nonce means the number of contracts generated via this account.

Storage Root:
It is the main root node of a Merkle tree. Hash of all details of the account is stored here. The
root of the Merkle tree is the verification of all transactions.

Ethash:
The intended PoW algorithm for Ethereum 1.0 is Ethash. It’s the most recent version of
Dagger-Hashimoto, however, it’s no longer proper to call it that because many of the algorithms’
initial characteristics have been dramatically altered in the previous month of study and
development.

Niru Gang
Architecture of Ethereum

Workflow of Ethereum
● Ethereum implements an execution environment called Ethereum Virtual Machine
(EVM).
● When a transaction triggers a smart contract all the nodes of the network will execute
every instruction.
● All the nodes will run The EVM as part of the block verification, where the nodes will go
through the transactions listed in the block and runs the code as triggered by the
transaction in the EVM.
● All the nodes on the network must perform the same calculations for keeping their
ledgers in sync.

Niru Gang
● Every transaction must include
○ Gas limit.
○ Transaction Fee that the sender is willing to pay for the transaction.
● If the total amount of gas needed to process the transaction is less than or equal to the
gas limit then the transaction will be processed and if the total amount of the gas needed
is more than the gas limit then the transaction will not be processed the fees are still lost.
● Thus it is safe to send transactions with the gas limit above the estimate to increase the
chances of getting it processed.

Blockchain header structure


● Timestamp:
○ Timestamp in the blockchain is used as proof that the particular block is used at
what instance of a time, also this timestamp is used as a parameter to verify the
authenticity of any block.
● Version :
○ It states the version that the particular block is using, there are three types of
Blockchain version.
○ Blockchain Version 1.0(cryptocurrency)-It used a public ledger to store the data,
for example, Bitcoin.
○ Blockchain Version 2.0(smart Contract)- It is called smart contracts which is
self-executing programs, for example, Ethereum.
○ Blockchain Version 3.0(DAPPS)- It is used to create a decentralized structure, for
example, tor Browser.
○ Blockchain Version 4.0(Blockchain for Industry)- It is used to create a scalable,
affordable blockchain network such that more people could use it.
● Merkle Root :
○ A Merkle root uses mathematical formulas to check if the data is not corrupted,
hacked, or manipulated.
● Difficulty Target :
○ It specifies the complexity and the computation power required to mine the
network, if we are having a high difficulty target then it implies that we need a
more computationally expensive machine to mine it.
○ For example, in order to increase the difficulty target algorithms such as SHA-2,
SHA-3. RIPEMD, MD5,and BLAKE2 are used.
● Nonce :
○ It is abbreviated as ‘number only used once’ and it is a number which blockchain
miners are finding.
○ A nonce is a 32-bit number, having the maximum value as 2^(32) total possible
value, so the job of the bitcoin miners is to find out the correct integer value which
is a random integer between 0 and 2^(32), so it becomes computationally
expensive.
● Previous Hash :
○ Blockchain is a collection of several interconnected nodes also called a block, so
the previous hash stores the hashed value of the previous node’s address.

Niru Gang
○ First block in the blockchain is called the Genesis Block and has no previous
block hash value.

Types of test networks


Ethereum has three test networks for developers to develop and do testing, namely ROPSTEN,
KOVAN, and RINKEBY.
● Rinkeby: Rinkeby displays the network stats, including the number of nodes,
transactions, and blocks. In addition, it shows the number of transactions per second,
the number of blocks per second, and the number of peers, which is the number of
nodes that are connected to Rinkeby.
● KOVAN: Kovan supports the same features as Rinkeby. You can also use the official
faucet to get free Eth on this Kovan testnet. You can write ERC-20, ERC-721, and
ERC-1155 tokens on the Kovan testnet
● ROPSTEN: It uses the proof-of-authority consensus mechanism. The Ropsten site, just
like the Kovan test network site, shows the latest blocks and latest transactions

Differentiate between meta mask and mist


Meta mask Mist

MetaMask is an open-source The mist was elaborated by the Ethereum


multi-cryptocurrency wallet and a gateway foundation. This wallet is no longer
to Ethereum-based decentralized supported.
applications.

Founded date 2016 Founded date 2016

Country: Switzerland International

Hot wallet Cold wallet

Private keys available Private keys not available

Many coins are available Only Ethereum

Features of metamask.
● MetaMask allows users to store and manage account keys, broadcast transactions, send
and receive Ethereum-based cryptocurrencies and tokens, and securely connect to
decentralized applications through a compatible web browser or the mobile app's built-in
browser.
● Websites or other decentralized applications are able to connect, authenticate, and/or
integrate other smart contract functionality with a user's MetaMask wallet (and any other
similar blockchain wallet browser extensions) via JavaScript code that allows the website
to send action prompts, signature requests, or transaction requests to the user through
MetaMask as an intermediary.

Niru Gang
● The application includes an integrated service for exchanging Ethereum tokens by
aggregating several decentralized exchanges (DEXs) to find the best exchange rate.
This feature, branded as MetaMask Swaps, charges a service fee of 0.875% of the
transaction amount

Steps to create and connect wallet using metamask


● Step 1: Download MetaMask wallet
○ Go to https://metamask.io/ and click on “Download”. Choose your preferred
browser or mobile application and install the MetaMask extension.
○ MetaMask supports iOS, Android native apps along with Chrome, Firefox, Brave
and Edge browser extensions.
● Step 2: MetaMask wallet installation
○ Click on the MetaMask extension and click on “Get Started”.
○ You can either import an existent wallet using the seed phrase or create a new
one.
● Step 3: How to create a new MetaMask wallet
○ Click on “Create a Wallet” and in the next window click on “I agree” if you would
like to help improve MetaMask or click on “No Thanks” to proceed.
● Step 4: Create a strong password for your wallet.
● Step 5: Securely store the seed phrase for your wallet
○ Click on “Click here to reveal secret words” to show the seed phrase.
○ MetaMask requires that you store your seed phrase in a safe place. It is the only
way to recover your funds should your device crash or your browser reset.
● Step 6: Seed phrase confirmation
○ Confirm your secret backup phrase by clicking on each word in the order in which
the words were presented on the previous screen. Click on “Confirm” to proceed.
● Congratulations! Your MetaMask wallet has been set up successfully.

Steps to create and connect wallet using mist.


● Downloading the Ethereum Mist Wallet
○ To store, accept and send ether, you need a wallet.
○ Download the latest release of mist wallet from github releases as per your OS.
● Installing the Wallet:
○ After launching the wallet, it will start syncing the nodes.
○ Once the node is fully synced, you’ll be asked to choose the network. For testing
purposes, choose ‘USE THE TEST NETWORK’ option.
○ Choose your password. You cannot EVER change the password of this account
once it’s created. So, remember the password.
● Your Account
○ At the top of your Wallet overview screen, you’ll see the info related to the sync
status of your node. If the node has stopped syncing, try restarting the Wallet app
or wait for some time.

Niru Gang
○ Go inside the ‘MAIN ACCOUNT’. The string below your account name is your
account address. It starts with 0x.
● Done!

Steps to connect remix using Ganache


● Open Remix IDE in browser by navigating to http://remix.ethereum.org
● Create a sample smart contract in solidity.
● Compile the smart contract.
● Once it is compiled successfully, go to deploy and run transactions.
● In the Environments drop down you will be able to see the Web3 Provider
● So select Web3 provider which prompts you whether you want to connect to Ethereum
node.
● Clicking OK will prompt you to provide the Web3 provider endpoint.
● Open Ganache. You can see the HTTP URL under RPC server.
● Copy it and paste it in Remix under the Web3 provider endpoint.
● You should be able to connect to Ganache with Remix.
● If you have successfully connected to Ganache then you can see your 10 default
Ganache accounts each with 100 ether added into your remix.

Niru Gang
Chapter 5

Advantages and disadvantages of private blockchain


Advantages:
● Speed: Private Blockchain transactions are faster. This is because a private network has
a smaller number of nodes, which shortens the time it takes to verify a transaction.
● Scalability: You can tailor the size of your private Blockchain to meet your specific
requirements. This makes private blockchains particularly scalable since they allow
companies to easily raise or decrease their network size.
● Privacy: It has increased the level of privacy for confidentiality reasons as the
businesses required.

Disadvantages:
● Trust Building: In a private network, there are fewer participants than in a public network.
● Lower Security: A private blockchain network has fewer nodes or members, so it is more
vulnerable to a security compromise.
● Centralization: Private blockchains are limited in that they require a central Identity and
Access Management (IAM) system to function.

Key features of private blockchain.


● Full Privacy:
○ It focuses on privacy concerns.
○ Private Blockchain are more centralized.
● High Efficiency and Faster Transactions:
○ When you distribute the nodes locally, but also have much less nodes to
participate in the ledger, the performance is faster.
● Better Scalability:
○ Being able to add nodes and services on demand can provide a great advantage
to the enterprise.

Design limitations of private blockchain.


● Denial of Service Attack
● Sequential Execution

There are two ways to perform DDoS attacks:


● DDoS attacks via transaction flooding:
○ One of the major DDoS attacks in Blockchain is transaction flooding.
○ With spam and false transactions flooding into the blockchain, an attacker can
compromise the availability for permitted (original) users and have other
undesirable impacts on the network.
● DDoS attacks via smart contract
○ An attacker can also target a DDoS attack on a smart contract in multiple
possible ways that include:

Niru Gang
■ If an attacker sends a computationally intensive transaction to a smart
contract that actually prevents other transactions from being included in
the current block.
■ Another attack is to create a parasitic contract that drains all the gas
automatically, rendering the service unusable for other participants.

Impact of Blockchain DDoS Attack


● Node crashes
● Software failure
● Network congestion
● Bloated ledger

What is state replication? Why is it required?


● At its core, a blockchain is a replicated deterministic state machine .
● A state machine is a computer science concept whereby a machine can have multiple
states, but only one at any given time.
● The state machine replication helps us to achieve a consensus in a permission model.
● The distributed state machine replication technology ensures consensus in a permission
blockchain environment.
● There is a natural reason to use state machine replication-based consensus over
permissioned blockchains.
○ The network is closed, the nodes know each other, so state replication is possible
among the known nodes.
○ You can avoid mining overhead, i.e. we do not need to spend anything like
power, time, bitcoin other than message passing.
○ However, the consensus is still required as machines can be faulty or behave
maliciously.

State machine replication-based consensus algorithm in a permissioned model


The distributed state machine replication mechanism work in the following way:
● Initially, copies of the state machine are placed on each server that resides in the closed
network, assuming that each server knows the information about other servers.
● In the distributed setup, it may be possible that different users are communicating to
different servers. The servers get the client’s request independently.
● For example, Alice and Bob are two clients who are transferred their share of money via
the distributed network.
● However, at this moment, this information is locally stored in the connected servers.
● The end goal is to ensure that all three servers reach the same state after a certain time.
i.e., Each server must have information about Alice and Bob have transferred their share
of the money.
● To achieve this, the state machine replication mechanism works in this principle that,
individually, all the servers propagate their state to others.
● However the problem is to understand ordering or sequences in which requests came
from the users.

Niru Gang
● This can be achieved using the timestamp concept.
● So, whenever Alice and Bob are making the transactions, the transactions are
associated with the timestamp.
● This way, information will be executed on each server in that particular ordering
algorithm.
● Consequently, all will execute in the same order in which it was supported to be
executed.
● This way, all servers are reaching the same state.

Explain different consensus algorithm in private block chain


● PAXOS
● RAFT
● Byzantine Fault Tolerant
● Practical Byzantine Fault Tolerant
all of these are explained below

Explain PAXOS.
● Paxos is an algorithm that is used to achieve consensus among a distributed set of
computers that communicate via an asynchronous network.
● One or more clients proposes a value to Paxos and we have consensus when a majority
of systems running Paxos agrees on one of the proposed values.
● Paxos is widely used and is legendary in computer science since it is the first consensus
algorithm that has been rigorously proved to be correct.
● Paxos simply selects a single value from one or more values that are proposed to it and
lets everyone know what that value is.

There are three types of nodes:


● Proposer: The proposer proposes a value, and the consensus algorithm should choose
the proposed value.
● Acceptor: They form the consensus and accept the values. Whenever they hear a
certain proposal from the proposer, the acceptors either accept or reject the proposal.
● Learner: This learner will determine which value has been chosen by each acceptor and
collectively accept that particular value.

Making a Proposal: Proposer Process


● The proposer initially prepares a proposal number so that this number needs to be good
enough for the proposal to be accepted by the acceptors.
● For example, there are two proposers P1 and P2, and P1 and P2 proposed values are
100 and 101. The acceptor always accepts a bigger proposal number, so in this case, it
is P2 rather than P1.

Making a Proposal: Acceptor’s Decision Making


● If the received proposal number is less or equal to the already seen or received proposal
number, then it rejects else it accepts.

Niru Gang
Making a Proposal: Acceptor’s Message
● Acceptor prepares the response, including accept or decline status, biggest proposal
number, and accepted values.

Accepting a value: Proposer’s Decision Making


● The proposer looks for the response’s status, whether the majority of the acceptors
reject/accept the proposal.
● If they have rejected the proposal, then the proposer updates with the latest proposal
number.
● However, if most acceptors have accepted values, then the proposer cannot choose this
value.

Accepting a Value: Accept Message


● The final stage is accept message, the proposer sends the accept message to all the
acceptors and in the accept message, the proposer includes the proposal number.

Accepting a Value: Notifying Learner


● Whenever the acceptor accepts a value from the proposer, it informs the learner that this
is the majority voted value. So everyone learns what is the majority voting in the
environment.

Explain RAFT
● The idea behind the Raft consensus algorithm is that the nodes collectively select a
leader, and the remaining nodes become the followers.
● The leader is responsible for state transition log replication across the followers under
the closed distributed environment, assuming that all the nodes are trustworthy and have
no malicious intent.
● The system starts up and has a set of follower nodes.
● The follower nodes look for a leader.
● If a timeout happens, there is no leader, and there is a need to elect a leader in the
system.
● A few candidates stand for a leader in the election process, and the remaining nodes
vote for the candidate.
● The candidates who receive the majority votes become the leader.
● The leader proposes a proposal, and the followers can either vote for or against that
proposal.

Electing the Leader: Voting Request


● The first part of the Raft is to elect a leader, and for that, there should be some leader
candidates.
● The nodes sense the network, and if there is no leader candidate, then one of the nodes
will announce that I want to be a leader.
● The leader candidate requests the votes.

Niru Gang
● This voting request contains 2 parameters:
○ Term: The last calculated number known to candidate + 1.
○ Index: Committed transactions available to the candidate.

Electing the Leader: Follower Node’s Decision Making


● Once the nodes receive a voting request, their task is to vote for or against the
candidate.
● Each node compares the received term and index with the corresponding current known
values.
● If the newly received term is less than the already seen term, then it discards because
the node considers this request as an old request.
● The newly received term is greater than the already seen term.
● It checks for the newly received index number with the already seen index number.
● If the newly received index number is greater than already seen, it votes for the
candidate; else, it declines.

Electing the Leader: Majority Voting


● Every node sends their vote and candidates who get the majority vote become a leader,
and others become the followers of that node.

How failure handled in PAXOS and RAFT


Handling failure in PAXOS:
● Acceptor Failure
○ If the acceptor fails during the accept stage, the system does not have any issue
because other acceptors are there who have already voted for the proposal.
○ The only thing to ensure that the not more than N/2 number of acceptors fails
simultaneously in the system.
○ If that happens, then that violates the majority voting principle, and the system
cannot come to a consensus.
● Proposer Failure
○ If the proposer fails during the prepare phase, the acceptor waits for a certain
duration, and if they do not receive any proposal, one of the acceptor becomes
the proposer and proposes a new value.
● Dueling Proposers
○ Let us consider, there are two proposals and the first proposer has sent a certain
proposal to all the acceptors.
○ Later, the second proposer sent another proposal with the higher proposal
number to all the acceptors.
○ Again, the first proposer sees a proposal with a higher proposal number, and
then they send a higher proposal number.
○ So it is like that whenever she sees that any other proposer has sent a proposal
higher than her proposal number, she chooses a higher proposal number and
sends it to all the acceptors.

Niru Gang
○ To break this tie, what other acceptors do, they block the proposer with a lower
height.

Handling failure in RAFT:


● Multiple Leader Candidates: Current Leader Failure
○ Let us understand a scenario where there is a leader, and three followers and the
current term is 10, and the commit index value is 100.
○ Suppose the leader node has failed or
○ followers didn’t receive a heartbeat message within the heartbeat timeout period.
○ After the timeout, one of the nodes will become a leader candidate, initiate a
leader election, and become a new leader with term 11 and commit index value
100.
○ The new leader periodically sends the heartbeat message to everyone to indicate
his presence.
○ In the meantime, the old leader gets recovered, and he also receives a heartbeat
message from the new leader.
○ The old leader understands that a new term has started.
○ Then the old leader will change his status from leader to follower.
○ So this is the one way to handle a new leader by utilizing the team parameter.
● Multiple Leader Candidates: Simultaneous Request Vote
○ Let us understand a scenario where there is a leader, three followers and the
current team is 20, and the commit index value is 200.
○ Suppose the leader node has failed or followers didn’t receive a heartbeat
message within the heartbeat timeout period.
○ It may be possible that multiple followers sense the timeout period
simultaneously and become a leader candidate, and initiate the leader election
procedure independently.
○ Two nodes send the request messages with team 21 at the same time in the
network.
○ There are two leader candidates, and both are sending voting request messages,
at
○ the same time, for round (term) 21.
○ Then, they look for the majority voting.
○ In this example, the first candidate receives two votes, and the second candidate
receives one vote, so based on the majority voting, the first candidate is a winner.
○ The node which gets the majority votes sends a heartbeat message to everyone.
○ Another leader candidate also received the heartbeat message from the winner,
and this leader candidate falls back to a follower from the leader candidate.

Explain BFT
● We imagine that several divisions of the Byzantine army are camped outside an enemy
city, each division commanded by its own general.
● The generals can communicate with one another only by messenger. After observing the
enemy, they must decide upon a common plan of action.

Niru Gang
● However, some of the generals may be traitors, trying to prevent the loyal generals from
reaching agreement.
● The generals must have an algorithm to guarantee that
○ All loyal generals decide upon the same plan of action.
○ A small number of traitors cannot cause the loyal generals to adopt a bad plan.

● All decentralized networks (distributed ledger, such as a blockchain) have independent


nodes that act like the byzantine generals in the hypothetical situation above.
● These nodes must come to an agreement, or consensus, on things like:
○ transactions submitted to the network, the ordering of those transactions, and the
state of the network itself.
● These network nodes are likely separated from each other geographically, virtually,
architecturally, and sometimes even ethically.
● So not only do nodes need to be able to communicate, in order to achieve their end goal
of consensus, but they also need to account for some nodes being malicious;
● Trust is a key issue here, as some nodes may be acting dishonestly on the network:
○ They may be taken over by hackers or be intentionally sending incorrect
information.
● Byzantine node refers to the traitor node which could lie or mislead other nodes in the
network intentionally.
● The byzantine node could also mislead or lie to the nodes that are involved in the
consensus protocol.
● A perfectly operational blockchain network would ensure that Byzantine Fault Tolerance
in blockchain helps it in overcoming failures.
● Byzantine nodes or malicious nodes can lead to certain pitfalls known as Byzantine
failures.
● Practical Byzantine fault tolerance (PBFT), Proof of Work (PoW), and Proof of Stake
(PoS) are some of the currently used major consensus algorithms that achieve BFT and
are practically used in today’s blockchain systems.

Explain pBFT
The basic assumption about the system and working environment: The system works in an
asynchronous distributed system, and it can tolerate delay and out-of-order messages.
It can also handle Byzantine failure where arbitrary nodes behave maliciously and privacy,
tamper-proof message, and authentication.
● The PBFT setting has a maximum of 3*f + 1 number of different replicas, and out of
these replicas, it has f number of faulty replicas and 2*f +1 numbers non-faulty replicas.
● The state machine is replicated across different nodes.
● The replicas move through successive configurations, known as views.
● One replica is a primary view, and others are backups.
● Views are changed when a primary is detected as faulty.
● A unique integer number v identifies every view.
● Only the messages from the current views are accepted.

Niru Gang
What is Three Phase Commit Protocol in pBFT
The PBFT algorithm goes through 3 phases, the pre-prepare, prepare, and commit phases.

In The Pre-Prepare phase they receive the request and create a proposal. It assigns a
sequence number n to the request and multicast a message

In this scenario Frodo is a faulty replica, hence the f next to its name

Prepare phase: they are coming to an agreement.

In this scenario Frodo is a faulty replica, hence the f next to its name

Niru Gang
Commit phase, the name says it all, they commit their agreement and reply back. In addition
they individually execute the request to check that they are getting the same results (to ensure
the consensus property safety).

In this scenario Frodo is a faulty replica, hence the f next to its name

Benefits of PBFT
● A pBFT doesn’t require carrying out high mathematical computations like PoW.
● It is an energy-efficient consensus model.
● It requires less time.

Limitations of pBFT
● pBFT has a high communication overhead that will increase with the number of nodes in
the network.
● It has scalability issues with more extensive networks.
● pBFT is susceptible to Sybil attacks in which one node controls or acts as multiple
network nodes.

Explain hyperledger platform


● Hyperledger is a collaborative effort from different industry leaders to frame an open
source, Cross-Industry Blockchain aided technologies.
● The movement basically aims to develop distributed ledgers that can support enterprise
level business transactions.
● The entire project is developed on the open source platform.

Niru Gang
● Even though the project is hosted and driven by the free folk of the internet ‘Linux
Foundation’, technology giants like IBM, Intel, Samsung and many more have already
become part of the project.
● Hyperledger provides the platform to create personalized blockchain service according
to the need of business work.
● Unlike other platforms for developing blockchain based software, Hyperledger has an
advantage of creating secured and personalized blockchain networks.

Hyperledger fabric
● Hyperledger Fabric is an open-source platform for building distributed ledger solutions,
with a modular architecture that delivers high degrees of confidentiality, flexibility,
resiliency, and scalability.
● This enables solutions developed with fabric to be adapted for any industry.
● This is a private and confidential blockchain framework managed by the Linux
Foundation.

Fabric consist of below major components


● Membership Service Provider(MSP)
○ The membership service provider (MSP), is a component that defines the rules in
which identities are validated, authenticated, and allowed access to a network.
○ The MSP manages user IDs and authenticates clients who want to join the
network
● Client
○ Clients are applications that act on behalf of a person to propose transactions on
the network.
○ The client uses a Fabric SDK in order to communicate with the network.
○ The client communicates with the SDK in order to Read or Write the data in a
Fabric blockchain and an in-state DB.
● Peer
○ It is a node that commits transactions and maintains the state and a copy of the
ledger.
○ A peer receives ordered state updates in the form of blocks from the ordering
service and maintains the state and the ledger.
○ Besides, peers can have a special endorser role.
○ The special function of an endorsing peer occurs with respect to a particular
chaincode and consists in endorsing a transaction before it is committed.
● Orderer
○ it is a node running the communication service that implements a delivery
guarantee, such as atomic or total order broadcast.

Niru Gang
List different hyperledger platform and explain features in details / Compare
different hyperledger platform

Explain architecture of hyperledger fabric with diagram

good luck explaining this shit cause i am giving up on it.

Niru Gang
Explain working of hyperledger fabric transactions

● Here when clients submit the transaction proposal through the Fabric SDK, this proposal
is sent to all Endorsing Peers.
● These endorsing peers check if the transaction verifies and executes and generates the
Read and Write set as output.
● Now, this response is again sent to the client. The client collects all responses from all
endorsing peers, and sends them to Orderer.
● Now, the Orderer sees all transactions and orders them in ascending order and forms a
block.
● Now, this block is sent to all committers which checks the transaction and add a new
block in their own copy of the ledger.

Niru Gang
Ethereum vs. Hyperledger Fabric

Explain supply chain using blockchain


● The main reason for classical supply chain inefficiency is the lack of transparency and
reliable reporting.
● Many companies suffer from the lack of visibility regarding the entire supply chain of their
products, and hence lose an immediate competitive advantage over competitors in their
industries.
● In the traditional supply chain models, the information about an entity is not fully
transparent to others, which leads to inaccurate reports and a lack of interoperability.
● Emails and printed documents provide certain information, but still can’t contain fully
detailed visibility and traceability information since the products across the entire supply
chain are hard to trace.
● It is almost impossible for the consumer to know the true value of the product they
purchased.
● Since the blockchain is a transparent, immutable, and secure decentralized system, it is
considered to be a game-changing solution for traditional supply chain industries.
● It can help to build an effective supply chain system by improving the following areas:
○ Tracking the products in the entire chain
○ Verifying and authenticating the products in the chain
○ Sharing the entire chain information between supply chain actors
○ Providing better auditability

Niru Gang
Chapter 6

Explain features of Corda


● Corda is a permissioned P2P DLT (Distributed Ledger Technology) that supports the
smart contact feature.
● It means businesses can program and deploy smart contracts on the platform using Java
or Kotlin.
● In addition, there are no tokens or cryptocurrencies in Corda.
● The platform has proven performance backing it up and it can handle more than 600
transactions per second.
● In addition, it is highly scalable and can process and store data using a ledger.
● It allows firms to deal seamlessly with one another.
● It provides better security.
● This platform is agile and flexible.
● Transactions in Corda are confirmed through a process of consensus using a variety of
● algorithms, including Byzantine Fault Tolerant algorithms.
● Corda’s functionality relies on the UTXO input/output model.
● Corda was designed with banking in mind, but other use cases in supply chain,
healthcare, trade finance and government are emerging.
● Corda can be used to solve one of the biggest challenges facing the healthcare industry
today, fragmentation of the store services and data, which leads to poor patient care and
increased fraud.
● More than 60 firms, including Intel and Microsoft, are using Corda as a blockchain
platform.

Niru Gang
Explain features of Ripple
● Ripple is an open-source protocol developed to support transactions in a cheap and fast
way.
● It is not just a platform but also a currency.
● The platform’s own currency is called XRP and it also lets businesses create their own
currency with the help of RippleNet.
● It was founded in 2012 and was renamed from Opencoin in 2015.
● The mission of RippleNet is to allow banks to process cross-border transactions in a less
costly and quick manner.
● Thus, it is an ideal option for the present global payment system used by most banks.
● XRP is touted to be faster and scalable than most other blockchains (4 seconds payment
settlement versus 1+ hour in Bitcoin with the ability to 1,500 transactions per second
compared to 3-6 for Bitcoin).
● Developers are leveraging XRP Ledger to develop creative software and products for
gaming, web monetization, and content where the currency is the main part.
● Businesses can develop robust finance applications on Ripple. The platform can also be
used to send receipts, invoices, and other types of digital documents.
● Big brands like Santander, American Express, MoneyGram International, SBI Holdings,
and Deloitte are testing the potential of Ripple’s Blockchain and planning to integrate it to
make the existing payment processes secure and faster.

Explain features of Quorum


● From 2015, Quorum has been established by J.P. Morgan uses Ethereum to manage
use-cases demanding high-speed as well as rising execution of confidential transactions
with a highly secure and high-throughput community of people.
● Quorum is built to grow and improve in tandem with Ethereum.

Niru Gang
● It doesn’t employ the Proof of Work (PoW) consensus mechanism, instead relying on
vote-based and other techniques to execute thousands of operations per second,
according to how smart contracts and other networks are set up.
● Quorum can handle the bulk of Ethereum changes swiftly and efficiently since it only
alters Ethereum’s core to a limited extent.
● Quorum is also open sourced, free to use in perpetuity and encourages experimentation.
● Key features
○ Can swiftly handle tonnes of Ethereum changes.
○ Working is quite efficient.
● Basically, Quorum is an enhanced version of Ethereum .
● Quorum resolves the issue of the confidentiality of records that Ethereum and other
blockchains failed to handle by introducing private and public on-chain transactions.
● Use cases of Quorum blockchain in finance and banking include applications like
tokenized cash, supply chain finance, trade finance, and capital market data.
● Another example of using Quorum blockchain is in the healthcare industry. Synaptic
Healthcare Alliance is a pilot blockchain project that focuses on creating an industry-wide
database for healthcare providers using Quorum.

Niru Gang
Compare and contrast Corda, Ripple, and Quorum

Niru Gang
Explain difference platforms available and compare

What Is Decentralized Finance (DeFi) and discuss benefits of Decentralized


Finance (DeFi)
● Decentralized finance (DeFi) is an emerging financial technology based on secure
distributed ledgers similar to those used by cryptocurrencies.
● In the U.S, The Federal Reserve and Securities and Exchange Commission define the
rules for centralized financial institutions like banks and brokerages, which consumers
rely on to access capital and financial services directly.
● DeFi challenges this centralized financial system by empowering individuals with
peer-to-peer digital exchanges.
● DeFi eliminates the fees that banks and other financial companies charge for using their
services. Individuals hold money in a secure digital wallet, can transfer funds in minutes,
and anyone with an internet connection can use DeFi.
Benefits of DEfi
● Programmability. Highly programmable smart contracts automate execution and enable
the creation of new financial instruments and digital assets.
● Immutability. Tamper-proof data coordination across a blockchain’s decentralized
architecture increases security and auditability.
● Interoperability. Ethereum’s composable software stack ensures that DeFi protocols
and applications are built to integrate and complement one another. With DeFi,
developers and product teams have the flexibility to build on top of existing protocols,
customize interfaces, and integrate third-party applications.
● Transparency. On the public Ethereum blockchain, every transaction is broadcast to
and verified by other users on the network. This level of transparency around transaction
data not only allows for rich data analysis but also ensures that network activity is

Niru Gang
available to any user. Ethereum and the DeFi protocols running on it are also built with
open source code that is available for anyone to view, audit, and build upon.
● Permissionless. Unlike traditional finance, DeFi is defined by its open, permissionless
access: anyone with a crypto wallet and an Internet connection, regardless of their
geography and often without any minimum amount of funds required, can access DeFi
applications built on Ethereum.
● Self-Custody. By using Web3 wallets like MetaMask to interact with permissionless
financial applications and protocols, DeFi market participants always keep custody of
their assets and control of their personal data.

Discuss different use cases in Decentralized Finance (DeFi)


● DAOs
○ A DAO is a decentralized autonomous organization that cooperates according to
transparent rules encoded on the Ethereum blockchain, eliminating the need for
a centralized, administrative entity.
○ Several popular protocols in the DeFi space, such Maker and Compound, have
launched DAOs to fundraise, manage financial operations, and decentralized
governance to the community.
● Data and analytics
○ Because of their unprecedented transparency around transaction data and
network activity, DeFi protocols offer unique advantages for data discovery,
analysis, and decision-making around financial opportunities and risk
management.
● Derivatives
○ DeFi derivatives can represent real-world assets such as fiat currencies, bonds,
and commodities, as well as cryptocurrencies.
● Payments
○ Peer-to-peer payment is arguably the foundational use case of the DeFi space
and of the blockchain ecosystem at large.
○ DeFi payment solutions are creating a more open economic system for
underbanked and unbanked populations and also helping large financial
institutions streamline market infrastructure and better serve wholesale and retail
customers.
● Prediction markets
○ Augur, a popular DeFi betting platform, features prediction markets around
election results, sports games, economic events, and more.
● Stablecoins
○ Stablecoins were originally developed to reduce the volatile prices of
cryptocurrency and make blockchains a viable payment solution.
○ They are now implemented across the DeFi space for remittance payments,
lending and borrowing platforms, and even institutional use cases like central
bank digital currency (CBDC).

Niru Gang

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy