Saltar al contenido

ERC-721

ERC-721 es la interfaz estándar de Ethereum para tokens no fungibles (NFT): cada token se identifica por separado y un contrato inteligente registra sus reglas de propiedad y transferencia.

Actualizado

Solo con fines educativos; no constituye asesoramiento de inversión. Invertir puede ocasionar pérdidas.

Respuesta directa

ERC-721 es la interfaz estándar de Ethereum para tokens no fungibles. En lugar de un único saldo intercambiable, un contrato ERC-721 sigue cada token mediante tokenId, expone a sus propietarios y define cómo puede transferirse o autorizarse. El token se identifica por el par formado por la dirección del contrato y tokenId; el estándar, por sí solo, no establece el precio, la autenticidad, la escasez ni los derechos legales del activo.

ERC-721 se diferencia de ERC-20 porque las unidades de ERC-20 son fungibles: una unidad está pensada para poder intercambiarse por otra. Los tokens ERC-721 pueden pertenecer a la misma colección y tener identificadores y metadatos distintos. Una cartera o un mercado puede admitir ambos estándares, pero las llamadas de transferencia y aprobación son diferentes.

La pregunta práctica no es si un proyecto dice utilizar “ERC-721”, sino qué hacen realmente su contrato y los sistemas que lo rodean. Antes de tratar un NFT como un activo, comprueba la implementación, los permisos, los metadatos, la autorización del mercado, la liquidez y los derechos prometidos a los titulares.

Cómo funciona

Identidad y propiedad

El contrato registra un propietario para cada tokenId existente. ownerOf devuelve esa dirección y balanceOf cuenta cuántos tokens posee una dirección. La acuñación normalmente crea un identificador nuevo y emite un evento Transfer desde la dirección cero; la quema suele emitir una transferencia a la dirección cero. Estos eventos son útiles para indexar, pero la autoridad es el estado del contrato.

Transferencias y aprobaciones

El propietario puede llamar directamente a transferFrom o autorizar una dirección para un token con approve. setApprovalForAll autoriza a un operador para todos los tokens que el propietario tenga en esa colección. Es cómodo para los mercados, pero concede un permiso amplio. Comprueba al operador por su dirección de contrato y revoca en la cadena las aprobaciones que ya no necesites. Una orden de mercado firmada es distinta de una aprobación en la cadena: cancelar una no cancela necesariamente la otra.

safeTransferFrom comprueba además si el contrato receptor implementa IERC721Receiver. Esto ayuda a evitar enviar el token a un contrato que no pueda recibirlo; transferFrom no ejecuta esa devolución. Ninguna de las dos funciones garantiza que el mercado, el puente o la cartera vayan a gestionar correctamente el token.

Metadatos y regalías

La extensión opcional de metadatos expone tokenURI, que puede apuntar a datos almacenados en la cadena o fuera de ella. Una URI base mutable, un contrato actualizable, un administrador o un servicio de alojamiento centralizado pueden cambiar lo que muestra el token después de acuñarlo. El almacenamiento permanente y el descentralizado reducen algunas dependencias, pero no prueban la autoría, la procedencia ni la titularidad de la propiedad intelectual.

ERC-721 no obliga a los mercados secundarios a pagar regalías al creador. Una colección puede implementar la interfaz opcional de regalías EIP-2981, pero el mercado decide si la respeta y la interfaz no liquida ni impone el pago. Los límites de suministro, la aleatoriedad, la autenticidad de la obra, las licencias de marca y otras promesas deben comprobarse por separado en el código, las reglas de distribución y los documentos legales.

Ejemplo

Supón que un contrato acuña el token #42 para Alice. El token no se identifica globalmente solo por 42: la dirección del contrato de la colección también forma parte de su identidad. Alice puede ponerlo a la venta concediendo approve para ese token o setApprovalForAll al operador del mercado. Cuando se ejecuta la venta, el mercado llama a una función de transferencia y el contrato comprueba la propiedad y la autorización. Alice debería revocar después la aprobación para toda la colección cuando ya no la necesite.

La imagen que muestra el mercado es una cuestión de metadatos aparte. Alice debe revisar el comportamiento de tokenURI, los permisos de actualización, el alojamiento y la licencia de la colección, en vez de suponer que poseer el token transfiere los derechos de autor o de uso comercial.

Riesgos

  • Riesgo del contrato: un fallo, una actualización maliciosa, un administrador privilegiado o un gancho de transferencia incorrecto puede bloquear o mover tokens.

  • Riesgo de autorización: un setApprovalForAll para toda la colección o un mercado comprometido puede mover todos los tokens aprobados de esa colección.

  • Riesgo de metadatos y legal: los archivos fuera de la cadena pueden desaparecer o cambiar, y la propiedad del token no concede automáticamente derechos de autor, de marca u otros derechos legales.

  • Riesgo de mercado: los precios de los NFT pueden ser muy volátiles, la liquidez puede ser escasa y el precio mínimo mostrado quizá no sea ejecutable para un token concreto.

Las operaciones en la cadena suelen ser irreversibles. Verifica el contrato de la colección, la dirección receptora, las aprobaciones, los controles de metadatos y los detalles de la transacción antes de firmar; trata las afirmaciones de promotores o comunidades como afirmaciones que debes comprobar, no como garantías.

Errores comunes

Mito 1: ERC-721 garantiza la escasez

Solo distingue los tokens dentro de un contrato. El emisor puede acuñar más tokens, desplegar colecciones similares o hacer que varios identificadores apunten a medios equivalentes. La escasez depende de las reglas de suministro y de los permisos que las hacen cumplir.

Mito 2: El NFT incluye todos los derechos de propiedad intelectual

La cadena de bloques registra una transferencia de tokens. Los derechos de autor, reproducción, uso comercial, adaptación y marca dependen de la licencia de la colección y de la ley aplicable; no pueden deducirse de ownerOf.

Mito 3: Cancelar una oferta del mercado elimina todos los permisos

La oferta, su firma y vencimiento, y un approve o setApprovalForAll en la cadena son estados distintos. Comprueba y revoca por separado el permiso en la cadena cuando ya no lo necesites.

Temas relacionados

Fuentes

Navegación

Buscar en la wiki...