¡Compártelo!

¿Qué es Blockchain? Fundamentos básicos de la cadena de bloques

Bitcoin, Etherum, NXT, NEO, criptomonedas… Todas ellas se basan en la tecnología Blockchain. Hablamos de un concepto que está revolucionando el panorama digital de empresas y usuarios.

Dentro de la transformación digital característica de este siglo XXI, la Blockchain es una disrupción tecnológica con un marcado carácter transversal, ya que se aplicará al modelo de negocio y operativa de múltiples sectores (banca, seguros, energético, logística y transporte, agrícola, turismo política y gestión pública…) e influirá en otras nuevas tecnologías, como el Cloud, las APIs, el Big Data o el IoT.

¿Qué es Blockchain?

Blockchain o cadena de bloques es una base de datos digital distribuida, segura e inmutable.

Es distribuida porque todos los registros están enlazados y porque cada usuario que participa de ella guarda una copia, es decir, todos cuentan con la misma información. Esta es una de las ventajas de blockchain: la descentralización de la información, que hace que los intermediarios no sean necesarios para generar confianza en las transacciones.  

Es segura porque los registros están cifrados para proteger la privacidad y la seguridad de las transacciones. Por estas características, una cadena de bloques no puede ser modificada por un usuario sin la validación del resto de participantes.

Y es inmutable ya que toda la información registrada en este gran libro contable no puede ser borrada.

No existe una única blockchain, sino que se pueden generar tantas como se desee.

Existen varios tipos de blockchain:

  • Públicas: abiertas a todo el mundo, como por ejemplo la de Bitcoin.
  • Privadas: a las que solo se puede acceder por invitación de los propietarios de la cadena.
  • Híbridas: en las que los participantes son privados, pero las transacciones son públicas.

La creación de una Blockchain o cadena de bloques consta de diversos procesos: almacenamiento, transmisión y validación.

diferencias red centralizada, descentralizada y distribuidaBlockchain no sólo es descentralizada, sino una red distribuida y por tanto menos vulnerable a los ataques.

Glosario técnico del Blockchain

Esta tecnología se basa en varios conceptos, ya existentes antes de la disrupción de Blockchain. Hagamos un repaso de los más importantes:

  • Nodos: se refiere a los usuarios que conforman la red; es decir, a cada ordenador que guarda una copia de los registros de la Blockchain.
  • P2P (Peer to peer): es una red descentralizada donde todas las partes interactúan entre sí, en contraposición a una red con servidor central.
  • Bloque: paquete de datos que contiene las transacciones realizadas en un determinado período de tiempo. Es cada una de las divisiones de la cadena.
  • Hash: una función criptográfica que aplica un algoritmo a la entrada de datos. Así, marca los bloques con una salida alfanumérica que resume y protege la información. El hash garantiza la inmutabilidad de los registros.
  • Cadena: es el enlace criptográfico que a través del hash mantiene cada bloque unido con el anterior.
  • Minería de datos o Data Mining: es el proceso de resolución de problemas criptográficos que mediante el uso de hardware informático añade bloques recién creados y encriptados mediante la función hash. Los mineros de datos o data miners consiguen mediante la validación de bloques que se puedan añadir nuevos y por ello son recompensados.
  • Consenso: es una de las bases del Blockchain. Al ser una BBDD distribuida, la validación de los datos no se realiza desde un usuario u organismo central, sino a través del consenso de todos los participantes de la red. Este consenso se consigue estableciendo un algoritmo de validación que es el que siguen los mineros para verificar las transacciones. Los más conocidos son el Hashcash-SHA256, Hashcash-Scrypt y Hashcash-CryptoNight.

¿Cómo funciona Blockchain?

Como hemos visto, una cadena de bloques se basa en la autovalidación inviolable de los datos para seguir desarrollándose. La clave es la función hash.

En el siguiente vídeo Anders Brownworth, profesor de Blockchain en el MIT, realiza una demo visual y simplificada para entender cómo funcionan las cadenas de bloques:

2009, el origen: el Bitcoin

Blockchain nació como espina dorsal del protocolo Bitcoin. En 2008 Satoshi Nakamoto publicó el artículo Bitcoin: A Peer-to-Peer Electronic Cash System. En él se describía un sistema P2P de dinero digital y en 2009, Nakamoto lanzó el software Bitcoin, creando las primeras unidades de esta criptomoneda y el uso de tecnología Blockchain.

