An Overview of Blockchain Technologies and Uses Andy Dolan - - PowerPoint PPT Presentation

an overview of blockchain technologies and uses
SMART_READER_LITE
LIVE PREVIEW

An Overview of Blockchain Technologies and Uses Andy Dolan - - PowerPoint PPT Presentation

An Overview of Blockchain Technologies and Uses Andy Dolan Computer Science Department Colorado State University Outline An Introduction to Bitcoin The Core Features: What is a Blockchain? Distributed Consensus Image:


slide-1
SLIDE 1

An Overview of Blockchain Technologies and Uses

Andy Dolan • Computer Science Department • Colorado State University

slide-2
SLIDE 2

Outline

  • An Introduction to Bitcoin
  • The Core Features: What is a Blockchain?
  • Distributed Consensus

Image: Jay’s Brick Blog

slide-3
SLIDE 3

The Killer App: Bitcoin

Putting blockchain on the map

slide-4
SLIDE 4

Introduction

  • What is it?: A cryptocurrency
  • What is it not?: Blockchain
  • How does it work?: Blockchain
  • Price per 1 at time of writing:
  • $10,217.90
slide-5
SLIDE 5
slide-6
SLIDE 6

Advantages

  • No central authority

○ Self-governed ○ Community driven/maintained

  • “Anonymous”

○ In quotes for a reason, as we’ll see later

  • Public

○ Auditing ○ Validation

slide-7
SLIDE 7

Disadvantages

  • No central authority

○ No real “ground truth” regulators

  • “Anonymous”

○ Illegal payments made easier

  • Massive computational requirements

○ Trading power for distributed trust

slide-8
SLIDE 8

A First Transaction

A high level view of how Bitcoin functions

slide-9
SLIDE 9

A First Transaction (1/4)

  • Alice want to buy coffee from Bob for 1
  • We have a few goals

○ Transfer from Alice to Bob the ownership of 1 bitcoin ○ Everyone should agree that this transaction took place and is valid ○ Everyone should be able to audit and validate this transaction

slide-10
SLIDE 10

A First Transaction (2/4)

  • Alice creates the transaction and

signs it with her private key

○ Now Bob can verify that the transaction was initiated/created by Alice

  • Alice also “locks” the funds with Bob’s

public key

○ Now only Bob’s private key can “unlock” them

slide-11
SLIDE 11

A First Transaction (3/4)

  • Alice tells everyone about this transaction

○ Including Bob, of course

  • Peers on the Bitcoin network listen for new

transactions

  • Special peers “race” to add this transaction to

a new block

○ “Miners”

  • First miner to do it broadcasts the new block
  • The block propagates just as the transaction

did

slide-12
SLIDE 12

A First Transaction (4/4)

  • Everyone now validates the block

○ Appending it to their local copy of the chain

  • Bob can now assert that he owns the 1

He is backed up by the rest of the network ○ Furthermore, everyone can validate that the coin came from Alice ○ And so on

slide-13
SLIDE 13

First Transaction Review

  • Through this example, we saw:

○ Cryptographic integrity ○ Eventual consistency of distributed data ■ Consensus ○ Immutability (subtle, but present)

  • Bitcoin is not Blockchain, but is built
  • n Blockchain
slide-14
SLIDE 14

Questions so far?

slide-15
SLIDE 15

The Core Features

What is a blockchain?

slide-16
SLIDE 16

In a Sentence

A blockchain is a distributed data structure that takes the form of an immutable, append-only ledger, maintained by a network of peers that use cryptography and consensus to ensure consistency.

slide-17
SLIDE 17

Core Feature Overview

  • Immutability
  • Ledger

○ Full ○ Append-only

  • Distributed

○ Consensus

  • Verifiable
slide-18
SLIDE 18

Transactions

  • “Transaction:” misleading name
  • Not necessarily a transfer of some
  • wnership
  • Just individual instances of some action or

data

  • Even further, just log entries
slide-19
SLIDE 19

Blocks

  • Collections of transactions

○ Can be one, can be one million

  • Easily summarized

○ Hash for each and every block ○ Kept with other metadata in block header

  • The transactions are really what’s

summarized

  • Why process transactions in batches

anyway?

slide-20
SLIDE 20

Format of Blocks

  • A block is organized for easy verification

○ Merkle tree

  • Root hash acts as a summary of the block
  • Each block refers to the previous block’s

hash

  • Auditors can verify that history hasn’t

changed

slide-21
SLIDE 21

Merkle Trees

  • Easy verification
  • Simple binary search to find where

something invalid is

  • This is an optimization
slide-22
SLIDE 22

Merkle Tree Example

slide-23
SLIDE 23

Why a Chain?

Hash(data) Hash(data) Hash(data)

slide-24
SLIDE 24

The Chain - Imaginary View

slide-25
SLIDE 25

True Block Format

  • Root of Merkle tree: summary of

transactions

  • Block header contains reference to parent

(previous) block’s root hash

○ This is just a linked list

  • Block header is included in Merkle tree
slide-26
SLIDE 26

The Chain - Real View

slide-27
SLIDE 27

Why a Chain?

  • What happens when we change any

part of any transaction?

  • What do validators need to check, at

a minimum?

  • What is required to change an old

transaction?

○ Not too hard to do locally, but what about when we consider...

slide-28
SLIDE 28

Questions so far?

slide-29
SLIDE 29

Distributed Operation

Consensus to provide consistency.

slide-30
SLIDE 30

Factors to Consider

  • Asynchronous
  • Potentially lots of participants

○ IE, lots of transactions

  • Imperative to verify everything
  • What if there are bad actors?
  • Operational efficiency
  • Ensure immutability
slide-31
SLIDE 31

Creating Blocks

  • Unconfirmed transaction pool

○ Not yet “in the chain”

  • “Miners” try to create a block:

○ When the time is right ○ When the number of transactions is right ○ Immediately

  • Everyone validates a created block

○ And the transactions therein

slide-32
SLIDE 32

Distributed Consensus

  • No “master copy”
  • All peers need to agree
  • Transactions may be broadcast constantly
  • Blocks too, perhaps less frequently
  • How can the network keep up?
  • Will peers lie?
slide-33
SLIDE 33

Consensus Algorithms

  • Incentivize block creation

○ Often tied to the creation/distribution of new tokens

  • Keep miners honest

○ Tolerance against misbehavior ○ Byzantine Generals

  • Create chain security

○ Present barriers to entry for attacks

  • Many different approaches
slide-34
SLIDE 34

Proof of Work

  • “Solve” a difficult puzzle/math problem

○ This is a little misleading

  • Find a solution first, and get a reward
  • What if you lie?

○ Validators will throw out your solution ○ You will waste your time and resources

  • Can scale with participation
  • Large energy costs
slide-35
SLIDE 35

The 51% Attack

  • Key vulnerability/attack against PoW
  • Requirements: own 51% of the network

○ A majority of the computational power

  • Feasible?
slide-36
SLIDE 36

Proof of Stake

  • Back up a vote with some amount of

currency

  • Give “investors” more control over chain
  • More energy efficient
  • Promotes chain security

○ Attacks become extremely expensive

  • Chance for monopoly?

○ Defenses

slide-37
SLIDE 37

Others

  • Practical Byzantine Fault Tolerance
  • Proof of Burn
  • Proof of Elapsed Time
  • Semi-centralized alternatives
  • Fully centralized alternatives
slide-38
SLIDE 38

Next Time...

  • Introduction to smart contracts
  • More use cases
  • More security implications
slide-39
SLIDE 39

Thank you