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 segunda parte de una trilogía, Discutimos los objetivos del proyecto, la red y la economía en la primera parte. Ahora analizaremos el enfoque de LUKSO para resolver la administración de cuentas.
Fundamentos
El ecosistema de los LUKSO Standard Proposals (LSPs, Propuestas estándares de LUKSO) son los bloques para construir, implementados con contratos inteligentes. Son parte de los LUKSO Improvement Proposals (LIPs, Propuestas de mejora LUKSO) más generales, que es donde se discuten nuevas especificaciones para el protocolo y mejoras al cliente API, para mejorar la blockchain LUKSO. El artículo cubre el set inicial de herramientas estandarizadas, cuentas y tokens, para mostrar cómo pueden pavimentar el camino en una economía de datos visionaria.
Propuestas estándares permiten a los desarrolladores, grupos y organizaciones construir aplicaciones interoperables en una red blockchain. Cualquiera puede crear o combinar esas propuestas en el futuro y sugerir más bloques de construcción. Cada envío tiene un dígito que incrementará con cada propuesta de estándar. El proceso es similar a las propuestas en Ethereum, conocidos como ERCs, donde Fabián Vogelsteller propuso primero una identidad basada en blockchain.
ERC725: Identidad basada en blockchain
Como dijimos previamente, la información almacenada en blockchains está grabada en piedra. Los contratos inteligentes no pueden ser modificados ni expandidos una vez que fueron desplegados, Fabián Vogelsteller propuso los estándares modulares de contratos inteligentes ERC725 con este tema en mente. El estándar introduce perfiles basados en contratos para humanos, máquinas, organizaciones o cualquier cosa que requiera una identidad. Este perfil puede ser actualizado y está diseñado con un enfoque minimalista y modular para permitir la interoperabilidad y desarrollo futuro.
El estándar es la base para cualquier cosa que necesita almacenar información pública y verificable acerca de sí misma, mientras continúa funcionando como una EOA. Funciona muy bien para las Organizaciones Autónomas Descentralizadas (DAOs, por sus siglas en inglés), perfiles personales, tiendas en línea, dispositivos IoT (Internet de las cosas, por sus siglas en inglés), o servicios que necesitan conocer y verificar información específica mediante un proceso Know-Your-Customer, KYC (Conoce a tu cliente). La lista sigue y sigue. La especificación permite adjuntar vasta información a contratos inteligentes en una lista esquema fácilmente expandible. El estado de almacenamiento del contrato puede ser llamado un valor clave, pues contiene valores para identificadores específicos. El principal beneficio de este almacenamiento en el contrato, es la flexibilidad en lo que puede ser almacenado y la posibilidad de que esta información pueda ser leída por apps, interfaces y otros contratos inteligentes.
El estándar ERC725, de contratos inteligentes es la base de muchos LSPs, los cuales brindan funcionalidades adicionales a los tokens, NFTs y a la cuenta misma. Dos sub estándares ERC725 para almacenamiento y ejecución permiten la flexibilidad y el desarrollo futuro. En la naturaleza, el ADN contiene las instrucciones específicas que hacen a cada criatura viviente. En cierta forma, podemos ver los sub estándares de identidad como cromosomas de identidad en el metaverso, el mundo virtual Web3. ERC725X puede ejecutar cualquier función de cualquier otro contrato inteligente o desplegar contratos independientemente, permitiendo transferir tokens o ejecutar funciones en otros contratos inteligentes. ERC725Y permite almacenar la información. Los servicios pueden adjuntar cualquier información y actualizar los datos almacenados, permitiendo a los contratos inteligentes contar con flexibilidad ilimitada para almacenar información.
LSP0: Cuenta ERC725
La Cuenta ERC725 es un perfil basado en contratos inteligentes que busca incrementar la funcionalidad y la experiencia de usuario en el ecosistema de la blockchain. Va a mayor profundidad que el estándar relativamente básico ERC725 al combinar almacenamiento inteligente reemplazable con funcionalidad EOA y la habilidad de verificar firmas.
Información del perfil público puede ser ligada, cambiada, buscada o eliminada. Los usuarios incluso pueden administrar el contrato inteligente desde múltiples EOAs u otros contratos inteligentes utilizando un Key Manager (administrador de llaves), lo que significa que las llaves privadas ahora son intercambiables. Permite la transferencia del control del perfil sin tener que revelar tu llave secreta, creando espacio para sistemas de respaldo amigables, con múltiples métodos de recuperación y una grata experiencia de usuario. Además, los usuarios pueden administrar un contrato desde varias llaves privadas, permitiendo que distintas marcas, creadores y dispositivos tengan la habilidad de comunicarse como una identidad combinada o DAO. Múltiples llaves permiten los perfiles colaborativos o la administración de derechos y roles a través de otros dispositivos conectados al mismo perfil. La administración de roles permitirá a los servicios escribir información en partes de tu perfil, lo que mejora la experiencia del usuario, ya que no todo debe ser hecho manualmente por el usuario.
Hablemos de los retos de almacenar y leer vasta información en contratos inteligentes. El almacenamiento de contratos inteligentes cuenta con ranuras que almacenan valores byte referenciados por una llave. Estos son fácilmente leídos por aplicaciones, interfaces, u otros contratos inteligentes, pero no por humanos. Sin herramientas, utilizar tal funcionalidad sería complicado para desarrolladores. Los estándares de contratos inteligentes deben actuar como una base para múltiples usos prácticos, y ofrecer compatibilidad máxima. Necesitan estándares adicionales, como el Storage Schema (esquema de almacenamiento), que define cómo se codifica y decodifica la información del valor de almacenamiento primario. Como lo dijimos previamente, mantener información en la blockchain cuesta dinero, lo que previene que estándares como éstos sean utilizados en block chains más costosas, como Ethereum. Una alta utilización fuerza el desarrollo de nuevas blockchains, como LUKSO, que se enfoca en casos de uso más específicos.
El futuro de la economía de datos Web3
Además de las finanzas descentralizadas, el blockchain es principalmente usada para almacenar tokens o arte. En el futuro, el proceso seguramente se expandirá a varias industrias para certificados, boletos, reclamaciones, publicaciones, propiedades, monedas sociales y más. Con ayuda de procesos criptográficos como zero-knowledge proofs (pruebas de cero conocimiento), incluso la información del usuario que se encuentra fuera de línea puede ser ligada a cuentas y verificada sin ser revelada directamente.
El propuesto sistema de perfiles permitirá una amplia rama de inspiración para la economía de datos. La nueva evolución de la internet creará un cambio en el paradigma, en el cual la información personal se mueve lejos de los servidores centralizados controlados por grandes empresas tecnológicas, quienes analizan y venden los datos de los usuarios a placer. Los usuarios tendrán posesión directa de sus datos y disfrutarán la utilidad de su poder. El cambio será un catalizador importante para desarrollar estándares necesarios y crear interoperabilidad en la economía de tokens.
LSP1: Universal Receiver Delegate (Receptor universal delegado)
Los contratos inteligentes EVM, como los tokens personalizados, se encuentran limitados en su conciencia de transacciones entrantes, y las carteras están poco conscientes de lo que está esperando al otro lado de su transacción saliente, que puede ser otra cartera o un contrato inteligente. Enviar tokens de forma equivocada a un contrato inteligente que no estaba destinado a recibirlos, puede fácilmente resultar en la pérdida de dichos tokens. Las blockchains deben contar con medidas de seguridad para prevenir esto y lograr la adopción masiva.
La interfaz del Universal Receiver Delegate es un estándar para el manejo de mensajes, que actúa como un sistema notificador de transacciones. El estándar permite a los contratos inteligentes recibir notificaciones acerca de transacciones entrantes y salientes. Este sistema ofrece a los desarrolladores una gran variedad de opciones para programar acciones en respuesta a estas notificaciones, tales como:
- Rechazar/aceptar transacciones
- Notificar a usuarios u otros contratos inteligentes de activos entrantes
- Especificar activos para rechazar o aprobar mediante una lista segura
- Reenviar notificaciones a otros contrato inteligente
- Delegar acciones personalizadas a contratos inteligentes en respuesta
Received Assets (activos recibidos) es un estándar que funciona con un contrato inteligente del Universal Receiver Delegate. Define cómo se escriben los activos recibidos en el perfil del usuario, para que aplicaciones e interfaces puedan, automáticamente, determinar los activos que el usuario ha recibido. El método permite una forma descentralizada para mostrar el portafolios del perfil sin la necesidad de exploradores de terceras personas. Además, las aplicaciones aprobadas y protocolos de contratos inteligentes pueden iniciar cadenas de acciones de contratos con activos entrantes específicos, agregando aún más utilidad.
El receptor puede también ser actualizado, permitiendo que el código pueda cambiar y soportar tipos de activos futuros. Considerando la visión colosal de la economía de datos de Web3, crear notificaciones para cada tipo de token produce cuentas de contratos inteligentes más resistentes y a prueba de futuro.
LSP2: Storage Schema (Esquema de almacenamiento)
Como se describió en la configuración de la cuenta ERC725, la interoperabilidad mientras se intercambia información desde el valor principal de almacenamiento puede ser complejo sin estándares comunes. El Storage Schema presenta un método unificado para almacenar información para lograr presteza desde las cuentas. La estructura es utilizada en muchos estándares LSP de contratos inteligentes.
Como sabemos, distintos tipos de información son almacenados y tratados de formas diferentes. Con la ayuda del Storage Schema, la información es interpretable de una manera autómata, por lo que cualquier aplicación, interfaz o contrato inteligente puede entenderlos. El estándar describe la manera de codificar diferentes tipos de datos de valor primario, yendo desde entradas sencillas hasta arreglos que combinan múltiples valores en diferentes ranuras. El contenido es almacenado con un hash primario y el correspondiente valor de bytes de longitud indefinida. El primario tiene un tamaño de 32 bytes, lo que es significante en comparación con estándares comunes, pero una manera de guardar almacenamiento. Incluso para agregar un número serial como un identificador para cualquier información, lo que discutiremos más adelante. Las funciones que crean hash primarios son frecuentemente utilizadas en tecnología blockchain. Las funciones hash transforman una entrada de tamaño ilimitado en una huella digital con un tamaño fijo, de la que nadie puede reconstruir la información inicial. Se utiliza para verificar si la información no ha sido modificada.
Los desarrolladores pueden codificar y decodificar el Storage Schema utilizando la librería JavaScript erc725.js, para manejar todo lo relacionado con los bytes y llaves almacenados, y la codificación correspondiente de diferentes tipos de información que el estándar ERC725Y ofrece. La librería puede también regresar la información almacenada sin decodificarla manualmente. Es un potenciador increíble para desarrolladores que puedan extender los perfiles basados en blockchain con sus aplicaciones. Puedes encontrar más información en la documentación erc725.js.
LSP3: Universal Profile Metadata (Metadatos del perfil universal)
Combinando la Cuenta ERC725 y el Storage Schema permite perfiles de usuario basados en contratos, que pueden ser interpretados y actualizados en un modo estandarizado. Los perfiles universales son el primer caso práctico sobre el estándar de cuentas de LUKSO. Representan perfiles interoperables y que pueden interactuar punto a punto con cualquier cosa en la blockchain. Universal Profile Metadata define un conjunto de atributos que los desarrolladores pueden agregar a una cuenta ERC725 para transformarla en un perfil con imágenes, nombres, etiquetas y descripciones.
Con la ayuda del almacenamiento del valor primario de una Cuenta ERC725, un conjunto predefinido de llaves específicas al perfil son agregadas al contrato inteligente de la cuenta para transformarlo en un Perfil universal (UP, Universal Profile). El paquete contiene tres propuestas de estándares principales: Universal Receiver Delegate, Universal Profile Metadata y Received Assets. El contrato inteligente ligado al recibidor puede ser utilizado para delegar cualquier llamada entrante a un contrato inteligente externo. Usando el estándar Received Assets, puede reaccionar a activos entrantes y escribir sus direcciones en tu Cuenta ERC725. Universal Profile Metadata los liga al JSON del perfil con todas sus partes descriptivas.
En la última parte de la trilogía, continuaremos con el ecosistema de los estándares de contratos inteligentes y recapitulamos cómo pueden participar en el metaverso y en futuras plataformas de redes sociales.