Escolar Documentos
Profissional Documentos
Cultura Documentos
Criptografa
Criptodivisas-Cryptocurrency
Autora:
Diana Georgina Fernndez Snchez
2015
Cohorte 2014
Declaracin Jurada de origen de los contenidos
Por medio de la presente, el autor manifiesta conocer y aceptar el
Reglamento de Trabajos Finales vigente y se hace responsable que la
totalidad de los contenidos del presente documento son originales y de su
creacin exclusiva, o bien pertenecen a terceros u otras fuentes, que han
sido adecuadamente referenciados y cuya inclusin no infringe la legislacin
Nacional e Internacional de Propiedad Intelectual.
______________________________
Diana Georgina Fernndez Snchez
DNI: 95303923
i
Resumen
ii
ndice General
Declaracin Jurada de origen de los contenidos ........................................ i
Resumen ........................................................................................................ ii
ndice General ............................................................................................... iii
ndice de tablas y figuras ............................................................................. iv
Agradecimientos ........................................................................................... v
Nmina de abreviaturas ............................................................................... vi
Introduccin ................................................................................................... 1
Captulo 1: Estado del arte de las criptodivisas ......................................... 2
1.1. Definicin criptodivisa, tipos y ejemplos ................................................ 2
1.2. Estado actual ......................................................................................... 3
Captulo 2: Caractersticas, elementos y funcionamiento ......................... 4
2.2. Elementos.............................................................................................. 6
2.3. Funcionamiento ..................................................................................... 9
2.4 Fundamento criptogrfico ..................................................................... 17
2.5 Garantas de seguridad ........................................................................ 24
2.6. Recomendaciones de uso establecidas .............................................. 27
Captulo 3: Vulnerabilidades y amenazas de seguridad .......................... 29
3.1. Asociadas al uso de recursos de operacin ........................................ 29
3.2 Herramientas ........................................................................................ 30
3.3 Inherentes al funcionamiento de Bitcoin ............................................... 30
3.4 Fraudes y ataques ................................................................................ 40
Captulo 4: Situacin legal y comercial ..................................................... 42
4.1 Nivel regulatorio.................................................................................... 42
4.2. Aceptacin y uso comercial ................................................................. 43
Captulo 5: Anlisis ..................................................................................... 44
5.1 Ventajas y Desventajas ........................................................................ 44
5.2. Retos ................................................................................................... 45
5.3. Iniciativas ............................................................................................. 45
Conclusiones ............................................................................................... 47
Glosario ........................................................................................................ 48
Anexos ......................................................................................................... 51
Bibliografa Especfica ................................................................................ 54
Bibliografa General .................................................................................... 57
iii
ndice de tablas y figuras
Lista de Tablas
Tabla 1. Ejemplo de criptodivisas .................................................................... 2
Tabla 2. Vulnerabilidades en el protocolo Bitcoin con mayor puntuacin ...... 39
Lista de Figuras
Figura 1. Infografa: Cmo funcionan las transacciones de Bitcoins ............. 10
Figura 2. Detalle de la cadena de bloque ...................................................... 11
Figura 3. Componentes de un bloque ........................................................... 12
Figura 4. Estructura de las transacciones. .................................................... 13
Figura 5. rbol de Merkle y cadena de bloques ............................................ 15
Figura 6. Funcionamiento POW .................................................................... 16
Figura 7. Verificacin de origen, generacin de direcciones y transacciones 18
Figura 8. Firma digital de transacciones ........................................................ 19
Figura 9. Generacin de direcciones en Bitcoin ............................................ 21
Figura 10. Funcionamiento de Pay-To-Public-Key-Hash (P2PKH) ................ 22
Figura 11. Encadenamiento de elementos en el proceso .............................. 23
Figura 12. Ataque kleptogrfico al ECDSA aplicado a Bitcoin ....................... 32
Figura 13. Funcionamiento del ataque de maleabilidad de transacciones .... 35
Figura 14. Diagrama de ataques de doble gastos ......................................... 37
Figura 15. Informacin sobre vulnerabilidades reportadas en el protocolo.... 38
iv
Agradecimientos
A mi familia y amistades por la paciencia y el apoyo brindado al realizar esta
especializacin.
A Francisco Dosca, Andrs Chomczyk y Horacio Hernndez por la
informacin proporcionada durante las charlas de ONG Bitcoin Argentina.
A scar Retana de Gridshield por los contactos y datos proporcionados sobre
la situacin actual de Bitcoin en Costa Rica.
A Hugo Scolnik, Nstor Masnatta, Pedro Hecht y Myrian Errecalde por sus
aportes a la correccin y mejora del documento.
v
Nmina de abreviaturas
vi
Introduccin
Las criptodivisas han ganado terreno en los ltimos aos, por lo tanto,
es oportuno investigar su impacto y riesgos asociados dada la importancia
que tendrn, suponiendo que su uso se extienda1. Debido a la popularidad
creciente del tema, es fcil conseguir informacin en bases de datos y
medios especializados, sobre todo del ejemplo con mayor difusin como es el
bitcoin, razn por la cual se escoge esta opcin para elaborar la
investigacin.
El estudio a elaborar se considera relevante pues tiene como objetivo
identificar los riesgos de seguridad alrededor del uso de Bitcoin una vez
comprendido el mecanismo de funcionamiento del protocolo, las
prevenciones expuestas por los creadores del mismo y los problemas de
seguridad encontrados hasta el momento. Se pretende extender el tema al
entorno del ciudadano comn latinoamericano en dos sociedades especficas
(la argentina y la costarricense) y realizar un anlisis holstico de la situacin
actual de la criptomoneda.
Esta investigacin se estructura en captulos, donde los dos primeros
dan un panorama de las criptodivisas y explicaciones del protocolo Bitcoin
con especial nfasis en su fundamento criptogrfico, a fin de comprender el
objeto de estudio. Seguidamente, en los captulos 3 y 4 se ahonda en el tema
de vulnerabilidades, amenazas y situacin en los pases escogidos.
Finalmente, en el captulo 5 se analiza la informacin y se concluye sobre las
implicaciones de seguridad en torno al uso de las Bitcoin.
1
Segn un reporte de Goldman Sach el uso de Bitcoin podra cambiar, junto con
otras tendencias del mercado, la mecnica transaccional actual y con ello el futuro de las
finanzas [1].
1
Captulo 1: Estado del arte de las criptodivisas
2
En el 2008 publica el paper que da origen al modelo y en el 2009 se libera el primer
software Bitcoin.
3
Segn coinmarketcap.com
4
Funcin de derivacin de claves basada en contrasea, diseado especficamente para que
sea costoso realizar un ataque al exigir grandes cantidades de memoria.
5
GPUs tienden a tener mucho ms poder de procesamiento en comparacin con la CPU [4].
2
Para efectos de esta investigacin, no se ahondar en todas las
primitivas criptogrficas ni procesos indicados en el cuadro anterior ni en las
altcoin en general, solo se detallarn aquellos aspectos relacionados con
Bitcoin.
6
Segn datos de Electronic Transactions Association [3]
7
Segn Pantera Capital, durante 2014 se realizaron ms de 4500 proyectos basados
exclusivamente en Bitcoin (tres veces ms que el ao anterior) y la inversin privada recibida
por empresas del sector super los 300 millones de dlares [3].
8
No se considera como moneda legal (no se puede pagar impuestos con ella) pero no se ha
expresado explcitamente la desaprobacin o persecucin por su uso.
9
Exceptuando Noruega, Vietnam, Islandia, Rusia, Kirguistn, Bolivia y Ecuador [3].
3
Captulo 2: Caractersticas, elementos y funcionamiento
4
como oferta de dinero [5]. Con este modelo, se pretende evitar la prdida de
poder adquisitivo por inflacin.
Adems, dado que la divisa carece de curso legal forzoso (a diferencia de
las monedas fiduciarias de cada pas) el bitcoin es utilizado nicamente por
quienes participan en el sistema. Esta participacin es voluntaria y se aplica
en cualquier parte del mundo.
Otra particularidad de esta moneda es la diversidad de la adquisicin:
pueden conseguirse monedas al minar, al aceptar bitcoins como pago por un
servicio/producto dado o al comprarlas a un intermediario con moneda
fiduciaria (dlar, euro, pesos, colones, yenes, yuan, etc.).
Finalmente, la tipificacin financiera es una caracterstica dual de la
criptodivisa pues es considerado dinero (se pueden realizar transacciones
econmicas con l) y tambin ttulo de valor (debido a las fluctuaciones de
cotizacin respecto al dlar es adquirido para especulacin) [6].
Por otro lado, la plataforma Bitcoin se distingue tambin por poseer
transacciones con caractersticas particulares. Por ejemplo, toda transaccin
es irreversible, es decir, una vez que la transaccin es realizada, no se puede
revertir, solo pueden ser reembolsadas por la persona que recibe el pago.
Una caracterstica que catapult la fama de Bitcoin fue su supuesto
anonimato, pero cabe aclarar que en realidad las transacciones son privadas
pero no annimas: si bien es posible realizar transacciones sin revelar la
identidad del emisor/receptor, las transacciones pueden ser rastreadas y
analizadas de manera que se puede deducir el historial financiero de cada
parte [7]. Este mecanismo de rastreo se logra gracias a la transparencia de
las transacciones, pues las mismas estn registradas y disponibles en lnea
para el monitoreo y escrutinio del pblico en general [7]. Otras caractersticas
que atraen sobre las transacciones en la red Bitcoin es el bajo costo de las
comisiones por operacin y la posibilidad de realizar micro-transacciones. La
primera caracterstica se basa en el bajo costo por transacciones comparado
al costo operacional con entes centralizados como bancos, tarjetas de
crdito, etc. [2]. El costo puede ser nulo, aunque una comisin puede
garantizar que la transaccin sea confirmada con mayor velocidad. La
segunda caracterstica, las micro-transacciones, se utilizan principalmente
para el pago de comisiones a mineros, propinas o donaciones. Son
5
transacciones de fracciones de BTC, fracciones llamadas Satoshi que
equivalen a 10-8 BTC [7].
Es importante recordar que las transacciones son rpidas y a nivel
internacional: en cuestin de minutos es posible disponer del dinero
transaccionado desde cualquier punto del planeta, solo se requiere tener una
conexin a internet.
Por ltimo, el matiz legal de la plataforma, la divisa y las transacciones es
un tema todava en discusin debido a que no es una moneda oficial y su
aceptacin o regulacin depende del pas donde se utiliza. Actualmente, entre
los no detractores de las criptodivisas existen dos tendencias de
consideracin regulatoria: por una parte, se les considera como moneda
privada (como dinero pero no de curso legal forzoso) y la otra donde se le
toma como un instrumento financiero y no como dinero per se [8].
2.2. Elementos
11
Aclaracin: bitcoin con b minscula denota a la criptodivisa, Bitcoin con b mayscula
denota al protocolo, la red y el concepto.
6
Confirmacin: accin de procesar y verificar una transaccin,
realizada por los nodos de la red. Las transacciones son confirmadas
cuando son incluidas en un bloque.
12
Al minar exitosamente un bloque, se acuan nuevas monedas que se otorgan como
recompensa (pago del bloque) al dueo del bloque minado [7].
7
Direcciones/Address: concepto similar a una direccin fsica o correo
electrnico, cada usuario puede poseer una cantidad ilimitada de
direcciones, caracterizadas por ser el hash de una clave pblica
ECDSA. Estas se utilizan para las transferencias de BTC, pues es la
nica informacin que se debe brindar al receptor de transaccin.
8
de ejecutar (en trminos de costo/procesamiento/energa) pero genera
una prueba vlida de trabajo fcil de confirmar.
2.3. Funcionamiento
13
La validacin corresponde a verificar que las transacciones sigan el formato correcto y que
las BTC no se han gastado previamente.
14
La respuesta del reto POW es el nonce (nmero aleatorio) con el que se logra llegar al
hash del nivel de dificultad (detallado en el campo bits en el block header).
9
Fuente: http://visual.ly/bitcoin-infographic
Figura 1. Infografa: Cmo funcionan las transacciones de Bitcoins
10
Cadena de bloques: el orden cronolgico y la garanta de integridad de los
registros de las transacciones es fundamental en la red Bitcoin, aspectos que
se logran con la aplicacin de una funcin hash a las transacciones mientras
se agregan a una cadena de pruebas de trabajo (POW) con el fin de
colocarles una marca de tiempo (timestamp) y a su vez enlazarlos de manera
que, para modificar algn elemento del registro, se deba de rehacer la prueba
de trabajo. El registro resultante es la cadena de bloques (block chain). El
proceso para generar esta cadena de bloques constituye una plataforma de
coordinacin segura, escalable, abierta y global que es la base del sistema
descentralizado y distribuido de Bitcoin.
Una copia completa de la cadena de bloques contiene todas las
transacciones realizadas desde la creacin del protocolo, pero para el
funcionamiento diario de la red, los nodos pueden trabajar con la copia del
hash de la cabecera del bloque de la cadena ms larga, la cual por reglas de
consenso de la red, debe ser la utilizada para aadirle los bloques con las
nuevas transacciones aceptadas. En la Figura 2 se muestra la cadena de
bloques, la estructura de los bloques y las transacciones.
Fuente: [5]
11
En la figura anterior se muestra una bifurcacin de la cadena, la cual
se le conoce como Fork. Esta bifurcacin suele suceder durante el cambio de
las reglas de consenso, cuando hay un periodo donde los nodos estn
desorientados.
Header.
12
que el output est ligado con la referencia de la transaccin (el identificador o
TxID, es decir, el hash de la transaccin) e indica la cantidad disponible de
monedas y la direccin del receptor de la transaccin. Los outputs se
clasifican en dos tipos: transaccin de salida no gastada (unspent transaction
output/UTxO) y gastada (spent transaction output/StxU) [2]. En la Figura 4 se
muestran las partes de las transacciones.
15
Indica el primer momento en que una transaccin puede ser aadida a la cadena de
bloque y permite crear transacciones bloqueadas que solo sern vlidas en el futuro, dando a
los firmantes la posibilidad de cambiar de opinin (se invlida esa transaccin si se crea una
nueva transaccin no bloqueada).
16
Una condicin de una transaccin estndar es que est finalizada, es decir, que el locktime
sea menor/igual al block height actual o que todos los nmeros de secuencia sean 0xffffffff.
13
Una transaccin se considera invlida y por ende rechazada si [10]:
Algn dato de la transaccin es incorrecto o invlido.
El output est categorizado como ya gastado o el input ya fue
utilizado.
La transaccin es idntica a otra (mismo nmero de
identificacin).
Firma digital invlida.
Formato invlido.
formato binario al cual se le aplica una funcin hash para crear el identificador
aparear cada TxID con otro TxID, luego aplicarle una funcin hash. A
y a aplicar una funcin hash hasta lograr un solo hash resultante, el llamado
Merkle Root. El Merkle Root est incluido en el Block Header de cada bloque
se guarda solo este hash como referencia de las Tx que lo originaron. Este
14
Fuente: Elaboracin propia basado en informacin de [2]
Figura 5. rbol de Merkle y cadena de bloques
hash con una cantidad de ceros determinada con la informacin del hash del
la generacin de una nueva prueba (un nuevo hash). Pueden existir mltiples
15
una, por lo que el primero que la obtiene y la transmite es quin gana la
Fuente: [11]
caso de ser aceptado por la red. Este proceso de resolver este reto es
minar, el cual al lograr un bloque exitoso, genera nuevas monedas que son
Este proceso asegura que todos los participantes tengan una visin
17
La recompensa por minar son monedas nuevas. Actualmente el monto es de 25 BTC, pero
en un inicio era de 50 BTC. Cada 210 000 bloques el monto de recompensa se disminuye
50%.
16
transacciones junto con una rama Merkle que los vincula con el bloque en el
que aparecan. De esta manera, la estructura de rbol Merkle comprueba la
inclusin sin necesidad de mostrar el contenido de todo el bloque [2] [12].
18
Segn datos proporcionados por Payeras et al, las firmas digitales utilizadas por el
protocolo Bitcoin poseen una fortaleza equivalente a 128 bits con un tamao de clave de 256
bits. En comparacin, RSA/DSA requiere un tamao de la clave de 3.072 bits para alcanzar
el mismo nivel de seguridad [13].
19
Hasta el momento se desconocen algoritmos de ataque que sean de complejidad
subexponencial para la criptografa de curvas elpticas [14].
17
Fuente: Elaboracin propia basado en informacin de [11] [2]
Figura 7. Verificacin de origen, generacin de direcciones y transacciones
20
La curva Koblitz es una curva elptica ordinaria E : y 2 + xy = x 3 + a2x 2 + 1 sobre F2
21
El mtodo GLV permite realizar clculos mucho ms rpidos cuando estas constantes son
escogidas de acuerdo a ciertos criterios. Aunque existe la posibilidad de introducir
debilidades al sistema por no escoger los valores al azar, actualmente no existen pruebas
concretas de que las curvas no aleatorias en realidad sean ms inseguras [15].
18
no manipulable debido a que las constantes seleccionadas para secp256k1
fueron escogidas de una manera predecible, lo que reduce la posibilidad de
que el creador de la curva inserte algn tipo de puertas traseras o backdoors.
En la Figura 8 se detalla el proceso de la firma digital con el uso de este
algoritmo.
22
Es computacionalmente inviable conseguir la clave privada a partir de la clave pblica si
existe una correcta implementacin/programacin del protocolo y las partes asociadas.
19
curva elptica E y cuyo orden en el campo sea un primo(n) grande. En
criptografa de clave pblica, si s fuese una clave privada entonces
su producto escalar sP sera una clave pblica
23
Existe una lista de estos prefijos-smbolos, pero los casos ms conocidos son el prefijo 0
que genera el smbolo 1 al inicio de la direccin que significa un transaccin tradicional y el
caso del prefijo 5 que genera un smbolo 3 que significa una transaccin compleja.
24
Por ejemplo, al confundir una letra con otra al copiar una direccin impresa o si al copiar y
pegar una direccin a travs del portapapeles se hubiera copiado una direccin incompleta.
20
Fuente: Elaboracin propia basado en informacin de [11] [13] [2], imagen de [12]
Figura 9. Generacin de direcciones en Bitcoin
25
Existen dos tipos de transacciones ms: Pay to Script Hash (para transacciones no
tradicionales, multi-fima) y Generation/Transacciones Coinbase (para generar monedas
nuevas). Se explica solo el P2PKH porque es el ms utilizado.
21
Fuente: Elaboracin propia basado en informacin de Bitcoin Wiki.
Figura 10. Funcionamiento de Pay-To-Public-Key-Hash (P2PKH)
Encadenamiento de datos
Mediante el uso de funciones Hash (como SHA256 y RIPEMD-160) se
logra comprimir los datos para aadirlos en componentes del protocolo para
asociarlos con otros componentes, con el fin de enlazarlos en una gran
cadena. Adems, como bien se indica en la figura 9, se aplica dos veces el
algoritmo de hash (o combinacin de algoritmos) sobre los datos con el fin de
generar un hash resultado que sea robusto y seguro contra el criptoanlisis.
En la figura 11 se muestran los diferentes enlaces entre datos
mediante el uso de hashes y posteriormente se detalla cada entrelazamiento
para su mejor comprensin.
22
Fuente: Elaboracin propia basado en informacin de [11] [2]
Figura 11. Encadenamiento de elementos en el proceso
23
output de una transaccin solo puede ser referenciado una vez por un
input de una transaccin subsiguiente.
26
El valor del incentivo lo puede definir el emisor de la transaccin o, en caso de que no sea
una transaccin coinbase y si el valor del input es menor al valor del output de esa
transaccin, la diferencia puede ser reclamada como comisin por el minero dueo ese
bloque.
27
En el anexo 1 se adjuntan los clculos probabilsticos que Nakamoto incluye en el paper
para justificar este punto.
28
Es decir, cada nodo acta segn las reglas de consenso pero independientemente entre s.
24
nodos trabajan siempre sobre las mismas premisas. Es importante resaltar
que estas premisas son regularmente actualizadas y se tienen contramedidas
para minimizar problemas por nodos desactualizados.
Por otro lado, se debe recordar que Bitcoin se basa en una red
compuesta en su mayora por nodos honestos. Segn los fundamentos
expuestos por Nakamoto en el paper original sobre Bitcoins [2], en el caso
hipottico de que la mayora de nodos en la red sean maliciosos y generen
una cadena de bloques alternativa a la vlida, el protocolo posee dos
resguardos. El primero de ellos, el atacante solo puede revertir transacciones
realizadas por l, no puede realizar cambios arbitrarios a otras transacciones
ni direcciones pues existe una alta posibilidad de que algn nodo detecte el
comportamiento nocivo del atacante y no acepte la transaccin ni el bloque
que contenga la Tx invlida29. El segundo de los resguardos es que mediante
clculos estadsticos se caracteriza la carrera entre una cadena deshonesta y
una vlida (por medio del mtodo conocido como Camino aleatorio binomial
y el problema de la ruina del apostador o Gamblers ruin problem) y se
determina que si el intento de doble gasto no se inicia inmediatamente
despus de que se haga la transaccin original, la posibilidad de tener xito
se hace exponencialmente pequea. En el anexo 1 se detalla el clculo
probabilstico realizado por Nakamoto que justifica la afirmacin anterior.
A nivel tcnico, la seguridad en comunicaciones y la red peer-to-
peer/P2P son dos aspectos donde la criptodivisa se refuerza: en el primer
caso los protocolos de pago usados por la red soportan los certificados X.509
y encriptacin TLS para verificar la identidad de los receptores, encriptar
comunicaciones entre nodos y as prevenir ataques man in the middle, etc.,
mientras que el segundo caso las redes P2P garantizan comunicaciones sin
intermediarios, de manera directa entre nodos y permite que toda la
informacin sea transmitida a todos los nodos. La redundancia que brinda el
sistema P2P es fundamental, pues al ser tolerante a prdida de mensajes no
es necesario que alcance a todos los nodos para funcionar adecuadamente,
pues se actualizan con el ltimo block chain al aceptar como legtimo el block
chain ms largo en dificultad POW.
29
Se puede implementar sistemas de alertas o contar con nodos propios para agilizar las
transacciones y tener mayor seguridad [2].
25
A nivel de protocolo, se debe resaltar la actualizacin del nivel de
dificultad del POW. La actualizacin consiste en que cada 2016 bloques se
reevala el valor de dificultad del hash contra el cual se validan las
confirmaciones. La red utiliza un marcador de tiempo guardado en cada block
header para calcular el nmero de segundos entre la generacin del primer y
segundo de los 2016 bloques30. Si toma ms de 2 semanas, la dificultad se
incrementa proporcionalmente (hasta 300%) y si toma menos de 2 semanas
el valor se reduce proporcionalmente (hasta un 75%), ambas medidas con el
fin de lograr que la generacin de bloques se realice exactamente con el
misma tasa.
Finalmente, mediante la cadena de bloques/Block Chain es posible
garantizar que no haya un doble gasto de una misma moneda ni modificacin
de los registros previos. En el caso del doble gasto, este se previene gracias
al encadenamiento entre transacciones, pues el protocolo debe garantizar
que esto suceda al permitir solo el uso de outputs clasificados como unspent
transaction output. Por otro lado, la integridad de los bloques se garantiza
gracias a la firma digital y al encadenamiento entre bloques, donde los
hashes intermedios no pueden ser falsificados, pues en ese caso, la
verificacin de la transaccin fallara y esta sera rechazada. Con respecto a
este tema, se considera que un ataque tiene poco rentabilidad econmica
pues al estar encadenados los bloques, la modificacin de un bloque
especfico implica un alto costo para el atacante pues debe modificar todos
los bloques que se han aadido al block chain despus del bloque que desea
modificar. Por lo tanto, el trabajo que requiere el atacante es mucho mayor al
que requieren los nodos honestos para aadir nuevos bloques a la cadena, lo
que puede resultar poco prctico para el atacante.
Por ltimo, es importante recalcar que los softwares regulares de
billetera Bitcoin encriptan las claves privadas con el AES 256-CBC y solo los
descifran cuando el usuario desea crear una transaccin.
30
2016 bloques son idealmente 1209600 segundos, es decir 2 semanas (14 das). Este
parmetro fue definido por el creador del protocolo y corresponde a un aproximado de 1
bloque cada 10 minutos, lo que implica 6 bloques por hora, 144 bloques por da. Esa
cantidad por 14 das es igual a 2016.
26
2.6. Recomendaciones de uso establecidas
Aspectos tcnicos
31
Monedero offline, cold storage o almacenamiento en fro: reserva de bitcoins que no est
conectada a la red.
32
Si la llave privada inicia con 1 implica el uso de solo una llave pero si inicia con 3, implica
que se requiere mltiples llaves privadas para desbloquear un pago o transaccin.
27
pueden ejecutar sus propios nodos para lograr rapidez en las verificaciones y
una seguridad independiente [2].
Para el caso del nodo completo, se debe verificar que el dispositivo
cumpla los requisitos necesarios del equipo, de la conexin, configuracin de
firewall/ router y buenas prcticas de seguridad33 para evitar situaciones de
riesgo. En todo caso, se debe proteger con una contrasea fuerte el fichero
bitcoin.conf y solo abrir los puertos necesarios, al exterior.
Medidas de seguridad
Principalmente, se recomienda realizar peridicamente respaldos de todo
el monedero (no solo de las claves privadas34 de la direcciones), encriptar y
mantener bien resguardada una versin en un medio fsico (USB, CD, papel,
etc.) para mayor seguridad. Asimismo, se debe tener especial cuidado con
monederos en lnea: poseer un respaldo encriptado, acceso con
autenticacin de dos factores y la proteccin necesaria contra malware en los
equipos a utilizar.
Para mantener la privacidad, se recomienda no usar la misma direccin
para varias transacciones, es mejor utilizar un par de claves nuevas para
cada transaccin y mantener las claves pblicas annimas [7].
El recurso humano es un punto fundamental a tomar en cuenta: se debe
hacer negocios solo con personas u organizaciones conocidas, de confianza
o con una buena reputacin. Adems, se recomienda a los comerciantes
validar el costo/beneficio de aceptar pago rpidos (con cero o pocas
confirmaciones por transaccin) dada la posibilidad de que sean vctimas de
un ataque.
Finalmente, no se deben obviar las medidas bsicas de seguridad: instalar
el cliente del software del Bitcoin desde repositorios o pginas oficiales
verificadas, mantener las actualizaciones del software al da, mantener los
equipos y monederos cifrados con contraseas robustas, mantenerse
informados sobre las novedades relativas al protocolo y la moneda en
general.
33
Estas caractersticas son definidas y recomendadas por Bitcoin.org
34
Si se pierde la llave privada o la billetera, las BTC relativas a esos elementos se perdern
para siempre.
28
Captulo 3: Vulnerabilidades y amenazas de seguridad
35
TOR integrado en el navegador Mozilla Firefox.
36
C&C server: servidor command and control.
37
Tabnabbing: tipo de phishing, emplea scripts para reemplazar la pgina legtima en una
pestaa que no est activa por una copia creada por el atacante.
29
riesgo de seguridad debido a que permite una excepcin en el firewall que
puede ser aprovechada por nodos maliciosos para propagar malware y
obtener accesos indebidos a los equipos.
3.2 Herramientas
30
despus de realizada la transaccin (cada confirmacin toma en promedio 10
minutos). Otra situacin referente a este tema son las transacciones spam,
pues dado que todas las transacciones son guardadas por todos los nodos,
se genera un trfico y un almacenamiento considerable38. Como solucin, se
han limitado las transacciones ms problemticas que son ms difciles de
verificar y cuyo costo de operacin resulta ms caro que el valor de la
transaccin en s, pues este sobrecargo puede provocar problemas de
disponibilidad del servicio si contina creciendo.
Por otro lado, algunos fundamentos criptogrficos pueden ser
potencialmente vulnerables a ataques. La funcin SHA256 es potencialmente
vulnerable al ataque no lineal de rondas reducida y al ataque diferencial de
orden superior, RIPEMD-160 al ataque diferencial y ambos casos pueden ser
potencialmente vulnerados con ataques de pre-imagen y colisin [11]. Por
otro lado, ECDSA puede ser potencialmente susceptible a las siguientes
vulnerabilidades [11]: aleatoriedad insuficiente o pobre cuando se utiliza la
misma clave pblica para mltiples transacciones Bitcoin o el mismo par de
claves y al ataque de curva invlida. Con respecto a la curva secp256k1, en
caso de que la clave privada se encuentre cerca de uno de los 768 puntos de
encuentro de la curva, est se considera dbil y atacable. Cabe aclarar que
esta amenaza existe solo en casos donde no se posea una fuente adecuada
de aleatoriedad, pues el espacio alrededor de los puntos de encuentro es una
fraccin minscula del espacio de claves total. Sin embargo, en el 2013 se
detect una vulnerabilidad con un componente para generar nmeros
aleatorios del sistema operativo Android, el cual debido a una mala
programacin provoc que las claves privadas generadas por las billeteras
mviles de este sistema no fueran realmente aleatorias, una falla crtica
aprovechada por los hackers hasta la actualizacin del sistema operativo.
Asimismo, existe un ataque a la criptografa basada en el logaritmo
discreto desarrollado en el ao 1997 y cuya actualizacin aplicada al ECDSA
utilizado por Bitcoin fue descrita por Stephan Verbcheln en el 2015 [18]. Este
38
El tamao actual de la cadena de bloques es de 20Gb y para evitar la sobrecarga se
mantiene un mximo de 1 MB por bloque.
31
es un ataque kleptogrfico que utiliza un SETUP39 en una implementacin
maliciosa de un criptosistema con especificaciones pblicamente conocidas
del tipo caja negra40 donde el algoritmo criptogrfico es alterado de manera
que filtra informacin a travs de la firma digital sin aplicar ningn ataque late-
ral y con posibilidad de ser computacionalmente indistinguible. El atacante,
conocedor de la curva y el punto generador utilizado por la vctima, crea su
propia billetera maliciosa e inicia operaciones con la billetera legtima de la
vctima. Luego, el atacante vigila las transacciones en espera de dos transac-
ciones consecutivas de la misma direccin y extrae la clave privada como se
explica en la figura 12. Con este dato, puede gastar las monedas asignadas a
esa direccin.
32
107
original. Cabe resalta que toma 2 veces ms tiempo generar una colisin
intencionada que generar un bloque, por lo que se considera que este ataque
no es rentable.
Tambin existen dudas por el uso de la curva secp256k1 en lugar de
utilizar curvas totalmente rgidas41 o con respecto al uso del codificado
Base58 en lugar del Base64 (a pesar de que el autor del protocolo justifica su
eleccin en este caso). De acuerdo con SafeCurves, si bien el proceso de
generacin de la curva secp256k1 no est completamente detallado, las
partes no explicadas no dan a los generadores de la curva muchos bits de
control, lo que no implica una amenaza de seguridad, pero mantiene la duda
con respecto a la justificacin de eleccin de los parmetros de esta curva.
Finalmente, las funciones hash y ECDSA no estn exentas a
problemas independientes del algoritmo matemtico, como fallas en la
implementacin, ataques side-channel o de canal lateral, errores de software,
defectos de diseo o programacin de las funciones/algoritmos o de que
sean quebradas cuando se logre construir una computadora cuntica prctica
para atacar estos algoritmos [11].
Otra amenaza importante de sealar es la bifurcacin de la cadena de
bloques: Puede suceder que mltiples bloques tengan la misma altura del
bloque (block height), como es comn cuando dos o ms mineros producen
cada uno un bloque aproximadamente al mismo tiempo. Esto puede producir
un fork o bifurcacin en la cadena, pero los mineros deben adjuntar el bloque
solo a uno de los extremos, el cual, por regla de consenso, debe ser la
cadena con mayor dificultad de ser recreada.42 Esta situacin puede ser
aprovechada por nodos maliciosos para realizar varios tipos de ataques o
puede conllevar a problemas de distribucin de informacin y prdidas
financieras.
Con respecto a los nodos maliciosos y nodos egostas, el creador del
protocolo Bitcoin aclara que toda la cadena de confianza se garantiza
mientras la mayora de los nodos sean honestos. Sobre este hecho se han
41
Curva rgida: segn SafeCurves, una curva rgida implica que se conoce complemente el
proceso de generacin de la curva.
42
Esto previene un ataque donde alguien bifurque la cadena a propsito para crear una gran
cantidad de bloques de baja dificultad que sea la ms larga en longitud. A fin de evitar esta
ambigedad, se aclara con la regla de consenso que la expresin ms larga se refiere a
dificultad y no a cantidad de bloques.
33
realizado varias investigaciones para determinar si con el 50% o porcentajes
menores del poder computacional de la red es posible realizar cambios
prohibidos43 los cuales dada la naturaleza del protocolo, quedaran
registrados permanentemente. Por ejemplo, una investigacin de la
Universidad de Cornell demostr que, tericamente, con un 25% de poder
sobre la red, es posible retrasar las transacciones, anular los esfuerzos del
resto de mineros para asegurar la red y demostrar que el modelo de
incentivos no es suficiente para evitar ataques por pooles de nodos egostas
[19].
El ataque del pool de nodos egostas se basa en la posibilidad de que
mineros maliciosos puedan bifurcar el block chain, crear una cadena privada
para generar y ocultar bloques durante largos periodos de tiempo, para luego
liberar juiciosamente esos bloques, de manera que obligan a nodos honestos
a abandonar la rama pblica legtima de la cadena y a usar su capacidad
computacional en esos bloques que estn destinados a no formar parte de la
block chain. De este modo, permite al pool de nodos egostas recolectar
mayores ingresos mediante la incorporacin de una mayor fraccin de sus
bloques en el block chain. Con este aumento de ganancias puede atraer a
nodos honestos al pool egosta y este adquiere mayora, con las
consecuencias que esto implica para el protocolo y su cadena de confianza.
Sin embargo, se considera estadsticamente imposible este ataque pues
mientras los mineros maliciosos esconden unos bloques, otros mineros
honestos descubrirn dichos bloques, los registrarn en el block chain y dado
que es prcticamente imposible cambiar el historial de bloques, se evidencia
la modificacin y el ataque [20].
Por otro lado, una vulnerabilidad famosa fue la maleabilidad de
transacciones: era un fallo en la implementacin44 del cliente Bitcoin que
permita la alteracin de los detalles de la transaccin sin alterar la firma
digital y propiciaba el doble gasto [10] [21]. En la Figura 11 se detalla el
ataque paso a paso para su mejor comprensin.
43
Excluir, modificar y revertir transacciones, superar las 6 confirmaciones necesarias o
generar un fork en la cadena bloques y lograr que sea considerado como el ms largo, dado
que puede construir bloques ms rpido que el resto de la red [11].
44
Casos conocidos ocurrieron en servicios de cartera y procesamiento de transacciones.
Mt.Gox, Bitstamp, hasta Silk Road sufrieron este ataque [21].
34
Fuente: Elaboracin propia basado en informacin de [10] [21]
Figura 13. Funcionamiento del ataque de maleabilidad de transacciones
35
Existen varias maneras de modificar los datos en la TxID pero estas
tcnicas no se detallarn, pues lo importante es recalcar que un cambio
mnimo en un campo de un elemento de la transaccin lograba cambiar el
hash y por ende el TxID sin romper la firma digital [10]. El tema se solucion
con un parche45 que incluye la verificacin del formato de la transaccin
estndar.
Finalmente, existen otros ataques referentes al doble gasto, los cuales
son un riesgo para los pagos rpidos o transacciones instantneas sin
confirmaciones46. Cabe resaltar que en estos ataques influye la posible
intervencin en las comunicaciones, donde el atacante puede tener nodos
cmplices cercanos al radio que ayuden a distribuir con mayor rapidez la Tx y
delegar la Tx Falsa [9]. Entre estos ataque se encuentra el Race attack y el
ataque Finney,47 el cual es un poco ms complicado y con un costo mayor al
anterior (si el atacante falla, pierde la recompensa del bloque) pero para tener
una mayor posibilidad de xito, el atacante debe tener un hashrate
considerable, ser minero y controlar el contenido de sus bloques [22].
Otro caso es el Ataque Vector76, conocido como un ataque de 1
confirmacin, el cual es una combinacin del Race attack y el ataque Finney
y finalmente el clsico ataque de Fuerza Bruta, donde se requiere que el
atacante posea mayora en la red pero no limita el ataque a que el receptor
espere por confirmaciones [9].
En la Figura 13 se muestra un esquema con el detalle de los ataques
Race, Finney y de Fuerza Bruta para su mayor comprensin.
45
A pesar de que se entiende que es un problema de la implementacin del software y no del
protocolo en s.
46
Necesarias para casos de ventas o servicios que requieren un cobro rpido, como
mquinas expendedoras, supermercados, etc.
47
Este ataque es famosos porque se utiliz contra el sitio de apuestas SatoshiDice.
36
Fuente: Elaboracin propia basado en informacin de [9] [22]
Figura 14. Diagrama de ataques de doble gastos
37
Finalmente, los fallos de seguridad y Common Vulnerabilities and
Exposures48 (CVE) recopilados en el wiki de Bitcoin (23 CVE y 3 BIP-Bitcoin
Improvement Proposal49) y en el sitio CVE Detail (22 ya enlistadas en el wiki)
es una fuente de informacin valiosa para determinar los puntos crticos de
fallo del modelo. Con estos datos, se realiza un breve anlisis para
determinar las vulnerabilidades de seguridad encontradas (y corregidas)
hasta el momento, datos que se sintetizan en la Figura 14.
48
Los datos de vulnerabilidades CVE se toman de la base de datos de vulnerabilidades
nacionales proporcionado por el National Institute of Standards and Technology-NIST.
49
Una Propuesta de Mejoramiento de Bitcoin (BIP) es un documento de diseo para la
introduccin de caractersticas o informacin para Bitcoin.
38
resaltan los CVE con mayor puntuacin50 a fin de profundizar en los casos
ms importantes y se enlistan en la Tabla 2.
50
Common Vulnerability Scoring System, CVSS, es un sistema de puntuacin de
vulnerabilidades diseado para proporcionar un mtodo abierto y estandarizado para
clasificar vulnerabilidades de TI.
39
3.4 Fraudes y otros ataques
40
extensin monitorea la actividad web de los usuarios, presta atencin a
las visitas a sitios de intercambio de criptodivisas (como Coinbase,
MintPal) y cuando el usuario realiza una transaccin, la extensin
maliciosa sustituye a la direccin de recepcin con una direccin de
BTC diferente de su propia (direccin bitcoin del atacante) [24].
41
Captulo 4: Situacin legal y comercial
51
Resolucin UIF 300/2014.Prevencin del lavado de activos y de la financiacin del
terrorismo, reporte de operaciones efectuadas con monedas virtuales.
42
monedas internacionales, el cual incluye proteccin legal en caso de delito
[6].
52
Antes conocida como Fundacin Bitcoin Argentina.
53
Sin embargo, esta situacin no limita el inters de las bitcoins en una sociedad similar. Por
ejemplo, Australia es un estado con mejores condiciones que Costa Rica y es un gran
entusiasta de Bitcoin y las altcoin.
54
Una casa de cambio de divisa privado con sede en el pas pero de capital estadounidense
con su propia moneda digital cerrada por lavado de dinero.
43
Captulo 5: Anlisis
55
Comparado con medios convencionales de envo de dinero.
44
5.2. Retos
5.3. Iniciativas
56
Se especula que IBM est desarrollando un proyecto de este tipo [30].
45
nuevo sistema propuesto por Factom que permite crear bases de datos sobre
la cadena de bloque.
En cuanto a iniciativas con respecto al desarrollo y evolucin del
protocolo, se resaltan dos casos: el uso de Proof-of-stake, el cual es una
prueba de participacin que est basada en la edad de la moneda,57 cuya
implementacin propone garantizar mayor seguridad y eficiencia energtica.
Actualmente se utiliza en PeerCoin de manera hbrida con POW. El otro caso
es la segunda generacin de criptodivisas, la cual pretende corregir los fallos
de sus predecesoras y aadir las actualizaciones en fundamentos
criptogrficos como la aplicacin de hashcash-SHA3, posible uso de una
curva elptica con mejores condiciones de seguridad y eficiencia
computacional como E-222, Curve25519, etc. y aplicar los nuevos mtodos
criptogrficos adecuados para las computadoras cunticas.
57
Edad de la moneda: nmero de monedas que se tienen en un periodo, se calcula mediante
la marca de tiempo (timestamp) de cada transaccin en los bloques. En Bitcoin, se utiliza
para priorizar las transacciones.
46
Conclusiones
48
interconexin y funcionalidad puede ser configurada in situ mediante un
lenguaje de descripcin especializado.
50
Anexos
Anexo 1: Clculo de la probabilidad de xito para el escenario de nodos
maliciosos que generan una cadena alternativa [2].
51
52
53
Bibliografa Especfica
[1] Wong, J. Goldman Sachs Report Says Bitcoin Could Shape 'Future of
Finance'. Coindesk. http://www.coindesk.com/goldman-sachs-report-says-
bitcoin-could-shape-future-of-finance/ (consultado 11 marzo 2015).
[4] Vega, D. Bitcoin vs. Litecoin vs. Peercoin vs. Ripple vs. Namecoin.
Heavy.com. http://heavy.com/tech/2013/12/bitcoin-vs-litecoin-peercoin-ripple-
namecoin/ (consultado 30 marzo 2015).
[5] Faride, R. 2012. Black Hat.Is bitcoin an invitation for money laundering?
http://www.riazfaride.com/black-hat/is-bitcoin-an-invitation-for-money-
laundering/ (consultado 3 abril 2015).
[9] Karame, G. Androulaki, E and Capkun,S. 2012. Two Bitcoins at the Price of
One? Double-Spending Attacks on Fast Payments in Bitcoin.
https://eprint.iacr.org/2012/248.pdf (consultado 3 abril 2015).
[10] Chechik, D. Hayak, B. and Chechik, O. 2014. Black Hat 2014. Bitcoin
Transaction Malleability Theory in
Practice.https://www.youtube.com/watch?v=bmxu3r_CUKE&index=1&list=TLo
xbTY1O89nk (consultado 2 marzo 2015).
[11] Yogesh,M. Bitcoin Protocol: Model of Cryptographic Proof Based Global
Crypto-Currency & Electronic Payments System
http://yogeshmalhotra.com/BitcoinProtocol.html (consultado 3 abril 2015).
54
[12]Shirriff, K. Bitcoins the hard way: Using the raw Bitcoin protocol.
http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html
(consultado 3 abril 2015).
[17] Biryukov,A and Pustogarov, I. 2015. Bitcoin over Tor isnt a good idea.
Universidad de Luxemburgo. http://arxiv.org/pdf/1410.6079v2.pdf (consultado
3 abril 2015).
[18] Verbcheln, S. How Perfect Ofine Wallets Can Still Leak Bitcoin Private
Keys. https://www2.informatik.hu-berlin.de/~verbuech/klepto-ecdsa/klepto-ecdsa.pdf
(consultado 30 mayo 2015).
[19] Eyal, I and Gun Sirer, E. 2014. Majority is not Enough: Bitcoin Mining is
Vulnerable. http://ifca.ai/fc14/papers/fc14_submission_82.pdf. (consultado 15
agosto 2014).
[23] Higgins, S.BTER Claims $1.75 Million in Bitcoin Stolen in Cold Wallet
Hack. http://www.coindesk.com/bter-bitcoin-stolen-cold-wallet-hack/
(consultado 10 marzo 2015).
55
[24] Cawrey, D. 2014. Chrome Extension Could Be Vulnerable to
Cryptocurrency Malware. http://www.coindesk.com/chrome-extension-could-
vulnerable-malware/ (consultado 3 abril 2015).
56
Bibliografa General
57