Evolution of Digital Assets (BlockChain, WEB3, NFT)
Evolution of Digital Assets (BlockChain, WEB3, NFT)
Assets
Evolution of
Blockchain,WEB3 ,NFTs
Adnan Pervaiz
Network & Cloud Architect
1
Blockchain
World of Digital Assets
The "World of Digital Assets" refers to the rapidly evolving ecosystem of technologies, financial instruments, and platforms
centered around digital, blockchain-based, and tokenized assets. This landscape includes a variety of assets that exist in
digital form, often leveraging decentralized networks and cryptographic principles for security, transparency, and efficiency.
Here’s a detailed look at the key components:
The future holds significant potential for digital assets. As the technology matures and more use cases emerge, industries
like finance, real estate, entertainment, and healthcare will likely be transformed. Increased institutional adoption,
regulatory clarity, and advancements in security will help shape a more robust ecosystem for digital assets.
In summary, the world of digital assets is diverse and dynamic, ranging from cryptocurrencies and NFTs to tokenized
physical assets and decentralized financial systems. This ecosystem is disrupting traditional industries and creating new
opportunities for investors, innovators, and consumers.
Blockchain Basic Concepts
Blockchain platforms provide the infrastructure and tools necessary to build and deploy decentralized applications and
blockchain networks. Hyperledger, Corda, and Polkadot are three prominent blockchain platforms, each with its own
unique characteristics and use cases. Here's an overview of each:
1. Hyperledger
Overview: Hyperledger is an open-source project hosted by the Linux Foundation. It is a collection of blockchain
frameworks and tools designed for enterprise use, providing a modular approach to building blockchain applications.
Key Components:
Hyperledger Fabric: The most popular framework under the Hyperledger umbrella, Fabric is designed for permissioned
networks, where participants are known and trusted. It allows for the creation of private channels and supports smart
contracts (called "chaincode").
Hyperledger Sawtooth: A modular blockchain platform designed for versatile deployment in various industries. It
supports a consensus algorithm called Proof of Elapsed Time (PoET).
Hyperledger Besu: An Ethereum client designed for enterprise use, supporting both permissioned and public Ethereum
networks.
Blockchain Basic Concepts
Key Features:
Permissioned Network: Hyperledger platforms typically operate in a permissioned environment, meaning participants are
known and verified, which enhances privacy and security.
Modularity: Components like consensus, membership services, and smart contracts can be customized based on specific
use cases.
Smart Contracts (Chaincode): Supports writing smart contracts in languages like Go, Java, and JavaScript.
Use Cases:
Supply chain management In 1956, IBM manufactured the
305 RAMAC, a 5MB hard drive
Healthcare unit which (literally) weighed a
Financial services ton.
Government
Blockchain is a
disruptive
Technology
Blockchain Basic Process
Users initiate
Users Broadcast One or more Nodes aggregate
transactions
their Nodes begin validated
using their
transactions to validating each transactions into
Digital
Nodes transaction Blocks
Signatures
1 2 3 4
Block reflecting
Nodes Broadcast
Consensus “true state” is
Blocks to each
protocol used chained to prior
other
Block
5 6 7
Blockchain Basic Concepts
Blockchain: a growing list of records, called blocks, that are linked using cryptography.
Block Hash: 001 002 003 004 005
Block: Confirmed Confirmed Confirmed Confirmed Confirmed
Transactions Transactions Transactions Transactions Transactions
Confirmed Transactions T1… T4… T7… T10… T13…
T2… T5… T8… T11… T14…
T3… T6… T9… T12… T15…
Previous Block Hash: 000 001 002 003 004
Genesis Block
1 2 3 4 5
Response Memory
Time Usage
Network
CPU Usage
Usage
8
Blockchain Basic Process
Miners
Puzzle/
Consensus Algorithm
Genesis Block
001 002 003 004 005 006
Confirmed Confirmed Confirmed Confirmed Confirmed Confirmed
Transactions Transactions Transactions Transactions Transactions Transactions
New
T1… T4… T7… T10… T13… T13…
T2… T5… T8… T11… T14… Block
T14…
T3… T6… T9… T12… T15… T15…
000 0001 002 003 004 005 Node
1 2 3 4 5
Each NODE has a copy of the ledger.
9
Blockchain is a disruptive technology:
Scalability Types
Blockchain Scalability
System achieves a higher TPS through adjusting some system parameter(s).
Scalability Improvement Approaches
Layer-0 Data Propagation Erlay, Kadcast, Velocity, BloXroute
T1 T3 T3 T3
Zone T1 T1 T2 T2 T2 2 3
2 3 1
2 3 1
1
Node
Blockchain
T1 T1 T1 T2 T 22 T2 T3 T3 T3
3 2 3
Transaction 2 3 1 1
1
Zone-1 Zone-2
T T T T T T
0 2 4 0 2 4
TT T T TT T T
T T
16 83 5 16 83 5
1 1
T T T T
0 0
7 9 7 9
Efficient Bandwidth
2.Kadcast Efficient block propagation approach based on overlay structure of Kademlia.
consumption
Block propagation improvement by utilizing Fountain code, a kind of erasure Reduce the amount of data be
3.Velocity
code propagated
1. G. Naumenko, G. Maxwell, P. Wuille, S. Fedorova, and I. Beschastnikh, “Bandwidth-efficient transaction relay for bitcoin,” arXiv preprint arXiv:1905.10518, 2019.
2. E.RohrerandF.Tschorsch,“Kadcast:Astructuredapproachtobroadcast in blockchain networks,” in Proceedings of the 1st ACM Conference on Advances in Financial Technologies. ACM, 2019, pp. 199–213.
3. N.Chawla,H.W.Behrens,D.Tapp,D.Boscovic,and K.S.Candan,“Velocity: Scalability improvements in block propagation through rateless erasure coding,” in 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019, pp. 447–454.
4. Uri Klarman, Soumya Basu, Aleksandar Kuzmanovic and Emin Gun Sirer "bloXroute: A Scalable Trustless Blockchain Distribution Network WHITEPAPER"
16
Layer-1
1. Block Data: (On-Chain)
Scalability problem has a certain relevance with block size, Block compression.
Paper Name Description Result
Splitting the transaction into two segments, removing the unlocking
1. Segregated Witness signatures from the original transaction hashes, and the new Witness Enhanced Block creating
structure will contain both the scripts and signatures
2. Bitcoin-Cash Increased Block size 1Mb to 8 Mb and 32 Mb More transactions in one block
A compact block contains the header of the block and some short
3. Compact Block Relay transaction IDs (TXIDs), which will be used for matching transactions that Faster Block creation
are already available to the receivers.
4. Txilm Compresses transactions in each block Save the bandwidth.
Minimize the total query cost,
Different nodes into a Consensus Unit. In each unit, each node stores part reduces the storage overhead
5. CUB
of the block data. of each node while ensuring
the throughput and latency.
Significantly reduces
6. Bitcoin-NG Transactions can be processed continually until the next leader is elected. transaction confirmation time
and improves the scalability.
Treats each transaction as a block and focuses on faster security confirmations and Efficient Throughput
16. Dagcoin
greater throughput.
In IOTA, there is no block, miner and transaction fee involved. Every node can Efficient Throughput
17. IOTA create transactions freely after solving a specific computational task and choose
two previous transactions to validate and approve them if valid
13. M. Zamani, M. Movahedi, and M. Raykova, “Rapidchain: scaling blockchain via full sharding,” in Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2018, pp. 931–948.
14. J. Wang and H. Wang, “Monoxide: Scale out blockchains with asynchronous consensus zones,” in 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19), 2019, pp. 95–112.
15. Churyumov, “Byteball: A decentralized system for storage and transfer of value,” URL https://byteball. org/Byteball. pdf, 2016.
16. S. D. Lerner, “Dagcoin: a cryptocurrency without blocks,” 2015.
17. “Iota,” https://www.iota.org/.
19
Layer-2
1. Payment Channel: (On-Chain)
Temporary off-chain ( Transferring some transactions to this channel to achieve the effect of reducing the transaction volume)
T1 T2 T3 T4 T5 T6 T7 T8 T1 T1 TY1 T12
T1 T1 T9 T10 T11 T1 T1
20
Layer-2
(On-Chain)
Transferring assets from parent chain to side chain by the Two-way peg protocol
4. Pegged SideChain Efficient Processing
proposed in Pegged Sidechains.
Plasma is a framework of sidechain attached to the Ethereum main chain. Its root
5. Plasma is a smart contract running on the main chain, which records the rules and the Efficient Processing
state hash of the sidechain.
The previous state-channel solutions require at least one transaction on the
parent chain when a channel is established, and also have the drawback that the
6. Liquidity Network Efficient Processing
transaction funds need to be saved in the trading channel as a deposit and the
transaction channel relies on complex routing topologies.
An ecosystem of connected blockchains. The network is comprised of many
independent blockchains, each of which is called a zone. Powered by consensus
7. Cosmos algorithms like Tendermint consensus, those zones can communicate with each Efficient Processing
other via their InterBlockchain Communication (IBC) protocol, allowing
heterogeneous chains to exchange values (i.e. tokens) or data with each other.
4. A. Back, M. Corallo, L. Dashjr, M. Friedenbach, G. Maxwell, A. Miller, A. Poelstra, J. Timón, and P. Wuille, “Enabling blockchain innovations with pegged sidechains,” URL: http://www. opensciencereview. com/papers/123/enablingblockchain-innovations-with-
peggedsidechains, p. 72, 2014.
5. “Minimal viable plasma,” https://ethresear.ch/t/minimal-viable-plasma/4 26.
6. “liquidity.network,” https://liquidity.network/.
7. “Cosmos,” https://cosmos.network/whitepaper.
21
Layer-2
(On-Chain)
22
Comparison Among the Consensus Algorithms
Consensus Blockchain
Programming Languages Smart Contracts Pros Cons
Algorithms Platform
Less opportunity for 51% attack Greater energy consumption
PoW Bitcoin C++ No
Better Security Centralization of Miners
Energy efficient
PoS NXT Java Yes Nothing-at-stake problem
More decentralized
Energy efficient
Partially centralized
DPoS Lisk JavaScript No Scalable
Double spend attack
Increased security
Fair usage
LPoS Waves Scala Yes Decentralization Issue
Lease Coins
Hyperledger Python, JavaScript, Go, C++, Need for specialized hardware
PoET Yes Cheap participation
Sawtooth Java, and Rust Not good for Public Blockchain
JavaScript, Python, Java REST No Need for Confirmation Communication Gap
PBFT Hyperledger Fabric Yes
and Go Reduction in Energy Sybil Attack
Good Security
SBFT Chain Java, Node, and Ruby No Not for Public Blockchain
Signature Validation
Python,.NET, Java, C++, C, Go, Scalable
DBFT NEO Yes Conflictions in the Chain
Kotlin, JavaScript Fast
Javascript, Rust, Java Go, and Low cost network Implementation gaps
DAG IOTA In Process
C++ Scalability Not suited for smart contracts
Reduces the probability of the 51% attack Greater energy consumption
POA Decred Go Yes
Equal contribution Double signing
Vesting
PoI NEM Java, C++XEM Yes Decentralization Issue
Transaction partnership
Cheap
Favoring bigger fishes
PoC Burstcoin Java Yes Efficient
Decentralization issue
Distributed
Not for short term investors
PoB Slimcoin Python, C++, Shell, JavaScript No Preservation of the network
Wasting coins
Scalable
PoWeight Filecoin SNARK/STARK Yes Issue with Incentivization 23
Customizable
Hyperledger and Enterprise
Blockchain
Hyperledger and Enterprise Blockchain
Hyperledger Frameworks
1. Modular Architecture
2. Permissioned Network
3. Private and Confidential Transactions
4. Scalability
5. High Security
6. Support for Rich Queries
Hyperledger Fabric
What is Chaincode?
• Chaincode is the smart contract in Hyperledger Fabric.
• It defines business logic for managing assets and automating transactions.
• Chaincode interacts with the blockchain ledger to read and update data.
Chaincode Lifecycle
1. Develop: Write chaincode using Go, JavaScript, or Java.
2. Package: Bundle the chaincode for deployment.
3. Install: Deploy the chaincode on the peer nodes.
4. Instantiate: Define endorsement policies.
5. Upgrade: Update chaincode as business logic evolves.
Ethereum is a decentralized, open-source blockchain platform that enables developers to build and deploy
decentralized applications (dApps) and smart contracts. Launched in 2015 by Vitalik Buterin and a team of co-founders,
Ethereum is one of the most widely used and well-known blockchain platforms in the world, second only to Bitcoin in
terms of market capitalization.
While Bitcoin was designed primarily as a digital currency, Ethereum was developed with the broader goal of providing a
platform for decentralized computing. This flexibility has led to Ethereum being the foundation for a wide range of
applications, including decentralized finance (DeFi), non-fungible tokens (NFTs), and more.
The Ethereum Virtual Machine or EVM is the runtime environment for smart contracts in Ethereum. It is not only
sandboxed but completely isolated, which means that code running inside the EVM has no access to network, filesystem
or other processes. Smart contracts even have limited access to other smart contracts.
31
Ethereum Blockchain
1. Smart Contracts
Description: Smart contracts are self-executing contracts with the terms of the agreement directly written into code. They
automatically execute and enforce the terms of a contract when predefined conditions are met, without the need for
intermediaries.
Programming Language: Solidity is the most common language used for writing smart contracts on Ethereum, though Vyper
and others can also be used.
3. Ether (ETH)
Description: Ether (ETH) is the native cryptocurrency of the Ethereum network. It is used to pay for transactions and
computational services on the network, such as executing smart contracts. Ether also serves as an incentive for miners and
validators to secure the network.
Gas Fees: Transactions and operations on the Ethereum network require a fee, known as "gas," which is paid in Ether. Gas
fees fluctuate based on network demand and the complexity of the transaction.
32
Ethereum Blockchain
33
Ethereum Blockchain
7. Consensus Mechanism
Proof of Work (PoW): Originally, Ethereum used a Proof of Work (PoW) consensus mechanism, similar to Bitcoin, where
miners competed to solve cryptographic puzzles to validate transactions and create new blocks.
Transition to Proof of Stake (PoS): Ethereum has transitioned to a Proof of Stake (PoS) consensus mechanism with
Ethereum 2.0 (also known as "The Merge"). In PoS, validators are chosen to create new blocks and validate transactions
based on the amount of Ether they "stake" as collateral.
34
Ethereum Blockchain
Decentralized Finance (DeFi): Platforms for lending, borrowing, trading, and other financial services without intermediaries.
Supply Chain Management: Tracking the origin, authenticity, and journey of products across the supply chain.
Digital Identity: Secure and decentralized management of identity information.
Gaming and Virtual Worlds: Platforms where users can own, trade, and interact with digital assets, such as in-game items or
virtual land.
Crowdfunding: Platforms like initial coin offerings (ICOs) and decentralized autonomous organizations (DAOs) for raising
funds.
Conclusion
Ethereum is a powerful and versatile blockchain platform that has revolutionized the way decentralized applications and
smart contracts are built and deployed. With its transition to Ethereum 2.0, it aims to address scalability and energy
efficiency challenges, further solidifying its position as a leader in the blockchain space. Ethereum’s broad ecosystem and
active developer community continue to drive innovation across various industries, making it a cornerstone of the
decentralized web (Web3).
35
Merkle Trees
Merkle trees are a structured way of encoding data for easy verification and better security.
Blockchains use Merkle trees to generate hashes that are used to verify transactions and secure the blocks.
Visual representations of Merkle trees resemble upside-down trees with the root at the top.
The repeated hashing technique used in blockchain Merkle trees is one of the mechanics that contribute to their immutability.
Applications:
Merkle trees are useful in distributed systems where same data should exist in multiple places.
Merkle trees can be used to check inconsistencies.
Apache Cassandra uses Merkle trees to detect inconsistencies between replicas of entire databases.
It is used in bitcoin and blockchain.
Ethereum Blockchain
Key Concepts of a Merkle Tree:
Leaf Nodes:
The bottom-most nodes of the tree, called leaf nodes, contain the hash of individual data elements (e.g., transactions
in a block of a blockchain).
Non-Leaf Nodes:
Above the leaf nodes, non-leaf nodes are formed by concatenating and hashing the hashes of two child nodes. This
process continues upwards, layer by layer, until only one node remains at the top—the Merkle root.
Merkle Root:
The Merkle root is the single hash at the top of the tree, representing the entire data set. It is used as a fingerprint of
the data, ensuring that any change to the underlying data would result in a different Merkle root.
Data Integrity and Efficiency:
Merkle trees allow efficient and secure verification of large data structures. For example, in a blockchain, to verify that
a particular transaction is part of a block, you only need to trace the path from the transaction’s hash up to the Merkle
root, rather than checking the entire block’s content.
Proof of Inclusion:
A Merkle tree enables a concept called Merkle proof (or proof of inclusion). This proof allows someone to verify the
existence of a specific piece of data in a large dataset using a small amount of information (just the hashes along the
path to the Merkle root).
Solidity Coding
Solidity Coding Technique
• Solidity is the programming language for writing smart contracts on the Ethereum blockchain.
• Writing efficient, secure, and maintainable Solidity code is crucial for building robust decentralized applications
(dApps).
• This presentation covers key techniques and best practices for Solidity development.
- **Factory Pattern:** A contract that deploys other contracts. Useful for managing multiple instances of similar contracts.
- **Proxy Pattern:** Enables upgradeable contracts by separating logic and storage contracts.
- **Pull Payment Pattern:** Prevents reentrancy by allowing users to withdraw funds instead of pushing payments.
- **State Machine Pattern:** Manages contract states, ensuring operations are executed
Solidity Coding Technique
- **Factory Pattern:** A contract that deploys other contracts. Useful for managing multiple instances of similar
contracts.
- **Proxy Pattern:** Enables upgradeable contracts by separating logic and storage contracts.
- **Pull Payment Pattern:** Prevents reentrancy by allowing users to withdraw funds instead of pushing
payments.
- **State Machine Pattern:** Manages contract states, ensuring operations are executed
- **Factory Pattern:** A contract that deploys other contracts. Useful for managing multiple instances of similar
contracts.
- **Proxy Pattern:** Enables upgradeable contracts by separating logic and storage contracts.
- **Pull Payment Pattern:** Prevents reentrancy by allowing users to withdraw funds instead of pushing payments.
- **State Machine Pattern:** Manages contract states, ensuring operations are executed
WEB3 Evolution
WEB3
What is Web3?
• Web3 is the third generation of internet services that focuses on decentralization, blockchain technology, and user
empowerment. It aims to create an internet where users have control over their data, digital identities, and online
activities. Transition from Web1 (static web) to Web2 (interactive/social web) to Web3 (decentralized web).
- Definition: Financial services built on blockchain, removing the need for intermediaries.
- Key Components: Lending, borrowing, trading, yield farming, and stablecoins.
- Benefits: Accessibility, transparency, reduced fees, and no single point of failure.
- Examples: Uniswap, Aave, Compound.
Current Challenges and Limitations
• - Scalability: Blockchain networks still face scalability issues.
• - User Experience: Complexity and technical barriers for non-expert users.
• - Regulation: Legal and regulatory uncertainties in decentralized systems.
• - Energy Consumption: Environmental concerns, particularly with Proof of Work (PoW).
• - Security: Vulnerabilities in smart contracts and DeFi protocols.
Key Features:
• Open-source
• Decentralized data storage
• Smart contracts for back-end logic
• Tokenization for governance, utility.
• Front-End: User interface (HTML, CSS, JavaScript).
• Smart Contracts: Back-end logic on the blockchain (e.g., Solidity).
• Decentralized Storage: IPFS, Swarm for data storage.
• Token System: Tokens for governance and utility (e.g., ERC-20, ERC-721).
Decentralized Applications (Dapps)
How Dapps Interact with Blockchain
• Wallet Integration: Users connect via digital wallets (e.g., MetaMask).
• Web3.js/Ethers.js: Libraries for blockchain interaction.
• Transaction Process: Users sign transactions which are broadcast to the blockchain.
Benefits of Dapps
• Censorship Resistance: Decentralized control.
• Transparency: Open-source and verifiable.
• Decentralization: No central authority.
• Incentive Structures: Tokens create a reward ecosystem.
WEB3.js
Web3.js is a collection of libraries that allows you to interact with an Ethereum blockchain easily using JavaScript. It is a
primary tool for creating decentralized applications (Dapps) that run on the Ethereum blockchain.
Key Features of Web3.js:
•Blockchain Interaction: Enables communication between Dapps and the Ethereum network. You can query blockchain
data and send transactions.
•Smart Contracts: Allows developers to interact with Ethereum smart contracts (deployed on the blockchain) via JavaScript.
•Event Listening: Can listen for events emitted by smart contracts, allowing real-time updates in your application.
•Wallet Integration: Works with various wallets like MetaMask to sign and broadcast transactions.
// Import Web3.js
const Web3 = require('web3');
Types of NFTs
• Categories:
• Digital Art
• Collectibles (e.g., trading cards, virtual pets)
• Music and Videos
• Virtual Real Estate (e.g., in games)
• Domain Names
Non-Fungible Tokens(NFTs)
How to Create and Sell NFTs
• Process Overview:
• Creating (Minting) an NFT
• Choosing a Marketplace (e.g., OpenSea, Rarible)
• Setting Prices (Fixed price, auction)
NFT Marketplaces
• Popular Platforms:
• OpenSea
• Rarible
• Foundation
• SuperRare
Non-Fungible Tokens(NFTs)
NFT Use Cases
• Art and Creativity
• Gaming and Virtual Worlds
• Fashion and Digital Wearables
• Music and Entertainment
• Domain Names and Intellectual Property
Advantages of NFTs
Case Studies
• Examples:
• Beeple’s $69 million NFT sale
• Cryptopunks
• NBA Top Shot