Introduction to Bit Coin Model

14
INTRODUCTION TO THE BITCOIN MODEL & ITS IMPLICATIONS COMPLIED BY DR. ASOKA KORALE C.ENG. MIET & MIESL

Transcript of Introduction to Bit Coin Model

INTRODUCTION TO THE BITCOIN

MODEL & ITS IMPLICATIONS

COMPLIED BY DR. ASOKA KORALE C.ENG. MIET & MIESL

Slide |

2

What is Bitcoin?

In non-technical language, Bitcoin is a digital currency in which transactions can be performed

without the need for a credit card or central bank. It's designed to enable users to send money over

the Internet in a very simple and efficient way.

Who runs Bitcoin? What is the company behind Bitcoin?

In short, no one runs Bitcoin. Bitcoin is run collectively by the users who uses the Bitcoin Client, and

any changes to the Bitcoin system have to be approved by the majority of users before they are

implemented.

What is a Bitcoin address?

A Bitcoin address is a unique identifier which allows you to receive Bitcoins. With PayPal you send

funds to an email address, and similarly with Bitcoin you send funds to a Bitcoin address. For

example, this is one of our Bitcoin addresses: 1JArS6jzE3AJ9sZ3aFij1BmTcpFGgN86hA

Please verify that you have copied the destination address exactly before sending Bitcoins to

it. Bitcoin transactions are not reversible!

What is a private key?

A private key is a secret code which allows the user to prove his ownership of his Bitcoins. Every

Bitcoin address has a matching private key, which is saved in the wallet file of the person who owns

the balance. The private key is mathematically related to the Bitcoin address, and is designed so that

the Bitcoin address can be calculated from the private key, but importantly, the same cannot be done

in reverse.

Please keep your private keys safe, and make periodic backups to prevent the loss of

Bitcoins. Anyone with your private keys can spend your Bitcoins!

INTRODUCTION – BITCOIN EXCHANGE SYSTEM AND ITS

OBJECTIVEShttps://blockchain.info/wallet/bitcoin-faq

Slide |

3

What are the fees involved?

The transaction is usually free if the sum transacted is greater than 0.01 BTC. A token sum is

imposed to provide some incentive to the miners to include the transaction in the blockchain..

At the moment, many transactions are typically processed in a way where no fee is expected at all,

but for transactions which draw coins from many Bitcoin addresses and therefore have a large data

size, a small transaction fee is usually expected.

Please see the bitcoin wiki for calculating minimum fees.

What does 'unconfirmed' mean?

It means that the transaction has not yet been included in the blockchain, and is still reversible. A

transaction typically takes around 10 minutes to be confirmed. When that happens, it is said that one

confirmation has occurred for the transaction. With each subsequent block that is found, the number

of confirmations is increased by one. To protect against double spending, a transaction should not be

considered as confirmed until a certain number of confirmations is seen.

What is this 'blockchain' you talk about?

The blockchain is a public ledger of all transactions in the Bitcoin network. Blockchain.info allows you

to navigate the bitcoin blockchain. We also operate Bitcoin's largest and most secure wallet service.

Who are the 'miners'?

Miners are individuals who run computer systems to repeatedly calculate hashes with the intention to

create a successful block and earn coins from transaction fees and new coins created with the block

itself. The term references an analogy of gold miners who dig gold out of the ground and thus

'discover' new gold that can be used to create new coins, with a similar kind of discovery occurring

with a successful hash to create new Bitcoins.

INTRODUCTION – BITCOIN EXCHANGE AND ITS OBJECTIVES

Slide |

4

Is there a limit to the amount of Bitcoins generated?

The number of Bitcoins in existence will never exceed 21 million. To see how many Bitcoins are in

circulation, please go to: https://blockchain.info/charts/total-bitcoins

How much does a Bitcoin cost?

The current market price for a Bitcoin is always changing due to the supply and demand for it.

Bitcoins are traded at Bitcoin Exchanges. A historical Bitcoin price chart can be found at:

https://blockchain.info/charts/market-price

What is a Bitcoin Client?