En apenas 10 años, el ecosistema que se ha generado alrededor del Bitcoin es abrumador:  organizaciones, entidades financieras, fintech, empresas de hardware, desarrollo, tecnología, inversionistas, etc.

BTC Media lo plasmó en esta imagen, que publicó Visual Capitalist y que lo representa a modo de ciudad SimCity. ¿Encuentras algún nombre conocido?

visualización del ecosistema bitcoin
Fuente: Visual Capitalist. Haz click en la imagen para verla en alta resolución.

Bitcoin ha estado siempre considerada como la red pública basada en Blockchain más segura y confiable. De entre todos sus competidores, hay varios que amenazan con hacerle sombra pronto. Entre ellos: Ethereum.

Ethereum y los contratos inteligentes

Esta misma semana, Ethereum conseguía su récord: la unidad de Ether se situaba por encima de los 1.200 $. Pero una de las razones del auge de su popularidad es que Ethereum no es únicamente una criptomoneda.

Ethereum le ha dado una vuelta de tuerca más al concepto de blockchain. Su principal objetivo es convertirse en una plataforma de computación y su propuesta de valor: la creación de contratos inteligentes. Algo que va mucho más allá de las transferencias económicas.
Un smart contract o contrato inteligente es un contrato con la capacidad de autocumplirse.

¿Cómo? Se trata de una pieza de código generado por un software informático que, al ejecutarse de manera automática, facilita, asegura y hace cumplir los términos de un contrato a medida que se cumplen las condiciones estipuladas previamente por las partes implicadas y firmantes.

Las ventajas que aportan los contratos inteligentes es que son inmutables (no hay posibilidad de modificarlos ni falsificarlos) y son seguros, puesto que se ejecutan en una red distribuida y no es un servidor central. Como están programados para ejecutarse automáticamente y cumplir tareas, los smart contracts no necesitan de intervención directa de un intermediario, ni están sujetos a la interpretación de alguna de las partes: si tiene lugar el evento A, la consecuencia B se pondrá en marcha de forma automática.

El concepto no es nuevo, Nick Szabo desarrolló la idea en los años 90, pero ahora la tecnología Blockchain lo hace posible y Ethereum, entre otros, toma el relevo.

(Por cierto, algunos sospechan que Szabo y Nakamoto son la misma persona).

Los contratos inteligentes tienen aplicaciones en multitud de sectores y modelos de negocio. Por ejemplo en el sector seguros, en votaciones y elecciones, productos financieros, gestión de derechos de autor, IoT, gestión de herencias, apuestas… las utilidades de los smart contracts son prácticamente innumerables.

Ethereum es toda una revolución también para programadores y desarrolladores. Los equipos encargados de desarrollar contratos inteligentes se enfrentan a varios retos, por las propias características de estos contratos.

Por un lado, los desarrolladores deberán tener un sólido conocimiento de Blockchain y del lenguaje correspondiente. En Ethereum los contratos inteligentes se programan con Solidity, un lenguaje de programación creado ad hoc.

Por otro está la falta de regulación actual, que deja un vacío ante los conflictos que se pudieran generar a partir de contratos inteligentes. La inmutabilidad de los contratos es la garantía de los mismos, pero a la vez puede ser uno de sus principales inconvenientes.

Artículos relacionados

Clasificación en Machine Learning con SVM

Clasificación en Machine Learning con SVM

Uno de los problemas típicos en Machine Learning es clasificar los datos de entrada en distintos grupos. Vamos a ver un ejemplo de método de aprendizaje supervisado, donde a partir de un conjunto de datos inicial que pertenece a una categoría conocida entrenaremos un modelo

Análisis de datos masivos con Apache Hadoop y Spark

Big Data: análisis de datos masivos con Apache Hadoop y Spark

En este artículo hacemos una introducción al análisis de grandes volúmenes de datos utilizando Apache Hadoop y Apache Spark, dos de las herramientas de Big Data más potentes en la actualidad. ¡Vamos allá! Programación paralela Debido a que estamos en una época de auge de

qué es un data scientist o científico de datos

Data Scientist: qué es, qué hace y qué necesita saber

Seguro que en los últimos meses has oído hablar de cómo las empresas dan cada vez más valor a los datos y, relacionado con ello, del perfil profesional Data Scientist. Y no es extraño que hayas escuchado el nombre de esta posición, ya que es