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