Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Blockchain 101

Fabian Schuh
November 11, 2016

Blockchain 101

This presentation is a low technology, easy to understand introduction to blockchain technologies and makes use of simple examples and analogies.
For the author, blockchain technologies constitute four parts:

* a blockchain (as a database),
* a protocol (as in smart contracts or game rules),
* a consensus mechanism (for decentralized management), and
* user interaction by means of "letters of intent"

Fabian Schuh

November 11, 2016
Tweet

More Decks by Fabian Schuh

Other Decks in Technology

Transcript

  1. Blockchain Technologies Blockchain Technologies What they are, what you can

    do with them, and why they are not so difficult as many believe! What they are, what you can do with them, and why they are not so difficult as many believe! Dr.-Ing. Fabian Schuh ChainSquad GmbH (i.Gr.) October 13, 2016
  2. What are blockchain technologies What are blockchain technologies Ledgers A

    ledger is a system of record, e.g. for a business records asset transfer between participants. A shared ledger allows any participant in the business network to see the system of record (ledger). Previously: 1/27
  3. What are blockchain technologies What are blockchain technologies Ledgers A

    ledger is a system of record, e.g. for a business records asset transfer between participants. A shared ledger allows any participant in the business network to see the system of record (ledger). Today: 1/27
  4. Problems Problems Problems with Traditional Databases Monitoring and Auditing Trust

    and Vulnerabilities Availability and Costs Consistency and Business Logic 2/27
  5. Problems Problems Problems with Traditional Databases Monitoring and Auditing Trust

    and Vulnerabilities Availability and Costs Consistency and Business Logic Solution Shared ledgers and Distribution Decentralization and Consensus Authentication and Provenance Immutability and Finality Verification and Validation 2/27
  6. Outline Outline 1 Components of Blockchain Technology Transactions and Operations

    Blockchain Database/Ledger Blockchain Protocol Blockchain Consensus 2 Existing Blockchain Applications 3 Further Applications 4 Summary 3/27
  7. Brick Wall Analogy Brick Wall Analogy Transactions and Operations: What

    is written on the brick? Blockchain Database/Ledger: Putting bricks together! Blockchain Protocol What kind of bricks to good to use? Blockchain Consensus Who’s building the next row of bricks? 6/27
  8. Transactions and Operations Transactions and Operations Interaction Record user-authenticated “Letter

    of intent” (e.g. Bob wants to do a transfer) contain instructions and side-information transfers and 1 token buy 1 token of A for 2 tokens of B approve proposal X accept friendship request of user Bob may require a fees 8/27
  9. Transactions and Operations Transactions and Operations Interaction Record user-authenticated “Letter

    of intent” (e.g. Bob wants to do a transfer) contain instructions and side-information transfers and 1 token buy 1 token of A for 2 tokens of B approve proposal X accept friendship request of user Bob may require a fees The blockchain .. ✓ validates, ✓ executes, and ✓ stores these “letters of intent” 8/27
  10. Traditional Databases Traditional Databases Traditional widely used database systems: Traditional

    widely used database systems: Oracle, MySQL, MarindaDB, Mongo, … data: rational data (tables, “Excel”), documents (Mongo), abstract object manageable data: mutable, editable, deletable, appendable distribution/replication: master→slave concept master node: single-point of failure usually centralized database management 10/27
  11. Blockchain as a Database/Storage Layer Blockchain as a Database/Storage Layer

    A Blockchain as a database: A Blockchain as a database: append-only database no edits, no deletes ⇒ “immutable” arbitrary data (usually rational data) 11/27
  12. Blockchain as a Database/Storage Layer Blockchain as a Database/Storage Layer

    A Blockchain as a database: A Blockchain as a database: append-only database no edits, no deletes ⇒ “immutable” arbitrary data (usually rational data) Distribution: Distribution: master→slave or Peer-2-Peer global (internet), or local (LAN), private virtual network (VPN via internet) distributed vs. non-distributed 11/27
  13. Blockchain as a Database/Storage Layer Blockchain as a Database/Storage Layer

    A Blockchain as a database: A Blockchain as a database: append-only database no edits, no deletes ⇒ “immutable” arbitrary data (usually rational data) Distribution: Distribution: master→slave or Peer-2-Peer global (internet), or local (LAN), private virtual network (VPN via internet) distributed vs. non-distributed Management/Administration: Management/Administration: technically, this is a questions about “consensus” (see later) centralized vs. decentralized private vs. public 11/27
  14. Append only/Immutable Databases Append only/Immutable Databases What does “append-only” mean?

    What does “append-only” mean? Similarity to regular book keeping with using a new pages every x minutes while taking over the balance from the end of the previous page to the top of the new page existing entries must not be modified (legally) 12/27
  15. Blockchain Database/Ledger Blockchain Database/Ledger hash-linked list: H(·): Hash-function (e.g. a

    “check sum”) Properties ⇒ Immutable storage of (valid) “Letters of intent” (raw) ⇒ Indefinite storage ⇒ Tamper-proof ⇒ Integrated Audit trail Interpretation of raw data interpret raw letters in a local database ⇒ obtain current database state 13/27
  16. Blockchain Protocol (business logic) Blockchain Protocol (business logic) “business logic”

    (could be anything!) encoded in a (efficient) programming language enforces integrity and consistency All transactions need to be validated against the business logic “play by the rules or you can’t play” Questions to answer: who is allowed to read the database? who is allowed to transact (private vs. public)? who is allowed to commit new data to the blockchain? how are operations/transactions interpreted? what is a valid operation/transaction? 15/27
  17. Example: Chess on a Blockchain Example: Chess on a Blockchain

    Moves: Moves: e4 → d6 d4 → f6 c3 → g6 e3 → g7 d2 → c6 f3 → b5 g1 → e2 Letters of intent Letters of intent “move piece on A to B” Business Logic Business Logic ✓ is the game still ongoing? ✓ is it the player’s turn? ✓ is a piece on A? ✓ can the piece move to B? ✓ if there is a piece on B already, is it from the enemy? move position of piece possibly replace the existing enemy piece Blockchain Blockchain after validation store full letter of intent in a block Database State Database State update after players move models all pieces on the chess board 16/27
  18. Blockchain Consensus Blockchain Consensus Question: Who is allowed to update

    the blockchain by appending a new block and how is he selected? More general: More general: Find consensus about anything 18/27
  19. Blockchain Consensus Blockchain Consensus Question: Who is allowed to update

    the blockchain by appending a new block and how is he selected? More general: More general: Find consensus about anything by organize people/players/network participants 18/27
  20. Blockchain Consensus Blockchain Consensus Question: Who is allowed to update

    the blockchain by appending a new block and how is he selected? More general: More general: Find consensus about anything by organize people/players/network participants over an untrusted and unreliable network 18/27
  21. Blockchain Consensus Blockchain Consensus Question: Who is allowed to update

    the blockchain by appending a new block and how is he selected? More general: More general: Find consensus about anything by organize people/players/network participants over an untrusted and unreliable network with the expectation of malicious actors during communication! 18/27
  22. Blockchain Consensus Blockchain Consensus Question: Who is allowed to update

    the blockchain by appending a new block and how is he selected? More general: More general: Find consensus about anything by organize people/players/network participants over an untrusted and unreliable network with the expectation of malicious actors during communication! ⇒ Byzantine Two Generals Problem (believed to be unsolvable until Bitcoin) 18/27
  23. Blockchain Consensus Blockchain Consensus Question: Who is allowed to update

    the blockchain by appending a new block and how is he selected? More general: More general: Find consensus about anything by organize people/players/network participants over an untrusted and unreliable network with the expectation of malicious actors during communication! ⇒ Byzantine Two Generals Problem (believed to be unsolvable until Bitcoin) Consensus is reached among all participants to answer above question using a consensus scheme such as: proof of work pure proof of stake delegated proof of stake multi-signature … 18/27
  24. Bitcoin Bitcoin Distinction: Digital Gold, E-Money, Commodity, Fintech Transactions: Transactions:

    stack-based reduced-instruction-set programming language: Script most commonly used for simple transfers: transfer x satoshi from unspent output to address 1xxx Blockchain: Blockchain: block parameters: (block reward, previous block hash, timestamp, merkle root, version, nonce) hash function: SHA256 set of transactions Protocol: Protocol: Two rules: transactions must not result in negative balances transactions must validate Script Consensus: Consensus: proof of Work (SHA256d) 20/27
  25. Ethereum Ethereum Distinction: Decentralized “World Computer” Transactions: Transactions: transactions are

    sent to accounts, or contracts Contracts are written in Turing Complete(!) Programming Languages (Smart Contracts) contracts are executed by block producers per-contract database and protocol (validation rules) Blockchain: Blockchain: block header set of transactions uncle list (consensus) stack trace (debugging) Protocol: Protocol: sufficient fees paid to execute the contract contract executes successfully Consensus: Consensus: proof of Work (Dagger-Hashimoto) 21/27
  26. BitShares BitShares Distinction: Decentralized “Exchange”, FinTech, Derivatives, … Transactions: Transactions:

    Operation + operation-specific payload validation by hard coded protocol (hardened smart contracts) single global scale database with multiple entities (“sheets”, “columns”) Blockchain: Blockchain: block header set of transactions witness signature extensions Protocol: Protocol: operation-specific fees paid operation specific validation rules Consensus: Consensus: delegated proof-of-stake (DPOS, witnesses) 22/27
  27. Steem Steem Distinction: Decentralized Social/Blogging Network with (Crypto) Rewards Transactions:

    Transactions: Operation + operation-specific payload validation by hard coded protocol (hardened smart contracts) single global scale database with multiple entities (“sheets”, “columns”) Blockchain: Blockchain: block header set of transactions witness signature extensions Protocol: Protocol: operation-specific fees paid operation specific validation rules Consensus: Consensus: delegated proof-of-stake (DPOS, witnesses) 23/27
  28. Further “Applications” Further “Applications” “FinTech” identity management letter of credits

    corporate debt (or bond) p2p lending b2b contracts open and trusted supply chain insurance banking exchange loyalty tracking securities post-trade settlement derivative contracts securities issuance collateral management trade finance bill of lading cross-currency payment syndicated Loans intra-bank settlement retail banking cross border remittances mortgage verification mortgage contracts public Records real estate records vehicle registrations business license records business ownership records 25/27
  29. Summary Summary Solution: Blockchain Technologies: Shared ledgers and Distribution Decentralization

    and Consensus Authentication and Provenance Immutability and Finality Verification and Validation 27/27