cadena de bloques

Si has estado viendo o leyendo las noticias últimamente, es bastante probable que hayas oído hablar de algo llamado criptomonedas, y con mayor seguridad habrás oído el nombre de las más conocidas como Bitcoin o Ethereum, pues bien resulta que la base de estas criptomonedas es lo que se conoce como una cadena de bloques o blockchain.

La cadena de bloques o Blockchain es un concepto que hace que los datos sean ultra seguros para usos específicos, como es el caso de las criptomonedas, pero tiene aplicaciones que van más allá de las criptomonedas favoritas de todos. Aquí hay una explicación rápida de cómo funciona.

Todo comienza con la encriptación

Para entender lo que es una cadena de bloques o blockchain, necesitas entender la criptografía. La idea de la criptografía es mucho más antigua que las computadoras: simplemente significa reordenar la información de tal manera que necesita una clave específica para poder entenderla.

Por ejemplo, el simple anillo decodificador que encontraste en tu caja de cereal es una forma de la criptografía en su forma más básica: crea una clave (también conocida como cifrado) que reemplaza una letra por un número, ejecuta tu mensaje a través de la tecla y luego dale la llave alguien más. Cualquiera que encuentre el mensaje sin la clave no podrá leerlo, a menos que esté “agrietado”.

Los militares usaron una criptografía más compleja mucho antes que las computadoras (por ejemplo, los mensajes originados por la maquina Enigma, eran codificados y decodificados durante la Segunda Guerra Mundial).

El cifrado encriptación moderna, sin embargo, es completamente digital. Las computadoras de hoy en día usan métodos de cifrado que son tan complejos y tan seguros que sería imposible romperlos con simples operaciones matemáticas hechas por humanos.

Sin embargo, la actual tecnología de encriptación hecha por computadoras no es perfecta; aún puede ser “descifrado” si las personas lo suficientemente inteligentes atacan el algoritmo, y los datos siguen siendo vulnerables si alguien, aparte del propietario, encuentran la clave. Pero incluso el cifrado a nivel del consumidor, como el cifrado AES de 128 bits que ahora es estándar en el iPhone y Android, es suficiente para mantener los datos bloqueados lejos del FBI.

La Cadena de Bloques o Blockchain es un libro de datos seguro y colaborativo

El cifrado normalmente se usa para bloquear y proteger archivos, por lo que solo pueden acceder a ellos personas específicas. Pero, ¿qué sucede si tiene información que todos deben ver, como, por ejemplo, la información contable de una agencia gubernamental que debe ser pública por ley, y aún así debe ser segura? Ahí tienes un problema: cuantas más personas puedan ver y editar la información, menos segura esta será.

Las Cadenas de Bloques o Blockchain se desarrollaron para satisfacer las necesidades de seguridad de estas situaciones específicas. En una cadena de bloques, cada vez que se accede a la información y se actualiza, el cambio se registra y se verifica, luego se sella mediante la encriptación y no se puede volver a editar.

El conjunto de cambios se guarda y se agrega al registro total. La próxima vez que alguien haga cambios, comienza todo de nuevo, conservando la información en un nuevo “bloque” cifrado y adjunto al bloque anterior (por lo tanto, se forma una “cadena de bloques”). Este proceso repetitivo conecta la primera versión del conjunto de información con la última, para que todos puedan ver todos los cambios realizados, pero solo pueden contribuir y editar la última versión.

Esta idea es algo así como resistente a las metáforas, pero imagina que estás en un grupo de diez personas ensamblando un set de LEGO. Solo puedes agregar una pieza a la vez, y nunca podrás eliminar ninguna pieza. Cada miembro del grupo debe acordar específicamente dónde irá la próxima pieza. De esta forma, puedes ver todas las piezas en cualquier momento, desde la primera pieza del proyecto, pero solo puedes modificar la última pieza.

