Blockchain es una tecnología que nace en 1991 con la publicación “How to Time-Stamp a Digital Document” (Cómo registrar documentos digitales) de S. Haber y S. Stornetta con la idea de crear un mecanismo para registrar de forma inmutable y confiable todo tipo de archivos multimedia en internet.
Desde ese momento, la tecnología se ha extendido a aplicaciones y usos más amplios. Actualmente hay varias opciones de código abierto como Hyperledger, Corda, EFW o Multichain donde puedes descargar la aplicación de blockchain y programar la cadena a tu gusto, decidiendo quién quieres que participe y bajo qué reglas se regulan las transacciones. También se pueden crear entornos federados haciendo un fork de una red pública, como Ethereum, creando así tu propia red customizada. Es por eso que, en muchas ocasiones, el código generado por la comunidad de desarrolladores puede ser y es reutilizado. A modo de ejemplo, en Github se pueden encontrar los repositorios de Ethereum o Hyperledger, que son quizás los dos softwares más utilizados para establecer nuevas redes de Blockchain.
A la hora de diseñar una solución en base a una red de blockchain, se puede empezar por tener en cuenta lo siguiente:
Blockchain no es una criptomoneda
En 2008, Bitcoin, la primera y más exitosa criptomoneda, utilizó la tecnología blockchain para crear una red en la cual personas anónimas pudiesen realizar transferencias de moneda no fiduciaria sin necesidad de intermediarios. Tras el nacimiento de Bitcoin comenzaron a lanzarse muchas otras criptomonedas utilizando blockchain, siendo hoy ya más de 2.000. Más allá de las criptomonedas, el éxito de la tecnología blockchain para generar consenso, funcionar de forma descentralizada y resistir intentos de hackeo con su condición de inmutabilidad, motivó a la comunidad emprendedora a considerarla como una opción atractiva para construir soluciones digitales a nivel gubernamental y empresarial.
Una vez se entiende que blockchain no es una criptomoneda sino un registro descentralizado de información que se almacena en forma de transacciones que se agrupan en bloques, surgen preguntas como ¿qué son las transacciones? o ¿cuáles son los participantes y cómo interactúan con la red?
Entonces, ¿cuáles son los elementos clave de blockchain para diseñar una solución?
Primero, vale reconocer que no todos blockchains son iguales. En general, podemos clasificar los diferentes tipos de blockchain en cuatro grupos: públicos, privados, federados y “Blockchain como un servicio” (BaaS por sus siglas en inglés). Sus principales diferencias son el modelo de administración, el nivel de descentralización o el grado de transparencia, entre otras características. La opción más recurrida a la hora de desarrollar soluciones digitales con valor de impacto social son las redes federadas, que permiten a empresas e instituciones gubernamentales utilizar la tecnología blockchain para generar consenso y aumentar la seguridad. El ejemplo que daremos en este blog corresponde a un blockchain de este tipo.
Sin embargo, hay ciertos ingredientes que casi todos los blockchains tienen en común por defecto. Los tres elementos clave en la función del blockchain son sus participantes, activos, y transacciones.
1. Participantes
Los participantes son todos aquellos colectivos que van a jugar un papel en la solución digital con blockchain. Estos incluyen desde las compañías que administran la red (en el caso de que las haya) hasta los usuarios de a pie, pasando por entidades auditoras, instituciones financieras, etc.
Para dimensionar el papel de cada participante, vale preguntarse: ¿Cuáles son los permisos que tendrá sobre la red? ¿Cómo va a interactuar con el sistema? ¿Tendrá acceso a una copia de toda la cadena? ¿Podrá ver solo las transacciones en las que participe o tendrá acceso a más información? ¿Cuáles son las transacciones que podrá realizar?
Dependiendo de cuáles sean las respuestas a estas preguntas, los participantes recibirán o no una copia de toda la cadena y tendrán o no permisos para ver y/o validar transacciones. Solo los participantes que tienen una copia de la cadena son considerados nodos, según la definición que damos en nuestro documento. El resto, que accederán en general a través de un servicio web o una aplicación móvil, son simplemente usuarios.
2. Activos
Una vez tenemos claro quiénes van a ser los participantes, necesitamos saber qué van a intercambiar a través de la red blockchain. La forma de entender este grupo es pensar que cuando los participantes hacen una transacción, en muchas ocasiones están transfiriendo algo. Ese “algo” es el activo, y puede ser un documento, un certificado, un informe, un token, una moneda digital, etc.
Es importante también resaltar que los documentos pesados no se almacenan en el blockchain si no en bases de datos conectadas al blockchain, lo que permite igualmente registrar sus modificaciones. Esto está motivado por cuestiones de eficiencia, ya que todos los nodos tienen una copia actualizada de la cadena y la ineficiencia es directamente proporcional al peso de la misma.
3. Transacciones
El tercer elemento son las transacciones. Si bien ya sabemos quién va a “jugar” (los participantes) y cuáles van a ser los “juguetes” (los activos), falta definir cuáles van a ser las reglas del juego. Las transacciones son la forma en la que se registra cualquier modificación en el blockchain, desde el cambio de permisos de un usuario en el sistema, hasta la emisión de un certificado o el envío de una transferencia económica. Pueden verse también como las operaciones mediante las cuales los participantes crean, intercambian, modifican o destruyen activos.
Blockchain para monitorear una cadena de suministro internacional
Vamos entonces con el ejemplo. Supongamos que una empresa uruguaya quiere exportar un cargamento de carne a México. El gobierno mexicano exige que la carne esté certificada como libre de aftosa y que no sobrepase una temperatura determinada en todo el recorrido. Con este objetivo, se realizará un control periódico de la temperatura, digamos cada 15 minutos, en el contenedor en el que viaja la carne. Si la carne llega a México teniendo el certificado “libre de aftosa” y sin haber superado la temperatura exigida, se desea que el gobierno mexicano realice el pago acordado a la empresa uruguaya.
¿Cómo sería en este caso una solución utilizando blockchain? ¿Cuáles son los participantes, los activos y las transacciones?
- Empresa uruguaya
- Gobierno de México
- Entidad financiera
- Dispositivo IoT
- Entidad sanitaria certificadora
- Entidad auditora
- Certificado “libre de aftosa”
- Certificado “temperatura apropriada” o historial de evolución de la temperatura
- Notificación del envío del cargamento
- Notificación de depósito de pago
- Emisión del certificado de ausencia de aftosa
- Medición de temperatura
- Notificación del recibo del cargamento
- Notificación de la realización del pago
- Participantes: La empresa exportadora uruguaya, el gobierno de México, una entidad financiera que retendrá el dinero de México mientras el cargamento viaja, un dispositivo IoT que va a enviar información periódica sobre la temperatura del contenedor, una entidad certificadora que compruebe que el cargamento está libre de aftosa y emita el correspondiente certificado y una posible entidad auditora que supervise todo el proceso.
- Activos: Los activos aquí podrían ser el certificado de que la mercancía está libre de aftosa y el historial de evolución de la temperatura medido por el dispositivo IoT, que se emite solo en caso de que la temperatura no haya sobrepasado el umbral deseado.
- Transacciones: Las transacciones podrían ser la notificación del envío del cargamento de Uruguay, la notificación de depósito de pago, la emisión del certificado de ausencia de aftosa, la información sobre las medidas periódicas del dispositivo IoT, la notificación de llegada del cargamento y la notificación de la realización del pago.
La forma en la que el proceso tendría lugar sería entonces la siguiente:
La imagen ilustra cómo van generándose las transacciones a medida que el contenedor viaja de Uruguay a México. En este caso cada transacción es un bloque. En la parte inferior, se muestra cómo de los cinco participantes, solo la empresa uruguaya y el gobierno de México tienen acceso a toda la información del blockchain mientras el dispositivo IoT, la entidad financiera y el inspector sanitario solo tienen acceso a la información que ellos han de proporcionar a la cadena de bloques.
Después de ver este ejemplo, ¿estás preparado para conceptualizar tu propia solución en blockchain?
Por Marcos Allende López y Vanessa Colina Unda del Departamento de Información y Tecnología del BID.
SAMUEL DIAZ FLORIAN Dice
Muy clara y didáctica la explicación.
Marcelo Sanchez Dice
Excelente exposicion clara y muy entretenida
Rafael Galindo Monsalve Dice
Muy bien explicado, concreto y claro. Sin embargo debo profundizar más en el tema para comprender mejor la manera como Blockchain puede ser útil en mi actividad académica
9series Solutions Dice
Thanks for this excellent post sharing here.
carolina Dice
Excelente articulo, muy claro
Daniel Echeverría Alemán Dice
Blockcahin pudiera usarse incluso en procesos electorales, utilizando por ejemplo, un dispositivo conectado a una boleta digital en el que cada elector generara su voto y este quedará registrado por el ID ÚNICO de la cadena de bloques.
Irma Eidalis Rodríguez Angulo Dice
Decide que en esta cuarentena me informaría y formaría en las redes con un tema de me apasiona como es el sistema de las criptomonedas. Buscando uno terminos que no entendía conseguí su artículo el cual para mí es una JOYA.
Porque explican de una manera muy sencilla y gráfica está era que a casi 30 años de su lanzamiento llegó para quedarse.
Y para nosotros de la era de papel y el lápiz nos ha costado algo.
FELICIDADES Y LOS INVITO A SEGUIR FORMANDO!🙏
Anahir Rial Troncoso Dice
Excelente!!!!!! L@s Felicito a td@s y comparto las opiniones!!!! es maravilloso encontrarnos con semejantes que aspiramos a ideales tan parecidos proviniendo de tan divergentes contextos, capacidades, formaciones, etc!!!!!
Me voy muy feliz!!!!
Saludos compañer@s!!!!!
GRACIAS!!!!!!
Ariel Dice
Gracias por contribuir al entendimiento del blockchain y las criptomonedas Arieldi Marrero Batista
Dennis Mery Dice
hola….muy bien explicado…. una consulta como se determina la cantidad de nodos, cual es el criterio utilizado en Blcockchain (Hyperledger, por ejemplo)
Saulo Paillacho Dice
Gracias por la publicación, muy importante, desearía fortalecer la seguridad en una red federada en los establecimientos de salud del Ecuador, utilizando BlockChain.
Marcos Vilela Dice
Las empresas dependen de la información. Cuanto más precisos y rápidos sean para recibir, mejor. Blockchain es ideal para entregar esta información, ya que proporciona información inmediata, compartida y completamente transparente almacenada en un registro inmutable al que solo pueden acceder los miembros de la red autorizada. Una red blockchain puede rastrear pedidos, pagos, facturas, producción y más. Como los miembros comparten una sola vista de los hechos, es posible ver todos los detalles de una transacción de principio a fin, lo que brinda mayor confianza, eficiencia y nuevas oportunidades.
Karle Dice
Muy buen contenido gracias por la publicación, me encanta e interesa todo el tema relacionado al blockchain, quiero desarrollar una aplicación con la tecnología blockchain, leí una reseña sobre esta empresa que es desarrolladora de software https://mitsoftware.com/ sera la mejor opción o conocen alguna otra?
Lorena Valdez Dice
Excelente explicación!!!
Muchas gracias por compartir su conocimiento.