Tutorial blockchain technical overview-ss

41
August 2016 What is the Blockchain - Technical Overview Howard Anglin IBM Cloud Advisor

Transcript of Tutorial blockchain technical overview-ss

Page 1: Tutorial blockchain technical overview-ss

August 2016

What is the Blockchain - Technical Overview

Howard Anglin

IBM Cloud Advisor

Page 2: Tutorial blockchain technical overview-ss

2

What is (the) Blockchain?

If you ask 10 different people what a

blockchain is, you will still get 10 different

answers

Page 3: Tutorial blockchain technical overview-ss

3

“Blockchain Technology may likely be the

biggest thing in technology since the advent

of the internet”

Page 4: Tutorial blockchain technical overview-ss

4

The Elements

Ledger - Domesday Book!!(Winchester Roll or King’s Roll)

Ledger - 11th century England

Hashcash

Computational puzzle

Time stampingDocument timestamp - 1960s

Page 5: Tutorial blockchain technical overview-ss

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

Page 6: Tutorial blockchain technical overview-ss

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.

Page 7: Tutorial blockchain technical overview-ss

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)

Page 8: Tutorial blockchain technical overview-ss

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

Page 9: Tutorial blockchain technical overview-ss

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

Page 10: Tutorial blockchain technical overview-ss

10

Bitcoin: A Peer-to-Peer Electronic Cash System

Satoshi NakamotoEnter…

Page 11: Tutorial blockchain technical overview-ss

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

Page 12: Tutorial blockchain technical overview-ss

12

Bitcoin and blockchain are not the same things,

although they are related in that blockchain

technology was first

described and implemented in Bitcoin

Page 13: Tutorial blockchain technical overview-ss

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

Page 14: Tutorial blockchain technical overview-ss

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

Page 15: Tutorial blockchain technical overview-ss

15

Centralized Ledger

Distributed Ledger - Permissioned & Unpermissioned

Distributed Ledger

Page 16: Tutorial blockchain technical overview-ss

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.

Page 17: Tutorial blockchain technical overview-ss

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?

Page 18: Tutorial blockchain technical overview-ss

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

Page 19: Tutorial blockchain technical overview-ss

19

Mining hardware has progressed to specialized ASIC (Application-Specific Integrated Circuit) mining

- placing the SHA256 function directly on silicon chips -

Mining - Hardware

Page 20: Tutorial blockchain technical overview-ss

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

Page 21: Tutorial blockchain technical overview-ss

21

Page 22: Tutorial blockchain technical overview-ss

22(extracted from) Infographic designed by fractalphia.com

Bitcoin Blockchain – Anatomy of a Block

Page 23: Tutorial blockchain technical overview-ss

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

Page 24: Tutorial blockchain technical overview-ss

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

Page 25: Tutorial blockchain technical overview-ss

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

Page 26: Tutorial blockchain technical overview-ss

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

Page 27: Tutorial blockchain technical overview-ss

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”

Page 28: Tutorial blockchain technical overview-ss

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

Page 29: Tutorial blockchain technical overview-ss

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

Page 30: Tutorial blockchain technical overview-ss

30

Page 31: Tutorial blockchain technical overview-ss

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

Page 32: Tutorial blockchain technical overview-ss

32

Bitcoin Blockchain – Digital Signature

Introduction to Bitcoin and Decentralized Technology - https://app.pluralsight.com/library/courses/bitcoin-decentralized-technology/table-of-contents

Page 33: Tutorial blockchain technical overview-ss

33

Resurfacing

Page 34: Tutorial blockchain technical overview-ss

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

Page 35: Tutorial blockchain technical overview-ss

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

Page 36: Tutorial blockchain technical overview-ss

36

How a Blockchain Transaction Works

Page 37: Tutorial blockchain technical overview-ss

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

Page 38: Tutorial blockchain technical overview-ss

38

The 3Ps of the Blockchain: platforms, programs and protocols

Page 39: Tutorial blockchain technical overview-ss

39

Page 40: Tutorial blockchain technical overview-ss

©2016 IBM Corporation

Backup

Page 41: Tutorial blockchain technical overview-ss

41