Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

Decentralised Transactions and Accounts with Blockchain

  1. KIT – The Research University in the Helmholtz Association INSTITUTE AIFB - WEB SCIENCE AND KNOWLEDGE MANAGEMENT www.kit.edu Decentralised Transactions and Accounts with Blockchain Andreas Harth 25.05.2016
  2. Institute AIFB2 10.06.2016 Outline Motivation Cryptographic Background Blockchain Technology Blockchain without Bitcoin Conclusion Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  3. Institute AIFB3 10.06.2016 Centralised Transactions Centralisation creates power structures and single points of failures (can enable fraud, manipulation, censorship) Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain Alice Bob    Bob sells Alice a Raspberry Pi computer Alice transfers money into Bob‘s account Bob can spend the money from his account Central trusted instance processes transactions and maintains account balances
  4. Institute AIFB4 10.06.2016 Decentralised Transactions Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain A centralised ledger tracks asset movements between institutions A distributed ledger eliminates the centralised authority and puts the ledger into the hands of many institutions Idea: can technology provide the functionality to process transactions, but in a distributed and decentralised fashion? Bitcoin [Nakamoto 2008] provides a blockchain with a cryptocurrency Ethereum (ca. 2014) provides a blockchain platform with cryptocurrency and scripting “Blockchain without bitcoin” (2016) from IBM, Hitachi, Fujitsu, Deutsche Börse, CME, ABN Amro, Wells Fargo…
  5. Institute AIFB5 10.06.2016 Outline Motivation Cryptographic Background Blockchain Technology Blockchain without Bitcoin Conclusion Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  6. Institute AIFB6 10.06.2016 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain Hash Functions Takes a string as input Produces fixed-sized output Efficiently computable (moderately hard to generate, easy to check) Security properties Collision-free: different inputs create different outputs, as few collisions as possible Hiding: input should not be visible in output Puzzle-friendly Secure Hash Algorithm (SHA) is widely used SHA-256 Hash Function SHA-256(„hello world“) = b94d27b9934d3e08a52e52d7da7dabfa c484efe37a5380ee9088f7ace2efcde9 SHA-256(„hello world.“) = 7ddb227315f423250fc67f3be69c5446 28dffe41752af91c50ae0a9c49faeb87
  7. Institute AIFB7 10.06.2016 Trusted Timestamps Take a hash of a block of items and a time ti The hash can be published, e.g., in newspapers or Usenet hash(block) includes the previous hash, forming a chain The hash proves that an item must have existed at time ti Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain [Nakamoto 2008]
  8. Institute AIFB8 10.06.2016 Alice generates a keypair, consisting of private/secret key (sk): and public key (pk): 1Ez69SnzzmePmZX3WpEzMKT rcBF2gpNQ55 Digital Signatures 1) (sk, pk) := generateKey(keySize) 2) sig := sign(sk, message) 3) isvalid := verify(pk, message, sig) Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain   Alice generates signature of message with her private key Bob can verify that the message has been signed by Alice using Alice‘s public key
  9. Institute AIFB9 10.06.2016 Outline Motivation Cryptographic Background Blockchain Technology Blockchain without Bitcoin Conclusion Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  10. Institute AIFB10 10.06.2016 Blockchain Core Idea Requires addresses/accounts for people (identities) Requires a transaction log that is tamper-proof Requires incentives for someone to maintain the transaction log Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain Idea: can technology provide the functionality to process transactions, but in a distributed and decentralised fashion?
  11. Institute AIFB11 10.06.2016 Identity and Wallets Public keys (or hash of public key) can be used as addresses Public key == identity; private key is in „wallet“ Any message signed that can be verified with the public key is from an actor that controls the associated private key Anybody can create a keypair (decentralised identity management, anybody can make new identities) Nobody needs to know who you are (but your transactions, pattern of behaviour might point to you) Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain Public key: 1EBHA1ckUWzNKN7BMfDwG Tx6GKEbADUozX Public key: 1Ez69SnzzmePmZX3WpEzMK TrcBF2gpNQ55 Private key: Private key:
  12. Institute AIFB12 10.06.2016 Decentralised Transactions Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain Transaction is put into a public transaction log (the blockchain) Transaction (Tx): Pay-to-Pubkey-Hash, Value 1 From: 1Ez69SnzzmePmZX3WpEzMKTrcBF2gpNQ55 To: 1EBHA1ckUWzNKN7BMfDwGTx6GKEbADUozX Alice’s signature: 48 30 45 02 21 00 F3 58 1E 19 72 .. Alice Bob    Bob sells Alice a good or service Alice transfers a token representing the desired value to Bob‘s address 1EBHA1ckUWzNKN7 BMfDwGTx6GKEbAD UozX, signing the transaction with her private key Bob can spend the token from his account using his private key 
  13. Institute AIFB13 10.06.2016 Public Transaction Log (Blockchain) Transactions are put in a public transaction log that is shared via a peer-to-peer network Sharing the blockchain is required to avoid double spending Transfer can go to a public key (Pay-to-Pubkey-Hash) or to a script (Pay-to-Script-Hash) Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain [Nakamoto 2008]
  14. Institute AIFB14 10.06.2016 Scripting and Smart Contracts A script specifies how the next person who wants to transfer an item can gain access Bitcoin‘s language is simple, no loops, not Turing-complete Ethereum‘s language is Turing-complete Hyperledger‘s language is to be defined “Smart Contracts” are applications for scripting Multiparty signatures Escrow transactions Gambling (e.g., bet on the hash value of blocks) Insurance/derivatives (e.g., crop insurance: pay at specified time if precipitation is below a given target value) … Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  15. Institute AIFB15 10.06.2016 Outline Motivation Cryptographic Background Blockchain Technology Blockchain without Bitcoin Conclusion Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  16. Institute AIFB16 10.06.2016 „Blockchain without Bitcoin“ Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain http://hyperledger.org/
  17. Institute AIFB17 10.06.2016 „Blockchain without Bitcoin“ Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain http://hyperledger.org/
  18. Institute AIFB18 10.06.2016 Incentives Who maintains the blockchain? Who provides computational resources to run the scripts? Requires incentives for maintaining the blockchain Requires incentives to provide computational power to run scripts A cryptocurrency can be use to create incentives and pay for computational resources Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain Public key: 1EBHA1ckUWzNKN7BMfDwG Tx6GKEbADUozX Public key: 1Ez69SnzzmePmZX3WpEzMK TrcBF2gpNQ55
  19. Institute AIFB19 10.06.2016 Mining How to create (fiat) money? The hash of a new block is generated roughly every ten minutes Requires distributed consensus on who creates a new block Consensus is based on proof-of-work puzzle: hash(block) < target value (adjusted every two weeks) If hash(block) >= target value, increment the „nonce“ and try again Node that solves the puzzle gets a reward and can keep transaction fees Reward for mining a block halves every 210k blocks (~4 years), currently at 25 BTC Issue rate decreases over time; around 2140 all ~21m BTC have been issued Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  20. Institute AIFB20 10.06.2016 Outline Motivation Cryptographic Background Blockchain Technology Applications of Blockchain Technology Conclusion Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  21. Institute AIFB21 10.06.2016 Summary and Conclusion Blockchain technology can be used to maintain a decentralised transaction ledger Scripts add the capabilities for „smart contracts“ Many new application areas possible, both in finance and outside Whether blockchains work in practice without cryptocurrencies remains to be seen Blockchain fits well with the decentralised architecture of the internet Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  22. Institute AIFB22 10.06.2016 References Greg Irving and John Holden. How blockchain-timestamped protocols could improve the trustworthiness of medical science. F1000Research 2016, 5:222, http://f1000research.com/articles/5-222/v1 Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, May 2008, https://bitcoin.org/bitcoin.pdf Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder, “Bitcoin and Cryptocurrency Technologies”, textbook draft 2016-02- 09, https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_b ook.pdf Yonatan Sompolinsky, Aviv Zohar, “Accelerating Bitcoin’s Transaction Processing - Fast Money Grows on Trees, Not Chains”, Cryptology ePrint Archive, Report 2013/881, 2013. Nick Szabo, “Formalizing and Securing Relationships on Public Networks”, First Monday, Volume 2, Number 9, September 1997, http://firstmonday.org/ojs/index.php/fm/article/view/548 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  23. Institute AIFB23 10.06.2016 Image Credits Title page: Google for “Vintage Men Working”, Economist (John Berkeley) Clearing house: Wall Street Journal SHA-256: [Narayanan et al.] Bitcoin logo: http://bitcoin.org/ Ethereum logo: http://ethereum.org/ Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  24. Institute AIFB24 10.06.2016 Bitcoin Price in USD, 2010-2016 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  25. Institute AIFB25 10.06.2016 Bitcoin Node Distribution Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  26. Institute AIFB26 10.06.2016 Block Propagation Times The relation between the block size and the time it took to reach 25 % (red), 50 % (green), and 75 % (blue) of monitored nodes. [Sompolinsky and Zohar, 2013] Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  27. Institute AIFB27 10.06.2016 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  28. Institute AIFB28 10.06.2016 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain
  29. Institute AIFB29 10.06.2016 Andreas Harth - Dezentrale Transaktionen und Konten mit Blockchain

Editor's Notes

  1. Who maintains the infrastructure? How does the community agree on what is the correct blockchain?
  2. Who maintains the infrastructure? How does the community agree on what is the correct blockchain?
  3. transactions/sec; PayPal: 50 – 100 transactions/sec; Twitter: 5000 – 15000 transactions/sec; Advertisting networks > 100000 transactions/sec) Current rate: 7 transactions/sec (compare to: VISA: 2000 – 10000 transactions/sec), could be addressed by increasing block size Bitcoin block chain is now "secured" (via proof-of-work) by about four centralised mining pools many of which are in China; proof-of-stake could address the issue Community-wide updates to the protocol/software are difficult
Advertisement