Funcionamiento y aplicaciones de blockchain 2.0
Autores: Ramón Jesús Millán Tejedor
Publicado en Conectrónica nº 225, GM2 Publicaciones Tecnicas, 2019
Introducción
Blockchain o DLT (Distributed Ledger Technology), es un "libro de contabilidad" público de datos digital (ledger), compartido entre una red P2P (Peer-To-Peer) distribuida de nodos (ordenadores u otros dispositivos ejecutando un mismo software) independientes, sin que sea necesaria una autoridad central o intermediarios que aporten confianza a las transacciones. Más en concreto, blockchain o "cadena de bloques" es la combinación de una estructura de datos, algoritmos y tecnologías de criptografía y seguridad, que trabajando conjuntamente pueden ser utilizadas para conseguir y mantener la integridad en redes P2P "puras", independientemente de su aplicación final [1].
La asociación de blockchain con las criptomonedas [2], generó una mala reputación, que ha dañado durante años su credibilidad y confianza, relacionándola con el blanqueo de capitales, el fraude fiscal, el comercio de drogas, la especulación, la estafa, etc. De hecho, varias de estas acusaciones se han demostrado ciertas; un ejemplo, es el portal de la Ruta de la Seda (Silk Road) de la Internet profunda (Dark Web), un autentico referente del tráfico de drogas internacional, que hasta su desmantelamiento por el FBI en el año 2013, utilizaba bitcoins para las transacciones entre compradores y vendedores.
Sin embargo, durante los últimos años la imagen de blockchain ha ido mejorando, pues aunque Bitcoin ha sido el primer uso práctico de blockhain, seguido por otras muchas monedas virtuales (Dash, Ethereum, Litecoin, Monero, Ripple, Zcash, etc.), en realidad sus casos de uso son múltiples. En la actualidad, como ocurre con otras tecnologías emergentes (5G, inteligencia artificial, etc.), se están generando muchas expectativas en torno al blockchain, algunas de ellas irrealistas o bien muy futuristas. A medida que la tecnología madure y se implemente en nuevas aplicaciones, podremos confirmar si esas expectativas eran realistas, o bien todo era una mera "burbuja". Pero sin lugar a dudas, la creación y despliegue de soluciones de blockchain va a suponer cambios importantes y muy positivos en la optimización de procesos en muchas industrias.
Funcionamiento de Bitcoin
Bitcoin comezó a funcionar en el año 2009, como un sistema de pagos P2P descentralizado y una moneda completamente digital [2]. Cabe destacar que su nacimiento se produce justo despues de la crisis de confianza en el sistema financiero, salpicado por el escándalo de las hipotecas basura y otros productos financieros de escasa solvencia.
El protocolo Bitcoin y su software se publican abiertamente, es decir, cualquier programador en cualquier lugar del mundo puede revisarlo o crear su propia versión modificada del software. De la misma manera que nadie controla la tecnología detrás del correo electrónico, Bitcoin tampoco tiene propietarios, siendo controlado por todos los usuarios Bitcoin del mundo. Desde la perspectiva del usuario, Bitcoin no es más que una aplicación software, que provee un monedero bitcoin personal y permite al usuario enviar y recibir bitcoins con el. Bitcoin se compone de usuarios con carteras conteniendo claves, transacciones que se propagan a traves de la red y mineros que producen -a traves de cálculo computacional simultáneo y distribuido- el consenso de la cadena de bloques, que es el libro contable de todas las transacciones [2].
Esta contabilidad distribuida, puesto que contiene cada transacción procesada, permite verificar la validez de cada una de ellas. La autenticidad de cada transacción está protegida por firmas digitales correspondientes a las direcciones de envío, permitiendo a todos los usuarios tener control total al enviar bitcoins desde sus direcciones Bitcoin. En Bitcoin cualquiera puede ayudar a procesar una transacción usando sus ordenadores y conseguir por ello una recompensa en bitcoins, lo cual se conoce comúnmente como minería (mining). La prueba de trabajo (proof of work) o resolución de los complejos cálculos matemáticos del sistema "hascash" utilizado por BitCoin, es muy difícil de producir, teniendo los nodos una baja probabilidad de exito; sin embargo, luego es fácil para otros nodos verificarla y comprobar que satisface ciertos requisitos. Una transacción en Bitcoin normalmente tarda 10 minutos en ser confirmada, pero podría llegar a tardar varias horas; es decir, cada 10 minutos de media se genera un bloque con la información de las transacciones que se han realizado durante ese período de tiempo, dicho bloque es verificado por los mineros y, si hay consenso, se almacena secuencialmente en la cadena de bloques principal, despues del bloque de transferencias justo anterior.
Además de la ineficiencia energetica y su impacto medioambiental, el problema fundamental para los Gobiernos, es que el Bitcoin facilita el anonimato en las transacciones. Por ejemplo, la Agencia Tributaria española desconoce en principio la identidad de los usuarios de Bitcoin; no obstante, no hay un anonimato total y con los inspectores adecuados, podría ser capaz de llegar a identificar la identidad de un determinado usuario, utilizando herramientas específicas (Blockchain.info, Blockseer, Chainanalysis, Coinfirm, Maltego, etc.) a partir las direcciones IP y bitcoin de origen y destino, los pagos realizados (cantidades y fechas), etc. En principio, nuestro patrimonio en bitcoins no es conocido por Hacienda, hasta que se vendan y el dinero pase a una cuenta bancaria, o bien se haga una compra importante. Del mismo modo que ocurre con las acciones de una empresa, si se venden los bitcoins a un precio mayor al que fueron comprados, hay que informar de la ganancia patrimonial en la Declaración de la Renta. Por otro lado, el minero de Bitcoin, es considerado una Actividad Económica, que debe ser declarada, así como sus correspondientes ingresos y gastos.
Funcionamiento de blockchain 2.0
A partir de la aparición de Ethereum a primeros de 2014, se empezó a hablar de un "blockchain 2.0". Blockhain 2.0 facilita el intercambio de valor más allá del bitcoin o las monedas virtuales, mediante los contratos inteligentes.
En primer lugar, es importante destacar que en blockchain puede haber un intercambio de valor o de información [3]. El intercambio de valor se refiere a que mediante blockchain, es posible asegurar que un activo físico o digital es único y no se puede duplicar, a quien pertenece, si se ha permitido su transferencia, etc. En el intercambio de información, blockchain asegura que todos los usuarios acceden exactamente a los mismos datos, cuál es su procedencia y que permisos tienen los usuarios.
Un concepto importante en este nuevo paradigma de blockchain es el de token [4]. El token puede ser un bitcoin u otra moneda virtual, o bien un contrato inteligente, representando cualquier tipo de activo o utilidad (moneda, póliza de seguros, títulos de propiedad, votos, hipotecas, herencias, opciones sobre acciones, etc.) y pudiendo ser utilizado como prueba de propiedad, licencia software, certificados de acciones, un sistema de votación, un programa de fidelidad, etc. El token está encriptado y, al irse almacenando, conforman la cadena de bloques. Más específicamente, un contrato inteligente (smart contract) es un programa informático que ejecuta acuerdos establecidos entre dos o más partes haciendo que ciertas acciones programadas con anterioridad sucedan automáticamente, como resultado de que se cumplan una serie de condiciones o clausulas específicas. Es decir, son contratos que se ejecutan y cumplen de manera automática y segura, reduciendo el fraude, los costes y la burocracia. Evidentemente, para explotar todo su potencial, se requerirían tambien cambios regulatorios y legales.
Blockchain utiliza un sistema criptográfico de clave pública (public key), tambien conocido como de clave asimetrica (asymmetric key). Cada cuenta (o dirección) de blockchain tiene dos claves, una pública (que puede ser compartida) y otra privada (que debe mantenerse en secreto) [1]. La clave privada es la que tiene la información sobre el usuario, garantizando su identidad y su anonimato, permitiendole acceder a sus activos. Si esa clave se pierde, sus activos tambien. La clave pública sólo muestra lo que el usuario desea que los demás puedan ver. Por ejemplo, para enviar dinero, el usuario necesita acreditar que tiene en su poder la clave privada, demostrando así que es quien dice ser y firmar con ella la transacción; mientras que para recibir dinero basta con proporcionar la clave pública.
Los bloques que se almacenan digitalmente en blockchain, mezclan la información de las direcciones de las partes involucradas en la transacción, la cantidad de unidades de valor o tokens en movimiento y una marca temporal; y luego las procesa a traves de una función llamada hash [4]. Esta función hash es un complejo algoritmo criptográfico que condensa en un único dígito de letras y números, con una longitud fija, información de cualquier extensión. En concreto, BitCoin en concreto utiliza el algoritmo de hash SHA-256. Esta información es la huella dactilar (fingerprint) o hash del bloque y es imposible encontrar dos entradas en el blockchain con el mismo valor. El problema es lo que todos los nodos de la red tratan de resolver con el fin de confirmar lo que contiene la transacción y enlazarla al bloque previo. Puesto que cada bloque tiene un hash enlazando al bloque previo, la información en el blockchain es fácilmente verificable e imposible de eliminar.
Tipos de blockchain
Existen tres grandes tipos de blockchain [1]:
- Las públicas (public), como Bitcoin o Ethereum, son grandes redes distribuidas basadas en un software de código abierto (open source) y abiertas a todo aquel que quiera participar. Los principales problemas para las empresas son la falta de privacidad, ya que cualquiera se puede unir aunque sea de forma anónima; así como, sus grandes necesidades de almacenamiento y procesamiento y falta de control sobre la latencia.
- Las autorizadas (permissioned), tal y como Ripple, tambien son grandes redes distribuidas, pero controlan los roles que los individuos pueden tener en la red. Entre las redes blockhain autorizadas, cabe destacar Alastria. Alastria es un consorcio multisectorial promovido por empresas e instituciones públicas españolas, para el establecimiento de una infraestructura blockchain, capaz de soportar los modelos más avanzados de contratos inteligentes, promoviendo así el desarrollo de servicios con eficacia legal en el ámbito español y acorde a la regulación europea.
- Finalmente, para ser miembro de las blockchain privadas (private) hay que pasar varios controles y se limitan los nodos que tienen acceso y su tipo de acceso. Estos tipos de blockchain son los más seguros, pues los nodos son conocidos y confiables y están promovidos por consorcios que tienen miembros conocidos y de confianza. Hyperledger, iniciado a finales de 2015 por la Fundación Linux y donde más de 100 compañías líderes (Accenture, Airbus, BBVA, IBM, Huawei, Intel, JP Morgan, Nokia, Oracle, Samsung, etc.), están trabajando de forma colaborativa en el desarrollo de un software de código abierto para utilizar la tecnología blockchain privada para corporaciones de distintos sectores.
Beneficios de blockchain
Blockhain ha suscitado un gran interes porque permite que un sistema distribuido puro, tenga el potencial de reemplazar los sistemas tradicionales centralizados y revolucionar múltiples industrias debido a la desintermediación. Al trabajar sobre una base de datos distribuida, los distintos usuarios de esa red hacen la labor tradicional del intermediario, ya que almacenan una copia de cada transacción en forma de bloques. Por ello, blockchain aporta seguridad, pues puesto que todos los usuarios tienen esa información, se considera cierta [3]. Por otro lado, como es un sistema distribuido, hay una gran redundancia.
El principal objetivo de blockchain es resolver el complicado reto de mantener la integridad y confianza en sistemas puramente distribuidos, con un número elevado de pares potencialmente anónimos, con desconocida reputación. La integridad implica que un sistema es seguro, completo, consistente y libre de errores [1]. El cifrado es necesario para conseguir la confianza mediante la identificación, autenticación y autorización, así como salvaguardando la seguridad de los datos. De este modo, blockchain es una de las tecnologías más seguras que existen [6]. Puesto que los datos están encriptados en una base de datos distribuida y entrelazada y se necesita el acuerdo unánime de todos los nodos para que la transacción sea validada, las posibilidades de atacar una red blockchain y tener exito son muy bajas, ya que la capacidad de computación necesaria para comprometerla sería muy elevada.
Por otro lado, una vez introducida la información en blockchain, esta no puede ser borrada o modificada, sólo se podrán añadir nuevos registros y no serán legitimados a menos que la mayoría de los nodos se pongan de acuerdo para hacerlo. Es decir, otra característica muy interesante de blockchain es la inalterabilidad, trazabilidad y transparencia; que permite ofrecer una visión única sincronizada de la información, agilizando y automatizando el proceso de verificación de la información y eliminando errores humanos [1].
Aplicaciones de blockchain
El "boom" mediático de los últimos años ha creado la falsa percepción de que blockchain va terminar por completo con todos los sistemas centralizados y con los intermediarios tradicionales (bancos, emisores de medios de pago, notarios, etc.). Sin embargo, ambos sistemas se complementarán, ya que tambien hay limitaciones inherentes a blockchain.
Entre las limitaciones, cabe destacar que los protocolos utilizados para validar transacciones en blockchain requieren de un tiempo variable y relativamente grande para ser completado, que va de minutos a horas, dependiendo de los picos de carga. Es decir, en el caso de aplicaciones que requieran una baja latencia, son generalmente mejores los sistemas centralizados. Por otro lado, blockhain es tambien una solución más costosa respecto a los sistemas centralizados si se va a intercambiar mucha información en la transacción, puesto que los datos tienen que ser replicados y validados por múltiples nodos de la red, aumentado las necesidades de almacenamiento y procesamiento. Además, blockchain supone un elevado consumo energetico, que puede dispararse aún más en el caso de transacciones complejas.
En principio, blockchain tiene aplicaciones en todas las industrias, pero para su adopción masiva serán necesarias mejoras tecnológicas, en especial a nivel de capacidad de procesamiento y eficiencia energetica. Tambien es necesaria la adaptación del complejo marco regulatorio que realmente será específico a cada caso de uso, industria y país donde se aplique. Con el tiempo, tambien será necesaria la interoperabilidad entre distintos tipos de blockchain.
Habiendo ya revisado las ventajas y desventajas de blockchain, ¿sería blockchain una tecnología adecuada para implementar un sistema de pagos?... Aunque se ha estado utilizando por las monedas virtuales, no es realmente una de las aplicaciones donde blockchain aporta más ventajas. En primer lugar, aún no está generalmente aceptada. Por otro lado, en un sistema de pagos podría requerirse de mucha información colateral (bienes, factura, terminos y condiciones, dirección de destino para el envío, etc.) y la transacción tiene que ser procesada casi instantáneamente; siendo la latencia difícil de predecir en blockchain, dada la necesidad de actualizar todos los nodos de la red y su continuo crecimiento y picos de transacciones. Mientras una transacción con MasterCard tarda unos pocos segundos, una con Ethreum lleva varios minutos y una con BitCoin puede tardar hasta unas horas. Además, en ocasiones, la transacción que ser cancelada y la inmutabilidad de la información en blockchain, crea retos cuando una entrada tiene que ser borrada o modificada. Del mismo modo, no es tampoco competitiva para realizar transferencias de dinero nacionales, que ya pueden ser ejecutadas actualmente por los bancos en unas pocas horas y de forma gratuita.
Sin embargo, blockchain sí que aportaría mejoras sustanciales en las transferencias de dinero internacionales. Las transferencias bancarias internacionales pueden llevar varios días, por lo que no hay restricciones en utilizar blockchain por problemas de latencia. Además, requieren de pocos datos (nombre del emisor, nombre del receptor, cuenta origen, cuenta destino, cantidad, moneda y fecha), por lo que pueden almacenarse muy fácilmente en blockchain. Finalmente, estas transferencias atraviesan varios bancos, reduciendo la confianza y acumulando comisiones que pueden aumentar el coste de la transacción por encima del 5%, con lo que la reducción de intermediarios con blockchain supone un claro beneficio económico. Blockchain tambien tendrá un importante papel en el mercado de capitales e inversión (acciones, bonos, derivados, etc.), productos de credito, productos de ahorro, contabilidad y auditoría de transacciones financieras, etc.
Los bancos, aseguradoras, notarías, etc., podrían trabajar con contratos inteligentes, personalizándolos más al perfil concreto de cliente, agilizando los trámites y reduciendo sus costes. El sector público tambien puede beneficiarse mucho de blockchain, permitiendo una importante reducción de costes y un mejor servicio a ciudadanos y empresas. Entre las aplicaciones está el registro de títulos de la propiedad, el control de subvenciones, el voto electrónico, los registros sanitarios, la gestión de licencias, etc.
Blockchain puede aportar mejoras a la industria del entretenimiento y medios, por ejemplo, pueden lanzar servicios para manejar más eficientemente las licencias y los pagos de royalties o mejorar las medidas de audiencia y detectar y combatir el fraude. En las industrias que tienen procesos de fabricación y distribución, hay beneficios por la mejora de la transparencia en toda la cadena de suministro, gestionando mejor la información relacionada con el origen del producto, precio y ubicación, además de la gestión logística y del transporte. Estas mejoras ayudarán a optimizar las cantidades de unidades y su disponibilidad en tiendas. Tambien es una tecnología muy prometedora para luchar contra la falsificación de productos y marcas. Blockchain puede tambien jugar un rol importante en el sector de las telecomunicaciones, en aspectos como la detección de fraude, la gestión de identidad, la autenticación y gestión de la seguridad en IoT, etc.
Bibliografía
- "Blockchain Basics. A Non-Technical Introduction in 25 Steps". Daniel Drescher. Apress, 2017.
- "Mastering Bitcoin: Unlocking Digital Cryptocurrencies". Andreas M. Antonopoulos. O’Reilly, segunda edición, 2017.
- "Blockchain for dummies". Tiana Laurence, John Wiley & Sons, 2017.
- "OECD Blockchain Primer". OCDE (Organización para la Cooperación y el Desarrollo Económicos), 2018.
- "How Does a Blockchain Work – Simply". Xavier Savjee, Vídeo de YouTube, 2017.
- "Exploración de las tecnologías blockchain desde el punto de vista de la ciberseguridad y privacidad". Javier Areitio Bertolín. Conectrónica, nº 212, GM2 Publicaciones Tecnicas, 2018.
