Hola a todos, mi nombre es Sai Venom y formo parte del equipo de IBM Cloud. Hoy hablaremos sobre blockchain, un tema que me emociona mucho ya que siento que hay muchas concepciones erróneas sobre esta tecnología y además, algunos conceptos pueden resultar difíciles de entender.
Fundamentos de Blockchain
Comencemos con la definición: Blockchain es un libro mayor distribuido e inmutable que permite rastrear casi cualquier cosa, ya sean bienes tangibles o intangibles. La mayoría de nosotros probablemente estemos familiarizados con las criptomonedas, donde blockchain se utiliza para rastrear transacciones. Para entender cómo se distribuyen los bloques de blockchain, pensemos en una analogía. Imaginemos que estoy con un grupo de amigos y le presto a mi amigo Pat $10. Mis amigos presencian la transacción y saben que tengo la cantidad correcta de dinero. Además, ellos avalan la transacción y hacen un registro de ella. La próxima semana, cuando Pat me pregunta cuánto dinero le presté inicialmente, fácilmente podemos ir a cualquiera de mis amigos que tienen un registro de esa transacción. De manera similar, en blockchain, todos los nodos que están en la red tienen un registro de cada transacción que ha tenido lugar. Esto se debe a la naturaleza distribuida de blockchain.
Si bien la tecnología de los libros mayores ha existido durante algún tiempo, blockchain aprovecha esto al tener una fuente única de verdad y una naturaleza distribuida en la que todos tienen la misma copia de esa blockchain. Otro aspecto importante de blockchain es que es inmutable. Para comprender esto, debemos analizar las partes que componen un bloque. En un bloque tenemos tres piezas principales. En primer lugar, las transacciones. Estas son todas las transacciones que han ocurrido cuando se creó ese bloque. Además, tenemos un hash, que es una especie de huella digital que representa las transacciones en el bloque. Este hash es completamente único, lo que significa que si alguna de las transacciones se modificará, el hash también cambiaría. Imaginemos que elegimos un par de letras para el hash, aunque en realidad es una secuencia alfanumérica que generalmente es mucho más larga y segura. También se incluye el hash del bloque anterior en la cadena. Supongamos que estamos en el medio de una cadena de bloques y elegimos algo para el hash anterior, digamos «2A». Luego, el siguiente bloque tendrá su propio conjunto de transacciones, así como el hash anterior que se corresponde con el bloque anterior, y su propio hash. Esto continúa sucesivamente y podemos extrapolar todos los hash y hash anteriores. Si alguien intentara alterar una de las transacciones o cambiarla, por ejemplo, cambiar una de las transacciones en la cadena, el hash cambiaría. Como resultado, el hash anterior del siguiente bloque en la cadena sería incorrecto. Para solucionarlo, esa persona tendría que alterar cada bloque de la cadena, lo cual se notaría de inmediato. Por lo tanto, podemos decir que blockchain es inmutable y muy resistente a la manipulación.
Blockchain con permisos y sin permisos
A continuación, hablemos sobre la idea de blockchain con permisos y sin permisos. Comencemos con blockchain sin permisos. Cuando la mayoría de nosotros pensamos en blockchain, probablemente estemos pensando en criptomonedas, que son públicas y sin permisos. Esto significa que cualquiera puede ver todas las transacciones que han tenido lugar. Las identidades no se revelan exactamente, solo las direcciones de las personas. Sin embargo, todas las transacciones son públicas y cualquier persona puede registrarse para ser uno de los nodos en la red, lo que implica tener una copia de la blockchain y recibiendo un nuevo bloque cada vez que se actualiza y se realizan nuevas transacciones. Imaginemos el problema que esto conlleva para todos esos nodos: todos tienen una copia de la blockchain y, cuando llegan nuevas transacciones, ¿cómo llegan a un consenso sobre cuáles transacciones se incluirán en el siguiente bloque? Esto se logra mediante un algoritmo de consenso. Veamos cómo funciona esto en el caso de una blockchain sin permisos y pública. Primero, un cliente envía una transacción, que se une a una lista de otras transacciones que se han realizado en la red. Luego, el nodo comienza a recoger esas transacciones y las valida, revisando todas las transacciones que han tenido lugar en la blockchain hasta el momento para asegurarse de que también sean válidas. Luego, emula un bloque y comienza un algoritmo llamado «proof-of-work». Este es el algoritmo de consenso utilizado por las blockchains públicas sin permisos, y es cómo llegan a un consenso sobre cuál debería ser el siguiente bloque. Básicamente, se trata de un rompecabezas criptográfico muy complejo, que todos los nodos trabajan juntos para resolver. Tan pronto como uno de los nodos lo resuelve, desbloquea la posición del siguiente bloque y lo transmite a todos los demás nodos de la red, además de agregarlo a su propia blockchain. Sin embargo, este algoritmo de «proof-of-work» consume mucha energía y recursos de procesamiento a escala global. Aunque es necesario para respaldar las blockchains públicas sin permisos, donde cualquiera puede ser un nodo y enviar transacciones o proporcionar recursos informáticos para agregar nuevos bloques, no es beneficioso utilizar estos algoritmos en el ámbito empresarial y en blockchains con permisos, como por ejemplo, en Hyperledger Fabric. Aquí es donde aparecen algoritmos de consenso enchufables. En un blockchain con permisos, los nodos se conocen entre sí y generalmente son de confianza. Además, estos nodos no solo representan a usuarios individuales, sino a organizaciones completas. En este caso, es muy importante que la privacidad sea uno de los principales fundamentos de un blockchain con permisos. Siguiendo este ejemplo, si un minorista realiza una compra de 100 libras de productos por 1,000 dólares, el fabricante recibe la orden del minorista y la aprueba, verificando si tienen suficiente en el almacén y coordinando con la empresa de envío. En este punto, surgen preocupaciones de privacidad. El fabricante necesita conocer toda la información, lo cual está bien, ya que necesita saber sobre la orden de compra y la orden de envío. Sin embargo, el minorista, aunque necesita conocer información sobre la orden de compra, el monto y el precio, no necesariamente necesita saber cuánto costará el envío. No obstante, es posible que quiera saber cuándo se realizó el envío y cuánto valió. Del mismo modo, para la empresa de envío es necesario conocer que realizó una orden de envío, la cantidad y el costo, así como tal vez la fecha de la orden, pero no necesariamente necesita saber cuánto gastó el minorista. Lo mismo se aplica a otros minoristas con los que el fabricante pueda estar trabajando. Si el fabricante ofrece un precio diferente del producto a un minorista en comparación con otro, no tiene sentido que los minoristas conozcan los precios competitivos. Por lo tanto, aunque todas las organizaciones formen parte del blockchain, solo los minoristas que están involucrados en las transacciones deben poder ver esa información. En resumen, en un blockchain empresarial, es fundamental que la privacidad sea parte de él y que haya control sobre quién puede ver información transaccional específica.
Contratos Inteligentes
Por último, me gustaría mencionar que en blockchains con permisos se pueden realizar transacciones más eficientes. Uno de los aplicativos más exitosos de la tecnología blockchain son los Contratos Inteligentes. Estos son básicamente código que se ejecuta en la blockchain y que se activa automáticamente cuando se cumplen ciertas condiciones. Volviendo a nuestro ejemplo, cuando el minorista realizó ese pedido al fabricante por esa cantidad de bienes, probablemente haya un agente de fabricación que verifica que la orden tenga toda la información necesaria. Luego, posiblemente, se coordine con la empresa de envío para asegurarse de que puedan cubrir el envío y de que el almacén tenga la cantidad correcta de bienes. A continuación, la empresa de envío realiza una orden de envío. Ahora, imagina si pudiéramos automatizar todo este proceso. Eso es lo que se puede lograr con los Contratos Inteligentes, que son esencialmente código que se asegura de que se cumplan todas las condiciones necesarias: que el almacén tenga la cantidad correcta de bienes y, luego, automáticamente, se crea el registro de envío. Si alguna de esas condiciones no se cumple, el contrato se encargará de emitir un reembolso al comprador. Esto agiliza enormemente el proceso del contrato para todas las partes involucradas: el minorista, la empresa de envío y el fabricante.
Gracias por acompañarme en esta breve visión general de la tecnología blockchain. En realidad, solo hemos rascado la superficie, así que si deseas ver más videos como este, asegúrate de suscribirte. Si te gusto el video, dale un like, y si tienes alguna pregunta, no dudes en dejar un comentario a continuación. ¡Gracias!
¿Te ha resultado útil??
0 / 0
Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!