Interoperabilidad Algorand-Bloque64. Participa!

in #bloque644 years ago (edited)

img_0.9201005506366791.jpg

  • Contenido original para este post.

Una de las aplicaciones más interesantes que se ha logrado dar a la tecnología blockchain ha sido el de la interoperabilidad entre distintas cadenas.

Supongamos que un usuario posee un determinado activo X (fungible o no) dentro de la lógica del consenso de una blochchain. A su vez dicho sujeto entiende que pudieran existir otra cadena o cadenas que supieran interpretar la información de X de otra manera, de forma tal que X fuera compatible con otras aplicaciones y participara como un activo más de esas otras cadenas, pero al mismo tiempo X conserve las propiedades que tenía en la blockchain de origen.

Pongamos el ejemplo de una dapp sobre ethereum que posibilite el intercambio de obras de artes digitales estampadas como tokens no fungibles (NFTs). Supongamos entonces que un usuario de Hive quisiera vender la autoría de uno de las obras que habría registrado y compartido en una comunidad de artistas digitales de Hive. Si existiera una aplicación de interoperabilidad este usuario pudiese trasladar su obra a la red de Ethereum y comercializar su uso, luego de un tiempo de haberla expuesto a sus seguidores de Hive, inclusive pudiera hacer “versiones” de esta obra y vender una porción en distintas cadenas, integrarla a otras aplicaciones como coleccionables en juegos, exposición en museos virtuales de NFTs, y muchísimas otras posibilidades, aprovechando en cada momento los beneficios que le pudiera dar el empleo de algunas redes en particular.

Hay plataformas blockchain que han evolucionado muchísimo y que ofrecen soluciones muy interesantes al dilema de la interoperabilidad. Algorand es una de estas plataformas que llevan la delantera: Smart contracts en layer 1, activos tanto fungibles como no fungibles también en layer 1, un umbral de miles de transacciones por segundo, y tiempos de confirmación menores a 2.5 segundos. A su vez posee todo un entorno para facilitar el trabajo de los desarrolladores como SDKs en varios lenguajes, acceso público y gratuito a APIs para interactuar con la blockchain y un Developer Center con tutoriales de desarrollo a varios niveles de complejidad.

Hoy les mostraré un sencillo ejemplo de interoperabilidad que he desarrollado entre Algorand y Hive, más específicamente Algorand-Bloque64, un sitio de noticias hispana descentralizada que se ejecuta sobre hive-engine. El token nativo de la plataforma Bloque64 es BLQ.

Imagina que gestionas una cuenta que usas para curar contenido y de alguna manera quieres distribuir el “acto de votar” mediante tokens fungibles, es decir, un token Algo representa un voto en Hive, la transferencia equivale a “entregar” el derecho de un voto; y enviarlo a una dirección especial (manager) equivale a efectuar la votación sobre un determinado post. En Algorand crear este tipo de tokens es relativamente sencillo y no es necesario declarar un Smart Contract para ello, cualquiera puede hacerlo en layer 1 y declarar los campos y atributos distintivos.

¿Cómo funciona en la práctica?
En este ejemplo creo el token BLQV (BLQ Vote) y usaré la cuenta de Hive @cubanblock con actualmente cerca de 100K BLQ en stake o poder de voto, establezco un suministro máximo y la dirección que inicialmente tendrá los tokens. A su vez establezco una dirección “manager” que un poco más abajo explicaré para que se usa. Luego de definir todos los parámetros, creo el nuevo token mediante una transacción especial, y transfiero a ciertas direcciones para que comience la circulación. En un próximo post explicaré todos los detalles técnicos que involucran la creación de este token y del ejemplo en sentido general.

Ahora, Bob es un usuario de Hive y escribe contenido para Bloque64, a su vez Bob tiene una dirección pública de Algorand. Bob tiene en esa cuenta de Algo 10 BLQV, acaba de publicar una noticia en bloque64.com y quiere recibir un voto de @cubanblock en dicho post. Para ello Bob transfiere desde su wallet Algo a la dirección de congelación 1 BLQV (a razón de 1 BLQV = voto de 100% de cubanblock) y en el apartado de memo o texto de la transacción introduce el link o vínculo a su post. En unos momentos, el backend recibe la transacción a la dirección “manager” y castea a un nodo RPC de Hive la operación de voto hacia el post recibido en el memo. Es decir, mediante una acción de congelar tokens en Algorand, en este caso BLQV, se emite un voto de curación en Hive.

La dirección manager es aquella especificada al momento de creación del activo en Algorand. Esta dirección tiene la autoridad para destruir y modificar ciertos parámetros en los activos previamente creados.

Esta operación (el envío del token BLQV) se puede efectuar desde la propia billetera Algo Wallet para dispositivos móviles, AlgoSigner complemento para navegadores, desde el nodo cliente para ordenadores, o empleando los propios SDKs actualmente disponibles en varios lenguajes de programación. Para añadir un nuevo token en tu billetera Algo solo debes realizar una firma de autorizo.

img_0.7792373665494953.jpg

  • Captura de pantalla de Algo Wallet para Android, puedes descargarla aquí

Aclaro que este ejemplo tiene detalles de implementación que si eres desarrollador tal vez te gustaría conocer para implementar tus propios casos de usos cross-chain. Por eso te invito a un próximo post en el que abordaremos más detalles técnicos. (Este ejemplo demostrativo fue realizado en Go)

Llevemos el ejemplo a la práctica. Crea una billetera de Algorand, añade el token BLQV, y envíame tu dirección algo mediante un comentario en este post, enviaré 10 BLQV a todos los que comenten esta publicación con su dirección algo luego de autorizar el token en su billetera. Comienza a publicar contenido para Bloque64, y recibe full upvotes de @cubanblock.

¡Un caso sencillo pero que evidencia todas las posibilidades de la interoperabilidad!

Pablo Lara, Embajador de Algorand en Cuba.

Sort:  

Bien interesante este caso de integración. Excelente contenido @pabl0n

Gracias por el comentario @diazrock.

Muy buena integracion, la posibilidad de aprovechar las ventajas de los smart contracts de algorand para apoyar al proyecto bloque64, excelente!

Congratulations @pabl0n! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

<table><tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@pabl0n/upvoted.png?202009160259" /><td>You received more than 600 upvotes. Your next target is to reach 700 upvotes. <p dir="auto"><sub><em>You can view your badges on <a href="https://hivebuzz.me/@pabl0n" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">your board and compare yourself to others in the <a href="https://hivebuzz.me/ranking" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Ranking<br /> <sub><em>If you no longer want to receive notifications, reply to this comment with the word <code>STOP

Sinceramente veo muy interesante como se puede integrar Algorand a la dinamica que desarrollamos en bloque64.