The document provides an overview of blockchain technology and related concepts through a presentation. It begins with basic terminologies like hash functions and digital signatures. It then discusses the evolution of blockchain from early concepts in the 1990s to Bitcoin's introduction of blockchain for cryptocurrency. The presentation covers blockchain architecture including how transactions are added across distributed nodes and consensus mechanisms. It also classifies blockchains as public, private or hybrid based on network management and permission levels.
4. BLOCKCHAIN
Presentation By
Akhil Nadh PC
M.Tech- Information Security
NIT Jalandhar
mailtoitzpc@gmail.com
Supervisor
Prof. Lalit Kumar Awasthi
Director
NIT Jalandhar
director@nitj.ac.in
Dr. B. R. Ambedkar National Institute of Technology Jalandhar, Punjab.
A Systematic Study
5. • BasicTerminologies
• Blockchain Evolution
• An overview on BlockchainTechnology
• Architecture
• Classification
• Taxonomy
• Applications
• Block in a blockchain
• Permission less Blockchain and Bitcoin
• Permission based blockchain
• Challenges and Research Gaps
• Conclusion
• Reference
CONTENTS
https://www.linkedin.com/in/itzpc/
7. • A hash function is any function that can be used to map data of arbitrary size onto data of a
fixed size.
• The values returned by a hash function are called hash values, hash codes, digests, or
simply hashes.
• Ex: SHA256 , SHA1, MD5
Hash FunctionMessage
(arbitrary length)
Hash
(fixed length)
HASH FUNCTION
https://www.linkedin.com/in/itzpc/
8. HASH FUNCTION (CONT.)
Image Source: https://passwordsgenerator.net/sha256-hash-generator/
Fig: SHA256 hash of three words.
https://www.linkedin.com/in/itzpc/
9. CRYPTOGRAPHIC HASH FUNCTION
• Ideal hash functions have following properties
1. It is extremely easy to calculate a hash for any given data.
(Simple and Faster)
2. It is extremely computationally difficult to calculate an alphanumeric text that has a given hash.
(One Way)
3. It is extremely unlikely that two slightly different messages will have the same hash.
(Avalanche effect)
https://www.linkedin.com/in/itzpc/
10. CRYPTOGRAPHIC HASH FUNCTIONS USED IN
BLOCKCHAIN
Cryptographic Hash Functions used in Blockchain have following special properties:
1. Collision-Free
– If two messages are different their digest will also be different
– “HelloWorld” and ”HelloWord” are having different digest
– It is difficult to find but not impossible
2. Hiding
– Hide the original message.
– One Way technique . Difficult to find M from H(M)
3. Puzzle Friendly
– Given hash (Y) and message (X) . Find out k such that 𝑌 = 𝐻(𝑋||𝑘)
– For a person it is always possible to find such k
https://www.linkedin.com/in/itzpc/
11. DIGITAL SIGNATURE
• Using RSA, public-key cryptosystem.
Reference: Cryptography and Network security,William Stallings
Fig: Digital Signature using RSA approach.
https://www.linkedin.com/in/itzpc/
12. BINARY MERKLE TREE
• In white paper “Protocols for Public Key Cryptosystems”, Ralph. C. Merkle in 1980 has presented
Merkle Tree.
• Kind ofTree data structure.
• Collectively secure more documents or data blocks together
Reference: Merkle, Ralph C. "Protocols for public key cryptosystems." 1980 IEEE Symposium on Security and Privacy. IEEE, 1980.(Paper)
H0= Hash ( D1) H1= Hash ( D2)
Hroot= Hash (H0 + H1)
https://www.linkedin.com/in/itzpc/
13. CENTRALIZED DECENTRALIZED AND DISTRIBUTED
Reference: Medium Article on “What is the difference between decentralized and distributed systems?” by Mari Eager (Article).
Fig:The review and rating of a product.
https://www.linkedin.com/in/itzpc/
14. LEDGER
• A ledger is the principal book or computer file for recording and totaling economic
transactions measured in terms of a monetary unit of account by account type, with debits and
credits in separate columns and a beginning monetary balance and ending monetary balance
for each account.
https://www.linkedin.com/in/itzpc/
15. DISTRIBUTED LEDGER
• A distributed ledger is a database that is consensually shared and synchronized across multiple
sites, institutions or geographies.
• It allows transactions to have public "witnesses," thereby making a cyberattack more difficult.
• The participant at each node of the network can access the recordings shared across that
network and can own an identical copy of it.
https://www.linkedin.com/in/itzpc/
16. CONSENSUS
• A fundamental problem in distributed computing and multi-agent systems is to achieve overall
system reliability in the presence of a number of many nodes and process.
https://www.linkedin.com/in/itzpc/
Charge !
Charge !
Charge !
Retreat !
17. CONSENSUS (CONT.)
• A fundamental problem in distributed computing and multi-agent systems is to achieve overall
system reliability in the presence of a number of many nodes and process.
• This often requires peer nodes or processes to agree on some data value that is needed
during computation.
• Examples of applications of consensus include
– whether to commit a transaction to a database
– agreeing on the identity of a leader
– state machine replication
– clock synchronization
– opinion formations
• It is a general agreement or protocol that is accepted by all nodes in the network
https://www.linkedin.com/in/itzpc/
18. T H E E V O L U T I O N O F
B L O C K C H A I N
19. THE EVOLUTION OF BLOCKCHAIN
Haber and
Stornetta
1991
Introduced Merkle
Tree
1992
Satoshi Nakamoto
2008
https://www.linkedin.com/in/itzpc/
20. HABER AND STORNETTA 1991
• In the white paper "How to time-stamp a digital document.” Haber, Stuart, and W. Scott
Stornetta introduced new mechanism for time stamping digital documents for
reliability.
• Cryptographically secure chain of blocks
1. You have got a digital document.
2. Document is edited by multiple people time to time.
§ Person A has first created a Document
§ Person B has added new pages
§ Person C has edited some spelling mistakes in it
3. Maintain a list of timestamp values of events that has happened in a subsequent way
4. No people can change the timestamp value.
• If some people claim ‘I have not edited it’, then you can cross check it.
Reference: Haber, Stuart, and W. Scott Stornetta. "How to time-stamp a digital document." Conference on the Theory and Application of Cryptography. Springer, Berlin,
Heidelberg, 1990. (White Paper)
https://www.linkedin.com/in/itzpc/
21. HABER AND STORNETTA 1991 (CONT.)
𝐻) = 𝐻𝑎𝑠ℎ(𝑂, 𝐶, 𝑇𝑆, 𝐻2)
Reference: Haber, Stuart, and W. Scott Stornetta. "How to time-stamp a digital document." Conference on the Theory and Application of Cryptography. Springer, Berlin,
Heidelberg, 1990. (White Paper)
Order of Access TimestampValue
Client Sequence
Number
Previous Hash
https://www.linkedin.com/in/itzpc/
22. HABER AND STORNETTA 1991 (CONT.)
• Chain of blocks connected by hash value.
Reference: Haber, Stuart, and W. Scott Stornetta. "How to time-stamp a digital document." Conference on the Theory and Application of Cryptography. Springer, Berlin,
Heidelberg, 1990. (White Paper)
H0= Hash( Person A Created Document)
H1= Hash( Person B Added new page)
H2= Hash( Person C edited spelling mistakes)
Time Instance 𝑖
Time Instance 𝑖 + 1
Time Instance 𝑖 + 2
https://www.linkedin.com/in/itzpc/
23. INTRODUCED MERKLE TREE 1992
• In the paper “Improving the Efficiency and Reliability of DigitalTime-Stamping” Bayer Dave, Haber
Stuart and StornettaW Scott (March 1992) incorporated Merkle trees to the design, which
improved its efficiency by allowing several document certificates to be collected into one block
Reference: Bayer, Dave; Haber, Stuart; Stornetta,W. Scott (March 1992). Improving the Efficiency and Reliability of DigitalTime-Stamping. Sequences. 2. pp. 329–334. (White Paper)
H0= Hash ( D1) H1= Hash ( D2)
Hroot= Hash (H0 + H1)
change
https://www.linkedin.com/in/itzpc/
24. SATOSHI NAKAMOTO 2008
• In the paper “Bitcoin:A Peer-to-Peer Electronic Cash System” in 2008, Satoshi Nakamoto
conceptualized blockchain for the first time.
• The design was implemented the following year by Nakamoto as a core component of the
cryptocurrency bitcoin, where it serves as the public ledger for all transactions on the
network.
• A purely peer-to-peer version of electronic cash would allow online payments to be sent
directly from one party to another without going through a financial institution.
• Will discuss about how bitcoin works later in the slides after discussing blockchain
architecture and how blockchain technology works.
• Many people think of blockchain as a technology used to power cryptocurrencies but it is
capable of more things.
Reference: Nakamoto, Satoshi. "Bitcoin:A peer-to-peer electronic cash system." (2008). (White Paper)
https://www.linkedin.com/in/itzpc/
25. SATOSHI NAKAMOTO 2008 (CONT)
Double Spending Problem
• Same cryptocurreny is used for multiple transaction
– There are no central authority in decentralised system to monitor double spending problem
– Satoshi Nakamoto white paper deals with double spending problem
Reference: Nakamoto, Satoshi. "Bitcoin:A peer-to-peer electronic cash system." (2008). (White Paper)
https://www.linkedin.com/in/itzpc/
Alice
Jack
Bob
A : 50
Fig : Double spending problem
26. B L O C K C H A I N T E C H N O L O G Y
A N O V E R V I E W
27. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW
• In paper “A Survey on Blockchain Based Smart Applications” (2019) the author has defined
blockchain as
A decentralized computation and information sharing platform that enables
multiple authoritative domains, who do not trust each other to cooperate
coordinate and collaborate in rational decision making process
Reference: Saranya A , Mythili R. " A Survey on Blockchain Based Smart Applications” ,IJSR , Jan 2019 (Paper)
Alice Bob
Decentralised Network
Fig : Sharing Digital Information in a Decentralised Network – A Blockchain building block
https://www.linkedin.com/in/itzpc/
28. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• Every node maintain local copy of global data sheet
• System ensure consistency among local copies
– Local copies of every node is identical
– Local copies are updated always
A
B C
D
E
Fig : Blockchain – A simplified view
https://www.linkedin.com/in/itzpc/
29. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• If a node A wants to update ; The information get updated to all the copy of nodes that pocess
the information
• Local information are stored in the form of a public ledger.
• Blockchain works like a public ledger
• We need to ensure different aspects
– Protocols for commitments
Every valid transactions are committed and invalid are discarded
– Consensus
How each local copies are consistent with each other
– Security
Resiliency against one node in updating and broadcasting false information ( tamper proof )
– Privacy and Authenticity
how one public user can take part in transaction keeping his personal information private
Image Source: From the film ‘Iron Man 3’ by Marvel Cinematic Universe
https://www.linkedin.com/in/itzpc/
30. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• 3 peer in a network
• Initially Alice has 100 Cryptocurrency
Alice Bob
Alice : 100
Jack
https://www.linkedin.com/in/itzpc/
31. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• Information get updated in ledger of all nodes in the network
Alice Bob
Alice : 100
Jack
Alice : 100
Alice : 100
https://www.linkedin.com/in/itzpc/
32. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• Alice transfer 30 cryptocurrency to Bob
Alice Bob
Jack
30Alice : 100
A->B : 30
Alice : 100
A->B : 30
Alice : 100
A->B : 30
https://www.linkedin.com/in/itzpc/
33. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• Bob transfer 50 cryptocurrency to Jack
Alice Bob
Jack
50
Alice : 100
A->B : 30
B->J : 50
Alice : 100
A->B : 30
B->J : 50
Alice : 100
A->B : 30
B->J : 50
https://www.linkedin.com/in/itzpc/
34. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
H(0)
Alice:100 ; Sign(A)
H(1)
A->B : 30 ; Sign(A)
B->j : 50 ; Sign(B)
H(3)
A->j : 80 ; Sign(A)
Alice
Fig : In depth visualization of a blockchain ledger at node named ‘ Alice’
• Alice tries to send 80 cryptocurrency to Jack
Time Instance 𝑖 Time Instance 𝑖 + 1 Time Instance 𝑖 + 2
https://www.linkedin.com/in/itzpc/
35. BLOCKCHAIN TECHNOLOGY- AN OVERVIEW (CONT.)
• Alice tries to send 80 cryptocurrency to Jack
Alice Bob
Jack
80
Alice : 100
A->B : 30
B->J : 50
Alice : 100
A->B : 30
B->J : 50
Alice : 100
A->B : 30
B->J : 50
{“I have 100 coins”
8 “Alice have 70 coins”
8 “Alice have 70 coins”
https://www.linkedin.com/in/itzpc/
37. Governance
Asset Full Nodes
Consensus
Compute Interface
• PoW
• SoW
• BFT
BLOCKCHAIN ARCHITECTURE
Blocks
Reference:A systematic literature review of blockchain-based applications: Current status, classification and open issues (White Paper)
https://www.linkedin.com/in/itzpc/
38. BLOCKCHAIN ARCHITECTURE (CONT.)
• Assets/ Transaction
– Lowest level of infrastructure
– It is something that need to be transferred between two parties. It could be value, money, any piece
of information.
– It is signed digitally using digital signature by atleast one party in the network. Sends this info to
neighbors.
• Nodes
– Typically an entity that connect to the network
– Special nodes called “Full Nodes” (Miners in bitcoin )
• Verify the signed transaction
• Group the signed transaction to “BLOCKS”
• Responsible to determine whether the transactions are valid or not
HOW ?
https://www.linkedin.com/in/itzpc/
39. BLOCKCHAIN ARCHITECTURE (CONT.)
• Consensus
– ValidTransaction - There could be lot of transactions taken place
– Nodes much reach on an agreement on which transactions must be kept in blocks of blockchain
– Guarantees that there are no corrupt branches in the blockchain
– Depending on type of blockchain different consensus mechanisms exists
• PoW - Proof of Work
- Solve a complicated puzzle : Find hashes with specific pattern called mining
- Mining power plays all the role in winning the game.
- winning node can add new blocks to the blockchain
- winners are rewarded
• SoW - Stake of Work
- Not using the concept of mining
- Wealth of miners plays all the role in adding new blocks to the blockchain
https://www.linkedin.com/in/itzpc/
40. BLOCKCHAIN ARCHITECTURE (CONT.)
• Compute Interface Layer
– To offer more functionality to blockchain
– Blockchain stores a state . Ex the result of al the transaction made by user ie Remaining Balance
– Could store complex states that get updated dynamically ie a state that could shifts from one state
to other deepening when some criteria get satisfied.
– More often used in software contracts and permission based blockchain.
• Governance Layer
– Blockchain architecture are affected much by human interventions in physical world
– Blockchain governance level deals with monitoring and restricting the input from the physical world
to makeup the blockchain
https://www.linkedin.com/in/itzpc/
41. B L O C K C H A I N C L A S S I F I C A T I O N
42. BLOCKCHAIN CLASSIFICATION
Blockchain is classified into following 3 types depending on network management and permission
1. Public
– Permission less
Anyone could join as new user or node miner
Anyone can participate in reading/writing/auditing the blockchain
– Bitcoin
2. Private
– Permission based
Environment is closed.
Everyone needs to authenticate before connecting to blockchain
– Ethereum and Hyperledger
– Verification nodes are fixed and known well in advance.
https://www.linkedin.com/in/itzpc/
43. BLOCKCHAIN CLASSIFICATION (CONT.)
3. Hybrid or Federated
– Leader nodes are selected instead of fixed nodes for verification
– Partially decentralised design
– Hyperledger
Reference:A systematic literature review of blockchain-based applications: Current status, classification and open issues (White Paper)
https://www.linkedin.com/in/itzpc/
45. BLOCKCHAIN TAXONOMY
According to on Swan, M., 2015. Blockchain Blueprint for a New Economy. O’Reilly Media Inc.,
blockchain can be classified as follows
1. Blockchain 1.0 – Currency
– Bitcoin
– Litecoin
2. Blockchain 2.0 – Smart Contract
3. Blockchain 3.0 – Beyond Currency and smart contract
– Identity Management
– Government
– IoT
– Privacy and Security protocols etc.
Reference: Swan, M., 2015. Blockchain Blueprint for a New Economy. O’Reilly Media Inc. (Book)
https://www.linkedin.com/in/itzpc/
47. BLOCKCHAIN APPLICATIONS
1. Financial
2. IntegrityVerification
3. Governance
4. Health
5. Education
6. Privacy and Security
7. Business and Industry
8. Data Management
9. IoT
Image Source:A systematic literature review of blockchain-based applications: Current status, classification and open issues (White Paper)
https://www.linkedin.com/in/itzpc/
48. BLOCKCHAIN APPLICATIONS (CONT.)
1. Digital Identity Management
GitHub link to the Source code of the project https://trustedkey.github.io/Wallet-Tutorial/
Image Source: Can Blockchain Enable Identity Management? By RSA Conference ,YouTubeVideo (Video)
https://www.linkedin.com/in/itzpc/
49. BLOCKCHAIN APPLICATIONS (CONT.)
2. Smart Contracts
– Crowd Funding
1. You have an interesting Project.
2. Do not have enough fund to support your project
3. Submit your idea to middleman (Ex: kick starter)
4. Middleman get multiple supporter to fund your project
5. Fund going to intended person upon completion of milestone
6. Middleman guarantees you will get paid
7. Trust relationship
8. Middleman takes huge amount of money
9. Using blockchain we can avoid this middleman
10. Realized using smart contract concept, known as blockchain 2.0 era.
Image Source: https://www.insidephilanthropy.com/crowd-cash/2016/6/28/crowdfunding-who-donates-and-why.html
https://www.linkedin.com/in/itzpc/
50. BLOCKCHAIN APPLICATIONS (CONT.)
Decentralized Crowd Funding
• Solved using Smart Contract
– Decentralized Platform
– Avoid Intermediators
– Faster Cheaper and more secure.
• In Paper “Implementation of a Crowdfunding Decentralized Application on Ethereum Master
Thesis” S Olivier, K Schmedders, JP Moyano in 2007 has implemented this concept
Reference: Olivier, Starkenmann, Karl Schmedders, and José Parra Moyano. "Implementation of a Crowdfunding Decentralized Application on Ethereum Master Thesis.”
(Paper)
Product TeamSupport Team
https://www.linkedin.com/in/itzpc/
51. BLOCKCHAIN APPLICATIONS (CONT.)
Decentralised Crowd Funding (Cont.)
• The general agreement is mentioned in smart contract.
• Contract is written in code
• It is made available to everyone
– Product Team
– Support Team
• Everyone on the network will be able to view the contract (code)
• No one will be able to tamper with it
• Advantages
– Immutable : Once it get added to public ledger . It is fixed
– Distributed : No middle man.Automatically contract steps gets executed
– Information is open.
• Smart Contract Platforms
– Ethereum, Hyperledger, Ripple etc.
https://www.linkedin.com/in/itzpc/
53. BLOCK IN A BLOCKCHAIN
• Visually a block in a blockchain looks as follows
Image Source: How does a blockchain work - Simply Explained ,YouTube video by Simply Explained - Savjee (YouTube)
Fig: Block in a blockchain
Fig: BlockchainVisualization
https://www.linkedin.com/in/itzpc/
54. BLOCK IN A BLOCKCHAIN
• Structure of the Block
– Contains 2 components
1. Block Header
• Hash of previous block
• Mining Statistics
• Merkle Root Tree – Hash of all the transactions in that block
2. List of the transactions
• that are verified by the peers
• Are digitally signed – only intended parties can view
• Are encrypted
• According to Satoshi Nakamoto maximum size of block is 1 MB.
• As of 2018, a block can grow upto maximum size of 8 MB
Image Source: How does a blockchain work - Simply Explained ,YouTube video by Simply Explained - Savjee (YouTube)
https://www.linkedin.com/in/itzpc/
55. P E R M I S S I O N L E S S
B L O C K C H A I N A N D B I T C O I N
56. PERMISSIONLESS BLOCKCHAIN AND BITCOIN
• What is a bitcoin ?
Bitcoin is a completely decentralized, peer to peer, permissionless cryptocurrency put forth in
2009.
– Completely decentralized – No central party for ordering, recording or anything
– Peer-to-peer – software that runs on the machine of all stakeholders to form the system
– Permissionless – No identity. No need to signup anywhere to take part.Anyone can take any roles
• Blockchain size of bitcoin is 207 GB as of March 15, 2019 . Statistics by blockchain.com
Reference: Nakamoto, Satoshi. "Bitcoin:A peer-to-peer electronic cash system." (2008). (White Paper) Image Source: Google , as on 16 March, 2019
https://www.linkedin.com/in/itzpc/
57. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
• The block in a bitcoin blockchain
– A block is a container data structure that contains a series of transaction.
Image Source: www.blockchain.info
https://www.linkedin.com/in/itzpc/
58. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Bitcoin P2P Network
• Ad-hoc network with random topology
• TCP port 8333
• Virtual link between Nodes i.e Overlay network
• New node who wants to join P2P network will ask seed node list of address
• Seed node will give list of peer address a new node can communicate.
https://www.linkedin.com/in/itzpc/
Fig : Bitcoin P2P Network
Seed node
New Node
59. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Bitcoin P2P Network (cont.)
• Once joined new node will ask for most recent blockchain and save the local copy.
• Compare the copy of blockchain received from peers and apply 51% rule to accept longest
chain
• Start the transaction procedure.
https://www.linkedin.com/in/itzpc/
Fig : Bitcoin P2P Network
Seed node
New Node
60. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Bitcoin P2P Network (cont.)
Transaction in Bitcoin P2P Network
• When Alice sends 10 bitcoin to Bob, she flood the information to all peer nodes she is
connected to
https://www.linkedin.com/in/itzpc/
Fig : Transaction in Bitcoin P2P Network
Seed node
61. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Bitcoin P2P Network (cont.)
Transaction in Bitcoin P2P Network(cont.)
• Validator nodes validate the nodes using algorithm and add a new block to blockchain (using
mining concept)
• After validation flood the transaction information to all the nodes
https://www.linkedin.com/in/itzpc/
Fig : Transaction in Bitcoin P2P Network
Validator node
A->B : 10
A->B : 10
A->B:10
A->B : 10
“I have already seen this
transaction”
62. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Transaction Life Cycle in Bitcoin
– Step 1 : Alice opens her bitcoin wallet
– Step 2 : Provide address of Bob, amount to transfer and send
– Step 3 : Wallet constructs the transaction signs using Alice private key, broadcast it to network
– Step 4 : Nodes in network validates the transaction based on existing blockchain and propagate it
to miners
– Step 5 : Miners will include this transaction in the next block that will be mined.
– Step 6 : Miners will collect all the transaction (say about 10mins)
– Step 7 : Miners construct a new block and tries to connect it with existing blockchain through a
cryptographic hash computation known as The Mining Procedure
– Step 8 : Once mining is over and the hash is obtained, the block is included in the existing
blockchain.The updated blockchain is propagated in the network
– Step 9 : Bob open his wallet and the refreshes, the blockchain gets updated and transaction is
reflected.
https://www.linkedin.com/in/itzpc/
63. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Consensus in Bitcoin
• History
– In the paper "Pricing via processing or combatting junk mail." Annual International Cryptology
Conference. Springer, Berlin, Heidelberg, 1992 by Dwork, Cynthia, and Moni Naor. (Paper)
• One have to do some valid work, which uses significant CPU time to send valid email, but is not infeasible
• Attacker would be discouraged to send junk email as his CPU time is wasted
• Easy for a service provider to validate or check the work done by the users
– In the paper. "Hashcash-a denial of service counter-measure." (2002) by Adam Back (Paper)
• Proof of work added with email
– Proof Work Consensus used in bitcoin works in this way.
– PoW Consensus is based on ‘hashcash’ system
https://www.linkedin.com/in/itzpc/
64. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus
• All nodes in the blockchain make replica of the blocks
• Every peer in the blockchain network maintains local copy of the blockchain
• All the replicas which are there at individual users need to be updated with last mined block
• All replicas needs to be consistent – Taken care by consensus mechanism
• Any node can take part in consensus without revealing their identity
– Challenge Response Protocol is used – Proof of Work
– Nodes have to solve a challenge possessed by blockchain network
– Node who solves the challenge first, adds the next set of data to be added
• Design goal behind a good Challenge Response protocol
– If one can design a good challenge which will post at different rounds you can ensure that at
different rounds different nodes will win the challenge . No one would control the network single
handily.
https://www.linkedin.com/in/itzpc/
65. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus (cont)
Image Source: https://www.weusecoins.com/en/mining-guide/
https://www.linkedin.com/in/itzpc/
66. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus (cont.)
𝐻9 = 𝐻𝑎𝑠ℎ 𝐻9;) 𝑇 𝑁𝑜𝑛𝑐𝑒
• Task of miner is to find this ‘Nonce’ value such that they
can ensure certain pre defined difficulty on the generated
hash value 𝐻9
• From blockchain.info, the difficulty as on 15 March,2019
60,68,89,15,41,676
• The number of zeroes that the output has to start with
is known as the ‘Difficulty’.
• Blockchain difficulty act as monetary base
Image Source: https://www.weusecoins.com/en/mining-guide/
Hash of previous transaction Random Number
Set of Transactions
https://www.linkedin.com/in/itzpc/
67. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus (cont.)
• Difficulty is 4.
• When the hash has expected number of leader zero then PoW Mining is successful
• SHA-256 is used
• Difficulty 60,68,89,15,41,676 and 256 bits hash make some question in your mind?
Image Source: https://medium.com/all-things-ledger/decoding-the-enigma-of-bitcoin-mining-f8b2697bc4e2
https://www.linkedin.com/in/itzpc/
68. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus (cont.)
• The number of bitcoins generated per mining one block is set to decrease as time progresses
• Theoretically cease to exist by year 2140 (approx)
• Miners get less reward as time progresses
• Mining fee get increased with time
• Transaction fee will increases to pay Miners over time.
https://www.linkedin.com/in/itzpc/
69. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus (cont.)
Time instance
Block 1 Block 3
Block 2
T1
Block 5
Block 6
Block 4
T2
Block10
T3
Block 7 Block 9
Block 8
T4 T5
https://www.linkedin.com/in/itzpc/
Fig : Adding new block in blockchain
70. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Mining Procedure in Bitcoin – Proof of Work Consensus (cont.)
• At particular time instance there could be more than one longest chain of blocks
• A new blocks when gets added miners can decide on which longest chain if it should get added
• Blocks which are not a part of longest chain are called ‘orphan blocks’
• Mining procedure uses huge computing power
• Mining pool
• Other consensus like Proof of Stake is also used which do not use the concept of mining
• Proof of Burn
• Proof of Elapsed Time
https://www.linkedin.com/in/itzpc/
71. PERMISSIONLESS BLOCKCHAIN AND BITCOIN (CONT.)
Block Propagation Delay
• In the paper ‘Information propagation in the Bitcoin network’ by Christian Decker and Roger
Wattenhofer , 2013
– Mean Time for a block to propagate to all peer nodes is 12.6s
– 90% nodes can see block in 40s
https://www.linkedin.com/in/itzpc/
Reference: Decker, Christian, and Roger Wattenhofer. "Information propagation in the bitcoin network." IEEE P2P 2013 Proceedings. IEEE, 2013. (Paper)
Fig : Block propagation delay in bitcoin network
72. P E R M I S S I O N B A S E D
B L O C K C H A I N
73. PERMISSION BASED BLOCKCHAIN
• Application of blockchain beyond crypto currency
• Environment is closed
• User are known apriory
– Challenge response consensus is no more needed.
– Reduce Time –> Faster Performance
• Consensus used
– BFT – Byzantine fault tolerance
– Raft consensus
– Paxos conensus
• Example
– Assets moving and tracking
– Supply chain – Multiple suppliers and manufacturers
https://www.linkedin.com/in/itzpc/
74. PERMISSION BASED BLOCKCHAIN (CONT.)
Example – Food Supply chain (say Potato chips)
Image Source: https://www.cbinsights.com/research/blockchain-grocery-supply-chain/
https://www.linkedin.com/in/itzpc/
75. PERMISSION BASED BLOCKCHAIN (CONT.)
Example – Food Supply chain (say Potato chips) (cont.)
• When an assets is created corresponding digital token is issued by a trusted entity [closed
environment]
• Token is used to authenticate its point of origin ie assets as originated at that point
• Every time a physical assets changes its location ; Digital token is moved in parallel
• Thereby creating a chain of transaction.Will tell how the assets are actually moved.
• This messages is propagated to all the nodes in the network
https://www.linkedin.com/in/itzpc/
76. PERMISSION BASED BLOCKCHAIN (CONT.)
Hyperledger Fabric
• Platform to implement permission based blockchain
• Contain a shared ledger that support smart contract ensure security and integrity of records
transaction.
• Support strong privacy and confidentiality of the transaction
Ethereum
• With which we can develop Dapps
Image Source: https://www.hyperledger.org/projects/fabric
https://www.linkedin.com/in/itzpc/
77. PERMISSION BASED BLOCKCHAIN (CONT.)
Hyperledger Fabric (Cont)
• It support brief of channel ie. Subnet of peers within network wants to share information
confidentially.
• No concept called mining
• Distributed consensus
• Channel support partial visibility
• Group 1 – Some visibility
• Group 2 – Some visibility
https://www.linkedin.com/in/itzpc/
78. PERMISSION BASED BLOCKCHAIN (CONT.)
Hyperledger Fabric (cont.)
Source: IBM Code Tech Talks on Blockchain and Smart contracts (Link)
https://www.linkedin.com/in/itzpc/
79. PERMISSION BASED BLOCKCHAIN (CONT.)
Hyperledger Fabric (cont.)
• Blockchain user A take membership from certification authority , this makes the environment
closed
• Invokes chaincode transactions-> implements the blockchain consensus and business logic
• Chaincode
– Is a smart contract
– It’s a program having following responsibilities
• Read the ledger data
• Update the ledger data
– Mainly GO language is used to write the chaincodes
– All business logics are written inside chaincodes
Source: IBM Code Tech Talks on Blockchain and Smart contracts (Link)
https://www.linkedin.com/in/itzpc/
80. PERMISSION BASED BLOCKCHAIN (CONT.)
Hyperledger Fabric (cont.)
– SDK makes transaction and send to peers
– Peers are executing chaincodes
– The only thing that can manipulate the ledger is chaincodes
– Chaincode is part of a channel.
– In one channel there could be multiple chaincodes expressing different business logic
– Must install chaincodes in all peers [ Actual data resides inside the peers]
– Before writing to ledger write policy for verification
• Check Security is OK
• Only if all policies are correct then only ledger is updated
• It is call instantiation of chaincodes.
Source: IBM Code Tech Talks on Blockchain and Smart contracts (Link)
https://www.linkedin.com/in/itzpc/
81. B L O C K C H A I N T E C H N O L O G Y
C H A L L E N G E S & R E S E A R C H G A P S
82. CHALLENGES AND RESEARCH GAPS
Blockchain Technology has few challenges that needs to be addressed
• The criminal connection.
• Privacy
• Security – 51% attack
• Network Size – Energy consuming mechanism
• Politics
Image Source: (https://www.blockchain.com/pools)
Fig:The market share of the most popular bitcoin mining pools.
https://www.linkedin.com/in/itzpc/
83. CHALLENGES AND RESEARCH GAPS (CONT.)
BlockchainTechnology – A few research gaps.
Proof of work
• Permissionless based
– Block Frequency – 10 min
New blocks get added based on mining difficulty
– Block Size – 1 MB (as per Sathoshi NakamotoWhite Paper )
– By statistics only 7 transactions per seconds are recorded maximum
500 𝑡𝑟𝑎𝑠𝑎𝑐𝑡𝑖𝑜𝑛 𝑖𝑛 𝑜𝑛𝑒 𝑏𝑙𝑜𝑐𝑘
𝑎𝑝𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑡𝑒𝑙𝑦 10 min 𝑡𝑜 𝑚𝑖𝑛𝑒 𝑜𝑛𝑒 𝑏𝑙𝑜𝑐𝑘
= 2 𝑡𝑟𝑎𝑠𝑎𝑐𝑡𝑖𝑜𝑛𝑠 𝑖𝑛 𝑜𝑛𝑒 𝑠𝑒𝑐𝑜𝑛𝑑 𝑎𝑝𝑝𝑟𝑜𝑥.
– VISA or Mastro card 40 million transactions per seconds
– More and more nodes can be added using this consensus
– Works done
• GHOST-Pow , Bitcoin NG, Stellar, blockDAG
https://www.linkedin.com/in/itzpc/
84. CHALLENGES AND RESEARCH GAPS (CONT.)
BlockchainTechnology – A few research gaps (cont.).
Byzantine FaultTolerance
• Permission based
• It supports more number of transactions per seconds
• Only few users are allowed to get added in the network as it is a closed environment
• Message passing technique is used
• Works done
– Parallel BFT
– Optimistic BFT
– Randomized BFT
– Hybrid BFT
https://www.linkedin.com/in/itzpc/
85. CHALLENGES AND RESEARCH GAPS (CONT.)
BlockchainTechnology – A few research gaps (cont.).
• Collective Signing
– Merkle Tree
• Implementation of Applications in blockchain
– Less framework and resources are available online
• Applications beyond cryptocurrency
– 2018 and 2019 – many researches are held in application of blockchain in IoT
https://www.linkedin.com/in/itzpc/
87. CONCLUSION
• Blockchain is emerging technology
• people started to move away from building only economic systems on top of the blockchain
• this field is still pretty young, prone to problems and seemingly quite far away from being able
to replace the big players
88. REFERENCES
1. Tasatanattakool, Pinyaphat, and Chian Techapanupreeda. "Blockchain: Challenges and
applications." Information Networking (ICOIN), 2018 International Conference on. IEEE, 2018.
2. Tsai, Wei-Tek, and Lian Yu. "Lessons Learned from Developing Permissioned Blockchains." 2018
IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C).
IEEE, 2018.
3. Watanabe, Hiroki, et al. "Blockchain contract: A complete consensus using blockchain." Consumer
Electronics (GCCE), 2015 IEEE 4th Global Conference on. IEEE, 2015.
4. Barber, Simon, et al. "Bitter to better—how to make bitcoin a better currency." International
Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2012.
5. Nakamoto, Satoshi. "Bitcoin: A peer-to-peer electronic cash system." (2008).
6. Bayer, Dave, Stuart Haber, and W. Scott Stornetta. "Improving the efficiency and reliability of digital
time-stamping." Sequences II. Springer, New York, NY, 1993. 329-334.
7. Haber, Stuart, and W. Scott Stornetta. "How to time-stamp a digital document." Conference on the
Theory and Application of Cryptography. Springer, Berlin, Heidelberg, 1990.
8. Merkle, Ralph C. "Protocols for public key cryptosystems." Security and Privacy, 1980 IEEE
Symposium on. IEEE, 1980.
https://www.linkedin.com/in/itzpc/