Professional Documents
Culture Documents
Desde su publicacin en 2009, bitcoin ha pasado de ser una propuesta de sistema alter-
nativo de pagos, a la cripto-moneda ms exitosa hasta el momento, con una nada des-
preciable capitalizacin que llega a los diecisis mil millones de dlares (Bitcoin Price Index,
2017). Siguiendo su ejemplo, ha florecido un amplio ecosistema de monedas electrnicas
paralelas y aplicaciones que comparten parte del xito sistema abierto que potencia la confianza en base
de bitcoin. Todas ellas tienen algo en comn: la block- a la transparencia y a la solidez de la tcnica de
chain. La cadena de bloques o blockchain vio la luz construccin de la blockchain. El sistema, aunque
en 2008 con la publicacin de un artculo (Nakamoto, es abierto, es tambin semi-annimo: los usuarios
2008) donde se explicaba el protocolo que usa actual- se identifican con claves pblicas (pseudnimos),
mente bitcoin. Este nuevo concepto formaba parte de no con sus identidades reales. En este contexto,
un sistema para procesar transacciones electrnicas podemos encontrar una primera relacin entre la
de forma que no fuera necesaria una autoridad cen- blockchain y big data: la necesidad de asegurar un
tral o un sistema de fideicomiso (escrow). A principios entorno de pagos legal y libre de fraudes ha llevado
de 2009 se public el primer cliente bitcoin, de cdigo al desarrollo de herramientas de anlisis basadas en
abierto, con el que empez a funcionar la creacin de tcnicas de big data para procesar la gran canti-
bitcoins y la base de datos pblica e inmutable con dad de datos representados en la blockchain (Ron,
las transacciones, conocida como ledger (libro de 2013, April) y (Reid, 2013). Por tanto, el anterior, es un
registros). La tecnologa para implementar este libro de posible caso de uso de big data para mejorar los
registros fue la blockchain. procesos de insercin de datos en la blockchain.
Aunque originalmente la cadena de bloques fue Sin embargo, tambin podemos encontrar casos
creada para almacenar el historial de transaccio- de uso a la inversa, es decir, casos donde se utiliza
nes del bitcoin, con el paso del tiempo se le ha visto la tecnologa blockchain para mejorar procesos en
gran potencial para ser aplicada en otros mbitos el entorno big data. En este sentido, la blockchain
debido a las propiedades que ofrece. La blockchain puede proporcionar robustez, seguridad, transpa-
proporciona una base de datos distribuida inmuta- rencia y escalabilidad a grandes sistemas de datos,
ble basada en una secuencia creciente de blo- lo que permite hacer frente a un amplio abanico
ques. Estos bloques, al ser pblicos, conforman un de amenazas. Esto incluira desde fugas de infor-
405 >Ei 33
C. DOLADER RETAMAL / J. BEL ROIG / J. L. MUOZ TAPIA
FIGURA 1
minero es revisada y acordada tcitamente por el
RBOL DE HASH DE MERKLE resto de participantes.
El proceso que permite alcanzar un consenso con
garantas entre los mineros de la blockchain para el
orden de escritura de bloques es la denominada
prueba de trabajo o Proof-of-work (PoW). En con-
creto, para que un bloque sea aceptado, el minero
tiene que ser el primero en completar una PoW para
el siguiente bloque de la blockchain. El PoW es un
rompecabezas matemtico de dificultad ajustable.
En particular, la PoW consiste en encontrar un par-
metro (nonce) que consiga que al hacer el hash so-
bre todo el bloque (incluido el nonce) se obtenga un
valor inferior a la dificultad actual establecida por la
red. Dicho de otra forma, se trata de encontrar un
nonce que consiga un valor hash del bloque con un
Fuente: Elaboracin propia determinado nmero de ceros al inicio. Debido a las
caractersticas de la funcin de hash, no es posible
calcular estos valores analticamente, es decir, para
macin a manipulacin maliciosa del contenido. obtener un bloque vlido, el minero debe recurrir a
Mediante la blockchain, estas amenazas pueden la fuerza bruta: probar valores del parmetro nonce
combatirse trazando individualmente todas las ac- hasta hallar uno vlido. El proceso de probar valores
ciones realizadas sobre los datos, resultando en una o fuerza bruta es un proceso computacionalmente
auditora constante. Finalmente, otro caso de uso costoso, de ah que este mecanismo se conozca
para la blockchain se podra dar en el mbito del como prueba de trabajo.
Internet de las cosas. Un ejemplo es la distribucin
segura y fiable de firmware a dispositivos IoT me- La PoW hace que la creacin de bloques con la in-
diante un sistema de archivos peer-to-peer sobre tencin de subvertir el consenso tenga un coste alto
blockchain (Benet, 2014). En este caso de uso, se para el atacante. Por otra parte, la dificultad de este
podra utilizar la blockchain para almacenar actua- rompecabezas criptogrfico es fcilmente ajustable:
lizaciones de firmware de una forma descentraliza- se puede incrementar la dificultad aumentando el
da y segura (Christidis, 2016). nmero de ceros necesarios para completar la PoW
o decrementarla reduciendo dicho nmero de ce-
Una vez introducido el contexto de la blockchain, el ros. En particular, en bitcoin la dificultad se reajusta
resto del artculo describe el funcionamiento de esta cada 2016 bloques (que equivalen a catorce das),
tecnologa en mayor detalle y proporciona una des- con tal de que la creacin de nuevos bloques tenga
cripcin ms amplia sobre posibles aplicaciones de una frecuencia aproximada de un bloque cada diez
la misma en diversos mbitos. minutos. La frmula para dicho ajuste es la siguiente:
dificultad_nueva = dificultad_previa * 2 semanas /
FUNDAMENTOS TCNICOS DE LA CADENA DE BLOQUES
(tiempo en minar los ltimos 2016 bloques)
Descripcin bsica
Estructura de los bloques
La cadena de bloques es una base de datos que
La blockchain almacena una gran cantidad de da-
puede ser compartida por una gran cantidad
tos y adems su tamao es creciente con el tiempo
de usuarios en forma peer-to-peer y que permi-
ya que en la misma slo se aade informacin. Por
te almacenar informacin de forma inmutable y
tanto, es aconsejable disponer de algn meca-
ordenada. En el caso de bitcoin, la informacin
nismo que permita una consulta a la blockchain
aadida a la blockchain es pblica y puede ser
eficiente, es decir, que permita realizar consultas
consultada en cualquier momento por cualquier
sin tener que descargar toda la informacin alma-
usuario de la red. La informacin solo puede ser
cenada. Para este propsito, en la blockchain de
aadida a la cadena de bloques si existe un acuer-
bitcoin, se propone utilizar un rbol hash de Merkle
do entre la mayora de las partes. Transcurrido un
(Merkle, 1987, August).
cierto tiempo, se puede asumir que la informacin
agregada en un bloque ya no podr ser modifica- Como se muestra en la Figura 1, el rbol de hash
da (inmutabilidad). La creacin de nuevos bloques de Merkle permite almacenar diversas piezas de
es realizada por nodos denominados mineros. informacin independiente (en el caso de bitcoin
Los mineros son nodos de la red que participan en son transacciones econmicas) en las hojas de una
el proceso de escritura de datos en la blockchain estructura en rbol. Para formar el rbol, se hace un
a cambio de una recompensa econmica. La va- hash de la informacin contenida en cada nodo
lidez de la escritura de un bloque por parte de un hoja. A continuacin, para generar los nodos de
34 405 >Ei
LA BLOCKCHAIN: FUNDAMENTOS, APLICACIONES Y RELACIN CON OTRAS TECNOLOGAS DISRUPTIVAS
FIGURA 2
ESTRUCTURA DE LOS BLOQUES DE LA BLOCKCHAIN DE BITCOIN
cada nivel superior del rbol se concatenan diver- se ha comentado, con el valor de la raz del r-
sos valores hash del nivel inferior (dos valores si el r- bol y ciertos valores adiciones se pueden realizar
bol es binario) y se le aplica la funcin hash a esta consultas a cerca de la informacin contenida
concatenacin (ver Figura 1). Repitiendo este pro- en un bloque de forma eficiente y segura.
ceso se llega a un nivel donde hay un slo nodo,
denominado la raz del rbol. Informacin. Por ltimo, el bloque contiene la
informacin en s.
La ventaja de esta estructura en rbol es que
podremos consultar la presencia en dicho rbol de los En el caso de bitcoin, la informacin contenida
datos de un cierto nodo/hoja de forma autenticada en los bloques son las transacciones realizadas
y sin tener que disponer de toda la informacin que con la cripto-moneda. En particular, una de las
almacena el rbol. En particular, se puede consultar transacciones que debe ser aadida es la que
de forma autenticada cualquier contenido del rbol adjudica al creador del bloque una recompensa
con una cantidad de valores hash proporcional al por haberlo minado. La recompensa por la
logaritmo del nmero de nodos del rbol. creacin de un bloque se divide entre dos cada
210.000 bloques que equivalen a cuatro aos. A su
Esto es porque para validar un contenido nicamente inicio en 2009, la recompensa estaba fijada en 50
hay que proporcionar los nodos adyacentes en cada bitcoins y actualmente, tras el paso de 8 aos, esta
nivel y el nodo raz (que tiene contribucin de todos es de 12,5 bitcoins.
los datos almacenados en las hojas) autenticado.
Entonces, para validar un contenido se calcula el valor
raz a partir de los nodos adyacentes proporcionados
Propiedades fundamentales de la blockchain
y se comprueba que coincide con el valor raz La creacin de una blockchain robusta debe
autenticado. La estructura es segura porque no se garantizar dos propiedades fundamentales (Garay,
puede generar un conjunto de nodos adyacentes a 2015, April):
voluntad que d como resultado el valor del nodo raz
autenticado. En Muoz (2004), se puede encontrar una Disponibilidad: Asegura que una transaccin
descripcin detallada y una implementacin eficiente honesta que ha sido emitida acabe siendo aa-
de este tipo de rboles. Por otra parte, en la Figura 2, dida a la cadena de bloques, evitando que se
se muestra la informacin que contiene cada bloque produzca una denegacin de servicio (Denial of
en la blockchain de bitcoin: Service, DoS) por parte de nodos corruptos.
El valor hash del bloque previo. Este valor permi- Persistencia: Cuando un nodo da una transac-
te que los bloques queden vinculados secuen- cin como estable, el resto de nodos, si son
cialmente formando una cadena. honestos, validarn sta como estable hacin-
dola inmutable.
Marca de tiempo (timestamp). Esta marca de
tiempo permite identificar el instante en el que Para cumplir con la propiedad de disponibilidad, la
fue creado el bloque. blockchain de bitcoin (y tambin la de muchos otros
sistemas) implementa una red de nodos interco-
El valor del nonce. Este es el valor encontrado nectados donde dichos nodos interaccionan como
por fuerza bruta en el proceso de minado. iguales (red peer-to-peer). La red peer-to-peer de
bitcoin es descentralizada, es decir, cualquier usuario
El valor de la raz del rbol de Merkle de las tran-
que desee puede contribuir. Otras blockchain utilizan
sacciones (root hash). Este valor hash permite re-
un sistema con lista blanca (white-list) (Christidis, 2016)
ferenciar toda la informacin del bloque. Como
405 >Ei 35
C. DOLADER RETAMAL / J. BEL ROIG / J. L. MUOZ TAPIA
36 405 >Ei
LA BLOCKCHAIN: FUNDAMENTOS, APLICACIONES Y RELACIN CON OTRAS TECNOLOGAS DISRUPTIVAS
CUADRO 1
PRINCIPALES CRIPTO-MONEDAS Y SUS CARACTERSTICAS
Cripto-moneda Fecha Lanzamiento Market cap [M$] Algoritmo de Hash Consenso Precio [$]
405 >Ei 37
C. DOLADER RETAMAL / J. BEL ROIG / J. L. MUOZ TAPIA
bancos centrales para beneficiar a unos sectores o Al mismo tiempo, para el consumidor, existe cierta
perjudicar a otros. desconfianza en dispositivos que se comunican con
su fabricante sin la supervisin del usuario final y sera
Existen decenas de cripto-monedas. Todas ellas mucho mejor un enfoque de seguridad ms transpa-
comparten su utilidad como sistema de pago. Algu- rente. Este escenario, bien podra solucionarse con
nas utilizan una blockchain propia y otras funcionan una blockchain. En este caso, se aprovechara tanto
encima de la blockchain de bitcoin. Su funciona- su caracterstica de sistema distribuido y su transpa-
miento es bastante heterogneo y todas ellas pre- rencia, como su robustez y fiabilidad. Los disposi-
tenden aportar alguna mejora respecto a bitcoin. tivos consultaran la blockchain para averiguar si su
firmware est actualizado. En caso que no lo est,
Probablemente, la ms prometedora entre las alter-
pediran a otros nodos que les manden la nueva ver-
nativas es Ethereum, que es la segunda cripto-mone-
sin. Una vez recibida, podran usar el cdigo de la
da con mayor capitalizacin (Cuadro 1). Ethereum
blockchain para comprobar que el firmware no ha
cuenta con una blockchain propia, es decir, distinta
sido alterado en modo alguno, evitando as las intru-
a bitcoin y por el momento tambin basada en PoW
siones. Este enfoque, una vez implementado, resulta-
(aunque tiene planeada una migracin a PoS). Ms
ra bastante ms barato para el fabricante que slo
all de su funcionamiento como cripto-moneda,
tendra que mandar la actualizacin a unos pocos
la aportacin principal de Ethereum son los contra-
nodos y dejar que la actualizacin propague.
tos inteligentes (Smart Contracts) (Buterin, 2014). Los
contratos inteligentes son scripts (pequeos cdigos) Mercado de servicios entre dispositivos. Si a una
auto-ejecutables que residen en la blockchain y que cripto-moneda se le aade capacidad para con-
permiten automatizar gran cantidad de procesos tratos inteligentes, la aplicabilidad en IoT se dispara.
comerciales de una forma segura y transparente En el caso anterior, por ejemplo, los dispositivos que
para todos los participantes. Los ejemplos del sigui- mandan el nuevo firmware podra tener una peque-
ente apartado representan algunos usos potenciales a remuneracin, ya que consumen recursos (elec-
de este tipo de funcionalidad. tricidad y ancho de banda). La idea es, en general,
que cada aparato conectado a la blockchain ten-
Blockchain e IoT ga su propia cuenta bancaria y ofrece sus servicios
en el ecosistema. Filecoin (FileCoin: A Criptocurrency
Sistema de distribucin de firmware (Christidis, Operated File Storage Network, 2017), por ejemplo,
2016). A medida que la Internet de las cosas (Inter- permite a sus nodos alquilar espacio de almacena-
net of Things, IoT) vaya convirtindose en realidad, miento. Por otra parte, EtherAPIs (EtherAPIs: Decentrali-
el nmero de dispositivos conectados a la red de zed, anonymous, trustless APIs, 2017) sirve para mone-
redes crecer exponencialmente (The internet of tizar llamadas remotas a un programa determinado.
everything, 2015). Ahora, adems de computadores
y equipos red, se van conectando a Internet elec- En el mercado de la energa, esta arquitectura resul-
trodomsticos, dispositivos de vigilancia y seguridad, ta especialmente til. La entrada de las renovables
sensores de todo tipo, etc. Sin duda este nuevo eco- como factor de peso y la proliferacin de sistemas
sistema ofrece una flexibilidad sin precedentes. Sin de almacenamiento (bancos de bateras y bateras
embargo, este paradigma tiene tambin algunos en casa) ha vuelto el ecosistema ms heterogneo
retos a resolver. Entre ellos, destaca sobremanera el de lo que ya era. Hay productores que producen de
mbito de la seguridad. Por ejemplo, varias fuentes forma constante (p.ej. central nuclear), otros slo du-
afirman que el reciente ataque a los servidores de rante el da (placas solares) y otros slo cuando hace
DNS del proveedor DynDNS, que dejaron sin servicio viento (generadores elicos). La demanda tiene ho-
durante horas a gigantes como Twitter o Facebook, ras muy intensivas y otras de muy bajo consumo.
se realizaron controlando remotamente un gran n-
Una batera conectada a la red, por ejemplo, po-
mero de dispositivos de IoT (Hackers Used New Wea-
dra comprar energa en las horas de bajo precio
pons to Disrupt Major Websites Across U.S., 2016).
para luego venderla en las horas puntas, segn las
Uno de los primeros problemas de seguridad que normas definidas por el propietario. TransActive Grid
aparece en el entorno IoT es el nivel de supervisin (Transactive Grid: Secure, transactional control of uti-
de los dispositivos. En este sentido, en el entorno IoT, lity systems, 2017), por ejemplo, est experimentan-
muchos dispositivos no estn supervisados con los do con este concepto de mercado entre aparatos.
niveles usados en el mundo de la computacin (or- Aunque muchas de estas funcionalidades ya se reali-
denadores personales o telfonos inteligentes). Ade- zan actualmente, la tecnologa blockchain permitira
ms, por su bajo coste, muchos de estos dispositivos hacerlo en un ecosistema unificado, seguro, verstil,
no siempre reciben actualizaciones con una eleva- transparente y barato.
da frecuencia por parte de los fabricantes (o incluso
Sistema de seguimiento de transportes. En un envo
se quedan sin actualizar en algn punto). Para los
internacional de mercancas participan normalmen-
fabricantes resulta bastante costoso tener que enviar
te varias empresas ya que se utilizan varios medios
directamente a millones de dispositivos actualizacio-
de transporte. Todas ellas tienen sus bases de datos
nes y realizarlo incluso despus de aos de haber
independientes donde actualizan el estado del envo
abandonado la fabricacin de tales dispositivos.
38 405 >Ei
LA BLOCKCHAIN: FUNDAMENTOS, APLICACIONES Y RELACIN CON OTRAS TECNOLOGAS DISRUPTIVAS
en funcin de la informacin proporcionada por las para siempre. El bloque contiene, adems, fecha
otras o por sus agentes. Blockchain tiene aqu una y hora, tan inmutables como el resto, completan-
clara aplicabilidad que permitira hacer el sistema do as la prueba segura, pblica y verificable de
ms simple, ms transparente y menos costoso. Para existencia. Adems, su coste es nfimo, sobre todo
empezar, la base de datos (la propia blockchain) se- comparado con los costes de las patentes conven-
ra compartida por todos los intermediarios y por el cionales.
remitente y destinatario, reduciendo los costes. No
sera para ello necesaria la confianza entre ellos en En cuanto al propietario del documento, sus da-
general. Al llegar el contenedor en cuestin a un cier- tos pueden encontrarse en el mismo documento.
to puerto, se aadira una actualizacin a la base de Debido a las propiedades de la funcin de hash,
datos. Al estar todas las actualizaciones firmadas con cualquier cambio, por pequeo que sea, resulta
las claves privadas del que entrega y el que reco- en un hash totalmente diferente. El sistema tiene
ge y con la clave del contenedor, esta actualizacin ah otra utilidad derivada: comprobacin de integri-
actuara como prueba criptogrfica de que el con- dad de documentos. Un usuario puede comprobar
tenedor se encuentra ahora en posesin del adminis- mediante la misma pgina web que un cierto do-
trador del puerto. Adems, el sistema incluye marcas cumento original almacenado en la blockchain es
de tiempo (timestamps) para hacer el seguimiento. idntico al que posee.
La transparencia y fiabilidad del concepto ayudara
sin duda a la resolucin de disputas entre los partici- Seguridad en Big Data mediante blockchain
pantes.
Varias tcnicas de big data se usan actualmente
Si a este enfoque innovador se le aade IoT se pue- para analizar la blockchain e incrementar sus nive-
de ganar an ms eficiencia. Los contenedores y los les de seguridad. Estas tcnicas permiten deducir
lugares de intercambio pueden tener dispositivos in- las identidades de los nodos en las cripto-monedas,
corporados que automaticen totalmente el proceso, detectar fraudes y mapear los flujos reales de dinero
disminuyendo los costes an ms y reduciendo las (Reid, 2013), (Farell, 2015).
probabilidades de error y de fraude.
La relacin inversa, sin embargo, es an ms pro-
metedora: utilizar la tecnologa blockchain para dar
Prueba de existencia seguridad y verificabilidad a entornos empresariales
Una de las caractersticas ms notables de block- de big data. Con la explosin del big data, prcti-
chain, sino la ms notable, es su inmutabilidad: una camente toda empresa con un mnimo de clientes
vez una informacin se ha aadido a la base de est interesada en sacar el mximo partido a sus
datos distribuida, y aadidos unos pocos bloques datos para as mantenerse competitiva. Se trata
detrs, la probabilidad de que sea modificada es, de datos que habitualmente provienen de diver-
a efectos prcticos, cero. sas fuentes, en diversos formatos, y son utilizados en
diversos procesos por distintos departamentos de
Esta propiedad, sin equivalente en el mundo digital la empresa. Los peligros de estos sistemas resultan
ni en el mundo real, tiene obvias aplicaciones. Tradi- bastante evidentes: manipulacin de los datos por
cionalmente, si alguien quiere probar pblicamen- parte de trabajadores internos, proveedores mali-
te ser el autor de una informacin, sea un diseo ciosos, corrupcin de los datos, fallos de almace-
tecnolgico o una cancin, acude a una oficina namiento, uso defectuoso, incumplimiento de legis-
de patentes o similar. Esto es, como pasaba con laciones respecto a los datos personales y un largo
las transacciones, una entidad de confianza de to- etctera.
das las partes que ofrece, bsicamente, la garanta
de no modificar nada y de no revelar nada (a ex- En este contexto, la blockchain tiene mucho que
cepcin de lo necesario para una potencial batalla aportar: transparencia, verificabilidad, portabilidad
legal, siempre autorizado por el propietario). La tec- y escalabilidad. Mediante blockchain, cada aa-
nologa blockchain puede sustituir tambin a este dido en los datos, cada cambio, cada extraccin
intermediario. para su uso o cada visualizacin se podra realizar
utilizando un registro transparente y seguro. Adems,
Por ejemplo, en Proof of existence (2017) se ha im- los datos podran ir acompaados de pruebas de
plementado un servicio donde cualquiera puede integridad a bajo nivel o incluso, en el caso de la
generar una prueba de que una informacin exista extraccin, de firmas concretas que posibiliten su
en un momento determinado en el tiempo y alma- trazabilidad.
cenarla en la blockchain de Bitcoin. El funciona-
miento es sencillo: se calcula un hash para el docu- Estos entornos permiten un grado de seguridad y
mento en cuestin. Del hash no se puede deducir el verificabilidad suficiente para cumplir con regula-
documento, pero slo el poseedor del documento ciones bastante restrictivas a la vez que son intrnse-
puede haber generado el hash. Luego se genera camente distribuidos, escalables e interoperables.
una transaccin especial que permite almacenar Los requisitos legales en cuanto a la retencin de
este cdigo en la blockchain. La transaccin se en- datos dejan de ser un problema pues est en la
va y una vez es aadida en un bloque, queda ah propia naturaleza de blockchain el poder deducir
405 >Ei 39
C. DOLADER RETAMAL / J. BEL ROIG / J. L. MUOZ TAPIA
BIBLIOGRAFA
40 405 >Ei