Bitcoin clients are the base level of technology for conducting Bitcoin transactions, and they store the

keys needed to conduct a Bitcoin transaction. They come in multiple flavors, and are customized to fit

different niches.

The Bitcoin-QT Client (Downloadable at http://bitcoin.org/) is the original software written by Satoshi

Nakamoto, the project's founder. If you aren't sure which program to pick, this is a good bet. It is

suited for enthusiasts, merchants, miners, developers and people who want to help support the

project.

The MultiBit Client (Downloadable at https://multibit.org/) is fast and easy to use, even for people with

no technical knowledge. It is also able to import Blockchain.info's wallet backups (Multibit version

5.17 and earlier), making it a versatile tool for all kinds of users.

The Electrum Client (Downloadable at http://electrum.org/) focuses at speed, with low resource usage

and simplifying Bitcoin usage. Startup times are instant because it operates in conjunction with high-

performance servers that handle the most complicated parts of the Bitcoin system.

Blockchain.info is also a form of Bitcoin client. We provide a web-based client with emphasis on

INTRODUCTION – BITCOIN EXCHANGE SYSTEM AND ITS

OBJECTIVES

WHAT IS A HASH – WHAT IS ITS USEhttps://en.wikipedia.org/wiki/Cryptographic_hash_function

Slide | 5

The ideal cryptographic hash function has four

main properties:

• it is quick to compute the hash value for any

given message

• it is infeasible to generate a message from its

hash

• it is infeasible to modify a message without

changing the hash

• it is infeasible to find two different messages

with the same hash

Most cryptographic hash functions are designed to take a string of any length as input and produce a fixed-length

hash value. Desirable Properties of a Hash

Pre – image resistance: Given a hash value h it should be difficult to find any message m such that h =

hash(m). This concept is related to that of one-way function. Functions that lack this property are vulnerable to

preimage attacks.

Second Pre-Image resistance: Given an input m1 it should be difficult to find different input m2 such that

hash(m1) = hash(m2). Functions that lack this property are vulnerable to second-preimage attacks.

Collision resistance: It should be difficult to find two different messages m1 and m2 such that hash(m1) =

hash(m2). Such a pair is called a cryptographic hash collision. This property is sometimes referred to as strong

collision resistance. It requires a hash value at least twice as long as that required for preimage-resistance;

otherwise collisions may be found by a birthday attack.

WHAT IS PUBLIC KEY ENCRYPTION – HOW ITS USED

TO ENCRYPT A MESSAGE

Slide | 6

• Message encrypted by Public Key of the User

to whom message should be sent (Receiver of

Message) . Can only be decrypted by the

Private Key of that User (the Receiver).

• This Private Key is the “pair” of the pubic Key,

kept by the Receiver, and known only to

Receiver

• Anyone may intercept the message in transit

when going from Sender to Receiver, but Only

Receiver can decrypt message – as Only he

has corresponding Private Key

Each user has two keys – that are generated as pairs via a mathematical algorithm

Private Key - Only known to each individual User – Not disclosed to any one else

Public Key – Known to every one – disclosed to the public

• Sender encrypts message using the Public Key of the Receiver and sends the message out

• Receiver decrypts message using his Private Key, known Only to him

• No other Key can decrypt the message - not even the key (Pubic Key) used to encrypt the

message

https://en.wikipedia.org/wiki/Public-key_cryptography

WHAT IS A DIGITAL SIGNATURE – HOW ITS USED TO AUTHENTICATE A

MESSAGE

Slide | 7

• Original Data to be authenticated-> Hash Algorithm -> get Hash Value

• This Hash Value -> signed with Private Key of Sender and sent to Receiver together with Original Data and

details of the Hashing algorithm used to create the Hash Value

• Receiver -> decrypts received message with Public Key of Sender (that is known to all) -> to get Hash Value

• Compare this Hash value with the Hash Value obtained by applying Hashing algorithm to Original Data at the

Receiver

• If Hash Values match -> Sender is Authenticated & Message Not Tampered with in Transit

• Sender is Authenticated as it was his Public Key that decrypted the message

• Message not Tampered as the two Hash’s match

• Used to show that a message

originated from a particular source

(User) and that it hasn’t been tampered

with in transmission

• If message altered or tampered with

after it was signed (by the Sender’s

Private Key) the Hash Value generated

at the receiver using the Original Data

will be different from the Hash Value

obtained by decrypting the received

message by public key

Slide |

8

• It is preferred to take a Hash of the message – as it produces an output of fixed length - Otherwise the original

Message itself could by encrypted using a Digital Signature

•But this would take too long – (time wise) if the message it self is very long due to computations

required in the encryption

• In Public Key cryptography – Mr X has two keys, but no one needs to know the real Identity of Mr X, they only

need to use his Public Key to transact with him. He will use Private Key to Lock / Unlock Messages sent

from/to him

• So Mr. X is essentially Anonymous to the world even if all the transactions concerning him (through his public

address) are known to every one else. They only know the amounts sent to a particular BitCoin Address used

by him but will have no information on the real Identity of Mr X.

• BitCoins are Transacted in this way referencing particular BitCoin Addresses associated with particular

individuals, but the world is not aware of who really owns (is associated with) a particular BitCoin Address.

• All BitCoin Transactions are recorded on a Block Chain, that is visible to all, and is maintained by nodes in the

BitCoin Network.

• The Block Chain which is record of all Transactions from the beginning of time, which all the nodes in the

Network are aware of, ensures that there in no double spending – ie. No one BitCoin is used to pay for two

different Transactions.

• At the moment many miners process transactions for no fees. As the block reward for BitCoins decreases,

this will be less likely.

SOME KEYS TO TRANSACTIONS

Slide |

9

To send a Bit Coin to (new) Owner 1: Current Owner (Owner 0, Sender) creates a Hash of the Pubic Key of

Owner 1 (Receiver) and the “Hash of the (all) previous Transactions”.

Sender (Owner 0) then Digitally Signs this Hash with his Private Key and sends out the Transaction to the

BitCoin Network. **He also attaches a copy of the “Hash of all Previous Transactions” and Owner 1 (Receivers)

Public Key at the end of the message.

The Owner 1 (Receiver) knows from which “source” this BitCoin / Transaction came from and that its a payment

meant for him as:

*Uses the Owner 0 (or Senders) Public Key to decrypt the message to get the Hash Value.

**This identifies the Sender (as Senders Public Key that is known to everyone was used in the

decryption)

*Then he calculates another Hash value using the attached “Hash of all Previous Transactions” and the Pubic

Key (his own) of Owner 1 (Receiver). This Hash should match the Hash that was decrypted.

**This indicates that the message is meant for the Receiver (Owner 1) (as it was his Public Key that

was used together with the Hash of Previous Transactions, to generate the matching Hash)

HOW BIT COINS ARE “EXCHANGED” – SENT FROM A SENDER

TO A RECEIVERRef: BitCoin Paper by Santoshi Nakamoto

• BitCoin used to make payments from Owner 0

(sender) to Owner 1 (receiver), and then from Owner 1

to Owner 2 and so on …..

• No coins / money physically exchanged between

parties – this is only a metaphor for the exchange

• Only Transactions are made referencing specific

BitCoin Addresses

• All Transactions are indicated to BitCoin Network by

transacting parties, and Network keeps record of all

Transactions in a public ledger – the“block chain”

• To get balance or total ownership of coins – one must

total all receipts by going through the ledger

Slide |

10

HOW BITCOINS ARE “MINED”

• A new block is meant to contain all the Transactions that take place within a certain time period

• The Nodes in the Network compete with each other to generate a new block with the “correct characteristics”

and append it to the Block Chain

•A New Block is created as a Hash of the previous Hash’s and the new Transactions that are there to be

incorporated in the new block

• Generally it is easy to create “a” Hash, but very difficult to create “a Hash” with the “right properties”

• So many nodes compete with each other to find/create this Hash with the “right properties”

• As the hash is a deterministic quantity for a given input data (when the algorithm is fixed), the only way to

vary the generated Hash until the correct one is found – is by adding a “Nonce” – (a variable quantity) to

the data

• The miners then use computer power to find this “Nonce” value for a given data set that produces the

desired Hash

• Miners are paid a mining fee – a certain number of BitCoins for finding the correct Hash – a reward for the

computer power needed to do the calculations

• Miners usually work in pools – that pools computer resources to “mine” Bit Coins

• Once a Hash with the right properties is found it is broadcast to all the nodes in the network that verify that is

indeed correct and that then becomes the accepted Block Chain by all Nodes

• As a complete historical record of all blocks are incorporated in the BlockChain, its practically impossible to

fake a previous Transaction as then

all subsequent Blocks will then be in error due to the Hashing process

Slide |

11

BITCOIN BALANCES ARE “STORED” – VIA TRANSACTION

RECORDS IN THE NETWORK

• No Physical BitCoins / money stored any where

• There are only records of transactions between different addresses, with corresponding balances that will then

increase / decrease.

• Every transaction that ever took place is stored in a vast public ledger - the Block Chain.

• To work out the balance of any BitCoin address (ie. the balance of a user associated with that address),

• The information isn’t held at that address

• It must reconstructed by looking at all the individual Transactions associated to a particular address and

recorded in the Block Chain…

•Usually for each Transaction a new Address (that is public) is encouraged to be used

• so there wont be one unique (public) Address associated with a particular user

• It is done to improve security – to prevent Transactions being traced to a particular individual

• All of this complexity is handled by the Wallet software

• A particular user is able to identify/prove the different public addresses as his own by the private key that is

only known to him as the private key and forms a unique signature / pair with the public address

Slide |

12

HOW BITCOIN WALLETS WORK

• BitCoin wallets store the Private Keys that are needed to access a BitCoin addresses and spend funds.

• They come in different forms, designed for different types of device.

•Desktop / Mobile / Online / Hardware /

• Can use paper storage to avoid having them on a computer. Important to secure and back up bitcoin

wallet..

• If wallet or Private Key is lost - all BitCoins Lost! – cannot recover those transactions even though

they are recorded in Network – Block Chain

• Private key Stolen - Some one else can spend your Coins

• A transaction must have one or more inputs. For the transaction to be valid, every input must be an

unspent output of a previous transaction.

• Every input must be digitally signed. The use of multiple inputs corresponds to the use of multiple

coins in a cash transaction.

• A transaction can also have multiple outputs, allowing one to make multiple payments in one go. A

transaction output can be specified as an arbitrary multiple of satoshi.

• As in a cash transaction, the sum of inputs (coins used to pay) can exceed the intended sum of

payments. In such case, an additional output is used, returning the change back to the payer. Any

input satoshis not accounted for in the transaction outputs become the transaction fee.

Slide |

13

IMPLICATIONS FOR MOBILE OPERATORS

•At the moment the technology is used mainly by those wishing to conceal their identity

•Larger entities and Banks also considering – but this is for their own private / internal settlement

networks

• Given the relative complexity of use - is unlikely to pose a threat to existing mobile payments in the

near future

• though use of wallets does make process more user friendly

•Problems as you cannot spend an arbitrary amount of BitCoin –

•Can only spend those coins that have been received from others through Transactions

•Or bought through an exchange in those specific amounts by you

• If spending arbitrary amounts, then spender needs to create another address to hold balance and

the receiver has to put balance in that address

• So not a very direct payment / settlement of dues

• Main advantages over traditional methods - irreversible payments / security / anonymity / lower fees /

speed of settlement (approved within 10 minutes) / cross border payments with out scrutiny

• Online stores and those businesses with an internet presence with a global Cx base can benefit having

another channel in addition to existing means of transacting

• While BitCoins can be purchased / cashed online rather easily via exchanges, spending them requires

that the other party is willing to transact in this manner – Requires widespread use of

• A vendor network

• Access to online services / Internet

Slide |

14

REFERENCES

• There’s too many aspects to cover in a few slides further details can be obtained from

• Santoshi Nakamoto’s paper on which the protocol is based

http://www.coindesk.com/information/how-bitcoin-mining-works/

https://bitcoin.org/bitcoin.pdf