Internet of Transactions: Bitcoin, an Internet-Scale Open Platform for Value Exchange Pierre Noizat PAYMIUM - June 2014 1 Genesis & history • • • • • • • • • • • 2014 : Paypal starts integrating Bitcoin 2013 : First Big Online Retailers start accepting Bitcoins 2012 : First Bitcoin wallets in Appstore ..and out 2011 : Bitcoin trading over 1 USD for the first time 2010 : Gavin Andresen starts working on the code 2008 : Bitcoin (Satoshi Nakamoto) 2004 : Ripple (Ryan Fugger) 2001: Bit Gold (Nick Szabo) 1998: B-Money (Wei Dai) 1997: Hashcash (Adam Back) 1980: Digital Signatures (RSA) 2 Why it’s a big deal.. 3 Debt Money vs.Value Money Monnaie élastique Generation Transaction Issuance of a debt Open source software/ Public Ledger NO Monnaie «commodité» Mathematical extraction YES Money Supply Graph 6 4 Banque Actif … Banque Actif Actif Prêt à Durand: ! 10 000 € Durand Actif Passif … … Avant le prêt bancaire Passif … … Après le prêt bancaire:! 10 000 euros sont créés ! ex nihilo Durand Actif Actif Passif Passif Compte de Durand: ! 10 000 € … Passif Passif Compte à la Banque: ! Prêt à rembourser: ! 10 000 € 10 000 € … … Big Data: Business Data or Open Data ? Bitcoin is large-volume, complex , dynamic data: Big Open Data 6 Data is raw material for value added services: Network architecture is key to the balance of power between data collector and data producers Cetralized networks:Google, Facebook, Amazon, Banks, etc. Decentralized networks: Bitcoin, email, web, etc. 7 Data capture by centralized networks leads to an unsustainable software-mediated economy 8 Chain of Transactions Input Input (25) Generation Input Output (25) Output (100) Input (100) Input (25) Output (15) Output (110) Change Payment Input (110) Output (110) 9 Transaction Inputs & Outputs Transaction 1 Tx Hash 0 Output Index 0 Signature Tx Hash 0 Output Index 1 Signature Amount x Address 1 Amount y Address 2 Transaction 2 Tx Hash 1 Output Index 0 Signature 1 Tx Hash 1 Output Index 1 Signature 2 Amount z Address 3 Amount v Address 4 SIGHASH_ALL , the default signature hash type, signs all the inputs and outputs, protecting everything except the scriptSigs against modification 10 Bitcoin Address 1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj Public Key (x,y) = ! 04588D202AFCC1EE4AB5254C7847EC25B9A135BBDA0F2BC69EE1A714749FD77DC! 9F88FF2A00D7E752D44CBE16E1EBCF0890B76EC7C78886109DEE76CCFC8445424 The public key P is a point (x,y): P = K*G where G is a base point on the elliptic curve specified by Bitcoin: y2= x3+7. x and y are two 256-bit integers. Private Key K = 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF Main branch of the blockchain: most difficult to rewrite Orphan Block Block on side branch Block on main branch Blockchain Overview Genesis Block ! The main branch is defined as the branch with highest total difficulty, summing the difficulties for each block in the branch.! ! 1 Megabyte Block size limit => 10 tx /sec! 12 Blockchain Simplified View Block size < 1 MB = 7 tx/second Generation = 50 Total Fees = 6 Input = 25 Outputs = 24 Fee = 1 Source: Jan Vornberger Inputs = 20+50 Outputs = 65 Fee = 5 Blockchain explorers blockchain.info blockr.io 14 Bitcoin Exchange: Marketplace Real Time Trading 15 paymium.com Bitcoin Exchange AML Compliance: Review CDD Role and Balance Sheet of the PI 1. Customer Due Diligence ! by the Payment Institution • • • Proof of residence! State ID! Bank Satement 2. Customer Account Balance in Euro logged in the Payment Institution Liabilities ! => Balance Sheet Review by the Regulators 16 Bitcoin Wallet Solutions A Bitcoin wallet is in fact a key ring Hosted Wallet, P2SH address Client Side Wallet Hosted Wallet, standard address 17 Mobile clients Mycelium Schildbach bitcoin wallet breadwallet Use Cases ! • Peer-to-peer, money transfer • Group payments • Pre-paid cards • «Single Scan Purchase» • «Open Source Payment Solution» for communities • Complex transactions: escrow, open assets protocol, crowdfunding • Electronic vote 19 Gift cards, pre-paid cards 20 Single Scan Payment scan, purchase, receive ! Group Payments = ! ! • The bitcoin «group» payment address (e.g 1PierreFUi7RuFkkA812MQyRruDZhzzh7Y for Pierre’s birthday party) is generated by the organizer and published on social networks. • All donators can follow the payments sent to that address (e.g via blockchain.info): no sign up is required. • Each donator can get a proof of payment and sign a greetings message with the private key that was used to pay. • Only the organizer can spend the donated bitcoins. 22 Further reading... • • • • • • • • bitcoin.org (official project web site) https://github.com/bitcoin/bitcoin (project repo) paymium.com (compliant euro/bitcoin exchange) blockchain.info (bitcoin blockchain exlorer, e-wallet) https://bitcoinpaperwallet.com bitaddress.org (bitcoin javascript utilities) https://electrum.org (Bitcoin light client) e-ducat.fr (my blog, in French) 23 pierre.noizat@paymium.com Credits: Oleg Andreev Pierre Noizat Jan Vornberger 24