0% found this document useful (0 votes)
4 views21 pages

Blockchain

Uploaded by

puneeth21622
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views21 pages

Blockchain

Uploaded by

puneeth21622
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Introduction to the Fundamentals of

Blockchain

Subodh Sharma

Subhashis Banerjee

IIT Delhi, Computer Science Department


What is Blockchain?

Amit Binny
₹ 100

I Central authority oversee the


Central Bank
transaction; implicit trust
₹ 100 placed on the overseer.
I Maintain a ledger of records,
balance information per
Danish Chitra account etc.

Centralized Network

svs, suban: Introduction to the Fundamentals of Blockchain 2


What is Blockchain?
I No central authority; register
of transactions and other
meta-information is replicated
and distributed.
I Every transaction and
account information is visible
to everyone
I The records are untamperable
I How do we agree on the
transaction or the order on
them?
I How do we stop
double-spending?
Distributed Network I What problems in digital
systems can blockchain
solve?

svs, suban: Introduction to the Fundamentals of Blockchain 3


What is Blockchain?

I Blockchain is a data-structure
that contains an ordered
sequence of transaction
records and other
meta-information
I Each participant in the
network can have a fully copy
of the blockchain
I The records are chained via
hash pointers
I All updates to Blockchain via
Distributed Network distributed consensus

svs, suban: Introduction to the Fundamentals of Blockchain 4


Properties satisfied by Blockchain?

I Replicated storage of the chain makes data available even when


n/w faults take place

svs, suban: Introduction to the Fundamentals of Blockchain 5


Properties satisfied by Blockchain?

I Replicated storage of the chain makes data available even when


n/w faults take place
I Every participant having visibility of the entire global state of the
chain lends transparency and local verifiability

svs, suban: Introduction to the Fundamentals of Blockchain 5


Properties satisfied by Blockchain?

I Replicated storage of the chain makes data available even when


n/w faults take place
I Every participant having visibility of the entire global state of the
chain lends transparency and local verifiability
I Hash chains (through hash pointers) provides data integrity

svs, suban: Introduction to the Fundamentals of Blockchain 5


Properties satisfied by Blockchain?

I Replicated storage of the chain makes data available even when


n/w faults take place
I Every participant having visibility of the entire global state of the
chain lends transparency and local verifiability
I Hash chains (through hash pointers) provides data integrity
I Hash chains also provide chronology of data’s existence. This
gives traceability

svs, suban: Introduction to the Fundamentals of Blockchain 5


Properties satisfied by Blockchain?

I Replicated storage of the chain makes data available even when


n/w faults take place
I Every participant having visibility of the entire global state of the
chain lends transparency and local verifiability
I Hash chains (through hash pointers) provides data integrity
I Hash chains also provide chronology of data’s existence. This
gives traceability
I Digitally signed transactions provide accountability

svs, suban: Introduction to the Fundamentals of Blockchain 5


Properties satisfied by Blockchain?

I Replicated storage of the chain makes data available even when


n/w faults take place
I Every participant having visibility of the entire global state of the
chain lends transparency and local verifiability
I Hash chains (through hash pointers) provides data integrity
I Hash chains also provide chronology of data’s existence. This
gives traceability
I Digitally signed transactions provide accountability
I Distributed consensus provides trust and, consequently, reliability

svs, suban: Introduction to the Fundamentals of Blockchain 5


Components in Blockchain: CHF

Cryptographic Hash Functions (CHF) have three properties:


I Collision-resistance: Infeasible to find two values x and y s.t.
x 6= y, yet H(x) = H(y).
I Hiding: Given y = H(x), there is no feasible way to figure out the
value of x. If x is not drawn from a domain that is spread out,
then choose a secret value r from a probability distribution that
has high min-entropy s.t. the hiding property holds for H(r||x).
I Application in creating commitment.
I Puzzle-friendliness : If for every possible n−bit output value y, if
k is chosen from a distribution with high min-entropy, then it is
infeasible to find x such that H(k||x) = y in time significantly less
than 2n .
I Application in search puzzles. Given a nonce n, the hash function
H, and the output target set Y find x s.t. H(n||x) ∈ Y

svs, suban: Introduction to the Fundamentals of Blockchain 6


a d Da a S c
o discuss ​ a e ​ and their applications. A hash pointer is a data
Components
e useful in that
in many of the systems Blockchain:
we will talk about. Hash Chains
A hash pointer is
me information is stored together with a cryptographic hash of the
lar pointer gives you a way to retrieve the information, a hash pointer
y that the information hasn t changed.

I HashPtr:Simply a pointer to
where the information is
stored together with the hash
of the information.
I HashChain: List of HashPtrs.
ash pointer is a pointer to where data is stored together with a As long as the head ptr is
lue of that data at some fixed point in time.
stored securely (i.e. an
adversary can’t access it), we
will have a tamper-evident
build all kinds of data structures. Intuitively, we can take a familiar data
log.
such as a linked list or a binary search tree and implement it with hash
as
e we chain ​ A block
normally
Block would.
chain is a linked list that is built ith hash pointers instead of pointers

