SlideShare una empresa de Scribd logo
Introducción a Bitcoin
@philippecamacho
philippe.camacho@gmail.com
Bitcoin Santiago
30 de julio 2014
Universidad San Sebastián
¿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
The first five times you think you
understand it, you don’t.
http://dankaminsky.com/2011/08/05/bo2k11/
Agenda
Agenda
Solución #0
Agenda
Arreglo #1
Bancos
Confianza en instituciones
Bitcoin
Confianza en código
abierto + leyes
matemáticas
V/S
= +
¿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
Solución #1
1 BTC
2 BTC 1 BTC
Puedo gastar mis bitcoins
tantas veces como quiero
(doble gasto).
Agenda
Arreglo #2
La red Bitcoin comparte
una base de datos de transacciones
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.
Cada transacción tiene que ser pública.
¡Nadie va a querer usar este sistema que
revela todos nuestros movimientos
financieros!
Agenda
Arreglo #3
El identificador del usuario
se reemplaza por un número aleatorio
Dirección Bitcoin:
31uEbMgunupShBVTewXjtqbBv5MndwfXhb
Introducción a Bitcoin
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.
Bitcoin y Anonimato
• Bitcoin no es por defecto
totalmente anónimo
• Algunas iniciativas para mejorar el anonimato
Zerocoin.orgBlockchain.info
Cada cuenta es pública entonces puede
hacer transferencia desde cualquier parte
(puedo gastar bitcoins que no son míos).
Agenda
Arreglo #4: Firmas digitales
Arreglo #4: Firmas digitales
Clave privada Clave pública ≈
Dirección de Bart
FirmarMensaje
Firma
Equivale a la
habilidad de
“dibujar la firma”
Firma
Firmas digitales
Aceptar /
Rechazar
Verificar
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
¿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
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
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)
Cliente Local (en el celular)
http://mycelium.com
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
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
Offline
(¡lo más seguro… y menos práctico!)
https://bitcoinarmory.com/using-offline-wallets-in-armory/
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
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
Todavía puedo hacer cosas muy malas....
¿Que tal publicar una falsa historia de las
transacciones?
Agenda
Arreglo #5:
Funciones de Hash Criptográficas
H
011100011100011101
000101010001001000
110101010010110011
001111000111001000
0101000101110
11011010110100111
Entrada grande
Salida de tamaño fijo
(ej: 256 bits)
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’)
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)
…
¿Pero quien calcula el siguiente bloque?
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...
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
Desafíos de la minería
¿Suena bien… pero porque la gente
gastaría sus ciclos CPU?
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
1 0-
¡Es solo el principio!
http://mapofcoins.com
¡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)

Más contenido relacionado

Introducción a Bitcoin

  • 1. Introducción a Bitcoin @philippecamacho philippe.camacho@gmail.com Bitcoin Santiago 30 de julio 2014 Universidad San Sebastián
  • 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. The first five times you think you understand it, you don’t. http://dankaminsky.com/2011/08/05/bo2k11/
  • 8. Arreglo #1 Bancos Confianza en instituciones Bitcoin Confianza en código abierto + leyes matemáticas V/S = +
  • 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. Solución #1 1 BTC 2 BTC 1 BTC
  • 11. Puedo gastar mis bitcoins tantas veces como quiero (doble gasto).
  • 13. Arreglo #2 La red Bitcoin comparte una base de datos de transacciones
  • 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. Cada transacción tiene que ser pública. ¡Nadie va a querer usar este sistema que revela todos nuestros movimientos financieros!
  • 17. Arreglo #3 El identificador del usuario se reemplaza por un número aleatorio Dirección Bitcoin: 31uEbMgunupShBVTewXjtqbBv5MndwfXhb
  • 19. 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.
  • 20. Bitcoin y Anonimato • Bitcoin no es por defecto totalmente anónimo • Algunas iniciativas para mejorar el anonimato Zerocoin.orgBlockchain.info
  • 21. Cada cuenta es pública entonces puede hacer transferencia desde cualquier parte (puedo gastar bitcoins que no son míos).
  • 23. Arreglo #4: Firmas digitales
  • 24. Arreglo #4: Firmas digitales Clave privada Clave pública ≈ Dirección de Bart FirmarMensaje Firma Equivale a la habilidad de “dibujar la firma”
  • 26. 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
  • 27. ¿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
  • 28. 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
  • 29. 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)
  • 30. Cliente Local (en el celular) http://mycelium.com
  • 31. 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
  • 32. 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
  • 33. Offline (¡lo más seguro… y menos práctico!) https://bitcoinarmory.com/using-offline-wallets-in-armory/
  • 34. 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
  • 35. 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
  • 36. Todavía puedo hacer cosas muy malas.... ¿Que tal publicar una falsa historia de las transacciones?
  • 38. Arreglo #5: Funciones de Hash Criptográficas H 011100011100011101 000101010001001000 110101010010110011 001111000111001000 0101000101110 11011010110100111 Entrada grande Salida de tamaño fijo (ej: 256 bits)
  • 39. 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’)
  • 40. 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) …
  • 41. ¿Pero quien calcula el siguiente bloque?
  • 42. 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...
  • 43. 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
  • 44. Desafíos de la minería
  • 45. ¿Suena bien… pero porque la gente gastaría sus ciclos CPU?
  • 46. 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
  • 47. 1 0-
  • 48. ¡Es solo el principio! http://mapofcoins.com
  • 49. ¡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)