Elegir un contrato NFT: ¿posee productos fungibles no fungibles?

sam casey

Existen miles de tokens diferentes en la cadena de bloques de Ethereum, pero la mayoría sigue uno de los tres estándares comunes. La mayoría de los tokens fungibles siguen el estándar ERC-20 y la mayoría de los tokens no fungibles (NFT) siguen el estándar ERC-721 o ERC-1155.

Los NFT son activos digitales indivisibles que representan objetos únicos, como obras de arte, música, personajes de juegos, memes y nombres de dominio. Un NFT solo puede tener un propietario a la vez, y la propiedad se administra mediante una identificación única y metadatos que ningún otro token puede replicar.

El estándar ERC-1155 es un estándar multitoken: tiene características únicas que combinan los estándares ERC-721 y ERC-20. El estándar ERC-1155 admite la creación de tokens fungibles y no fungibles en un solo contrato inteligente, transferencias de tokens por lotes, prevención de pérdida accidental de tokens y localización de idiomas para todos los metadatos, a diferencia de ERC-721, que se limita solo a NFT. y no admite transferencias por lotes ni localización de idiomas.

A pesar de la simplicidad, la eficiencia y la seguridad del ERC-1155, no es una mejora notable con respecto al estándar ERC-721. Se debe tener especial cuidado para evitar errores durante la implementación, ya que se trata de un estándar multitoken. Muchas implementaciones del estándar ERC-1155 no son en realidad NFT, sino tokens fungibles.

Este artículo describe la diferencia entre los tres tipos más populares de contratos de Ethereum: los estándares ERC-20, ERC-721 y ERC-1155. Específicamente, aborda los pros y los contras de cada tipo de contrato, el impacto en los desarrolladores y creadores al elegir un tipo de contrato y la forma correcta de hacer una NFT con un contrato ERC-1155.

Los contratos inteligentes son protocolos de transacción computarizados que ejecutan condiciones contractuales. Es un conjunto de código (sus funciones) y datos (su estado) almacenados en una dirección específica en la cadena de bloques. Todos los tokens en Ethereum y otras cadenas de bloques compatibles con Ethereum (por ejemplo, Polygon) son contratos inteligentes bajo el capó. Esto incluye tokens ERC-20 fungibles como USDC y NFT como Cryptopunks. Los estándares ERC-721 y ERC-1155 son los modelos más comunes utilizados por los desarrolladores al crear NFT.

Existen varios estándares de tokens en la cadena de bloques de Ethereum, pero los tres contratos de tokens más populares son ERC-20, ERC-721 y ERC-1155. Cada uno de estos contratos de token tiene características únicas, y sus preferencias y objetivos para su proyecto determinan qué estándar debe seguir.

ERC-20

El ERC-20 fue el primer tipo de contrato de token que se lanzó en la cadena de bloques de Ethereum. El estándar ERC-20 solo rastrea tokens fungibles. Un artículo fungible es un artículo que puede ser reemplazado por otro artículo idéntico; los objetos fungibles no son únicos. Esto hace que los tokens ERC-20 sean útiles para cosas como un medio de cambio de moneda, similar al dólar estadounidense pero en una cadena de bloques. Si bien el estándar ERC-20 es excelente para activos fungibles, no se puede usar para representar activos digitales únicos.

ERC-721

Debido a la naturaleza fungible del ERC-20, no es adecuado para el seguimiento de elementos que requieren singularidad, como coleccionables, arte digital o propiedad física. El contrato de token ERC-721 existe exactamente para este propósito: representar la propiedad de activos no fungibles. Para seguir el estándar ERC-721, todos los contratos ERC-721 deben incluir la función estándar ownerOf para rastrear esta relación 1 a 1 de propietario a token.

ERC-1155

ERC-1155 es un estándar multitoken. El equipo de Enjin lo creó en 2018 con el desarrollo de juegos en mente y fue diseñado para aprovechar las fortalezas de los estándares ERC-20 y ERC-721. A diferencia de los estándares ERC-721 y ERC-20, que se limitan a un solo tipo de token (no fungible y fungible respectivamente), el estándar ERC-1155 permite la creación de tokens no fungibles (NFT) y fungibles en un único dispositivo inteligente. contrato. Esto es ideal para el desarrollo de juegos, como se muestra en este video del equipo de Moralis.

Los desarrolladores que deseen implementar el protocolo ERC-1155 deben tener cuidado, ya que es posible utilizar una implementación fungible en lugar de una implementación de token no fungible frente a NFT, ya que ERC-1155 es compatible con ambos. Si crea un NFT con un token de ID único y ese token tiene varias copias idénticas asociadas con el mismo token de ID, entonces no es un token no fungible, sino un token fungible.

Además, es difícil rastrear al propietario de un ERC-1155 NFT sin agregar características al estándar. Por ejemplo, ERC-721 tiene la ownerOf función que toma la identificación de un token no fungible y devuelve la dirección del propietario. Una implementación estándar de ERC-1155 no incluye esto ownerOf función, sino más bien una balanceOf función que realiza un seguimiento del número de copias de un NFT que contiene una dirección, ya que es posible que haya varias copias de cada NFT en el estándar ERC-1155. Cuando se utiliza el contrato ERC-1155 para crear NFT, se debe considerar una buena práctica incluir un ownerOf función en el contrato.

ERC-721

El ownerOf La función en el estándar ERC-721 devuelve la dirección del propietario de un tokenId dado.

ERC-1155

A diferencia del estándar ERC-721, el estándar ERC-1155 utiliza el balanceOf función para trazar cuántos de un tipo de token específico (_id) se aplica una determinada dirección. Esta no es una relación de uno a uno con una NFT, sino una relación de uno a muchos.

