La dificultad a la hora de comprender a qué nos referimos cuando hablamos de blockchain, puede que radique en nuestra idea acerca de qué es lo que queremos o debemos entender acerca de esta tecnología. Muchas veces complejizamos las cosas más de lo que se requiere, y esto no esta mal: es posible profundizar el conocimiento de blockchain y llegar a altos niveles de complejidad; sin embargo, esto no es necesario si lo que nos proponemos es entender, sencillamente, qué es, para qué sirve y cómo funciona la blockchain. Vayamos, pues, a ello.
Puede que la mejor manera de comprender qué es la tecnología blockchain
sea
imaginarla según lo que su nombre indica: como una sucesión de bloques
encadenados uno con el otro. Estos bloques conforman, entonces, una
red. Los
denominados bloques son unidades que pueden almacenar distinto tipo de
información. Probablemente, el uso de blockchain que sueles escuchar sea
el
referido a las criptomonedas, pero no solo se limita a esto.
De esta forma, podemos preguntarnos acerca de la utilidad de las
blockchains. La
dificultad a la hora de visualizar su utilidad puede darse por el concepto poco
amplio que tenemos de la palabra "información", pero pensemos lo siguiente:
- Información es lo que contiene tu documento de identidad y su versión online.
- Información es la cantidad de dinero que tienes en tu cuenta bancaria y que visualizas en la aplicación de tu teléfono o en el cajero automático.
- Información es tu título universitario o escolar subido a una página del Estado.
- Información es el contrato de alquiler de tu departamento.
- Información es el derecho de autor que un músico tramita para proteger su obra.
La lista podría extenderse mucho más. Lo importante es entender que todos estos
datos (que, por otro lado, se mueven y modifican –-pensemos, por ejemplo, en tus
movimientos bancarios–-) certifican y dan información sobre algún aspecto de la
realidad y, además, deben almacenarse en algún sitio. La mayoría de ellos se
encuentran almacenados en servidores y computadores de entidades privadas o
gubernamentales (bancos, dependencias del gobierno, distintas instituciones,
empresas, etcétera).
Todo esto no es un problema en sí, pero puede presentar algunos incovenientes.
Por ejemplo:
- Desconocemos cuánto se respeta nuestro derecho a la privacidad, más allá de que podamos confiar en la buena fe de aquellos que tienen acceso a nuestros datos.
- Al estar alojada en un servidor centralizado, la información es susceptible de ser alterada, borrada o robada en caso de hacking.
- Muchas veces, los servidores pueden presentar problemas o fallas técnicas y provocar inconvenientes de distinta gravedad.
- Es prácticamente imposible elegir cierto nivel de anonimato para la mayor parte de nuestra información.
- Puede suceder, también, que tengamos conflictos éticos para con aquellos sitios que, sin embargo, disponen de nuestra información.
En definitiva, lo que tenemos aquí es una estructura centralizada, con
sus
ventajas y sus contras. Y es entendiendo esto, que podemos comenzar a comprender
la utilidad que tendría una estructura capaz de albergar y manejar dicha
informacion pero que, por el contrario, se presente como descentralizada.
Justamente, la tecnología blockchain se coloca como la mejor opción en
ese
sentido.
Volvamos, entonces, a nuestros bloques.
Como dijimos, esas unidades de información interconectadas pueden almacenar
distintos datos. Podemos tomar un ejemplo –-ya clásico–- relacionado con las
criptomonedas:
Supongamos que Javier, en Chile, tiene 5 ETH y quiere enviarle 1 ETH a Laura, en
Venezuela, que tiene únicamente 2 ETH en su cuenta. Javier va a abrir su
billetera virtual utilizando su clave de seguridad, seleccionará la
cantidad a
enviar y, luego, colocará la dirección de la cuenta de destino (en este caso, la
de Laura). Pagará, luego, un extra (denominado "gas") en concepto de
transferencia y el dinero viajará hacia la billetera virtual de Laura.
¿Qué esta sucediendo por debajo de la intuitiva aplicación que ambos utilizan?
Se esta generando, pues, información nueva en el sistema, y la información de
dicha transacción se almacena en un bloque, que incluirá:
- Los datos de la transferencia: quién le ha enviado a quién 1 ETH
- La cantidad de dinero que ha quedado en la cuenta de Javier una vez enviado 1 ETH a Laura (en este caso, 4 ETH; pues Javier tenía 5 y ha enviado 1)
- La cantidad de dinero que tiene ahora Laura: es decir, 3 ETH: los 2 que poseía antes de recibir la transferencia, y el ETH que le ha enviado Javier.
Además, dicho bloque tendrá un código que, a grosso modo, serviría como una
huella digital: lo hace único entre todos los demás bloques. Este código será
una larga sucesión de números y letras y es conocido como hash. Si ese
bloque
modificase sus datos internos, el hash cambiaría, lo cuál permite conocer
el
"historial" de dicho bloque. Digamos que el hash es 14tz.
Por último, dicho bloque contendrá también el hash del bloque anterior a
él; y,
del mismo modo, el hash de nuestro bloque –-14tz–- figurará en el
siguiente
bloque creado: es decir, estará ahora encadenado a toda la inmensa red de
bloques que conforman la blockchain.
¿Y qué pasaría si alguien quisiese hackear el bloque en cuestión y modificar su
información? Esto, como hemos dicho, haría que cambie su hash: dejaría de
ser
14tz. Esto crearía un conflicto con el bloque siguiente a nuestro bloque, en
donde estaba registrado que nuestro bloque era el 14tz; esta incongruencia se
transmitiría a toda la secuencia de bloques posteriores al nuestro, y haría
saltar las alarmas de que algo se ha modificado.
Además, los bloques poseen medidas extras de seguridad conocidas con el nombre
de Proof of Work. Explicado de manera muy sencilla, son mecanismos
basados en
criptografía que requieren ser resueltos para la creación o modificación de un
bloque. Esto significa que, incluso si un hacker pudiese utilizar una
computadora para calcular todos los cambios necesarios en la cadena de
hash
desde el bloque que ha alterado en adelante, aún así necesitaría resolver
problemas criptográficos en cada uno de los bloques modificados para que su
ataque pase desapercibido.
Y quizás nos preguntemos: ¿cuál es el servidor o la empresa que operaliza y
certifica todo este movimiento? La respuesta, evidentemente, es que ninguna
empresa o entidad centralizada se encarga de esto. Toda la red de
bloques con su
información esta a la vista de todos aquellos que participan en la
blockchain.
Es decir: es como si todos los usuarios del Banco X tuviesen acceso al libro de
cuentas general del banco, en donde se registra cada movimiento de la masa total
de dinero.
Los beneficios de este mecanismo de exposición son varios:
- El sistema no depende de un servidor centralizado, y por lo tanto es mucho más resistente a ataques maliciosos. Simplemente, no puede atacarse a un solo sitio para romper el sistema.
- La transparencia y horizontalidad es total, ya que no existe ninguna entidad o persona que pueda "jugar" con los números (como si puede suceder en cualquier entidad centralizada y verticalista) y modificarlos según sus intereses o bien por error.
- La aceptación de un nuevo bloque (que tiene su complejidad, y sobre la cual puedes indagar en profundidad aquí) se realiza por consenso entre muchísimas computadoras alredor del mundo –-denominadas también nodos–- que forman parte de la blockchain y que tienen que validar la transparencia de cualquier nuevo bloque con al menos una mayoría del 51%.
En definitiva: si alguien quisiese atacar la blockchain, debería:
- Modificar un bloque, con lo cual cambiaría su hash.
- Recalcular todos los hash de los bloques siguientes para mantener la aparente "normalidad" del sistema.
- Sobrepasar el mecanismo de Proof of Work en cada uno de esos bloques.
- Lograr un consenso de más del 50% de todos los nodos verificadores de la blockchain.
Como ves, la tecnología blockchain es, por lo tanto:
- Descentralizada
- Segura
- De muy difícil corrupción
- Auditable