Para algo un poco más relevante, imagina un documento colaborativo, como una hoja de cálculo en Google Docs u Office 365. Todos los que tienen acceso al documento pueden editarlo, y cada vez que lo hacen, el cambio se guarda y registra como una nueva hoja de cálculo. Luego se guarda en el historial del documento. De modo que puedes volver atrás, paso a paso, a través de los cambios realizados, pero solo puedes agregar información a la última versión, no puedes modificar las versiones anteriores de la hoja de cálculo que ya se han guardado.

Como probablemente hayas escuchado, esta idea de un “libro mayor” seguro y constantemente actualizado se aplica principalmente a los datos financieros, donde tiene más sentido. Las monedas digitales distribuidas como Bitcoin o Ethereum son el uso más común de una cadena de bloques o blockchain; de hecho, la primera se hizo para Bitcoin y la idea se extendió desde allí.

Las cosas técnicas: paso a paso, bloque por bloque

¿Cómo funciona todo esto en una computadora? Es una combinación de criptografía y redes de igual a igual.

Es posible que estés familiarizado con el intercambio de archivos punto a punto, peer to peer o P2P: como por ejemplo lo hacen servicios como BitTorrent que permiten a los usuarios cargar y descargar archivos digitales desde múltiples ubicaciones de manera más eficiente que desde una única conexión. Imagine los “archivos” como los datos centrales en una cadena de bloques o  blockchain, y el proceso de descarga como la criptografía que la mantiene actualizada y segura.

O bien, para volver a nuestro ejemplo anterior de Google Docs: imagina que el documento colaborativo en el que estás trabajando no está almacenado en un servidor. En cambio, está en la computadora de cada individuo, que constantemente se revisa y se actualiza entre sí para asegurarse de que nadie haya modificado los registros anteriores. Esto lo hace ser “descentralizado”.

Esa es la idea central detrás de la cadena de bloques: se trata de datos criptográficos a los que se accede y se aseguran continuamente al mismo tiempo, sin ningún servidor o almacenamiento centralizado, con un registro de cambios que se incorpora a cada nueva versión de los datos.

Entonces tenemos tres elementos a considerar en esta relación. Uno, la red de usuarios punto a punto que almacenan copias del registro de la cadena de bloques. Dos, los datos que estos usuarios agregan al último “bloque” de información, lo que le permite actualizarse y agregarse al registro total. Tres, las secuencias criptológicas que los usuarios generan para acordar el último bloque, bloqueándolo en su lugar en la secuencia de datos que forma el registro.

Es ese último bit el cual representa la salsa secreta en el sándwich del blockchain. Usando la criptografía digital, cada usuario contribuye con el poder de su computadora para ayudar a resolver algunos de esos problemas matemáticos súper complejos que mantienen el registro seguro.

Estas soluciones extremadamente complejas, conocidas como “hash”, resuelven partes centrales de los datos del registro, como por ejemplo, qué cuenta se agregó o restó dinero en un libro contable, y de dónde vino o de dónde salió ese dinero. Cuanto más densos sean los datos, más compleja es la criptografía y más potencia de procesamiento se necesita para resolverla. (Por cierto, aquí es donde la idea de “minar” Bitcoin o Ethereum entra en juego).

Entonces, para resumir, podemos pensar que una cadena de bloques es un dato que es:

Constantemente actualizado. Los usuarios de la cadena de bloques o Blockchain pueden acceder a los datos en cualquier momento y agregar información al bloque más nuevo.

Repartido. Las copias de los datos de la cadena de bloques o blockchain son almacenados y asegurados por cada usuario, y todos deben acordar nuevas incorporaciones.

Verificado. Ambos cambios en bloques nuevos y copias de bloques antiguos deben ser acordados por todos los usuarios a través de la verificación criptográfica.

Seguro. El método criptográfico y el almacenamiento no centralizado de los datos evitan la alteración de los datos antiguos y la alteración del método para proteger los datos nuevos.

