Bitcoin, the Blockchain, and Open Source

362 views

Published on

Eric Martindale
DECENTRALIZE - Co-host
Monday, Oct 19th
11:25 am - Emerging

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
362
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Bitcoin, the Blockchain, and Open Source

  1. 1. Bitcoin, the Blockchain, and Open Source Why Finance is the Next Frontier for Open Source Eric Martindale · All Things Open · Raleigh, NC · October 19th, 2015
  2. 2. What’s the problem? Money as DebtLegacy Banking Infrastructure Confabulation of Money & State ● slow to adapt ● highly expensive ● possibly malicious ● perverse incentives ● not very scalable ● possibly malicious ● perpetual interest ● questionable merit ● probably malicious
  3. 3. What’s the problem? private key
  4. 4. Ledgers
  5. 5. Shared Ledgers? Problem: each party must trust all of the others; any malicious actor “cooking the books” can lie about how much they have! Sally Bank KT Bank Co. Bob Co. Alice’s Credit Leaping Lou Investments
  6. 6. Byzantine Generals’ Problem
  7. 7. Byzantine Generals’ Problem Byzantine Fault: Any fault presenting different symptoms to different observers.
  8. 8. Byzantine Generals’ Problem Byzantine Fault: Any fault presenting different symptoms to different observers. Byzantine Failure: The loss of a system service due to a Byzantine fault in systems that require consensus.
  9. 9. Byzantine Generals’ Problem Solution: Open Source All The Things!
  10. 10. Cryptography
  11. 11. Elliptic-Curve Cryptography
  12. 12. Asymmetric Cryptography
  13. 13. Bitcoin Transactions
  14. 14. Hash Functions
  15. 15. Hash Functions, Important Features Cryptographically-strong hash functions must be easy to compute, but impossible to reverse. A one-way function with no inverse function. Cryptographically-strong hash functions should therefore have unpredictable output, so they cannot be easily reversed. Changing one byte of the input should completely change the output.
  16. 16. Bitcoin Mining 000000000000000011d1ae8e1400bc7d7abc19de5769270083841b6b3... arbitrary criteria Meeting these arbitrary criteria will grant you 50 25 new Bitcoin.
  17. 17. Bitcoin Mining
  18. 18. Bitcoin Mining
  19. 19. Bitcoin Scripting (basic transaction) Objective: verify that the original owner of the tokens being redeemed is in possession of the same private key as this new redemption transaction.
  20. 20. Bitcoin Scripting (basic transaction) Objective: verify that the original owner of the tokens being redeemed is in possession of the same private key as this new redemption transaction. OP_DUP OP_HASH160 62e907b15cbf27d… OP_EQUALVERIFY OP_CHECKSIG
  21. 21. Bitcoin Scripting (basic transaction) Objective: verify that the original owner of the tokens being redeemed is in possession of the same private key as this new redemption transaction. OP_DUP OP_HASH160 62e907b15cbf27d… OP_EQUALVERIFY OP_CHECKSIG duplicate top stack item (tx hash) hash the top stack item make top stack item equal 62e90… compare top stack item with register check signature of top stack item
  22. 22. Bitcoin Scripting (basic transaction) private key
  23. 23. Bitcoin Scripting (basic transaction) private key a26ec7025e8f7f01c07d2dfcdb2256ef00… 4356d540433581084a1b3ca91cca9ac13d…public key
  24. 24. Bitcoin Scripting: Multi-Sig
  25. 25. Bitcoin Scripting: Multi-Sig Objective: implement multi-factor authentication to prevent loss or theft in the event of a security compromise.
  26. 26. Bitcoin Scripting: Multi-Sig Objective: implement multi-factor authentication to prevent loss or theft in the event of a security compromise. 2 519d4ba… ab19bef… d3ba14d… 3 OP_CHECKMULTISIGVERIFY
  27. 27. Bitcoin Scripting: Multi-Sig Objective: implement multi-factor authentication to prevent loss or theft in the event of a security compromise. 2 519d4ba… ab19bef… d3ba14d… 3 OP_CHECKMULTISIGVERIFY number of signatures required all the public keys allowed to sign number of total keys provided verify signatures, continue if minimum is met
  28. 28. Use Cases
  29. 29. Bitcoin Scripting: Data Objective: store some data permanently. OP_RETURN Hello, world! return opcode data to return
  30. 30. Bitcoin Scripting: Data Objective: store some data permanently. OP_RETURN Hello, world! return opcode data to return As long as someone, somewhere is running the Bitcoin client, this data cannot be deleted!
  31. 31. Bitcoin Scripting: Data Bitrated https://www.bitrated.com/
  32. 32. Smart Contracts Objective: write some arbitrary program and run it without trusting a server.
  33. 33. Sidechains
  34. 34. Sidechains
  35. 35. Use Cases Smart Contracts: https://en.bitcoin.it/wiki/Contract Multi-sig: https://copay.io Sidechains: https://blockstream.com
  36. 36. Questions? or comments. I’ll take those too. Eric Martindale · All Things Open · Raleigh, NC · October 19th, 2015 martindale martindale eric@decentralize.fm
  37. 37. Open Source Finance

×