Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el...

54
https://cybercamp.es La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat [email protected] [email protected]

Transcript of Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el...

Page 1: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

https://cybercamp.es

La cadena de bloques, o cómo

subvertir el sistema

Oscar DelgadoEurecat

[email protected]

[email protected]

Page 2: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

2

Índice

1. ¿La cadena de qué?

2. Aplicaciones

a. Fintech

b. IoT

3. Ataques y vulnerabilidades

Page 3: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 4: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

“Therefore, the key question is not how, but when the disruption will become far-reaching. As other industries that have been transformed by new technologies and digitization, blockchain technology could reshape the financial industry well beyond the payments system.”

Page 5: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 6: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 7: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 8: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bitcoin, 2009

Satoshi Nakamoto

Page 9: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 10: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bitcoin es una red de pagos y una moneda digitales

Anónima

No traceable

Transferencias (casi) inmediatas

Comisiones cero o muy reducidas

Descentralizada

Creada en 2009

Page 11: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 12: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 13: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 14: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 15: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.
Page 16: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Cadena de bloques

Page 17: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bitcoin

Protocolo

Direcciones

Cadena de bloques

Pruebas de trabajo (PoW)

“Registro distribuido e inmutable de

datos”

Page 18: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

¿Qué hace esta idea diferente?

No autoridad central

No fallo, no corrupción, no

prohibición=Primer algoritmo de consenso

distribuido

Page 19: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Fundamentos matemáticos

Page 20: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

¿Qué aspectotiene?

Page 21: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Posibles usos

Notaría digital

Internet de las Cosas

Sector financiero

Page 22: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Notaría digital

• Ahorro de costes• Verificación en

cualquier momento y lugar

• Sin corrupción ni confianza en una tercera parte

Page 23: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Notaría digital

• Integridad, pero NO propiedad

• Sólo docssecretos

• Cualquiera puede enviar docs en nombre de otro

Page 24: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Usos derivados

• Crowfunding, acciones de compañías

• Contratos inteligentes: herencias

• Certificación de información en cadenas de producción y distribución

Page 25: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Democraciadigital 2.0

• Documentos oficiales en la cadena de bloques

• Sistemas de votación no manipulables, auditoría pública

Page 26: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Posibles usos

Notaría digital

Internet de las Cosas

Sector financiero

Page 27: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Internet de las Cosas

Page 28: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

• Propiedades inteligentes• Alquiler, compra

Page 29: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Internet de las Cosas

• Micropagosentre dispositivos

Page 30: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

La cadena de bloques y el

sector financiero

Page 31: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Sector financiero

“Si hubiésemos tenido esta tecnología no hubiésemos padecido la crisis: transparencia”

Page 32: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Sector financiero

• Sustitución de la red SWIFT a nivel mundial

• Transferencias internacionales en 10 minutos

Page 33: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bancos y blockchains

privados

• Ancho de banda (7 tps)

• No hay permisos de lectura ni escritura, ¡ni identidad!

• Ataque del 51% (25%)• Privacidad de la

información• Desarrollo libre,

impredecible e incontrolabe

• Cuestión reputacional

Page 34: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Blockchains públicos, semi-públicos y privados

Tipo de cadena

PermisoUsos Plataformas

Lectura Escritura

Pública Notaría digital, IoT Bitcoin

Semi-pública

Certificación cadenas

productivas

Ripple, Ethereum Auditoría

Privada Sistema de pagos

interbancarios

Page 35: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Sector financiero

Page 36: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Vulnerabilidades

Page 37: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bugs software

EscalabilidadAtaque del

51%

Minado egoísta

Identidad

Page 38: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bugs software

En general, OK, pero:• CVE-2010-5141, Junio 2010:

vulnerabilidad más peligrosa de la historia de Bitcoin, permitía gastar el dinero de otros

Page 39: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bugs software

• Bloque 74638 (Agosto 2010) contiene una transacción con una salida de 184 billones de BTC:• Interger overflow en el código• Se solucionó con un patch y un fork

manual • Se observó un doble gasto de

10.000$

Page 40: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bugs software

• Un fork en el bloque 225430 (Marzo 2013) debido a un error en la actualización del cliente:• Duró 6 horas• Se solucionó volviendo a una versión

anterior del cliente

Page 41: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Bugs software

• Mucha gente auditando el código con interés económico (el mejor incentivo)

• Poco probable que existan grandes bugs, pero sí ataques DoS

Page 42: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Escalabilidad

Nuevo bloque

(10 min)

Tamaño de bloque

(1MB)7 tps

VISA procesa 56.000 tps

Page 43: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Junio 201451%

Page 44: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

¿Sigue Bitcoin siendo distribuido?

“Criptomoneda distribuida sin ninguna autoridad central”

“Criptomoneda controlada por unas pocas entidades (pools)”

Page 45: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Inconvenientes de los pools de minado

Protocolo Stratum: los mineros individuales pierden el control sobre los bloques que minan

• Al 99% no le importa• Consecuencias en

investigación

Page 46: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

• Presentado en 2013• Idea: cuando mines un bloque,

no lo publiques• Con sólo un 25% del hashrate, la

estrategia permite ganar más de lo que correspondería

Ataque del minado egoísta

Page 47: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Escenario 0: Atacantes minan un bloque

Bloque n-1

Bloque n

Bloque n+1

α

1-α

Cadena pública

Cadena privada

Page 48: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Escenario 1: La cadena pública se recupera

Bloque n-1

Bloque n

Bloque n+1

Bloque n+1

Bloque n+2

Bloque n+1

Publica bloque

Cadena pública

Cadena privada

Atacantes no ganan nada

Page 49: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Escenario 2: Ambas partes ganan

Bloque n-1

Bloque n

Bloque n+1

Bloque n+1

Bloque n+2

Bloque n+1

Publica bloque

Cadena pública

Cadena privada

Atacantes y honestos ganan su bloque

Page 50: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Escenario 3: Los atacantes ganan

Bloque n-1

Bloque n

Bloque n+1

Bloque n+1

Bloque n+1

Publica bloque

Cadena pública

Cadena privada

Los atacantes ganan dos bloques

Bloque n+2

Page 51: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

• Inicialmente el ataque haríala red más lenta y vulnerable al doble gasto

• Si ganara adeptos, la ventajadel pool egoísta podría serdefinitiva

Ataque del minado egoísta

Page 52: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

¿Y los servicios colaborativos? • ¿Podría sustituir

servicios como AirBnB, Uber?

• Problema de la identidad

Page 53: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

Oscar Delgado [email protected]

[email protected]

¡Gracias!

Page 54: Cadena de bloques, o cómo subvertir el sistema · La cadena de bloques, o cómo subvertir el sistema Oscar Delgado Eurecat oscar.delgado@eurecat.org doscar@gmail.com. 2 Índice 1.

https://cybercamp.es @CyberCampEs#CyberCamp15