Y créanlo o no, se vuelve aún más complicado que esto… pero esa es la idea básica.

La Cadena de Bloques o Blockchain en acción: ¡muéstrame el dinero (digital)!

Así que consideremos un ejemplo de cómo esto se aplica a una criptomoneda como el Bitcoin. Supongamos que tiene un Bitcoin y deseas gastarlo en un automóvil nuevo. (O una bicicleta, o una casa, o una nación insular de tamaño pequeño a mediano, sin importar cuánto valga un Bitcoin esta semana). Se conecta a la cadena de bloques o blockchain Bitcoin descentralizado con su software, y usted envía su solicitud para transferir su Bitcoin al vendedor del automóvil. Su transacción luego se transmite al sistema.

Cada persona en el sistema puede verla, pero su identidad y la identidad del vendedor son solo firmas temporales, pequeños elementos de los enormes problemas matemáticos que forman el corazón de la criptografía digital. Estos valores están conectados a la ecuación de la cadena de bloques o blockchain, y el problema en sí mismo es “resuelto” por los miembros en la red peer-to-peer que genera hashes de criptografía.

Una vez que se verifica la transacción, se mueve un Bitcoin desde usted al vendedor y se registra en el último bloque de la cadena. El bloque está terminado, sellado y protegido con criptografía. Comienza la siguiente serie de transacciones, y la cadena de bloques crece, con un registro completo de todas las transacciones cada vez que se actualiza.

Ahora, cuando piensas en una cadena de bloques como “segura”, es importante comprender el contexto. Las transacciones individuales son seguras, y el registro total es seguro, siempre y cuando los métodos utilizados para proteger la criptografía permanezcan “sin descifrar”. (Y recuerda, esto es realmente difícil de superar, incluso el FBI no puede hacerlo a través del mero uso de recursos informáticos.) Pero el eslabón más débil en una cadena de bloques o blockchain es, bueno, tú, el usuario.

Si permites que otra persona use tu clave personal para acceder a la cadena, o si la encuentran simplemente pirateando tu computadora, pueden agregarle información adicional a la cadena de bloques, y no hay forma de detenerlos. Así es como se “roban” los Bitcoin en ataques muy publicitados en los principales mercados: son las empresas que operaban los mercados, no la cadena de bloques de Bitcoin en sí, las que se vieron comprometidas. Y debido a que los Bitcoins robados se transfieren a usuarios anónimos, a través de un proceso que es verificado por la cadena de bloques o blockchain y grabado para siempre, no hay forma de encontrar al atacante o recuperar el Bitcoin.

¿Qué más puedes hacer con una cadena de bloques o Blockchain?

La tecnología de la cadena de bloques o Blockchain comenzó con el Bitcoin, pero es una idea tan importante que no se quedó estancada allí por mucho tiempo. Un sistema que se actualiza constantemente, que es accesible para cualquier persona, verificado por una red no centralizada e increíblemente seguro, tiene muchas aplicaciones diferentes.

Las instituciones financieras como JP Morgan Chase y la Bolsa de Valores de Australia están desarrollando sistemas basados en la cadena de bloques o blockchain para asegurar y distribuir datos financieros (para dinero convencional, no criptomonedas como el Bitcoin o Ethereum). La fundación Bill & Melinda Gates espera utilizar sistemas de cadenas de bloques o blockchain para proporcionar servicios bancarios gratuitos y distribuirlos a miles de millones de personas que no pueden pagar una cuenta bancaria regular.

Las herramientas de código abierto como Hyperledger están tratando de hacer que las técnicas de cadenas de bloques o blockchain estén disponibles para una gama más amplia de personas, en algunos casos sin necesidad de enormes cantidades de potencia de procesamiento para asegurar otros diseños.

Los sistemas de trabajo en colaboración se pueden verificar y registrar con técnicas de cadenas de bloques o blockchain. Prácticamente todo lo que se debe registrar, acceder y actualizar constantemente se puede usar de la misma manera.