Esto también requiere que la persona que llama proporcione la dirección del propietario en la llamada de función, lo que hace que sea muy difícil encontrar al propietario de un NFT solo con la identificación del token de NFT.

De acuerdo con la especificación, el estándar ERC-1155 proporciona estrategias sobre cómo puede mezclar tokens fungibles y no fungibles en el mismo contrato. El estándar NO dicta cómo debe hacerlo una implementación. Las 2 estrategias sugeridas incluyen la estrategia «Dividir bits de ID» y la estrategia «Natural».

La estrategia «Natural» es bastante simple y muy similar a ERC-721: solo permite un valor máximo de 1 para cada NFT acuñado y realizar un seguimiento del propietario actual en un TokenID a la asignación de direcciones. Este es esencialmente un contrato que contiene muchos NFT de un solo «tipo», como CryptoKitties o CryptoPunks.

La estrategia de «Dividir bits de ID» es un poco más complicada, pero la idea es simple. Es como tener múltiples «tipos» de NFT en un contrato, como si CryptoKitties y CryptoPunks estuvieran definidos y contenidos dentro. La ID del token se divide básicamente por la mitad, la primera mitad de la ID es el NFT «Tipo» y la segunda mitad es la ID única del NFT único. CryptoKitties sería de tipo 1 y CryptoPunks sería de tipo 2. Cada CryptoKitty tendría su propia identificación única, al igual que cada CryptoPunk. Nunca habría dos NFT con exactamente la misma identificación.

Para ver un ejemplo de «bit de ID dividido», puede ver la implementación de referencia de Enjin, que se puede encontrar aquí: https://github.com/enjin/erc-1155/tree/master/contracts Específicamente, los contratos ERC1155MixedFungible & ERC1155MixedFungibleMintable.

Una implementación de referencia muy popular del estándar ERC-1155 parece ser los Contratos OpenZeppelin y su implementación, al no ser declarada, tiende a promover un enfoque Fungible con respecto a la balanceOf función y falta de ownerOf función. Aunque se adhieren a la especificación, depende de los desarrolladores decidir cómo implementar sus contratos y si la implementación predeterminada no se adapta ni con la estrategia «Natural» ni con la estrategia «Dividir ID bit», termina convirtiéndose en un Fungible. No fungible (NFT con un balanceOf, lo que implica una relación de uno a muchos).

Para obtener una explicación más detallada, consulte la sección sobre tokens no fungibles en el EIP que se encuentra aquí: https://eips.ethereum.org/EIPS/eip-1155

También hay una tercera estrategia, y es la misma estrategia «Fungible No Fungible». Este es un enfoque aceptable en algunos escenarios, como los grandes juegos de rol donde cada objeto (casco, espada, etc.) está representado por un tipo NFT, del cual hay muchas copias disponibles para todos los jugadores. Cada artículo puede ser único (Casco A vs Casco B), pero muchos jugadores pueden tener una copia de este artículo en su inventario. En este escenario, la estrategia Fungible No Fungible tiene sentido, sin embargo, es importante reconocer qué estrategia se necesita y qué estrategia se está implementando. Así es como se implementan los contratos de referencia predeterminados: un solo «tipo» NFT con un balanceOf función y memoria asociada.

Hacer verdaderamente tokens no fungibles en un contrato 1155, los desarrolladores deben asegurarse de que sus NFT sean únicos y siempre incluyan un «propietario de”En su código, tanto por compatibilidad con ERC-721 como por crear una verdadera relación 1 a 1 con un NFT y su propietario.

Como artista o desarrollador, es posible que se pregunte qué contrato de token usar después de leer este artículo. Cada contrato tiene sus distintas ventajas y desventajas y no existe una solución única para todos.

Para un medio de intercambio, el estándar ERC-20 es el camino a seguir. Si su trabajo está diseñado para ser verdaderamente único, como una obra de arte, probablemente debería preferir el estándar ERC-721. Si la eficiencia de las transacciones es su enfoque principal y está menos preocupado por la singularidad, como es el caso de los activos de personajes en los videojuegos, el estándar ERC-1155 puede ser su mejor opción.

En Charged Particles, estamos convencidos de que los desarrolladores que planean implementar ERC-1155 para NFT deben agregar una función de propietario al contrato y asegurarse de que los tokens que están creando sean verdaderamente único si los comercializarán como NFT. Como coleccionista o creador, debe realizar una investigación exhaustiva antes de crear o comprar cualquier NFT para evaluar el tipo de contrato y la singularidad del activo digital. Si no está seguro de si el 1155 que está a punto de comprar es realmente único, pregunte a los desarrolladores o a la plataforma en la que lo está comprando para tener certeza.

Charged Particles es un protocolo que permite a los usuarios depositar tokens ERC-20, ERC-721 y ERC-1155 en NFT. Un NFT escaso (por ejemplo, arte, coleccionable, bienes raíces virtuales, elemento de juego, etc.) ahora se puede convertir en una canasta que contiene una cantidad de otras fichas. El monto principal se puede bloquear con el tiempo dentro del NFT y a través de la integración con Fichas a de Aave, el rendimiento programable de estos activos DeFi generadores de rendimiento está a solo unos clics de distancia.

Sitio web | documentos | Telegrama | Gorjeo | Instagram | Discordia | LinkedIn | YouTube | Reddit | golpe de tic

Artículo anteriorLos Cuatro Fantásticos – Mujer Invisible – NFT News Today
Artículo siguienteRealm Launch # 22 Diseñador: Digivoke

Dejar respuesta

Please enter your comment!
Please enter your name here