Bitcoin Droidcon Tunisia

  • View

  • Download

Embed Size (px)


Designing Secure Bitcoin Wallets with Multi-Signature Transactions - Droidcon Tunisia 2014

Text of Bitcoin Droidcon Tunisia

  • 1.Designing Secure Bitcoin Wallets with Multi-Signature Transactions Johann Barbie

2. The Speaker IBM, 5 years Consultant, Security & Scaling - Johann Barbie Engineer Tree Planet, 1 year Team Leader, Web Development 37 Coins, Since 2013 Co-Founder 3. Agenda BITCOIN 1 2 3 4 5 the Invention the Currency on Android the Technology on SMS 4. Byzantine General Problem Byzantium very rich! greedy neighbours Neighbours wish to invade Byzantium non strong enough by itself Generals can send unlimited messengers Generals can not trust any other general How to agree on an attack strategy? G1 G2 G3 G4 G5 G6 5. 2008 published paper based on torrent protocol based on pub key encryption use proof of work to create network consensus 2009 published open source software birth of blockchain 2010 last post in december Bitcoin is not organization or company Bitcoin is a protocol based on mathematical rules Satoshi Nakamoto 6. Blockchain private key public key Transaction Wallet sign with private key Icons by Olivier Guin from The Noun Project 7. In 1993, the cartoon below appeared with the caption, "On the Internet, no one knows you're a dog," and was widely circulated. An Invention like the Internet 8. Trust and Access World Financial System BitcoinVS 9. Access to Banking 1.7 Bn 7 Bn Icons by Olivier Guin from The Noun Project 10. Free Currency 11. Free Currency 12. Free Currency Fee depends on size in kb No government controls Bitcoin is the money of the people Only people? "On the blockchain, no one knows you're a fridge" by @jonwaller 13. Price Development 2013 14. Bitcoin on Android taken from Andreas Schildbachs 15. In App Payment In-App Payments? Purchase of app content Purchase of app features Donations Alternative to Google Play, Flattr, PayPal, ... taken from Andreas Schildbachs 16. Sending the Request class /* * Request specific amount of Bitcoins from user, * without feedback from the app. */ static void request(Context context, String address, long amount); /* * Request specific amount of Bitcoins from user, * with feedback from the app. */ static void requestForResult(Activity activity, int requestCode, String address, long amount); taken from Andreas Schildbachs 17. Behind the Scenes Intent sent to Bitcoin app action = android.intent.action.VIEW data = bitcoin:1PZmMahjbfsTy6DsaRyfStzoWTPppWwDnZ? amount=0.1 URL formatted to BIP21 standard (BIP = Bitcoin Improvement Proposal) Result returned to calling app resultCode = OK|CANCELED extras[transaction_hash] = c8a9e036ecbbe75c... taken from Andreas Schildbachs 18. Get the Code git clone Cd to integration-android subproject. mvn clean install or just copy & paste the BitcoinIntegration class to your project. Also have a look at sample-integration-android demo app. taken from Andreas Schildbachs 19. ePOS Escrow Customer Rewards Android, Scalable Customer Service Integration Exchange API Integration Multi-factor Authentification Multi-signature Transactions Internet Cellular Network Gateway Merchant 37Coins - Gateway and ePOS 20. Multi-Signature Transaction pay to address: Icons by Olivier Guin from The Noun Project 1 unique key 1 key to unlock pay to script: m unique key n key to unlock 21. System Overview 22. Q&A Thank you! Contact: @johba