Introducción a Bitcoin

Post on 19-Jun-2015

269 views 1 download

description

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

Transcript of Introducción a Bitcoin

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

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

Firmar Mensaje

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

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

0111000111000111010001010100010010001101010100101100110011110001110010000101000101110

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

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

H 1001101|| 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)