Tutorial blockchain technical overview-ss
-
Upload
howard-anglin -
Category
Career
-
view
3.190 -
download
0
Transcript of Tutorial blockchain technical overview-ss
August 2016
What is the Blockchain - Technical Overview
Howard Anglin
IBM Cloud Advisor
2
What is (the) Blockchain?
If you ask 10 different people what a
blockchain is, you will still get 10 different
answers
3
“Blockchain Technology may likely be the
biggest thing in technology since the advent
of the internet”
4
The Elements
Ledger - Domesday Book!!(Winchester Roll or King’s Roll)
Ledger - 11th century England
Hashcash
Computational puzzle
Time stampingDocument timestamp - 1960s
5
Hashcash
Hashcash is a proof-of-work system used to
limit email spam and denial-of-service attacks,
and more recently has become known for its
use in bitcoin (and other cryptocurrencies) as
part of the mining algorithm. Hashcash was
proposed in May 1997 by Adam Back
6
Computational Puzzle
The basic idea — that solutions to
computational puzzles could be digital
objects that have some value — is pretty
old.
It was first proposed by cryptographers
Dwork and Naor as a potential solution to
email spam back in 1992.
7
*Domesday Book had the final word – there was to be no appeal beyond it as evidence of
legal title to land. For many centuries Domesday was regarded as the authoritative register
regarding rightful possession and was used mainly for that purpose. It was called Domesday
by 1180. Before that it was known as the Winchester Roll or King’s Roll, and sometimes as the
Book of the Treasury.
Another key component of
Bitcoin is the block chain: a
ledger in which all Bitcoin
transactions are securely
recorded.
The Ledger (*Domesday Book)
8
Time Stamping – Document signing & Linking
Secure timestamping of digital documents - timestamping
accurately conveys the order of creation of these documents
Haber and Stornetta paper in 1991:
Haber and Stornetta’s scheme signs a document together with the current time and as well as
a link or a pointer to the previous document, and issues a “certificate” with this information.
Secure
9
Linked Timestamping Efficiency Improvement
Instead of linking documents individually, we can collect them into blocks and link blocks
together in a chain. Within each block, the documents would again be linked together, but in a
tree structure instead of linearly.
This data structure forms the skeleton of Bitcoin’s block chain
link blocks
10
Bitcoin: A Peer-to-Peer Electronic Cash System
Satoshi NakamotoEnter…
11
Digitally recorded "blocks" of data stored in a linear chain.
Each block in the chain contains data (e.g. bitcoin transaction),
is cryptographically hashed.
The blocks of hashed data draw upon the previous-block in
the chain, ensuring all data in the overall "blockchain" has not
been tampered with and remains unchanged.
Bitcoin Blockchain - Blocks
Source: http://www.blockchaintechnologies.com/blockchain-definition#sthash.R2xe5qpI.dpuf
12
Bitcoin and blockchain are not the same things,
although they are related in that blockchain
technology was first
described and implemented in Bitcoin
13
In essence, Bitcoin combines the idea of using computational
puzzles to regulate the creation of new currency units with the idea of
secure timestamping to record a ledger of transactions and prevent
double spending.
What is Blockchain? – The underpinning Technology of bitcoin
records asset transfer between participants
Blockchain is a shared, replicated ledger technology
14
Blockchain - Shared/Distributed Ledger
Records all transactions across business
network
Shared between participants
Participants have own copy through replication
(Permissioned*, so participants see only
appropriate transactions)
THE shared system of record
A shared ledger is essentially a database that keeps track of who owns a
financial, physical or electronic asset
*IBM blockchain technology
15
Centralized Ledger
Distributed Ledger - Permissioned & Unpermissioned
Distributed Ledger
16
How does Bitcoin Blockchain Work? - Mining
Mining: solving computational puzzles
Mining is the process of adding transaction records to
the public ledger by performing a computing task that
is costly to execute but easy to verify.
17
The process of adding new blocks to the blockchain
(Bitcoin’s public ledger) and issuing new bitcoins with each
verified block
Confirms to the rest of the network that unique transactions have taken place
Bitcoin nodes use the blockchain to distinguish legitimate Bitcoin transactions
from attempts to re-spend coins that have already been spent elsewhere
Intentionally designed to be resource-intensive so that the number of blocks
found each day by miners remains steady
Individual blocks must contain a proof of work to be considered valid. This
proof of work is verified by other Bitcoin nodes each time they receive a block
What is Bitcoin Mining?
18
The bitcoin blockchain, which uses ‘Proof-of-Work Mining’, is
the most publicly proven method used to achieve distributed
consensus.
Cryptographic proofs-of-work are required for new blocks to be
accepted.
Other forms of distributed ledger consensus exist such as
Ethereum1, Ripple2, Hyperledger, MultiChain, Eris, and other
private enterprise solutions
Mining - Consensus
Alternative blockchains (separate from the bitcoin blockchain) are often labeled Consensus Protocols or Consensus Platforms
1 Ethereum allows a network of peers to administer their own
‘smart contracts’ – short computer programs that execute
their instructions once certain criteria have been met..
2 Ripple’s distributed ledger are validated by consensus rather
than using a proof-of-work approach like Bitcoin because a level
of trust is assumed between the parties to a transactions
Not needed in Trusted Networks
19
Mining hardware has progressed to specialized ASIC (Application-Specific Integrated Circuit) mining
- placing the SHA256 function directly on silicon chips -
Mining - Hardware
20
Every two weeks the bitcoin network difficulty factor is
recalculated to make sure that blocks are found on
average every 10 minutes despite increasing hash rates
over time.
The difficulty almost always goes up which means it
becomes progressively harder to mine bitcoins. Bitcoin
has become so difficult to mine that the vast majority of
miners join a bitcoin mining pool.
Anyone mining bitcoins has a ‘Hash Rate’, a measurement of
how many math calculations your computer is doing per second
A mining pool is a way for bitcoin miners to work
together for a better chance at finding a bitcoin block
Difficulty factor is recalculated every
2,016 blocks ~ every 2 weeks
Mining – Solving the Hard Problem
Difficulty is a measure of how hard it is to find a hash
below the target value, a 256-bit number, during PoW
21
22(extracted from) Infographic designed by fractalphia.com
Bitcoin Blockchain – Anatomy of a Block
23
Blockchain relies extensively on hashes and hash functions. A
hash (output) is the result of a transformation of the original
information (input).
A cryptographic hash function is characterized by its extreme
difficulty to revert, in other words, to recreate the input data
from its hash value alone.
Mining – Hashes and Hash Functions
A hash function is a mathematical algorithm that takes
an input and transforms it into an output of fixed length
A hash is usually a 64 character hexadecimal string that
represents a one way encryption of data, usually transactions
A measure of how difficult it is to find a hash below
the target value, a 256-bit number, during PoW
24
#Hash - Bitcoin’s proof of work scheme
SHA-2561. A reference to the previous block
2. Details of their candidate block of transactions
3. A special number called a ‘nonce’
1 32
Miners must demonstrate a proof of
work before their proposed block of
transactions is accepted by the network
With SHA256, the output is always 256 bits
long, regardless of the size of the input
25
#Hash - Bitcoin’s proof of work scheme
Increment Nonce
and try again
Combine hash
with nonce
Mining reward !! (12.5 BTC)
Solved
the PoW
…mining difficulty
determines the target
value
New block propagated to the network
hash < target value?
• Bundle txns in a block (N+1)
• Verify txns are valid
• Select most recent block (N), insert into
new block (N+1) as a hash
26
Bitcoin Blockchain Contains Two Different Hash Structures
The first is a hash chain of blocks that links the different blocks to one another
The second is internal to each block, a Merkle Tree of transactions within the blocks
27https://bitsonblocks.net/tag/longest-chain-rule/
Bitcoin Blockchain - How do you resolve (block) conflicts?
How do you resolve this?
Longest chain rule. In bitcoin, the
conflict is resolved by a rule called the
“longest chain rule”
28
Bitcoin Blockchain - Keys
*Ownership of bitcoin is established through digital keys,
bitcoin addresses, and digital signatures.
The public key is calculated from the private key using elliptic curve multiplication, which is
irreversible
* Mastering Bitcoin: Unlocking Digital Cryptocurrencies 1st Edition
Practically
irreversible
The public key is used to receive bitcoins, and the private
key is used to sign transactions to spend those bitcoins.
Elliptical Curve Multiplication Hashing Function
29
Bitcoin Blockchain – Bitcoin Address
A bitcoin address is derived from a public key
– the corresponding private key is stored in a
wallet.
Bitcoin users can create as many addresses
as they wish. A new address is encouraged
for every transaction to increase privacy.
When a new address is created, a
cryptographic key pair is created - a private
key that can be verified with a public key
(known to everyone).
A bitcoin address is not the same as a public key. Bitcoin
addresses are derived from a public key using a one-way function
30
31
Bitcoin Blockchain - Wallets
The digital keys are not actually stored in the network, but are
instead created and stored by users in a file, or simple database,
called a wallet.
Wallets provide access to multiple bitcoin addresses
*Bitcoin wallets contain keys, not coins. Each user has a wallet containing keys.
Wallets are really keychains containing pairs of private/public keys.
Users sign transactions with the keys, thereby proving they own the transaction
outputs (their coins). The coins are stored on the blockchain in the form of
transaction-outputs. * Safari Books: Mastering Bitcoin
32
Bitcoin Blockchain – Digital Signature
Introduction to Bitcoin and Decentralized Technology - https://app.pluralsight.com/library/courses/bitcoin-decentralized-technology/table-of-contents
33
Resurfacing
34
Bitcoin Blockchain – (Financial) Transactions
1. Bob (B) creates new bitcoin address
for Alice (A) to send payment to.
2. Alice’s (A) bitcoin client signs a
transaction (request) with private key
of address transferring bitcoin from.
3. Bob (B) can use the related public
key to verify transaction.
Transactions are data structures that encode the transfer of
value between participants in the bitcoin system.
To ensure the ownership of funds, the whole transaction file is digitally signed with a private
key by the user sending the funds
35UBS - Global banks: Is FinTech a threat or an opportunity? – July 2016
5 BTC 2 BTC
3 BTC* Change
AddrBob
AddrAlice
AddrAlice
* The process of unlocking and spending funds, you expose the private key – To preserve unused funds (BTC) the
client generates a new Bitcoin address, and sends the difference back to this address. This is known as change.
Bitcoin Blockchain – (Financial) Transactions
36
How a Blockchain Transaction Works
37
Bitcoin Blockchain vs (IBM) Hyperledger Blockchain
The bitcoin blockchain uses ‘Proof-of-Work’ (mining or hashing)
consensus and generates a “currency” bitcoin, BTC.
Hyperledger uses Proof-of-Stake (blockchain network asks users to
prove ownership of a certain amount of an assets); in its current state
has no native currency.
The bitcoin blockchain ledger is unpermissioned —unpermissioned networks,
any act may join the network, while Hyperledger is permissioned, participants
see only appropriate transactions. —permissioned networks are described as those where
validating and non-validating nodes are run by known whitelisted organizations, and where actors on the network are granted an identity
from an issuing authority service on the network.
“The technology behind Bitcoin is open source and over 1000 Blockchains exist today…”Simon Dixon, CEO of BnkToTheFuture
38
The 3Ps of the Blockchain: platforms, programs and protocols
39
©2016 IBM Corporation
Backup
41