Tokeniza Cualquier Activo Real con ERC20 o NFT
Introducción
La tokenización de activos es la forma en que cualquier activo del mundo real, tangible o intangible, tiene un archivo digital asociado. En un sentido amplio, un token es básicamente la representación de otra cosa, y en este caso, cada token representa una parte proporcional del activo digitalizado.
De acuerdo con las funciones del software implementados clasificamos los tokens en:
Tokens fungibles: Es aquel que se emite en una cantidad determinada (suministro total), por ejemplo, Bitcoin tendrá un suministro total de 21 millones.
Si hoy el precio de BTC es de 18 mil USD, hoy cada BTC representa 18 mil USD.
Si la próxima semana el precio es de 30 mil USD, cada BTC representara 30 mil USD.
Tokens no fungibles (NFT): Aquí cada token representa un activo individual, por ejemplo, si en un juego tengo tres personajes, se emiten tres NFT diferentes:
¿Que es tecnología blockchain?
La tecnología blockchain es tan diversa como las funciones matemáticas estén en un programa autoejecutable, que los desarrolladores llamamos contrato inteligente.
Cada modelo de contrato inteligente le asignamos un nombre, que consiste en tres letras ERC (Solicitud de comentario de Ethereum) y un número para diferenciar un modelo de otro, si se acepta, pasa a formar parte de la tecnología estándar. Así los tokens fungibles tienen el modelo llamado ERC20 y los NFT el modelo ERC721.
¿Que es un token ERC20?
Es un conjunto de instrucciones escrito en un contrato inteligente desplegado en el blockchain de Ethereum y otros blockchain compatibles, que permite una variedad de funciones, entre ellas la función el constructor: que emite un suministro total de monedas o tokens:
Ejemplo 1. emisión de dinero digital:
Una plataforma educativa necesita un token ERC20 para que sus alumnos realicen las transacciones:
El token lo llamamos “EUROedu Token”.
Símbolo “EUROedu”.
Suministro total es de diez millones de unidades.
Para simplificar el ejemplo hemos puesto cero decimales. Con un valor inicial de un euro y acreditados a la cuenta:
0x9E6deA275959beA36087280A55b11a54E366D8A2
Ejemplo 2. emisión de bonos o instrumentos financieros de deuda:
La empresa petrolera “Latam Oil Company” emite un millón de tokens “BONUSlatam” que representan un millón de bonos:
El token lo llamamos “BONUSlatam Token”.
Símbolo “BONUSlatam”.
Suministro total es de un millón de unidades.
Con un valor inicial de 50 USD y acreditados a la cuenta:
0x1FA2fC3e709AcD1D90c4cD9343d9f437CC9CfEf8
Ejemplo 3. emisión de acciones o instrumentos financieros de capitalización:
La empresa automotriz BMW emite cien millones de tokens “BMWshares” que representan 100 millones de acciones:
El token lo llamamos “BMWshares Token”.
Símbolo “BMWshares”.
Suministro total es de cien millones de unidades.
Con un valor inicial de 80 USD y acreditados a la cuenta:
0x30D752489CF27652fcc2553AAaaB2D5DD9359C80
Nota: En la práctica los contratos ERC20 son más complejos, implican desplegar una familia de más de 100 pequeños Smart Contract (SC) para cada proyecto, cada uno con funciones matemáticas para una ejecutar una acción especifica como:
Controlar el acceso a los fondos.
Transferir la propiedad del SC.
Pausar las operaciones.
Enviar o transferir cierta cantidad de tokens a otras cuentas.
Quemar o eliminar tokens.
Autorizar o delegar la distribución de los tokens.
Emitir eventos como él envió de tokens a otras cuentas.
Visualización en explorador del blockchain
Continuaremos explicando el ejemplo 3:
Desplegamos nuestro contrato en el Binance Smart Chain (BSC) y lo podemos ver en el explorador de BSC. Con la dirección del contrato: 0x7764afFf48903d437d5581878aCdd0BBC518641C
En la dirección de los propietarios o emisores (flecha roja): 0x30D752489CF27652fcc2553AAaaB2D5DD9359C80
Acreditamos los 100 millones de tokens BMWshares (flecha amarilla).
Distribución de los tokens
Ahora registramos el Smart Contract (SC) en una billetera cripto, utilizaremos la billetera Metamask:
Escribimos la dirección del SC en la billetera Metamask (flecha roja): 0x7764afFf48903d437d5581878aCdd0BBC518641C
El nombre de las acciones BMWshares (flecha amarilla).
En la segunda imagen, los tokens están disponibles para los compradores de las acciones tokenizadas.
¿Qué es un NFT?
Un NFT es la tecnología que permite asociar un objeto digital con un certificado de autenticidad que garantiza la propiedad oficial a su único dueño. Construir un NFT implica dos etapas:
Identificar y almacenar la imagen y la información descriptiva (metadatos) del NFT.
Conectar la información almacenada en IPFS con el contrato inteligente ERC721.
A.-Identificar y almacenar la imagen y la información descriptiva (metadatos) del NFT.
A1.-Identificar la imagen.
A continuación, presentamos la imagen de tres ejemplos de NFT:
Ejemplo 1:
En la ceremonia Balón de Oro 2022 Karim Benzema se llevó dos premios:
El trofeo hecho de latón y pirita NFT: modelo digital 3D del Ballón d'Or
Ejemplo 2:
NFT de la foto oficial de campeón del 2017, de un equipo de futbol de Suramérica:
Foto oficial campeón 2017
NFT: modelo 2D oficial 2017
Ejemplo 3:
El colibrí Esmeralda, es un ejemplar de los bosques húmedos tropicales:
Foto del colibrí Esmeralda
NFT: modelo 2D colibrí Esmeralda
A2.-Almacenamiento global IPFS:
La imagen y su correspondiente información (metadato) de cada NFT, nosotros la almacenamos en el sistema interplanetario de archivos (IPFS), formado por miles de computadoras alrededor del mundo, lo que garantiza que ninguna persona, entidad o gobierno pueda alterar la información.
Este proceso es complejo, pero lo explicaremos con el tercer ejemplo del colibrí Esmeralda:
Primero subimos la imagen e IPFS me devuelve un enlace: ipfs/QmXXgGY2wbMBq1cFUV1Wp847b47bKpXtg7njap9DDgBt29
Luego subimos los metadatos del colibrí Esmeralda, que es un archivo con la información descriptiva del NFT (que tipo de activo es), se redacta en forma JSON, el enlace de la imagen se conecta con este archivo (ver flecha roja):
El IPFS me devuelve un segundo enlace de este archivo: ipfs/QmTroi95vbvhymTjYdaDjGNyy4DbEpnTnxrpm34r6XHHss
Ahora utilizo una aplicación como pinata, como puerta de entrada para ver mis archivos IPFS: Mis archivos
B.- Conectar la información almacenada en IPFS con el contrato inteligente ERC721.
Similar a los tokens ERC20, aquí tenemos la función el constructor:
También tenemos otras tres funciones asociadas a la función el constructor:
Función name.
Función Symbol.
Función tokenUri.
Seguidamente ingresamos los datos para desplegar el contrato:
Variable name = Hummingbird (Ver fleche roja)
Variable symbol = EmeraldNFT (fleche amarilla)
Variable tokenID = https://gateway.pinata.cloud/ipfs/QmTroi95vbvhymTjYdaDjGNyy4DbEpnTnxrpm34r6XHHss/ (fleche Verde)
Visualización en explorador del blockchain
Continuaremos explicando el ejemplo 3 del colibrí esmeralda:
Desplegamos nuestro contrato en el Binance Smart Chain (BSC) y lo podemos ver en el explorador de BSC, con la dirección del SC: 0xFB93A30Ec0555E82b71Dd62C679af8033A69b7DD
En la dirección de los propietarios o emisores (flecha roja): 0x0245Ed33F7118BF6b373Ac84ba79Ff68F719E7fD
La dirección tiene acreditado el EmeraldNFT (flecha amarilla).
Distribución de los NFT
Ahora registramos el Smart Contract (SC) en una billetera cripto, utilizaremos la billetera Metamask:
Escribimos la dirección del SC en la billetera Metamask (flecha roja).
0xFB93A30Ec0555E82b71Dd62C679af8033A69b7DD
El nombre del NFT (flecha amarilla).
En la segunda imagen, el EmeraldNFT está listos para enviarse a los compradores.
Observaciones finales:
Los tokens ERC20 son útiles para activos que se emiten en una cantidad total y cada token representa una parte de ese total. Todas las acciones emitidas son iguales por tanto los tokens que las representan son iguales.
Los tokens ERC721 o NFT, son diferentes uno de otro, cuando tenemos un grupo de NFT que se refieren a una actividad, le llamamos colección de NFT. Así todos los NFT del juego CryptoKitties forman una colección.
Como la tecnología blockchain evoluciona cada día, los desarrolladores han diseñado contratos inteligentes que crean el concepto de NFT fraccionarios, que combinan NFT y ERC20. Así un bien inmueble podemos representarlo con un NFT y la propiedad pertenece a dos o más personas mediante cierta cantidad de tokens ERC20.