An Overview of Blockchain Technologies and Uses
Andy Dolan • Computer Science Department • Colorado State University
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:
Andy Dolan • Computer Science Department • Colorado State University
Image: Jay’s Brick Blog
Putting blockchain on the map
○ Self-governed ○ Community driven/maintained
○ In quotes for a reason, as we’ll see later
○ Auditing ○ Validation
○ No real “ground truth” regulators
○ Illegal payments made easier
○ Trading power for distributed trust
A high level view of how Bitcoin functions
○ 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
signs it with her private key
○ Now Bob can verify that the transaction was initiated/created by Alice
public key
○ Now only Bob’s private key can “unlock” them
○ Including Bob, of course
transactions
a new block
○ “Miners”
did
○ Appending it to their local copy of the chain
He is backed up by the rest of the network ○ Furthermore, everyone can validate that the coin came from Alice ○ And so on
○ Cryptographic integrity ○ Eventual consistency of distributed data ■ Consensus ○ Immutability (subtle, but present)
What is a blockchain?
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.
○ Full ○ Append-only
○ Consensus
data
○ Can be one, can be one million
○ Hash for each and every block ○ Kept with other metadata in block header
summarized
anyway?
○ Merkle tree
hash
changed
something invalid is
Hash(data) Hash(data) Hash(data)
transactions
(previous) block’s root hash
○ This is just a linked list
part of any transaction?
a minimum?
transaction?
○ Not too hard to do locally, but what about when we consider...
Consensus to provide consistency.
○ IE, lots of transactions
○ Not yet “in the chain”
○ When the time is right ○ When the number of transactions is right ○ Immediately
○ And the transactions therein
○ Often tied to the creation/distribution of new tokens
○ Tolerance against misbehavior ○ Byzantine Generals
○ Present barriers to entry for attacks
○ This is a little misleading
○ Validators will throw out your solution ○ You will waste your time and resources
○ A majority of the computational power
currency
○ Attacks become extremely expensive
○ Defenses