En un comentario sobre qué es el blockchain en SAP, alguien afirmó que es tan interesante y profundo el tema, que es como empezar la carrera de ingeniería nuevamente.

No creo que sea para tanto, salvo que quieras profundizar tanto a nivel técnico el tema de la cadena de bloques (o blockchain), aquí trataremos de explicar las bases del concepto para que una persona con pocos conocimientos (o nulos) a nivel técnico entienda por qué es importante la cadena de bloques, para así partir de aquí para entender cómo funcionan las criptomonedas como el bitcoin.

Introducción a la cadena de bloques




Introducción

Desde el inicio de la era de la informática, se puede observar una tendencia de fluctuación entre la centralización y una posterior descentralización de la potencia informática, el almacenamiento, la infraestructura, los protocolos y el código.

Las computadoras están centralizadas, albergan una potencia informática, la memoria, el almacenamiento de datos y el código. El acceso a los mainframes se realiza principalmente entre lo que podría denominarse "terminales tontas", que solo toman entradas y salidas, pero no almacenan ni procesan datos.

Con la llegada de las computadoras personales y las redes privadas, las capacidades computacionales se alojaban tanto en los clientes, como en los servidores. Esto, en parte, dio lugar a la arquitectura cliente-servidor, que apoyó el desarrollo de sistemas de bases de datos relacionales. Los conjuntos de datos masivos, que están alojados en mainframes, podrían pasar a una arquitectura distribuida. Esta información podría replicarse de servidor a servidor, y los subconjuntos de los datos podrían accederse, y procesarse en los clientes, y luego, volverse a sincronizar con el servidor.

Con el tiempo, las arquitecturas de internet y la computación en la nube permitieron el acceso global desde una variedad de dispositivos informáticos; mientras que los mainframes se diseñaron en gran parte para abordar las necesidades de las grandes corporaciones y los gobiernos. Aunque esta "arquitectura de nube" está descentralizada en términos de hardware, ha dado lugar a la centralización a nivel de aplicación (por ejemplo, Facebook, Twitter, Google, etc).

En la actualidad, asistimos a la transición de la informática, el almacenamiento de datos y el procesamiento centralizados a arquitecturas y sistemas descentralizados. 

Una de las innovaciones clave que hace posible todo este cambio de la centralización a la descentralización, es la tecnología de libros distribuida, de ahora en más DLT (distributed ledger technology).




Distributed Ledger Technology (DLT)

Un libro mayor distribuido es un tipo de estructura de datos que reside en múltiples dispositivos informáticos, generalmente distribuidos en ubicaciones o regiones.

DLT incluye tecnologías blockchain y contratos inteligentes. Mientras que los libros contables distribuidos existían antes de Bitcoin, el blockchain de Bitcoin marca la convergencia de una serie de tecnologías, incluida la marca de tiempo de las transacciones, las redes P2P, la criptografía y el poder computacional compartido, junto con un nuevo algoritmo de consenso.

En resumen, la tecnología de contabilidad distribuida generalmente consta de tres componentes básicos:
  • Un modelo de datos que captura el estado actual del libro mayor
  • Un lenguaje de transacciones que cambia el estado del libro mayor
  • Un protocolo utilizado para generar consenso entre los participantes acerca de qué transacciones serán aceptadas, y en qué orden, por el libro mayor.

Qué es el blockchain o cadena de bloques

Blockchain es una forma o subconjunto específico de DLT, que construye una cadena cronológica de bloques, de ahí el nombre 'block-chain'. Un bloque se refiere a un conjunto de transacciones que se agrupan y añaden a la cadena al mismo tiempo. En la cadena de bloques de Bitcoin, los nodos de minero agrupan las transacciones no confirmadas y válidas en un bloque. Cada bloque contiene una cantidad dada de transacciones. 

En la red de Bitcoin, los mineros deben resolver un desafío criptográfico para proponer el siguiente bloque. Este proceso se conoce como "prueba de trabajo" y requiere una potencia de cálculo significativa.

... en el próximo post seguiremos avanzando sobre blockchain