an overview of blockchain technologies and uses day 2
play

An Overview of Blockchain Technologies and Uses (Day 2) Andy Dolan - PowerPoint PPT Presentation

An Overview of Blockchain Technologies and Uses (Day 2) Andy Dolan Computer Science Department Colorado State University Last Time we Covered An Introduction to Bitcoin The Core Features: What is a Blockchain? Distributed


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

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

  3. Outline ● Identity in blockchain and anonymization ● Smart contracts ● Attacks against blockchain ● Interesting (non-cryptocurrency) blockchain use cases Image: Jay’s Brick Blog

  4. Identity in Blockchain How do we manage who’s who?

  5. Identity in Public Blockchain ● Public key, associated private key ○ If you have the private key, you have the associated transactions ● Beyond that, what identity exists? ○ Do you register for a Bitcoin account? ○ Where might your information be revealed?

  6. Is Blockchain Anonymous? ● Cryptocurrencies can be traced back through the ledger ● At some point, there is an exchange to a product/service/currency ○ These might require some identity information ● Is this a privacy risk? ○ Or is this an advantage? ● Either way, users will want to make their tokens anonymous

  7. Token Tumbling ● Also called mixing, blending, cleaning ● Third-party services that will “clean” your “tainted” tokens for you ● Put your tokens in a tumbler/mixer ○ This is still just a transaction ○ Is there a risk in doing this? ● Get some other tokens out that aren’t linked to you ● Only misdirection, not true “cleaning”

  8. Other Anonymization Efforts ● Use of zero-knowledge proofs to verify transactions ● Built into the protocol of the particular chain ● Can end up being somewhat similar to mixing ○ Exchanging “real” coins for others ● Other implementations involve burning old coins and then minting new ones ○ Zcoin

  9. Burning Tokens ● Some systems use the concept of “destroying” tokens ● Often dubbed “sending to an impossible/unspendable address” ● Control of currency supply ● Proof of burn ● Is there a risk here? ○ Is the address really unspendable?

  10. Permissioned Blockchain ● Stronger concept of identity ○ Use of PKI ● Only certain participants can join ● Stronger trust model? ● Advantages, disadvantages ● Use cases ○ Supply chain in a particular market ○ Record keeping between key stakeholders ○ Public read-only, permissioned writes

  11. Questions/Comments?

  12. Introduction to Smart Contracts Automated trust, or millions of costly bugs?

  13. Smart Contracts ● Distributed pieces of code associated with blockchain transactions ● Executions that define how a transaction is carried out ● “Smart” because the contract is automatically enforced by the system ● Usually simple, sometimes complex ● Now present in most blockchain implementations

  14. A Simple Implementation: Bitcoin ● Every Bitcoin transaction has a script ○ Written in Script ● Super, super simple ● List of instructions for how the next person wanting to spend coins can gain access to them ○ If the script returns TRUE, you have access to the funds ● Can be just about anything

  15. Typical Bitcoin Script ● Requires two things: ● Public key that hashes to destination address of transaction ○ The recipient of coins ● Signature to prove ownership of the private key corresponding to the public key ○ The recipient provides this ○ Only the owner of the right private key can get the coins

  16. More Unique Bitcoin Scripts ● Freezing funds until a future date ● Creating a mini proof-of-work puzzle that anyone can solve ● Incentivized finding of SHA1 hash collisions ○ Created in 2013, donation based ○ Solved, reward claimed in February 2017 shortly after SHA1 was broken ○ A little over 2 bitcoin claimed

  17. Ethereum and Smart Contracts ● Arguably the biggest smart contract platform ● Turing-complete smart contract language: Solidity ● Opens up lots of different possibilities for ○ Applications ○ Tokens (and how they operate) ● More complexity can be problematic

  18. Where Smart Contracts go Wrong ● What problems can slip through with a more complex smart contract? ● The DAO attack ○ A bug in the code with huge consequences: hard fork ○ Creation of Ethereum Classic ● Updating a deployed contract can be… complicated

  19. Questions/Comments?

  20. Security Aspects of Blockchain Attacks against blockchain technologies

  21. Additional Reading

  22. Attacking Consensus ● Majority attacks ○ Proof of Work ○ Proof of Stake ● Compromised centralized “leader” in PBFT ● Consensus delays ● Selfish mining ○ Similar to majority attack ○ Try to trick the network by maintaining a parallel chain

  23. Attacking the Network ● Traditional network attacks to mislead or disable nodes ● DDoS, DNS attacks, routing attacks ● Spam transactions, slow/limited propagation ● Limit availability

  24. Questions/Comments?

  25. Other Use Cases Less cryptocurrency-centric applications of blockchain

  26. Supply Chain ● A ledger of how supply changes ownership throughout its lifecycle ● BeefChain ● Lettuce from Walmart ● What issues are solved by blockchain? ● How does this model differ from cryptocurrencies?

  27. Blockchain for IoT ● Improving security of IoT devices with a blockchain platform ● IoT device identity ● IoT device and service permissions ● Storage on an immutable ledger

  28. IoT for Blockchain ● IoTa: Ledger technologies built for IoT ● Attempting to make blockchain more efficient to be able to run on IoT devices at scale ● Consensus algorithms optimized for hardware ● Network architecture to accommodate for IoT capabilities

  29. Storage?? ● Again, this is really just a database ● However, it’s append only ● What about use cases that require a lot of record changes? ● Does it scale? ○ Bitcoin: about 200 GB total ○ Ethereum: about 200 GB total

  30. Voting, Elections

  31. Other Questions?

  32. Conclusion ● Blockchain is cool ● But needs to be used carefully ● Design is critical ● It really isn’t the answer for most problems

  33. Thank you

Recommend


More recommend