e built a linked list using hash pointers. We re going to call this data
e case for a block chain is a ​ am e e iden log​ That is e ant to build a log data structure that
reas
es asofindata
a bunch a regular
and allo slinked listdata
us to append where you
onto the end have a series
of the log of blocks,
But if somebod alters each
that is earlier in the log e re going to detect it
ointer to the previous block in the list, in a block chain the previous block
a hash pointer.
nderstand So achie
h a block chain eachesblock note only
this tamper tells usletwhere
ident propert s ask hatthe value
happens if an of the
ersar ants to tamper ith data that s in the middle of the chain Specificall the ad ersar s
oissvs,
contains
to suban:
do it in suchaa digest
Introduction ofthe
a that to that
someone value
Fundamentals
ho that
remembers allows
of onl
Blockchain uspointer
the hash to verify thatof the
at the head the value 7
Components in Blockchain: Merkle Trees

Fg e Me e ee ​ ​In a Merkle tree data blocks are grouped in pairs and the hash of each of
I Hashptrs organised in a binary tree
these blocks is stored in a parent node The parent nodes are in turn grouped in pairs and their hashes
stored one level up the tree This continues all the wa up the tree until we reach the root node
I Property: provides concise proof of membership

As before we remember just the hash pointer at the head of the tree We now have the abilit
traverse down through the hash pointers to an point in the list This allows us make sure that the
data hasn t been tampered with because just like we saw with the block chain if an adversar
tampers with some data block at the bottom of the tree that will cause the hash pointer that s one
level up to not match and even if he continues to tamper with this block the change will eventuall
Introduction
svs, suban:propagate to the
to the topFundamentals of Blockchain
of the tree where he won t be able to tamper with the hash pointer that we ve 8
Components in Blockchain: Digitial Signatures

I Properties: Valid signatures must verify and infeasible to forge


signatures
I Public keys as digital identities: decentralized identity
management
I Consequence: one can make many identities

svs, suban: Introduction to the Fundamentals of Blockchain 9


Components in Blockchain: Distributed Consensus

The consensus Problem


I Agreement: All honest processes must agree on the same value
I Validity: If all the honest processes have the same initial value,
then the agreed upon value must all be that same value
I Termination: Every honest process must eventually decide on a
value.

svs, suban: Introduction to the Fundamentals of Blockchain 10


Results from Distributed Computing

Failure Mode Synchronous System Asynchronous system


No failure Agreement Agreement
Crash failure Agreement f < n No agreement
Byzantine failure Agreement f ≤ n/3 No agreement

Table: Results on Agreement. n is the total number of processes and f is the


number of failure-prone processes.

I Impossibility of distributed consensus with one faulty processor.


M. Fischer, N. Lynch, M. Paterson. Journal of ACM, 1985.
I Consensus in the presence of partial synchrony. C. Dwork and
N. Lynch. Journal of ACM, 1988.

svs, suban: Introduction to the Fundamentals of Blockchain 11


Proof of Work

I Rely on hash puzzle.


I The node proposing a block is required to find a number, or
nonce, s.t. H(nonce||prevh ash||tx1 · · · txn ) < tgt
I Target space is quite small in comparison to the output space of
the hash function H.
I Fixed protocol to assign the target space
Many other consensus protocols: PBFT, Proof-of-stake, Algorand
(cryptographic sortition), Hashgraph, etc.

svs, suban: Introduction to the Fundamentals of Blockchain 12


Putting it all together

Simplified protocol
I New transaction are bcast to all the nodes; each node selects
and collects transactions into a block.
I In each round a random node (vsi proof-of-XYZ) is chosen who
gets to bcast its block.
I Other nodes decide on the block (accept: if all transactions in it
are valid)
I Implicit acceptance: node express acceptance by attaching the
block in their local copies of the chain and including the hash of
the accepted block in the next block they propose.

svs, suban: Introduction to the Fundamentals of Blockchain 13


Addressing Denial of Service Attack

I Say A dislikes B and decides to not include any transaction from


B in any block that she proposes.
I B’s transactions may genuinely not get included in a block in a
round where A is proposing.
I However due to random node selection, B’s transactions will get
eventually added to a block.

svs, suban: Introduction to the Fundamentals of Blockchain 14


Can Blockchain solve the privacy problem?

I While blockchains can support data minimisation, can they


support purpose limitation?
I How is distributed yet regulated access control will be
implemented in Blockchain?
I While distributed consensus may ensure safety, can it guarantee
no private information leaks through insider attacks?
I How are private keys secured from privileged software?

svs, suban: Introduction to the Fundamentals of Blockchain 15


References

I Bitcoin and Cryptocurrency Technologies. Arvind Narayanan,


Joseph Bonneau, Edward Felten, Andrew Miller, Steven
Goldfeder.

svs, suban: Introduction to the Fundamentals of Blockchain 16

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