2. Gaurav Mishra <gmishx@gmail.com>
The bank way of transactions
• Each bank keeps a record of clients
and their respective bank accounts.
• The bank in which you hold your
account will maintain your
transactions (transaction book).
• These transactions are generally not
public.
• In case of any malicious entry, it is
very difficult to find/trace it out.
• The case gets even better in case of
cheque transactions which are
validated only at the end.
27-05-2018
2
3. Gaurav Mishra <gmishx@gmail.com>
Shortcoming of the bank way
•
• The transactions are not
public
•
• Creates trust issues
•
• Different organizations hold
different transactions
27-05-2018
3
4. Gaurav Mishra <gmishx@gmail.com>
Replacement of this method
27-05-2018
4
Store a
public
ledger
Anyone can
read/write
Being
public,
anyone can
own a copy
Current
value is a
sum of all
transactions
Open for
malicious
entries
5. Gaurav Mishra <gmishx@gmail.com>
Securing the ledger
• Any person can hold a copy of the ledger for keeping track of transactions.
• This also opens a way for modification in the ledger.
• The best way of preventing modifications is by using hash.
• Hash is calculated using a sting and applying certain mathematical operations on it
which creates a new digest (fixed length) of the given input.
• A slight modification in the input creates a great change in the digest (avalanche
effect).
• Hashing input are generally combined with another input called salt or nonce to
modify the hash output for a desired result.
• After a certain number of entries, a hash is calculated on the ledger.
• This can prevent modifications in existing ledger.
• https://anders.com/blockchain/hash.html
• Since calculating the digest is a costly operation, the digest is calculated after a
certain entries in the ledger and those entries are called as a block.
• The size of a block is fixed for any operation on the ledger.
• https://anders.com/blockchain/block.html
27-05-2018
5
6. Gaurav Mishra <gmishx@gmail.com>
Securing the entries
• Calculating hash on the ledger only prevents the modification of it.
• We still need a way to prevent malicious entries in it.
• The public-private keys are popularly used around and can be used to provide
authenticity of a message using digital signatures.
• https://anders.com/blockchain/public-private-keys/keys.html
• Each entry in the ledger is backed with a signature calculated using the private key of
person making the transaction.
• https://anders.com/blockchain/public-private-keys/signatures.html
• This provides the authenticity of the entries in the ledger.
• Thus the final ledger is secured by authenticating the entries and preventing
modifications in the previous entries.
• https://anders.com/blockchain/public-private-keys/blockchain.html
27-05-2018
6
7. Gaurav Mishra <gmishx@gmail.com>
The blockchain
• The blockchain is a continuous chain of validated blocks.
• Each block holds its block number, its nonce, its data, hash of previous block and its
own hash.
• https://blockchain.info/block/0000000000000000001cca8a0f8925e6b6d542e314
54a3e16bfe1fd7f571b1d0
• Each participant have to provide their public key.
• https://anders.com/blockchain/public-private-keys/blockchain.html
• The digest of the block have some constrain like the first 4 digits of it should be zero
to increase the computational cost of the digest and making it even more difficult to
change.
• The act of calculation of digest of a block is called mining and the person performing
it is called as miner.
• Since the ledger is distributed among several computers, anyone who mine the block
first broadcast the result to others.
• Any ledger having modifications can be matched with others and discarded.
• If a chain is bifurcated, the chain with most work done is retained and the other one
is discarded.
27-05-2018
7
8. Gaurav Mishra <gmishx@gmail.com>
Strengths of blockchain
You can own your own copy
of ledger
Entries can be authenticated
anytime
Secured using public-private
keys
Completely trust worthy
Public ledger
27-05-2018
8