Cuidatusbitcoins

47
¡Cuida tus bitcoins! @philippecamacho [email protected]

Transcript of Cuidatusbitcoins

Page 1: Cuidatusbitcoins

¡Cuida tus bitcoins!

@[email protected]

Page 2: Cuidatusbitcoins

I Tried Hacking Bitcoin And I Failed *.

(*) http://www.businessinsider.com/dan-kaminsky-highlights-flaws-bitcoin-2013-4

Page 3: Cuidatusbitcoins

Agenda

Page 4: Cuidatusbitcoins

Agenda

Page 5: Cuidatusbitcoins

Solución #0

Page 6: Cuidatusbitcoins

Agenda

Page 7: Cuidatusbitcoins

Arreglo #1

BancosConfianza en instituciones

BitcoinConfianza en código

abierto + leyes matemáticas

V/S

= +

Page 8: Cuidatusbitcoins

¿Pero quién invento Bitcoin?

No se sabe quien es... Pero entre nosotros:

¡¿Que importa?!

Page 9: Cuidatusbitcoins

Solución #1

1 BTC

2 BTC 1 BTC

Page 10: Cuidatusbitcoins

Puedo gastar mis bitcoins tantas veces como quiero

(doble gasto).

Page 11: Cuidatusbitcoins

Agenda

Page 12: Cuidatusbitcoins

Arreglo #2

La red Bitcoin comparte una base de datos de transacciones

Page 13: Cuidatusbitcoins

Solución #2

Origen Destino MontoHomer Lisa 1 BTCHomer Bart 2 BTCLisa Bart 1 BTC… … …

La red chequea que la cuenta tiene fondos antes de autorizar la

transferencia.

Page 14: Cuidatusbitcoins

Cada transacción tiene que ser pública.¡Nadie va a querer usar este sistema que revela

todos nuestros movimientos financieros!

Page 15: Cuidatusbitcoins

Agenda

Page 16: Cuidatusbitcoins

Arreglo #3

El identificador del usuario se reemplaza por un número aleatorio

Dirección Bitcoin:31uEbMgunupShBVTewXjtqbBv5MndwfXhb

Page 17: Cuidatusbitcoins
Page 18: Cuidatusbitcoins

Solución #3

Origen Destino MontoHhY67j81 Jh89HF8m 1 BTCHhY67J81 LaU4V6uU 2 BTCJh89HF8m LaU4V6uU 1 BTC… … …

Nota: cada usuario puede crear múltiples

cuentas.

Page 19: Cuidatusbitcoins

Bitcoin y Anonimato

• Bitcoin no es por defecto totalmente anónimo

• Algunas iniciativas para mejorar el anonimato

Zerocoin.orgBlockchain.info

Page 20: Cuidatusbitcoins

Cada cuenta es pública entonces puede hacer transferencia desde cualquier parte (puedo gastar bitcoins que no son míos).

Page 21: Cuidatusbitcoins

Agenda

Page 22: Cuidatusbitcoins

Arreglo #4: Firmas digitales

Page 23: Cuidatusbitcoins

Arreglo #4: Firmas digitales

Clave privada Clave pública = Dirección de Bart

FirmarMensaje

Firma

Equivale a la habilidad de

“dibujar la firma”

Page 24: Cuidatusbitcoins

Firma

Firmas digitales

Aceptar / RechazarVerificar

Mensaje

Page 25: Cuidatusbitcoins

Solución #4

Origen Destino Monto FirmaHhY67j81 Jh89HF8m 1 BTC Djsh767HhY67J81 LaU4V6uU 2 BTC 8988ddJh89HF8m LaU4V6uU 1 BTC djDhd7n… … …

Las direcciones bitcoin corresponden a la clave

pública

Mensaje

Page 26: Cuidatusbitcoins

¿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

Page 27: Cuidatusbitcoins

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

Page 28: Cuidatusbitcoins

Todavía puedo hacer cosas muy malas....¿Que tal publicar una falsa historia de las

transacciones?

Page 29: Cuidatusbitcoins

Agenda

Page 30: Cuidatusbitcoins

Arreglo #5: Funciones de Hash Criptográficas

H

0111000111000111010001010100010010001101010100101100110011110001110010000101000101110

11011010110100111

Entrada grande

Salida de tamaño fijo(ej: 256 bits)

Page 31: Cuidatusbitcoins

Arreglo #5: Funciones de Hash Criptográficas

• Propiedades de seguridad

– Unidireccional• Dada la salida y es díficil

calcular una entrada x tal que H(x) = y

– Resistencia a colisiones• Es díficil encontrar dos valores

distintos x,x’ tal que H(x)=H(x’)

Page 32: Cuidatusbitcoins

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)

Page 33: Cuidatusbitcoins

¿Pero quien calcula el siguiente bloque?

Page 34: Cuidatusbitcoins

Demostración de Esfuerzo(Proof of Work)

00000000010001000011001000010100110001110100001001010100101101100011010111001111

10000100011001010011101001010110110101111100011001110101101111100111011111011111

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...

Page 35: Cuidatusbitcoins

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 tener más poder

computacional que 50% de la red

Page 36: Cuidatusbitcoins
Page 37: Cuidatusbitcoins

¿Suena bien… pero porque la gente gastaría sus ciclos CPU?

Page 38: Cuidatusbitcoins

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

Page 39: Cuidatusbitcoins

1 0-

Page 40: Cuidatusbitcoins

¡Es solo el principio!

Page 41: Cuidatusbitcoins

Coin4ce.com

8Gen 8

100.000USD

Tus bitcoins en 3 minutos

Mayo 2013

Nov2013

¿Crees que Bitcoin esta cambiando el mundo y quieres ser parte de eso?

¡Te queremos conocer!

Page 42: Cuidatusbitcoins

SLIDES DE RESPALDO

Page 43: Cuidatusbitcoins

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 (1 dia, varios gigas)

• Te pueden hackear

Page 44: Cuidatusbitcoins

E-Wallet• “Tu” clave privada esta almacenada en un

sitio tercero

• Acceso por usuario / password

• Es la solución más conveniente …

• …y más peligrosa– Te pueden hackear a ti– Pueden hackear

al proveedor de servicios

Page 45: Cuidatusbitcoins

Brainwallet• Genera clave privada desde

una password larga

• Sencillo– Solamente hay

que recordar la password– Solo requiere navegador

• Menos segura que lasolución previa ante ataque de fuerza bruta

• Te pueden hackear

Page 46: Cuidatusbitcoins

Offline (¡lo más seguro… y menos práctico!)

https://bitcoinarmory.com/using-offline-wallets-in-armory/

Page 47: Cuidatusbitcoins

RespaldosRespaldo Ventaja Desventaja

Dispositivos electrónicos

• Sencillo• Evita hackeos• Se requiere acceso

físico para robarlos bitcoins

• Requiere probar regularmente que el respaldo esta funcionando

• OJO con campos magnéticos, humedad,…

Papel • Sencillo• Evita hackeos• Se requiere acceso

físico para robarlos bitcoins

Solamente solución de respaldoPara hacer transferencias hay que estar conectado en un momento u otroIncendios, agua etc…

Online Evita único punto de falla • Depende de terceros• Baja seguridad