Introducción a Bitcoin

795 views

Published on

Diapositivas de la charla introductoria a Bitcoin dada en el meetup "Bitcoin Santiago" del 30 de julio 2014.

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

No Downloads
Views
Total views
795
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introducción a Bitcoin

  1. 1. Introducción a Bitcoin @philippecamacho philippe.camacho@gmail.com Bitcoin Santiago 30 de julio 2014 Universidad San Sebastián
  2. 2. ¿Quién soy? Philippe Camacho • Francés, 10 años en Chile • Desarrollador, Consultor • Doctorado en Criptografía en la Universidad de Chile • Co-fundador de comprabitcoin.com (2013) • Unos de los primeros sitios de compra-venta de bitcoins en América Latina • Mucha prensa (estuvimos en Tele 13 ) • 3 miliones de USD de venta • CREO QUE BITCOIN ESTA CAMBIANDO EL MUNDO
  3. 3. The first five times you think you understand it, you don’t. http://dankaminsky.com/2011/08/05/bo2k11/
  4. 4. Agenda
  5. 5. Agenda
  6. 6. Solución #0
  7. 7. Agenda
  8. 8. Arreglo #1 Bancos Confianza en instituciones Bitcoin Confianza en código abierto + leyes matemáticas V/S = +
  9. 9. ¿Pero quién invento Bitcoin? No se sabe quien es... Pero entre nosotros: ¡¿Que importa?! http://www.newsweek.com/2014/03/14/face-behind-bitcoin-247957.html
  10. 10. Solución #1 1 BTC 2 BTC 1 BTC
  11. 11. Puedo gastar mis bitcoins tantas veces como quiero (doble gasto).
  12. 12. Agenda
  13. 13. Arreglo #2 La red Bitcoin comparte una base de datos de transacciones
  14. 14. Solución #2 Origen Destino Monto Homer Lisa 1 BTC Homer Bart 2 BTC Lisa Bart 1 BTC … … … La red chequea que la cuenta tiene fondos antes de autorizar la transferencia.
  15. 15. Cada transacción tiene que ser pública. ¡Nadie va a querer usar este sistema que revela todos nuestros movimientos financieros!
  16. 16. Agenda
  17. 17. Arreglo #3 El identificador del usuario se reemplaza por un número aleatorio Dirección Bitcoin: 31uEbMgunupShBVTewXjtqbBv5MndwfXhb
  18. 18. Solución #3 Origen Destino Monto HhY67j81 Jh89HF8m 1 BTC HhY67J81 LaU4V6uU 2 BTC Jh89HF8m LaU4V6uU 1 BTC … … … Nota: cada usuario puede crear múltiples cuentas.
  19. 19. Bitcoin y Anonimato • Bitcoin no es por defecto totalmente anónimo • Algunas iniciativas para mejorar el anonimato Zerocoin.orgBlockchain.info
  20. 20. Cada cuenta es pública entonces puede hacer transferencia desde cualquier parte (puedo gastar bitcoins que no son míos).
  21. 21. Agenda
  22. 22. Arreglo #4: Firmas digitales
  23. 23. Arreglo #4: Firmas digitales Clave privada Clave pública ≈ Dirección de Bart FirmarMensaje Firma Equivale a la habilidad de “dibujar la firma”
  24. 24. Firma Firmas digitales Aceptar / Rechazar Verificar
  25. 25. Solución #4 Origen Destino Monto Firma HhY67j81 Jh89HF8m 1 BTC Djsh767 HhY67J81 LaU4V6uU 2 BTC 8988dd Jh89HF8m LaU4V6uU 1 BTC djDhd7n … … … Las direcciones bitcoin se calculan a partir de la clave pública Mensaje
  26. 26. ¿Que significa “Soy dueño de 30 BTC”? Tu conoces la clave privada asociada a una clave pública (≈dirección bitcoin) cuyo balance es 30 BTC. Tu eres el único a conocer esa clave privada. 1 2
  27. 27. Entonces… 2 cosas feas te pueden pasar Pierdes la clave privada Alguien te roba la clave privada y transfiere todos tus bitcoins a otra dirección 1 2
  28. 28. Cliente Local (el clásico) • Tu clave privada esta en tu computador • Tienes todo el control sobre tu clave privada • No muy practico – Hay que bajar todo el historial de transacciones (5 dias, 25+ gigas)
  29. 29. Cliente Local (en el celular) http://mycelium.com
  30. 30. E-Wallet • Tipo 1: – Tu no tienes acceso a la clave privada – Ejemplos • Coinbase.com • XAPO.com – Es como un Banco • Tipo 2: – Tu clave privada se almacena encriptada en el servidor – Solamente tu tienes acceso a la clave privada gracias a tu password – Ejemplo • Blockchain.info – Mejor balance entre seguridad y conveniencia
  31. 31. Brainwallet • Genera clave privada desde una password larga • Sencillo – Solamente hay que recordar la password – Solo requiere navegador • OJO: cualquiera puede hacer un ataque de fuerza bruta sobre tu password
  32. 32. Offline (¡lo más seguro… y menos práctico!) https://bitcoinarmory.com/using-offline-wallets-in-armory/
  33. 33. En la práctica • Comprar/vender bitcoins – http://Localbitcoins.com – https://Bitstamp.net – http://www.yaykuy.cl/ – https://comprabitcoin.com – http://bitcoin-chile.com/ – https://chilebitcoin.cl/ – ... • Usar bitcoins – coinmap.org – http://noticias.patabit.com (Javier esta armando una lista de negocios que aceptan bitcoin en Chile) La dirección donde vas a recibir tus bitcoins
  34. 34. En la práctica • Aceptar bitcoins en tu negocio – Muy sencillo • API Blockchain • Bitpay.com • Coinbase.com – Otras ventaja • Los pagos no se pueden revertir • Comisiones muy bajas • Disponible en todos los países del mundo • Mejor experiencia de usuario
  35. 35. Todavía puedo hacer cosas muy malas.... ¿Que tal publicar una falsa historia de las transacciones?
  36. 36. Agenda
  37. 37. Arreglo #5: Funciones de Hash Criptográficas H 011100011100011101 000101010001001000 110101010010110011 001111000111001000 0101000101110 11011010110100111 Entrada grande Salida de tamaño fijo (ej: 256 bits)
  38. 38. Arreglo #5: Funciones de Hash Criptográficas • Propiedades de seguridad – Unidireccional • Dada la salida y es difícil calcular una entrada x tal que H(x) = y – Collision-Resistant • Es difícil encontrar dos valores distintos x,x’ tal que H(x)=H(x’)
  39. 39. Solución #5 HH H Tx1; Tx2; Tx3… Valor inicial (coinbase) Tx34; Tx35; Tx36… Tx54; Tx55; Tx56… Bloque de transacciones Cadena de bloques (Block chain) …
  40. 40. ¿Pero quien calcula el siguiente bloque?
  41. 41. Demostración de Esfuerzo (Proof of Work) 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 H1001101|| x 000||10 Encuentra el valor x tal que la salida empieza con 3 zeros. La única forma (*) de calcular este valor tal que la salida empiece por 𝒏 zeros es intentar al alrededor de 𝟐 𝒏 veces. (*) Si lo logras de otra manera puedes (1) volverte rico, (2) famoso (Premio Turing), o (3) ambas cosas...
  42. 42. Solución #5 • El primer nodo que logra a resolver el puzzle computacional gana el bloque • La red extiende la cadena a partir de este nuevo bloque • La red siempre elige extender la cadena más larga ¡Diablos! Necesito controlar 51% del poder computacional de la red (*) (*) No es tan así… => Majority is not Enough: Bitcoin Mining is Vulnerable http://arxiv.org/abs/1311.0243
  43. 43. Desafíos de la minería
  44. 44. ¿Suena bien… pero porque la gente gastaría sus ciclos CPU?
  45. 45. Minería • El ganador del bloque recibe una recompensa de 25 BTC (De hecho es así que los bitcoins son creados) • Este proceso se llama minería
  46. 46. 1 0-
  47. 47. ¡Es solo el principio! http://mapofcoins.com
  48. 48. ¡Gracias! • Feedback, preguntas a philippe.camacho@gmail.com • "I am very intrigued by Bitcoin. It has all the signs. Paradigm shift, hackers love it, yet it's derided as a toy. Just like microcomputers." Paul Graham (YCombinator)

×