Traducción al español del original publicado por Felix Hildebrandt
Puedes consultar la versión original en inglés aquí
Publicado Marzo 1, 2022
Este artículo es la última parte de una trilogía. La primera publicación discute los objetivos del proyecto, la red blockchain y la economía. Después de cubrir los problemas que las cuentas actuales enfrentan, el segundo artículo introduce la primera mitad de estándares, con los que ahora continuamos.
El Mundo NFT
Los Tokens no fungibles (non-fungible tokens, NFTs) están ganando una tracción significativa en el arte digital y los coleccionables. Los usos prácticos en otras industrias, como la moda, la música y los videojuegos, están a la vuelta de la esquina. La atracción hacia los NFTs surge a causa de su habilidad única de permitir una verdadera propiedad de información digital sin depender del almacenamiento de terceras personas. Las redes blockchain permiten la creación de activos digitales que tienen valor que se puede transferir y, tal como los activos físicos, disfruta de los beneficios de una economía de libre mercado. Los NFTs se ocupan como membresías a comunidades en línea que ya han desarrollado economías creativas con esta tecnología.
Como muchas nuevas tecnologías, los NFTs tienen limitaciones y necesitan un mayor desarrollo para lograr el potencial de su utilidad. Un tema significativo es cómo se almacena la valiosa información que se adjunta al NFT. La información que el NFT representa, usualmente no está dentro del contrato inteligente del token. En lugar de eso, apunta a un archivo fuera de línea en un servidor centralizado, comúnmente guardado como un archivo JSON.
Referencias completamente fuera de línea, tienen desventajas considerables. Los contratos inteligentes no pueden leerlos, y no pueden ser utilizados por ningún contrato inteligente construído alrededor de los NFTs. Además, su información está ligada por un URL (dirección en internet) y no referenciado directamente por un hash, lo que es un método para verificar criptográficamente que la información no ha sido modificada. Nuevos estándares NFT deberían utilizar hashes para que el archivo pueda constantemente ser verificado, sin importar la solución final de almacenamiento.
LSP4: Digital Asset Metadata (Metadatos del activo digital)
Un NFT debería tener la capacidad de contener diferentes tipos de metadatos. Digital Asset Metadata define a un activo digital con descripciones, imágenes y archivos del activo. El estándar permite listas con múltiples artistas, ligadas a contenido adicional, múltiples variaciones de arte y mucho más. Los desarrolladores pueden ligar diferentes creadores a un activo, usualmente referenciando su Perfil universal, para compartir créditos u obtener regalías. Otros contratos inteligentes también pueden leer esa información, verificando la validez del activo.
Un ejemplo puede ser el de Lambada NFT, en el que los tipos de datos son directamente obtenidos desde el contrato inteligente mismo. Supongamos que combinamos los metadatos con lógica adicional. En este caso, las posibilidades son casi infinitas, permitiendo a los NFTs que tengan activos expandibles y metadatos que puedan cambiar con el tiempo con base en permisos especiales o eventos.
El estándar Digital Asset Metadata utiliza el estándar ERC725Y combinado con el Storage Schema para generar una descripción estandarizada de activos. El valor primario dinámico almacenado del ERC725Y permite a la economía creativa almacenar significativamente más información directamente en el activo.
LSP5: Received Assets (Activos recibidos)
Ahora que conocemos sobre la habilidad de crear tokens multifunciones con activos correctamente ligados, podemos discutir cómo los Perfiles universales se mantienen al tanto de ellos. Debería existir una forma eficiente para rastrear direcciones de activos recibidos y mostrarlas en el perfil o en otros servicios. Este estándar permitía una forma descentralizada para ver los activos propiedad de un perfil, que ahora sólo es posible a través de proveedores de servicio centralizado que busca en la blockchain y muestra transacciones en un formato leíble.
El estándar Received Assets describe como llaves dentro del valor primario de almacenamiento del Storage Schema pueden referenciar la dirección de los activos. El estándar del contrato inteligente mantiene un arreglo de direcciónes de contratos inteligentes del activo y una mapa de activos para identificar su tipo. El mapa también ayuda a prevenir duplicidades de direcciones de contrato listadas. Una copia de una dirección hará referencia al mismo arreglo índice, el que puede ser agregado automáticamente a través del Universal Receiver Delegate, si los activos son transferidos a un perfil.
El estándar Received Assets dentro de la cuenta puede también ayudar con el adelgazamiento (pruning), pues los activos adquiridos ahora no sólo son referenciados con la transferencia, sino también desde el Perfil universal. Almacenar todos los activos recibidos es un gran punto de partida para una nueva generación de aplicaciones blockchain. Reduce drásticamente la complejidad cuando se consultan conjuntos de datos. Típicamente, los servicios tienen que buscar historial de transacciones con una herramienta de exploración o proyectos centralizados como Etherscan para consultar el historial de propiedad de direcciones específicas. Sin éstos, los servicios usualmente ni siquiera ven información, pues las EOAs no almacenan información de los activos recibidos.
Utilizar un API conlleva el riesgo de dependencia en servicios centralizados y el potencial error. Almacenando activos que se reciben en línea, los servicios pueden consultar todo dentro del contrato inteligente del Perfil universal con los estándares Universal Receiver Delegate y Received Assets. Páginas web y aplicaciones pueden ser construidas a partir de cargar información de contratos inteligentes, permitiendo interfaces descentralizadas. Por ejemplo, el Directorio de Perfiles universales de LUKSO busca todos los perfiles y activos a partir del almacenamiento del contrato inteligente.
LSP6: Key Manager (Administrador de llaves)
El Perfil universal está pensado para construir cuentas basadas en contratos inteligentes soberanos, de tipo punto a punto. Las relaciones entre esos perfiles vienen de interacciones entre individuos y servicios. Una Cuenta ERC725 por sí sola no elimina la necesidad de o permitir la administración de permisos. Los usuarios necesitan una forma para controlar perfiles a través de múltiples dispositivos y llaves, brindando a las aplicaciones la posibilidad de actuar en su representación y extendiendo el control de los perfiles a través un sistema de derechos y roles. Por ejemplo, los usuarios pueden restringir los cambios a la propiedad de la cuenta a un sólo dispositivo, como una computadora segura en casa, mientras permite transacciones día a día con su teléfono inteligente. Incluso multifirmas pueden establecerse para crear perfiles descentralizados para organizaciones autónomas descentralizadas (DAOs).
Con el Key Manager, los usuarios pueden agregar múltiples llaves o servicios a su Perfil universal para ejecutar diferentes acciones. El estándar Key Manager soluciona el problema de quién puede hacer qué en todos los Perfiles universales al asignar permisos y restricciones a actividades específicas de ciertos dispositivos o llaves. Inicialmente, hay 8 permisos, que van desde sólamente firmar hasta cambiar propiedad. Los permisos son otorgados mediante bits de datos y nuevos pueden estandarizarse en el futuro.
Cuándo se utiliza el Key Manager, el Perfil universal no interactúa directamente con cualquier contrato inteligente o EOA. En lugar de eso, el contrato inteligente del Key Manager actúa como una protección para el perfil. El contrato verifica si la transacción firmada tiene permiso de ejecutar la acción solicitada antes de ejecutarla. Todas las llaves y permisos están todavía almacenados en la Cuenta ERC725, pero controlados por el contrato inteligente del Key Manager. Entonces, las cuentas pueden también actualizar el Key Manager al llamar la transferencia de propiedad en un perfil. El estándar controla las llamadas de transacción que llegan del exterior hacia el Perfil universal del usuario. Actúa como una pared de permiso para transacciones entrantes y permite a los usuarios tener una interacción más funcional, segura y amigable con el usuario desde su perfil.
Sobre los servicios de transmisión (Relay Services)
Servicios de transmisión pueden ser instalados en LUKSO para trabajar con los Perfiles universales. Los servicios de transmisión son sistemas programados que ejecutan las instrucciones del usuario en su representación, por lo que el acercamiento inicial no requiere fondos desde sus carteras. En lugar de enviar transacciones directamente a la blockchain, los usuarios pueden enviar sus transacciones firmadas a un servicio de transmisión. El servicio de transmisión escuchará continuamente las transacciones, verificará si son válidas y las enviará al respectivo Key Manager de un perfil en la blockchain. El Key Manager verifica que ha sido firmada por una llave controlando el Perfil universal y la transacción es ejecutada.
Los servicios de transmisión manejan el costo de la infraestructura detrás de cámaras. Las empresas pueden comprar LYX y establecer un servicio de transmisión con esas monedas para ejecutar transacciones para sus clientes. Los costos pueden ser subsidiados por proyectos donde los usuarios pagan una suscripción o indirectamente brinda valor al ver anuncios o al empezar su proceso de inducción. Estos servicios de transmisión ya están disponibles en LUKSO en la red de prueba, donde los desarrolladores pueden experimentar sin costo. LUKSO también contará con un servicio de transmisión para usuarios iniciales en la red principal, haciendo sencillo el proceso inicial.
Los servicios de transmisión mejorarán la conveniencia y la usabilidad al crear o editar Perfiles Universales o interactuando con otros contratos inteligentes. Las aplicaciones pueden usar dichos servicios de transmisión para esconder la complejidad de la tecnología de fondo y crear mejores experiencias de usuario.
LSP7: Digital Asset
La especificación Digital Asset es un estándar para tokens tanto fungibles como no fungibles. Está basado en el ERC20, que Fabían Vogelsteller propuso en 2015 para tokens fungibles, y mejora con ideas del ERC777 y otros estándares, como el ERC223. El estándar brinda capacidades de metadatos basados en ERC725Y, permitiendo a los tokens beneficiarse de almacenamiento de información estandarizada. Brinda funcionalidad para enviar tokens en representación de un usuario y hacer transferencias en bloque. Ambas funcionalidades funcionan bien con servicios externos. Por ejemplo, los juegos pueden manejar divisas en el juego o los activos que posees en tu perfil, los organizadores de conciertos pueden transformar o estampar boletos para usuarios. En cierta forma, actúan como tú cuando gastas activos específicos. Esta gestión de tokens será parte esencial en el metaverso, porque la propiedad permanece en el lado del usuario,y los permisos dan paso a mejores interacciones dentro del ecosistema.
Dado que la fungibilidad no está estrictamente definida, puede servir como una base universal para tokens. El estándar también habilita ganchos y transferencias forzosas. Con ganchos, los tokens pueden informar otros contratos inteligentes sobre las transferencias utilizando el estándar Universal Receiver, permitiendo a los perfiles rechazar o revertir transferencias.
Estas funciones son esenciales porque la pérdida de tokens es un gran problema en el espacio blockchain actual. Los usuarios deben lidiar con el riesgo de enviar fondos accidentalmente a la dirección equivocada y no tener la posibilidad de revertirlo. En Ethereum por ejemplo la dirección null address tiene más de 30 millones de USD en Ether y 200 millones USD en tokens, que presumiblemente fueron enviados accidentalmente. En Bitcoin, el análisis token loss de Chainalysis encontró pérdidas significativamente mayores.
Como lo expresamos antes, almacenar activos en llaves puede llevar a la pérdida de información. Sin embargo, es a veces necesario enviar activos directamente a llaves. Es por ello que el estándar Digital Asset introduce el parámetro force. Por default, los usuarios sólo pueden enviar transacciones de tokens a otros contratos inteligentes, incluyendo Cuentas ERC725 que implementan la funcionalidad Universal Receiver, lo que significa que pueden actuar en representación en el evento de transferencias y confirmar que el ingreso del activo es apropiado. De cualquier forma, si los usuarios están completamente al tanto de sus acciones, pueden forzar “force” el activo y enviarlo a una dirección regular
Los desarrolladores pueden usar el estándar Digital Asset para tokens no fungibles al establecer los decimales como 0, lo que especifica el token como no divisible. El contrato inteligente Digital Asset representa un ítem NFT genérico, y siendo propietario de cualquier cantidad en el contrato, significa ser propietario de un NFT de este contrato inteligente.
LSP8: Identifiable Digital Asset (Activo digital identificable)
El Identifiable Digital Assed incluye muchas de las características del estándar Digital Asset, pero agrega la funcionalidad para permitir metadatos únicos para cada NFT en una colección. Viene con un estándar de metadatos, operadores, hooks y force. Los usuarios y servicios pueden intercambiar, emitir, y quemar estos activos no fungibles sobre un número identificador, en lugar de sólo las cantidades de tokens, lo que los hace únicos y verificables. Otra ventaja, comparado con el estándar más utilizado actualmente ERC725, es el campo de identificación. El ID es un campo de 32 bytes, permitiendo a los token IDs ser números, bytes, strings, direcciones de contratos inteligentes, hashes o string values que pueden imitar los números de serie como en el mundo físico.
Almacenaje unificado para tales activos tan únicamente creados también se expande con el estándar Digital Asset Metadata. Cada NFT puede incluir su propio set de metadatos, verificables en línea y fuera de línea. A diferencia de los estándares actuales, donde sólo el contrato del NFT contiene metadatos predefinidos, un NFT Digital Asset puede ser ligado a otros contrato inteligente ERC725Y, permitiendo a los tokens hacer referencia a la lógica de su propio contrato inteligente con metadatos personalizados. Estos nuevos NFTs son más flexibles y actualizables. Los NFTs también pueden incluir la historia de las actualizaciones previas de metadatos para simplificar los procesos de búsqueda. En esta nueva generación de NFTs, llamados NFTs 2.0, los juegos y servicios pueden utilizar este estándar para diseñar activos con metadatos ricos e interpretables por contratos inteligentes. Los individuos pueden también usar la tecnología NTFs 2.0 para conectar activos con nuevas comunidades y vías de pago. Por ejemplo, las cuentas pueden participar en la operación de ganancias o desbloquear características adicionales con base en el tiempo que han tenido el activo. El estándar Identifiable Digital Asset también incluye la transferencia en bloque, permitiendo a los usuarios un mayor número de token IDs en una sóla transacción.
Independent Assets (Activos independientes)
Por el momento, los NFTs regulares deben ser minted (creados) y transaccionados desde una cartera conectada a una cuenta de propiedad externa. Tienen dueños iniciales y son principalmente, objetos estáticos representando propiedad. Los estándares futuros permitirán a los NFTs ser lugares para transaccionar en sí mismos, permitiendo comprar y vender el NFT al nivel del contrato inteligente. Dicho estándar removerá el tráfico y la lógica de plataformas intermediarias que introducen cuotas adicionales y resultan en riesgos de seguridad. En combinación con la posibilidad de recibir y rechazar, los servicios pueden elevar la seguridad a niveles más altos. También permite compartir tarifas entre muchos creadores de un NFT. Los activos que pagan el gas por sí solos o que actúan basados en código intrínseco también pueden ser un potenciador masivo para videojuegos en el metaverso. Los desarrolladores incluso podrán conectar tales acciones con oráculos (portales de servicios fuera de la blockchain), por lo que eventos en la vida real puedan detonar acciones específicas en línea. La funcionalidad beneficiará a creadores y desarrolladores, pues las regalías o activos pueden ser automáticamente transferidos o editados de esta forma.
Una nota sobre phygitals (Figitals, físico + digital)
Al haber expandido el tamaño de key dentro del almacenamiento del contrato inteligente, los creadores podrán fusionar el mundo físico y digital, referenciando valores a IDs relevantes. Activos con chips NFC, códigos QR, o números de serie, pueden ser conectados con un certificado digital en la blockchain LUKSO para tener un gemelo digital para los activos del mundo real. Un ejemplo puede ser la industria de la moda. Con una manera unificada de almacenar metadatos, las colecciones de ropa pueden ser verificadas y comparadas con números de serie de NFTs. Las prendas pueden tener información adicional adjunta, como un boleto o divisas para gastar en algún evento. LUKSO creó uno de los prototipos físicos hace casi dos años.
LSP9: Vault (Bóveda)
Las Vaults permiten a los Universal Profiles almacenar activos y otra información en recipientes independientes del Perfil universal. Pueden contener activos, interactuar con otros contratos inteligentes y adjuntar información a través del almacenaje estandarizado. La Vault está conectada a un perfil pero puede ejecutar desplegar y transferir valores a otro contrato inteligente o EOA. Los usuarios pueden permitir a las aplicaciones almacenar datos, contratos inteligentes en particular. Por ejemplo, un juego puede conectarse al Perfil universal del usuario y almacenar los activos y estados en una Vault específica del Perfil universal. El servicio sólo necesita permiso para escribir en él. Tal encapsulamiento es altamente reminiscente de las estructuras de folders que utilizamos en nuestras computadoras. Los servicios también tendrán amplias opciones para organizar la vida digital diaria de un individuo. También limita el riesgo de aplicaciones malignas al restringir el acceso a una Vault específica.
LSP10: Received Vaults (Bóvedas Recibidas)
El estándar Received Assets ya mantiene un registro de los activos que alguna vez fueron recibidos en el perfil. Almacenando historias ayuda con el tema del pruning, reduce drásticamente la complejidad para los sets de búsqueda de información, y reduce el riesgo de dependencia en servicios centralizados para todos los activos. Además, las páginas web y los servicios pueden cargar información directamente desde contratos inteligentes. El estándar Received Vaults ahora brinda esta funcionalidad para la información almacenada dentro de las Vaults. Muestra cuántas Vaults distintas tienes, su tipo y la dirección del contrato inteligente.
Así como el estándar Received Assets, la especificación Received Vaults describe 2 llaves qué servicios pueden agregar al almacenamiento de un contrato inteligente. El primero tiene un arreglo de las direcciones del contrato inteligente de las Vaults, y el segundo contiene un mapa de la Vault, permitiendo la verificación de la propiedad de recipientes de almacenamiento a través de una llamada al contrato inteligente. El mapa también ayuda a prevenir duplicidad de direcciones de contrato listadas. Una copia de una dirección te referirá al mismo índice de arreglos, el que puede automáticamente ser agregado a través del Universal Receiver Delegate si los activos son transferidos a un perfil.
En el metaverso
Ahora que conocemos sobre los bloques de construcción de LUKSO, podemos trazar un camino hacia el metaverso de forma más específica. Con la ayuda de perfiles basados en contratos, un servicio de juegos puede conectar con un Universal Profile y estar restringido a una Vault particular que el perfil controla. El juego puede almacenar personajes, vestimentas, divisa del juego y artículos. Los individuos incluso pueden usar los artículos del juego a través de plataformas al tener los datos gráficos para cada juego participante dentro del NFT.
Dado que los usuarios pueden agregar varios pares de llaves con diferentes roles, el servicio de juegos puede también generar su estándar de llaves para personalizar el almacenaje de artículos en la Vault del usuario. Un servicio de transmisión dentro del juego puede subsidiar costos de transacción, eliminando la necesidad de dejar el juego y crear una mejor experiencia al usuario. De esta forma, los usuarios pueden jugar libremente en el mundo Web3, sin preocuparse por transacciones para nada.
Interacciones sociales de próxima generación
Las redes sociales en Web3 tienen ventajas considerables. Permite una resistencia a la censura y la propiedad de información. Con ayuda del estándar metadata, los proyectos pueden poner su propia página de red social al buscar directamente información de contratos inteligentes en la blockchain descentralizada y resistente a la censura. Nuevos estándares pueden extender las características de la cuenta para permitir seguidores, chats o publicaciones conectadas a varias soluciones de almacenamiento para cumplir con las regulaciones de protección de datos.
Las cuentas blockchain también pueden mejorar los boletos, al permitir a los compradores tener los recibos ellos mismos, en lugar de una compañía de eventos. Más allá, con el estándar NFT independiente, los usuarios pueden intercambiar activos en cualquier plataforma personalizada con funcionalidad de comercio electrónico incorporada.
Mayor escalabilidad
La industria necesita entender que una blockchain descentralizada brinda seguridad sin precedentes, transferencias de valor y interacción sin confianza, todo lo que trae un costo. Redes secundarias ofrecen un compromiso y transformar las redes principales en capas de asentamiento. Cuando se aseguran activos de alto valor o información importante, un consenso completamente descentralizado debería ser considerado. Pero cuando vemos al metaverso, y la próxima generación de redes sociales, ellos no tengan que interactuar constantemente con activos de alto valor y hacer uso de interacciones sin confianza entre particulares que no siempre tiene que estar ligadas a la red principal. Una solución sería el crear información valiosa en la red blockchain principal capa 1 y conectarla con una red capa 2 subsidiaria. Los activos pueden estar bloqueados en capa 1, mientras se utilizan en redes más veloces y baratas, Dependiendo la frecuencia para sincronizar la información, los usuarios pueden guardar los cambios en la capa 2 completamente descentralizada con mayor seguridad. Los Perfiles universales actúan como bloque de construcción fundamental, permitiendo información de alto valor ser almacenada en la red principal, en tanto se liga información adicional fuera de línea de forma segura, para mantener las cuotas en línea.
Estas soluciones multi red son todavía obstáculos para la economía Web3, pues pueden eliminar concatenación al interactuar con contratos inteligentes directamente, Estas llamadas no son posibles a través de cadena sin servicios de puente que, hasta ahora, son principalmente centralizados. Además, los puentes no mueven tokens ni NFTs entre cadenas. Ellos crean referencias y bloquean el original, en la cadena que lo envía. El proceso de tokenización funciona bien para los activos fungibles, y monedas, pero es un problema inmenso para los no fungibles. No puedes transferir NFTs únicos sin crear un clon ligeramente modificado que refiere al activo inicial bloqueado en la red principal. Cualquier cambio a un NFT, como tarjeta de colección con métricas que se elevan, no se reflejarán en la otra red a la que se ha puenteado. Tener concatenación por diseño es por lo que LUKSO se enfoca en una blockchain capa 1. Ganar una base de cuentas para actuar,en ella, mientras asegura que todo sea siempre verificable y concatenable directamente a partir de contratos inteligentes.
Resumen
Desarrollar un ecosistema unificado, con perfiles e intrincados estándares para tokens, es fundamental para pensar en una Web3. Seguramente se formarán economías dentro de diferentes redes debido a la alta utilización en las redes existentes, las cuotas resultantes y las limitadas opciones de escalabilidad. Al introducir un nuevo ecosistema, con innovadores estándares y herramienta que permiten la interoperabilidad, LUKSO ofrece una blockchain para que los creativos muevan Web3 a una base de usuarios masiva.
Su solución Capa 1 con consenso PoS y sharding, brindará eficiencia energética y escalabilidad. Las cuentas basadas en contratos otorgarán funcionalidad muy necesaria con el costo de mayor computación. Lo que no será un tema con una baja participación en la red, los servicios de transmisión serán un elemento esencial para asegurar la facilidad de uso para individuos en el largo plazo. De cualquier forma, las limitaciones en la capacidad no deberían impedir el nacimiento y desarrollo de ideas prometedoras.
Los LSPs pueden ser vistos como el resultado de muchas propuestas que habían sido parcialmente pensadas en el ecosistema Ethereum, pero muy pronto, indefinidos e inviables. Como creador de estos nuevos estándares, LUKSO se posiciona como el primer impulso a la adopción masiva. Si miramos atrás a lo que ha llevado la adopción de estándares sencillos, como ERC20 o ERC721, podemos imaginar lo que este ecosistema de diez bloques de construcción bien meditados puede lograr. Emocinémonos por el futuro de los perfiles basados en blockchain. La red LUKSO será un acontecimiento relevante en la evolución de la Web3.