Los smart contracts no tienen capacidad de acceder a datos fuera de la blockchain, algo que se soluciona mediante los oráculos de ChainLink. Estos oráculos cogen información que pueda necesitar un smart conract de fuera de la blockchain y los añaden a esta red.
Índice de contenidos
Qué es ChainLink
Es un servicio de oráculos descentralizados que se ejecuta dentro de la blockchain de Ethereum. ChainLink es el primer servicio de este tipo que existe, y que tiene como objetivo ofrecer la posibilidad a diferentes empresas el desarrollo de diferentes soluciones dentro de la blockchain de Ethereum.
Los smart contracts tienen el problema de que únicamente pueden acceder a datos que estén dentro de la blockchain. Esto impide el desarrollo de soluciones que requieran datos procedentes de fuera de la cadena de bloques. Para solucionar este problema existen los oráculos, que cogen la información que los contratos inteligentes necesitan y los añaden a la cadena de bloques.
ChainLink lo que hace es que los usuarios que lanzan smart contracts puedan usar sus oráculos. Estos oráculos mediante interfaces de programas de aplicaciones (API) permiten a los contratos inteligentes acceder a datos de fuera de la cadena, grupos de datos y otros recursos que puedan necesitar y que no se encuentran en la blockchain. Podemos decir, por lo tanto, que lo que hace ChainLink es crear un software que recopila información y la agrega a la blockchain.
Gracias a los oráculos como los de ChainLink, se pueden desarrollar nuevos tipos de aplicaciones. Así que el papel de ChainLink, como su nombre indica, es conectar la cadena de bloques con internet o con el mundo real.
Cuál es el origen de ChainLink
El origen de ChainLink se remonta a una startup denominada SmartContract, que nació en 2014. Tenía esta compañía la idea de aprovechar la tecnología de los contratos inteligentes, pero en este caso, para realizar acuerdos entre todos los participantes de la industria, sin tener en cuenta la habilidad de los mismos y su experiencia.
SmartContract fue apoyada por Data Collective, un grupo de inversión con sede en San Francisco. Además, fue seleccionada como un «proveedor genial de aplicaciones Blockchain 2017» por Gartner.
Los nombres propios tras ChainLink (y SmartContract) son:
- Sergey Nazarov: Cofundador y Director Ejecutivo de ChainLink. Tiene una larga experiencia en la industría, siendo el fundador de Secure Asset Exchange, una plataforma de intercambio de criptomonedas que tiene bastantes semejanzas con ShapeShift. Desarrollo también el servicio de correo electronico descentralizado CryptoMail.
- Steve Ellis: Cofundador y CTO de ChainLink. Trabajo con Nazarov en la compañía Secure Asset Exchange. Cuenta con una gran experiencia en el desarrollo de software, trabajando anteriormente en Pivotal Labs como ingeniero de software.
- Ari Juels: Es quien redactor el documento técnico de ChainLink en colaboración con Nazarov y Ellis. Actualmente es profesor de informática en Cornell Tech y director de IC3, además de ser asesor en ChainLink.
- Andrew Miller: Ha sido profesor asociado de Ciencias de la Computación de la Universidad de Illinois. Actualmente es asesor de ChainLink, además de ser asesor en Trezos y Zcash.
- Hudson Jameson: También es un importante asesor de la compañía y uno de los desarrolladores más importantes de Ethereum.
El whitepaper
Documento técnico desarrollado por Steve Ellis, Ari Juels y Sergey Nazarov. El whitepaper de ChainLink v1.0 se publicó el 4 de septiembre de 2017.
Este documento habla de la infraestructura del proyecto, los problemas que resuelve, su arquitectura dentro y fuera de la cadena, cómo se utilizan los oráculos, la gestión de la reputación y la utilidad del token LINK. Además, este documento nos muestra la idea de ChainLink para crear smart contracts «más inteligentes» que conectan con APIs externas a la blockchain.
Qué es un oráculo
Son programas que tienen la capacidad de recopilar información de fuera de una cadena de bloques y agregarla a la red. Estos datos externos pueden ser necesarios para determinados smart contracts. Los oráculos obtienen la información mediante feed de datos de mercado y APIs web para tal propósito.
El poder de un oráculo reside en su capacidad de consultar fuentes externas para recopilar la información demandada. Una vez recopilada la información, la procesa y la adaptan para ser introducida en la cadena de bloques. Dicha información sera solicitada por un smart contract que puede necesitar información del «mundo exterior» para operar.
Gracias a los oráculos, la cantidad de posibilidades que podemos hacer con un smart contract aumenta. Podríamos realizar la compra/venta de bienes y servicios, un sistema de comparación de precios de diferentes bienes, crear un sistema de venta de activos automatizado, etc.
Cómo funciona ChainLink
Podemos decir que el trabajo de ChainLink es crear un puente de comunicación entre una cadena de bloques y aquello que está fuera de la cadena de bloques. Por lo tanto, con respecto a la arquitectura, tiene dos modos de funcionamiento. Tenemos por un lado el funcionamiento dentro y fuera de la blockchain.
Funcionamiento dentro de la blockchain
Tenemos en primer lugar una serie de smart contracts dentro de la blockchain de Ethereum. Estos contratos, denominados oráculos, tienen la capacidad de procesar las solicitudes de los datos de los usuarios buscando aprovechar las capacidades de los oráculos dentro de la red.
El smart contract que requiere información de fuera de la blockchain, realiza una solicitud a los contratos inteligentes de la red ChainLink. Los contratos inteligentes de esta red pone en contacto al smart contract de un tercero con los oráculos propios de ChainLink. Dentro de estos contratos inteligentes encontramos contratos de reputación, contratos de correspondencia de pedidos y contratos de agregación. Estos tres tipos de contratos son:
- Contrato de reputación: Realiza una comprobación del historial de un proveedor de oráculos para verificar la integridad del mismo
- Contrato de correspondencia de pedidos: Es un registro del acuerdo en el ámbito de servicio del contrato del usuario de la red y recopila oferta de proveedores de oráculos disponibles
- Contratos de agregación: Hace una recopilación de los datos colectivos de los oráculos elegidos y los equilibra para encontrar el mejor resultado
Las funciones de ChainLink, mediante estos tres contratos, realizan un proceso de tres pasos:
- Selección del oráculo: Cuando se realiza una solicitud mediante un smart contract, se demandan una serie de parámetros y requisitos para la búsqueda de datos, que recibe el nombre de acuerdo de nivel de servicio (SLA). Los parámetros pueden incluir la reputación de los oráculos, especificaciones de datos, número de oráculos y recursos necesarios, etc. Ahora el cliente puede realizar un filtrado de los datos y buscar manualmente los oráculos que más le interesen. Si no se quiere hacer una búsqueda manual, se puede hacer una búsqueda automatizada mediante un buscador específico. Pero es que además los contratos pueden implementar una tarifa de penalización si se realiza una conducta incorrecta. Cuando un contrato recibe suficientes ofertas de calidad, los oráculos son seleccionados y se inicia el servicio.
- Informe de datos: Vamos a un paso, que podríamos destacar como muy simple. Cuando el oráculo es elegido, realizan la tarea solicitada, recopilando la información de fuera de la cadena y la introducen dentro. Esta información se introduce en bloques para que los nodos puedan acceder a la información y la puedan procesar.
- Agregación de los resultados: Con la finalidad de validar la integridad de los datos, un smart contract de agregación recopila estos datos enviados por los oráculos asociados mediante un contrato inteligente. El contrato ahora promedia todos los datos, para ofrecer al solicitante una respuesta precisa y ponderada. Debemos destacar que no siempre se pueden ponderar todas las respuestas, aunque estos casos son muy escasos y muy concretos.
Funcionamiento fuera de la blockchain
ChainLink cuenta con una serie de nodos oráculo fuera de la blockchain que están conectados a la red Ethereum. De momento, ChainLink solo funciona con contratos inteligentes de la blockchain de Ethereum. Actualmente ya están trabajando en ampliar las capacidades y permitir el uso de sus oráculos en múltiples redes blockchain.
Los nodos que están fuera de la blockchain son los que recopilaran la información solicitada por el smart contract. Una vez recopilan la información relevante, realizan un procesamiento de los datos a través de ChainLink Core. Este software permite la comunicación entre la cadena y la infraestructura de fuera de la cadena.
Cuando ChainLink Core tiene los datos y los hay proceso, es el momento de transmitírselos al oráculo de la blockchain para agregar los resultados. Por este trabajo realizado, los operadores del oráculo fuera de la blockchain, son recompensados con el token LINK. Este es el token nativo de ChainLink, que sirve como pago por recolectar, procesar y transmitir los datos.
No solo realizan la función crucial de recopilación de datos de fuera de la cadena, también permite a los desarrolladores crear adaptadores externos. Estos adaptadores externos vendrían a ser algo así como las aplicaciones descentralizadas en Ethereum, pero sobre ChainLink.
Debemos entender los adaptadores externos como complementos que los operadores de nodos pueden usar para adaptar el software que puedan desarrollar en su base de operaciones. También pueden hacer tareas secundarias que permiten aumentar la velocidad de recopilación de datos.
Fuentes distribuidas y oráculos distribuidos
Estos dos elementos de ChainLink son importantes y permite que su protocolo de oráculos se diferencie de otras soluciones. La principal diferencia de otras soluciones, es que ChainLink es completamente descentralizado, mientras que otras contrapartes son centralizadas. Un oráculo centralizado tiene el defecto de recopilar datos que son fraudulentos.
ChainLink corrige este problema mediante un mecanismo de seguridad que denominan distribución de fuente y oráculo. Si un oráculo quiere conseguir una gran reputación, debe obtener los datos de cuantas más fuentes, mejor. Pero además, cuando un contrato inteligente hace una solicitud, esta «contrata» varios oráculos de fuera de la red. Estos oráculos externos a la red recopilarán la información de las fuentes que consideren, que pueden ser similares o diferentes.
Como recibimos los datos de tres oráculos y de múltiples fuentes, se garantiza que no hay manipulación. Si uno de los oráculos arrojara un precio muy superior al que ofrecen los otros dos oráculos, sabríamos que ese nodo es malicioso. Los oráculos honestos aumentan en reputación y el oráculo malicioso es castigado y pierde gran parte de su reputación.
Cómo garantiza ChainLink la seguridad
Ofrece múltiples capas de seguridad que van más allá de una simple descentralización de una red de oráculos:
- Arquitectura generalizada: Tiene un marco flexible que permite construir y ejecutar redes de oráculos. Esto permite la construcción y/o conexión de redes de oráculos personalizadas sin depender de otras redes de oráculos.
- Firma de datos: Los oráculos firman los datos que agregan a la blockchain con una firma criptográfica única. Esto permite a los usuarios saber el origen de la información de los datos.
- Datos de alta calidad: Ofrecen smart contracts con datos de cualquier sistema externo, incluso proveedores de datos premium. Esto permite que los contratos inteligentes manden comandos a otros sistemas, como pueda ser una pasarela de pagos convencional.
- Independientemente de la blockchain: Las soluciones de Chainlink se pueden ejecutar en cualquier blockchain. Esto permite que los nodos se puedan comunicar con otras blockchain públicas, privadas, permisionadas y otros tipos de redes.
- Acuerdos de servicio: Se pueden definir los términos de trabajo al oráculo solicitado mediante los smart contracts. Esto puede suponer que el oráculo haga un depósito de seguridad, el cual solo se devuelve si el nodo desempeña el acuerdo según las especificaciones requeridas.
- Sistemas de reputación: El histórico de trabajo de los oráculos está disponible públicamente mediante las firmas en los trabajos realizados. Ofrece a los usuarios elegir los oráculos según las métricas de desempeño histórico. Pueden ver los tiempos de respuesta promedio, el índice de finalización, el depósito de seguridad promedio y otros parámetros. Además, los operadores de los nodos oráculo pueden agregar datos adicionales, como la identidad, ubicación geográfica y certificación de terceros.
- Funciones adicionales: Actualmente se trabaja en añadir nuevos elementos de seguridad para los oráculos, agregación de privacidad de los datos, cálculos avanzados por estos oráculos y otros.
Para qué sirve el token LINK
LINK es un token de tipo ERC-20 que opera dentro de la blockchain de Ethereum. Según los desarrolladores, es «un token ERC-20 con una función adicional de transferencia ERC-223 de ‘transferencia y llamada’ que permite que los tokens sean recibidos y procesadores por smart contracts dentro de una única transacción»
Este token LINK sirve para pagar a los operadores del oráculo en cuestión. El valor y la demanda de estos tokens depende directamente de la cantidad de operadores que realizan el puente para la información entre la blockchain y el «mundo real».
Destacar que LINK cuenta con un suministro cerrado de 1.000 millones de tokens. No existe la posibilidad de crear más tokens, lo cual significa que cuanto mayor sea el uso de los oráculos de ChainLink, mayor será la escasez y mayor será el precio del token.
El 30% de los tokens LINK son propiedad de ChainLink, que serán usados para el desarrollo de la infraestructura y el pago a los trabajadores. Un 35% de los tokens se vendieron durante la fase ICO. El 35% restante se utilizarán para incentivar la red, es decir, los pagos del operador del nodo oráculo.
Casos de uso de Chainlink
La cantidad de smart contracts que requieren el uso de oráculos está en aumento. ChainLink ya cuenta con más de 77 casos de usos, siendo alguno de los principales:
Finanzas descentralizadas (DeFi)
Actualmente productos financieros convencionales como prestamos, pagos, derivados, equidad de activos y más se están empezando a construir dentro de las blockchain. Las tecnología blockchain y los smart contracts están aumentado la seguridad y transparencia de estos sistemas, al mismo tiempo que eliminan las barreras de entrada. Además, permiten el desarrollo de exchange descentralizadas más potentes con nuevas funcionalidades.
Las aplicaciones DeFi están utilizando los oráculos de ChainLink para la fijación de precios, acceso a tasas de interés, verificación de garantías y otras funciones. Permite a las DeFi la emisión de productos, como puedan ser los préstamos con un precio de mercado justo, se puede generar una automatización en la emisión de dividendos o la liquidación de contratos de opciones, entre otros.
Seguros
Otro de los casos de uso es aprovechar los smart contracts para los seguros paramétricos asegurados en la blockchain. Ya se están usando los oráculos de Chainlink para ofrecer datos meteorológicos al mercado de seguros de cultivos. Esto permite a los agricultores de todo el mundo el acceso a seguros para cultivos paramétricos con una sencilla conexión a internet. Se liquidan de una manera justa y crea la oportunidad de un acuerdo según las lluvias, temperatura u otros parámetros establecidos.
Sistemas convencionales
Permite a los proveedores de datos, las redes IoT, los sitios web o cualquier empresa que quiera poner a disposición de los usuarios sus datos, inyectarlos en la blockchain. ChainLink puede ser usado como puerta de enlace para conectar redes y datos del «mundo real» con cualquier red blockchain. Se busca desarrollar un marco de interoperabilidad basado en oráculos que permita a los sistemas convencionales conectarse con las blockchain. Esto fue descrito por Sergey Nazarov en el Foro Económico Mundial, donde presento el documento: «Bridging the Governance Gap: Interoperability for Blockchain and Legacy Systems»
La idea es que los oráculos de ChainLink puedan operar con datos y sistemas externos a una blockchain, ofreciendo una alta seguridad y confiabilidad. El objetivo final es aumentar las capacidades de los smart contracts, añadiendo nuevas opciones de uso.
Gaming
Está proliferando el desarrollo de los juegos basados en smart contract que incluyen elementos NFT. Uno de los aspectos de construcción de estos juegos blockchain es la aleatoriedad para generar escenarios de juego o determinar el ganador de ciertas recompensas. ChainLink ofrece una solución de aleatoriedad denominada VRF. Este elemento genera aleatoriedad y la entrega de un smart contract de manera que los usuarios pueden demostrar es justa e imparcial. Ni los jugadores, ni los desarrolladores del juego ni entidades externas tienen la capacidad de alterar o manipular la aleatoriedad.
Asociaciones de ChainLink
La mayoría de acuerdos de colaboración que se están consiguiendo es con el ecosistema bancario SWIFT. SmartContract realizo una prueba de concepto para SWIFT haciendo uso de ChainLink. Dicha prueba de concepto demostró como se puede usar ChainLink para la automatización de pagos de cupones de bonos.
ChainLink en la Conferencia SWIFT Sibos, de octubre de 2017, hizo una prueba de concepto exitosa. Esta consistía en la extracción de datos de tasa de interés de fuera de la cadena de los bancos: Fidelity, BNP Paribas, Barclays, Santander y Société Générale. Posteriormente generó un mensaje SWIFT ISO20022 para realizar el pago.
Además, cuenta con una asociación con Zeppelin OS, donde ayuda en el desarrollo de smart contacts más inteligentes, más rápidos y más fáciles. Town Crier de IC3, un sistema pendiente de patente que aprovecha el hardware confiable para verificación de datos también se ha asociado con ChainLink.
También se han asociado con Factom, un sistema de almacenamiento de datos descentralizado que utiliza blockchain y smart contracts. Request Network es una red de código abierto, estandarizada y descentralizada similar a PayPal, independientemente de la moneda. Actualmente trabajan con ChainLink para una posible integración fiduciaria.
Palabras finales sobre ChainLink
Los oráculos no son un sistema nuevo, llevan tiempo desarrollándose e integrándose en la blockchain de Ethereum. El problema que existía con los oráculos era su baja ineficiencia, el elevado coste de uso y la baja confiabilidad de los oráculos. ChainLink corrige todos estos defectos de los primeros modelos de oráculos, haciéndolos más económicos, mucho más eficientes y aumentando la confiabilidad.
Te explicamos qué es, cómo funciona y para qué sirve la tecnología blockchain
Como hemos visto, los oráculos son necesarios para acceder a datos de fuera de la blockchian. Esto además permite que los smart contracts tengan muchas más capacidades. Pueden ser usados para desarrollarse sistemas de comparación de precios, prestamos, pagos y un sinfín de nuevas posibilidades. Lo bueno del mecanismo de ChainLink es que cualquiera puede desplegar un oráculo. Pero también ofrece a los usuarios seguridad, ya que cuenta con un sistema de reputación.
¿Qué te parece la propuesta de oráculos descentralizados de ChainLink para aumentar las aplicaciones descentralizadas?