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-2014)
• Unos de los primeros sitios de compra-venta de bitcoins
en América Latina
• Mucha prensa (estuvimos en Tele 13 )
• 3 millones de USD de venta
• Desarrollador I+D en Synaptic.cl (septiembre 2014)
4. De 1 USD a 1000 USD en 3 años
(Por qué Bitcoin importa)
5. I tried hacking Bitcoin and I failed.
http://www.businessinsider.com/dan-kaminsky-highlights-flaws-bitcoin-2013-4
???
6. Paradojas
• #1 El verdadero costo del dinero
• #2 Anonimato v/s trazabilidad
• #3 Poder computacional: una arma de doble filo
• #4 Centralización v/s Descentralización
• #5 “In Bitcoin we Trust”
8. Paradojas
• #1 El verdadero costo del dinero
• #2 Anonimato v/s trazabilidad
• #3 Poder computacional: una arma de doble filo
• #4 Centralización v/s Descentralización
• #5 “In Bitcoin we Trust”
12. ¿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
13. 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
20. Cold Storage
• Internet es inseguro => hay que almacenar las
claves privadas offline
• Costo real
– Seguridad física
– Proceso MUY MUY complejo
21. Proceso básico
1. Preparar un computador que no tenga acceso a internet
2. Instalar un sistema operativo sin virus
3. Instalar el código que permite generar claves privadas/publicas
4. Generar las claves privadas y las direcciones bitcoin asociadas
5. Almacenar las claves en lugar seguro (colchon)
6. Copiar manualmente la dirección bitcoin en un computador online
7. Enviar dinero a la dirección elegida (chao jefe)
8. Recolectar la información de las transacciones asociada a la dirección
9. Mover manualmente esa información en el computador offline
10. Firmar (usando la clave privada) la transacción nueva
11. Mover manualmente la transacción firmada en un computador online
12. Publicar en la red bitcoin la transacción
22. Algunos problemas
• ¿Donde se almacenan las claves privadas?
• ¿Quien sabe donde están (físicamente) las claves privadas?
• ¿Quién cuida la seguridad del lugar físico / como?
• En caso de encriptar las claves privadas, quien recuerda la
password
• ¿Quien prepara el computador offline?
• ¿De donde se saca el sistema operativo?
• ¿Hay que partir del principio cada vez que se quiere enviar
dinero (reinstalar todo)?
• ¿En caso que por alguna razón el computador offline este
infectado por un virus será un problema?
– Sí.
23. Malas noticiasEn la práctica se usan
claves USB para mover
manualmente la
información desde entre
el computador online y
el computador offline.
https://www.schneier.com/blog/archives/2014/07/the_fundamental.html
25. Idea
Internet
Hardware especializado para validar transacciones.
Puede ser considerado como seguro
Transacción
Firmada
Transacción
Firmada
(Monto, Dirección BTC destinación)
28. Ataque sobre la
“idea brillante”ea Internet
Hardware especializado para validar transacciones.
Puede ser considerado como seguro
Transacción
Firmada
Transacción
Firmada
(Monto, Dirección BTC destinación)
El adversario usa
dos veces el
mismo 𝑘
29. Ataque sobre la “idea brillante”
• El adversario usa dos veces el mismo 𝑘
Tenemos:
𝑠1 = 𝑘−1 𝑧1 + 𝑟 𝑆𝐾 𝑚𝑜𝑑 𝑛
𝑠2 = 𝑘−1 𝑧2 + 𝑟 𝑆𝐾 𝑚𝑜𝑑 𝑛
Entonces podemos deducir
s1 /𝑠2 =
𝑘−1 𝑧1 + 𝑟 𝑆𝐾
𝑘−1 𝑧2 + 𝑟 𝑆𝐾
𝑺𝑲 =
𝑠2 𝑧1 − 𝑠1 𝑧2
𝑟 𝑠1 − 𝑠2
Clave
secreta
Todos los
valores son
conocidos
30. Se nos olvido decirle a
Philippe que había que
hablar de temas
prácticos también…
37. Leyes y reglas en
un mundo que cambia
¿Será prohibido acordarse
de una password cuando
uno se sube a un avión?
38. Paradojas
• #1 El verdadero costo del dinero
• #2 Anonimato v/s trazabilidad
• #3 Poder computacional: una arma de doble filo
• #4 Centralización v/s Descentralización
• #5 “In Bitcoin we Trust”
39. En el mundo Bitcoin
mi identidad es distinta
El identificador del usuario
se reemplaza por una secuencia de simbolos
aleatorios
Dirección Bitcoin:
31uEbMgunupShBVTewXjtqbBv5MndwfXhb
44. Para proveer “más” anonimato
• Coinjoin (https://bitcointalk.org/index.php?topic=279249.0)
– Aprovecha la forma en que se implementan las
transacciones en Bitcoin
– Usa multi-firmas
– Evita el riesgo de que el mixer se robe los bitcoins
45. Para proveer aún más anonimato
¡56 paginas!
Requiere
cambiar
Bitcoin
46. Paradojas
• #1 El verdadero costo del dinero
• #2 Anonimato v/s trazabilidad
• #3 Poder computacional: una arma de doble filo
• #4 Centralización v/s Descentralización
• #5 “In Bitcoin we Trust”
50. 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...
51. La intuición
• 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
55. Paradojas
• #1 El verdadero costo del dinero
• #2 Anonimato v/s trazabilidad
• #3 Poder computacional: una arma de doble filo
• #4 Centralización v/s Descentralización
• #5 “In Bitcoin we Trust”
58. 5 Super heroes para proteger una
economía de 5 billones de dólares
• Wladimir J. van der Laan
• Gavin Andresen
• Jeff Garzik
• Gregory Maxwell
• Pieter Wuille
59. A veces la centralización es buena…
https://bitcoin.org/en/alert/2013-03-11-chain-fork
60. Paradojas
• #1 El verdadero costo del dinero
• #2 Anonimato v/s trazabilidad
• #3 Poder computacional: una arma de doble filo
• #4 Centralización v/s Descentralización
• #5 “In Bitcoin we Trust”
62. ¿Pero quién invento Bitcoin?
No se sabe quien es...
http://www.newsweek.com/2014/03/14/face-behind-bitcoin-247957.html
63. ¡Satoshi tendría 10% de los bitcoins!
Nota a los organizadores:
¡Inviten a Sergio el
próximo año!
64. ECDSA y la Teoría de la Conspiración
• [In answer to: "Is the NSA aware of any weaknesses in the DES
or the DSS? The RSA?"] We are unaware of any weaknesses in
the DES or the DSS when properly implemented and used for
the purposes for which they both are designed. —National
Security Agency, June 1992
http://en.wikipedia.org/wiki/Data_Encryption_Standard#NSA.27s_involvement_in_the_design
66. ECDSA y la Teoría de la Conspiración
https://www.nsa.gov/ia/programs/suiteb_cryptography/
67. Demostraciones de Seguridad
• Idea
– Si supuesto es valido entonces sistema es seguro
– Bueno:
• Permite definir: “que es seguro”
• Permite enfocarse en los supuestos
– No da ninguna garantía absoluta pero no tenerla es
mucho peor
Teorema:
Logaritmo Discreto Difícil ⇒ Algoritmo de firma de ElGamal es seguro
68. Demostraciones de Seguridad
• Problema
– No hay demostración de
seguridad para ECDSA
– No hay demostración de
seguridad para Bitcoin
• Malleability Attack
http://www.righto.com/2014/02/the-bitcoin-
malleability-attack-hour-by.html
• Majority is not Enough: Bitcoin
Mining is Vulnerable
http://arxiv.org/abs/1311.0243
•???