Autor: Gera Giménez
¿Qué es Chainlink? ¿Qué son los oráculos? ¿Qué problemas existen hoy en la interoperabilidad de las blockchains con el mundo real? Estas son algunas de las preguntas que responderemos, introduciéndonos a uno de los proyectos más relevantes dentro de cripto.
La Web3 nos trae una infinidad de posibilidades y juega un papel clave en la construcción del futuro. Las finanzas, los contratos, los videojuegos, y muchas otras cosas que hoy conocemos, están siendo reinventadas con la tecnología blockchain. Pero, ¿qué sucede con lo que ya existe? ¿Dónde queda la Web2 y todo lo que se construyó durante años? Debemos encontrar la posibilidad de interconectar ambos universos, para que las bondades de la blockchain tengan sentido y nos aporten valor a todo lo que ya hacemos hoy en día, y a lo que aún no hacemos también.
En esta interconexión de universos es donde intervienen los oráculos, actuando como intermediarios entre ellos y volviéndose un componente fundamental de las soluciones en blockchain. Aquí aparece Chainlink, proyecto que se ha convertido en una parte esencial de la infraestructura blockchain, proporcionando un enlace crucial entre el mundo del blockchain y los datos del mundo exterior.
Revisión: Blockchain, Contratos Inteligentes y Oráculos
Para entender cómo funciona Chainlink, es importante que repasemos los conceptos de blockchain, contratos inteligentes y oráculos.
¿Qué es una blockchain?
Una blockchain es una red descentralizada de computadoras que realiza cálculos, procesamiento de datos y almacena esa información en una base de datos compartida por todas las computadoras en la red. La característica principal de las blockchains es su descentralización, implicando que no están controladas por una única entidad. Todas las transacciones se registran en una base de datos que crece de forma continua y se pagan con la criptomoneda nativa de cada red.
A diferencia de un sistema de computación tradicional centralizado, una blockchain no está controlada por una única entidad o grupo. Una blockchain está compuesta por miles de computadoras que corren el mismo software, lo que significa que todas ellas pueden ejecutar las mismas operaciones. Todos tienen el mismo acceso para operar sobre ella, y las aplicaciones y los datos almacenados en ella no pueden ser manipulados ni eliminados.
¿Y cómo nos aseguramos de que la “base de datos compartida” mantenga los mismos datos? Cada computadora verifica con el resto la información que está siendo procesada, y se llega a un consenso sobre la validez de las operaciones. Al mismo tiempo, la completitud de estas operaciones implican incentivos monetarios, lo que hace que se promueva el comportamiento honesto de las computadoras de la red.
Ejemplos de uso de una blockchain
Una blockchain puede tener muchos casos de uso más allá de simplemente mover y registrar transacciones. Algunas blockchains son altamente programables y pueden ejecutar aplicaciones que realizan acciones ante determinados eventos. Por ejemplo, si el Vuelo 123 se cancela mañana, se emite un pago de seguro de $100; si no se cancela, no se emite.
Podemos hacer una analogía con los sistemas operativos tradicionales que corren sobre una computadora: una computadora que ejecuta Windows puede correr Excel, Photoshop, juegos como el Age of Empires, y muchas más aplicaciones; en su contraparte, una blockchain sería como un sistema operativo pero que está distribuido a lo largo de muchas computadoras, y en ellas se puede ejecutar software. Este software de blockchains, se conoce como “contratos inteligentes” (smart contracts).
Contratos Inteligentes
Los contratos inteligentes, introducidos por Ethereum en 2015, son programas de software que se ejecutan en una blockchain. Automatizan la ejecución de acuerdos sin la necesidad de un intermediario. Sin embargo, estos contratos enfrentan un gran desafío: requieren datos del mundo exterior para funcionar, y estos datos generalmente no residen en las blockchains.
Problemas de los Contratos Inteligentes en el Mundo Real
Los contratos inteligentes necesitan datos para realizar acciones, pero la mayoría de los datos necesarios para automatizar acuerdos o comportamientos del mundo real, no están almacenados en blockchains. Un contrato inteligente no puede acceder a datos externos a la blockchain que lo contiene ya que, debido a su filosofía intrínseca, las blockchains son como “cajas negras” que no pueden conectarse con el mundo exterior. Esta limitación restringe la capacidad de los contratos inteligentes para llevar a cabo acciones útiles en situaciones reales.
Oráculos
Volviendo nuevamente a nuestro ejemplo del Vuelo 123, ¿cómo podríamos desarrollar un contrato que maneje nuestro seguro de vuelo sin contar con la información sobre los vuelos? Aquí es donde entran en juego los oráculos.
Los oráculos son la única forma de intercambiar datos externos con una blockchain. Son un puente entre cualquier sistema externo y una blockchain. No obstante, depender de un oráculo puede conducir a problemas de centralización y manipulación de datos, ya que estamos hablando de un único punto de entrada de información a una blockchain. Esto se conoce como el problema del oráculo.
¿Qué es Chainlink?
Chainlink es una red de oráculos descentralizada que permite la transferencia segura y confiable de datos entre blockchains y cualquier sistema externo. Su objetivo principal es resolver uno de los desafíos más grandes que enfrentan los contratos inteligentes en la actualidad: la necesidad de acceder a datos fuera de la blockchain.
Chainlink resuelve este problema permitiendo automatizar la transferencia de datos entre blockchains y cualquier sistema externo de forma segura y confiable. Su red de oráculos descentralizada asegura que hay varias entidades independientes validando la misma información antes de que se entregue al contrato inteligente. Estas entidades obtienen datos de múltiples fuentes, los agregan, y luego proporcionan un único conjunto validado de datos.
Adoptando un modelo similar a una blockchain por la forma en que se distribuyen los oráculos, Chainlink elimina el problema del punto único de fallo y la centralización en la comunicación entre una blockchain y el mundo exterior.
Características de Seguridad de Chainlink
Chainlink presenta una serie de características de seguridad para garantizar la integridad y confiabilidad de los datos. Entre estas características se encuentran:
- Arquitectura generalizada: Chainlink es un framework flexible, que permite construir y ejecutar redes de oráculos. Esto significa que cada usuario puede construir o conectarse a su propia red de oráculos personalizados, sin depender de otras redes de oráculos.
- Datos firmados: cada oráculo de Chainlink agrega una firma criptográfica a la información que ingresan de forma on-chain, lo que permite a los usuarios comprobar su origen y saber que viene de un oráculo específico.
- Datos de alta calidad: los datos proveídos por Chainlink provienen de cualquier fuente de datos externa, incluyendo proveedores de datos premium, por lo que un contrato inteligente puede enviar comandos a otros sistemas, como por ejemplo, realizar un pago en una pasarela de pagos tradicional.
- Independencia de blockchains: Chainlink es agnóstico a cualquier blockchain, esto quiere decir que se puede ejecutar de forma nativa en cualquier blockchain sin dependencias específicas. Soporta blockchains públicas, blockchains empresariales, y más.
- Acuerdos a nivel de servicio: eventualmente, Chainlink permitirá a los usuarios definir los términos del trabajo solicitado al oráculo en contratos inteligentes de forma on-chain, lo que podría requerir que un oráculo realice un depósito de seguridad que únicamente será devuelto si su desempeño es acorde a lo establecido de antemano en los términos del acuerdo, por ejemplo, que los datos se entreguen a tiempo.
- Sistemas de reputación: cada oráculo dispone de forma pública, la información sobre su rendimiento histórico, a través de información firmada on-chain. De esta forma los usuarios pueden seleccionarlos en base a sus métricas de rendimiento, como el tiempo promedio de respuesta o el índice de finalización. Cada nodo también puede proveer información adicional como su identidad, ubicación geográfica y certificaciones.
- Funcionalidades opcionales: Chainlink está desarrollando características adicionales de seguridad relacionadas con la privacidad del oráculo y los datos, procesamiento avanzado, entre otros.
Casos de Uso de Chainlink
Chainlink puede ser aplicado en diversos sectores, como por ejemplo videojuegos y sistemas tradicionales.
En el mundo del gaming, existen juegos basados en contratos inteligentes en la blockchain, que incorporan NFTs como coleccionables digitales. En algunos juegos, un aspecto clave es la fuente de aleatoriedad para generar escenarios aleatorios dentro del juego o determinar el ganador de algún premio. Chainlink ofrece una solución llamada VRF (Verifiable Random Function), que genera resultados aleatorios y los entrega a los contratos inteligentes de forma tal que los usuarios pueden verificar que los datos fueron generados de forma justa e imparcial, y así ni los jugadores, ni los creadores del juego, ni nadie, puede manipular estos datos para su beneficio.
En cuanto a los sistemas tradicionales (como proveedores de datos, redes de IoT, empresas, etc.), Chainlink ofrece la posibilidad de disponibilizar sus datos y servicios a cualquier blockchain, funcionando como una especie de gateway donde se integran sistemas off-chain (una pasarela de pagos, por ejemplo) y sistemas on-chain (blockchains). Si vemos a las blockchains como computadoras descentralizadas, que ejecutan aplicaciones descentralizadas (contratos inteligentes), entonces Chainlink es una especie de “Internet descentralizado” que permite que los smart contracts interactúen con el mundo exterior, sin perder las características fundamentales de una blockchain sobre la seguridad, confianza y transparencia.
Próximos Pasos
La revolución de los contratos inteligentes y las redes de oráculos descentralizadas está aquí, y Chainlink está liderando el camino, cerrando la brecha entre los sistemas externos off-chain y las blockchains, y expandiendo las posibilidades de lo que se puede construir utilizando esta tecnología.
En esta guía hemos realizado una introducción al proyecto y a sus conceptos fundamentales, pero no hemos profundizado en las soluciones específicas que Chainlink ofrece para construir sobre ella, como su protocolo CCIP para la interoperabilidad entre blockchains, o las soluciones de datos y procesamiento.
Para continuar explorando el mundo de Chainlink y su potencial, es útil investigar casos prácticos, entender sus características de seguridad y aprender cómo se puede aplicar en diversos sectores. El camino está abierto para la innovación y la implementación de soluciones descentralizadas que pueden cambiar la forma en que interactuamos con la tecnología y el mundo digital. Puedes seguir explorando sobre el proyecto en su sitio web.