an overview of blockchain technologies and uses
play

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:


  1. An Overview of Blockchain Technologies and Uses Andy Dolan • Computer Science Department • Colorado State University

  2. Outline ● An Introduction to Bitcoin ● The Core Features: What is a Blockchain? ● Distributed Consensus Image: Jay’s Brick Blog

  3. The Killer App: Bitcoin Putting blockchain on the map

  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

  5. Advantages ● No central authority ○ Self-governed ○ Community driven/maintained ● “Anonymous” ○ In quotes for a reason, as we’ll see later ● Public ○ Auditing ○ Validation

  6. Disadvantages ● No central authority ○ No real “ground truth” regulators ● “Anonymous” ○ Illegal payments made easier ● Massive computational requirements ○ Trading power for distributed trust

  7. A First Transaction A high level view of how Bitcoin functions

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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 on Blockchain

  13. Questions so far?

  14. The Core Features What is a blockchain?

  15. 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.

  16. Core Feature Overview ● Immutability ● Ledger ○ Full ○ Append-only ● Distributed ○ Consensus ● Verifiable

  17. Transactions ● “Transaction:” misleading name ● Not necessarily a transfer of some ownership ● Just individual instances of some action or data ● Even further, just log entries

  18. 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?

  19. 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

  20. Merkle Trees ● Easy verification ● Simple binary search to find where something invalid is ● This is an optimization

  21. Merkle Tree Example

  22. Why a Chain? Hash(data) Hash(data) Hash(data)

  23. The Chain - Imaginary View

  24. 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

  25. The Chain - Real View

  26. 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...

  27. Questions so far?

  28. Distributed Operation Consensus to provide consistency.

  29. 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

  30. 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

  31. 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?

  32. 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

  33. 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

  34. The 51% Attack ● Key vulnerability/attack against PoW ● Requirements: own 51% of the network ○ A majority of the computational power ● Feasible?

  35. 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

  36. Others ● Practical Byzantine Fault Tolerance ● Proof of Burn ● Proof of Elapsed Time ● Semi-centralized alternatives ● Fully centralized alternatives

  37. Next Time... ● Introduction to smart contracts ● More use cases ● More security implications

  38. Thank you

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend