You are on page 1of 19

Bitcoin: A Peer-to-Peer

Electronic Cash System


Satoshi Nakamoto
satoshin@gmx.com
www.bitcoin.org
Published: 2008

ABBAS JAFAR
Computer Engineering
Myongji University
What we need to consider…

 Bitcoin, Bitcoin Cash, Bitcoin Core, Digital Signatures


 Satoshi Nakmoto paper Overview
 Transactions
 Timestamp Server
 Proof-of-Work and Network
 Incentive and Disk Space
 Simplified Payment Verification
 Privacy and Calculations
 Conclusion
Bitcoin, Bitcoin Cash, Bitcoin Core
 Bitcoin: Known as ‘digital cash’, the first ‘cryptocurrency’, an international payment
network, and ‘the internet of money’ .
 BCH: P2P electronic Cash System, decentralized P2P payment network that is powered
by its users with no central authority.
 BTC: A free and open-source software that serves as a bitcoin node and provides a
bitcoin wallet which fully verifies payments.

All Bitcoin transactions are recorded permanently on a distributed ledger called the
“Blockchain” – this ledger is shared between all full Bitcoin “miners” and “nodes” around the
world, and is publicly-viewable. These miners and nodes verify transactions and keep the
network secure.
Digital Signatures ( Cryptography )
 A digital signature is an electronic form of a signature that can be used to
authenticate the identity of the sender of a message and also ensure that the
original content of the message or document that has been sent is unchanged.
Satoshi Nakmoto Paper Overview

 Peer-to-peer version of electronic cash


 Allow online payments to be sent directly from one party to another without
going through a financial institution, Third party
 Need Digital Signature to prevent Double-spending Problem
 Solution to double-spending problem using P2P distributed timestamp server to
generate computational proof of the chronological order of transactions.
 The system is secure as long as honest nodes collectively control more CPU
power than any cooperating group of attacker nodes.
Transactions:
 Transfer of Bitcoin value from one or more inputs to one or more outputs.
 Owner transfers the coin to the next by digitally signing
 Digital Signing include hash of the previous transaction and the public key of the
next owner.
Continue…
Hash : A function that converts an input of letters and numbers into an encrypted
output of a fixed length. A hash is created using an algorithm, and is essential
to Blockchain management in cryptocurrency.
 A payee can verify the signatures to verify the chain of ownership.
 Payee can't verify that one of the owners did not double-spend the coin.
 A common solution is to introduce a trusted central authority, or mint that checks
every transaction for double spending.
 After each transaction, the coin must be returned to the mint to issue a new coin,
and only coins issued directly from the mint are trusted not to be double-spent.
 The payee needs proof that at the time of each transaction, the majority of nodes
agreed it was the first received.
Timestamp Server
 The timestamp proves that the data must have existed at the time, obviously, in
order to get into the hash.
 Each timestamp includes the previous timestamp in its hash, forming a chain,
with each additional timestamp reinforcing the ones before it.
Timestamp Server

 Network participants are induced to agree on a single history through the use of a
timestamp server.
 Timestamp server taking the hash of a block of transactions and publicly broadcasting that
hash.
 This hash proof that a block of transactions existed at a given time, which allows
participants to verify the order in which blocks of transactions broadcasted.
 Permanent history of all transactions that have ever taken place on the blockchain.
 Need a system that check incoming transactions and compare them to previous to ensure
that there are no double-spends occurring.
Proof-of-Work
 Bitcoin Minors find a random numbers called Nonce, that when inserted into the
current block make the hash(SHA-256) be blow the target.
 The average work is exponential in the number of zero bit required and can be
verified by executing a single hash.
 Miners are given the right to add a block to the blockchain.
POW …
 Mining: A requirement to define an expensive computer calculation, also called mining.
Mining Purpose:
To verify the legitimacy of a transaction, or avoiding the so-called double-spending.

 Mining needs to be performed in order to create a new group of trustless transactions (the so-
called block) on a distributed ledger called Blockchain.
 Miners verify that transactions within each block are legitimate.
 Miners should solve a mathematical puzzle known as proof-of-work problem.
 Verified transactions are stored in the public blockchain.
Network
 New transactions are broadcast to all nodes.
 Each node collects new transactions into a block.
 Each node works on finding a difficult proof-of-work for its block.
 When a node finds a proof-of-work, it broadcasts the block to all nodes.
 Nodes accept the block only if all transactions in it are valid and not already
spent.
 Nodes express their acceptance of the block by working on creating the next
block in the chain, using the hash of the accepted block as the previous hash.
Reclaiming the Disk Space

 Each transaction size varies depending on the number of Inputs/Outputs.


 Once the latest transaction in a coin is buried under enough blocks, the spent
transactions before it can be discarded to save disk space.
 To facilitate this without breaking the block's hash, transactions are hashed in a
Merkle Tree.
 A block header with no transactions would be about 80 bytes.
 If we are able to reduce all transactions (Tx0 to Tx3) to a single hash (root hash) we
would save the mentioned disk space without breaking the blocks hashes.
Simplified Payment Verification
 User only needs a copy of the block headers of the longest POW chain.
 He can't check the transaction for himself but can see a network node has accepted it, and blocks
added after it further confirm the network has accepted it.
Privacy

 Privacy can be achieved by keeping public keys anonymous and/or using addresses instead.
 Use a new key pair / address for each transaction to make it harder to link coin movement to a
common owner.
 There is a risk for multiple input transactions as you think that coins are coming from the same
source, and when revealing one address you could infer the owner of the others.
Calculations
 We suppose an attacker could get more power than the honest nodes he can alter
the chain.

 He can’t alter it in any way he wants, as honest nodes wouldn’t accept an invalid
transaction/block (such as sending other people money to himself or creating
money out of thin air).

 The only option is to alter the outputs of his latest transactions or revert them (the
bigger the chain after the transaction the more proof of work is required to
generate the longest valid chain).
Cont.…
 Calculation behind the results shows that the probability of the attacker catching
up decreases exponentially the more blocks are confirmed.
Conclusion
 The paper proposes an electronic transactions system that relies on distrust.
 Ownership is proven by digital signatures while double-spending is mitigated through
the PoW-based P2P network.
 All rules and incentives are enforced within the network consensus.
 Bad actors are penalized while honest ones are rewarded.
 Bitcoin is based on distrust although most users still rely on 3rd party services.
 It is a distributed network based on inefficiency, which limits the transactions per
second that can go through.
Thanks…

You might also like