Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Unifying Banks & Blockchains @Coinbase

429 vues

Publié le

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2wEkAfi.

Jim Posen provides an overview of blockchain protocols and discusses how Coinbase’s unified architecture for payment services abstracts away integration-specific logic from core transaction processing. He dives into the details of Coinbase’s Bitcoin, Ethereum, and US banking integrations and compares how they implement the generalized service interface. Filmed at qconnewyork.com.

Jim Posen is a tech lead at Coinbase and has spent his time there architecting and building many of its core back-end services. He has worked on a variety of systems including the data pipelines, compliance and fraud controls, and most recently has been rebuilding the payments infrastructure to support integrations with new blockchains and global banking partners.

Publié dans : Technologie
  • Soyez le premier à commenter

Unifying Banks & Blockchains @Coinbase

  1. 1. Unifying Banks & Blockchains @ Coinbase
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ coinbase-blockchain
  3. 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. History of Coinbase 2012 2013 2014 2015 2016 2017 Bitcoin US Buy & Sell Europe Bitcoin Microservice Exchange (GDAX) Ethereum
  5. 5. 2 Trading Platforms
  6. 6. 3 Digital Currencies
  7. 7. 6 Fiat Currencies USD EUR GBP SGD CAD AUD
  8. 8. 7 Traditional Payment Integrations US Domestic Wires 3-D Secure Cards
  9. 9. 32 Countries
  10. 10. 4 Microservices Knox (Private keys) Wallace (Bitcoin) Macbeth (Ethereum) Iron Bank (US Banking)
  11. 11. 1 Monolithic Rails App
  12. 12. What is Bitcoin? Bitcoin is both: 1) a scarce digital resource 2) a protocol for transferring the resource over the Internet
  13. 13. US Banking System Bitcoin Bank accounts Cryptographic addresses ACH/Wire Peer-to-peer protocol Interbank settlement Public transaction ledger Issued by US government Fixed issuance 3 business days ~30 minutes Chargebacks Irreversible payments
  14. 14. Overview - How ACH & Bitcoin work - Unified payments architecture - How our ACH & Bitcoin services work
  15. 15. Automated Clearing House (ACH) ACH Operator (Federal Reserve) Receiving Depository Financial Institution Originating Depository Financial Institution ReceiverOriginator
  16. 16. Automated Clearing House (ACH) ACH Operator (Federal Reserve) Receiving Depository Financial Institution Originating Depository Financial Institution ReceiverOriginator
  17. 17. Automated Clearing House (ACH) ACH Operator (Federal Reserve) Receiving Depository Financial Institution Originating Depository Financial Institution ReceiverOriginator
  18. 18. Automated Clearing House (ACH) ACH Operator (Federal Reserve) Receiving Depository Financial Institution Originating Depository Financial Institution ReceiverOriginator
  19. 19. Automated Clearing House (ACH) ACH Operator (Federal Reserve) Receiving Depository Financial Institution Originating Depository Financial Institution ReceiverOriginator
  20. 20. ACH Returns - Payments are returned if insufficient funds, account closed, unauthorized debit, etc. - RDFI has 24 hours to return for insufficient funds - Receiver has 60 days to issue a chargeback - “No news is good news”
  21. 21. How Bitcoin Works
  22. 22. Cryptography Review Digital signature schemes: - Gen() => (Public key, Private key) - Sign(Private key, Data) => Signature - Verify(Public key, Data, Signature) => {True, False} Collision-resistant one-way functions - Hash(Data) => Fixed length binary string
  23. 23. Bits of Coin
  24. 24. Transactions 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice
  25. 25. Transactions 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice Inputs Outputs 5.0 BTC Bob 1.0 BTC Alice
  26. 26. Transactions 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice Inputs Outputs 5.0 BTC Bob 1.0 BTC Alice ✔ ✔
  27. 27. Transactions 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice Inputs Outputs 5.0 BTC Bob 1.0 BTC Alice ✔ ✔ UTXO means “Unspent Transaction Output”
  28. 28. Public Ledger Transaction #286 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice
  29. 29. Public Ledger Transaction #286 Transaction #287 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice 5.0 BTC Bob 1.0 BTC Alice
  30. 30. Public Ledger Transaction #286 Transaction #287 Transaction #288 0.5 BTC Alice 2.0 BTC Alice 4.0 BTC Alice 5.0 BTC Bob 1.0 BTC Alice 3.0 BTC Carol 2.0 BTC Bob
  31. 31. Blocks & Chains Block 276 Block 277 Transaction #286 Transaction #287 Transaction #288
  32. 32. Blocks & Chains Block 276 Block 277 Block 277?
  33. 33. Blocks & Chains Block 276 Block 277a Block 278 Block 277b Longest chain = Main chain
  34. 34. Overview - How ACH & Bitcoin work - Unified payments architecture - How our ACH & Bitcoin services work
  35. 35. History of Coinbase 2012 2013 2014 2015 2016 2017 Bitcoin US Buy & Sell Europe Bitcoin Microservice EthereumExchange (GDAX)
  36. 36. A Not-So-Scalable Architecture
  37. 37. Core Transaction Processing Debit Credit Deposit External account Coinbase account Withdrawal Coinbase account External account Buy Bank account Coinbase crypto account Sell Coinbase crypto account Bank account Send Coinbase account Coinbase account
  38. 38. Transaction Processing Service - Why is a payment made? - Coordinates calls to payment services - Ensures credits and debits balance out - Buys, sells, deposits,
  39. 39. Payment Services - How is a payment made? - Can send and charge/receive money - Encapsulates integration logic - Implemented for both banks and blockchains
  40. 40. A Scalable Architecture
  41. 41. A Scalable Architecture
  42. 42. Universal Interface: Payment Structure { "id": "21ee4091-ad9a-45b7-be49-6562ef19ea0e", "currency": "BTC", "amount": "-2.500000000", "fee": "0.000000000", "payment_method": "15pef9Cq8yd5a4b38DjKyKcT7R48VS4How", "account_id": "6ac6b0e1-8a2d-47d9-9f1e-bb3361b4f93e", "status": "completed" }
  43. 43. Universal Interface: Microservice Protocol SQS SQS HTTP Payment Service
  44. 44. Universal Interface: Microservice Protocol SQS SQS HTTP Payment Service GET /payments/:id
  45. 45. Universal Interface: Microservice Protocol SQS SQS HTTP Payment Service create_payment(id, amount, currency, …)
  46. 46. Universal Interface: Microservice Protocol SQS SQS HTTP Payment Service payment_update(id)
  47. 47. Overview - How ACH & Bitcoin work - Unified payments architecture - How our ACH & Bitcoin services work
  48. 48. Iron Bank SQS SQS HTTP SFTP ODFI
  49. 49. Iron Bank SQS SQS HTTP SFTP create_payment ODFI
  50. 50. Iron Bank SQS HTTP SFTP payment_update SQS ODFI
  51. 51. Iron Bank SQS SQS HTTP SFTP GET /payments/:id ODFI
  52. 52. Iron Bank SQS SQS HTTP SFTP Batch ODFI
  53. 53. Iron Bank SQS SQS HTTP SFTP ACK ODFI
  54. 54. Iron Bank SQS HTTP SFTP GET /payments/:id SQS payment_update ODFI
  55. 55. Iron Bank SQS SQS HTTP SFTP Return ODFI
  56. 56. Iron Bank SQS HTTP SFTP GET /payments/:id SQS payment_update ODFI
  57. 57. Iron Bank Details - Multiple banks - Quantity and volume limits per bank - Web scrapers as alternative to FTP
  58. 58. Wallace SQS SQS HTTP
  59. 59. Wallace: Incoming payments SQS SQS HTTP Block N
  60. 60. Wallace: Incoming payments SQS SQS HTTP Block N
  61. 61. Wallace: Incoming payments SQS HTTP GET /payments/:id SQS payment_update
  62. 62. Wallace: Incoming Payments Block N+2 SQS HTTP GET /payments/:id SQS payment_update
  63. 63. Wallace: Outbound payments SQS SQS HTTP
  64. 64. Wallace: Outbound payments SQS SQS HTTP create_payment
  65. 65. Wallace: Outbound payments SQS SQS HTTP
  66. 66. Wallace: Outbound Payments SQS HTTP GET /payments/:id SQS payment_update
  67. 67. Wallace: Incoming payments SQS SQS HTTP Block N
  68. 68. Wallace: Incoming Payments Block N+2 SQS HTTP GET /payments/:id SQS payment_update
  69. 69. Wallace Details - Transaction generation/UTXO selection - Maintains separate pool of online & offline funds
  70. 70. Recap - How blockchain integrations differ from banking integrations - Evolution of Coinbase payments towards a unified architecture - Polymorphic service interface using an abstraction of payments
  71. 71. Ongoing & Future Work - Rearchitecture of existing integrations around new abstraction - Migration of internal accounting to a microservice - Dedicated microservice for core transaction processing We would love your help :-)
  72. 72. Thanks for listening! mailto:jimpo@coinbase.com
  73. 73. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ coinbase-blockchain

×