Escrito por Pablo Gómez
Founder & CEO de Metlabs · Revisado el 11 de octubre de 2026
ERC-2535, titulado oficialmente "Diamonds, Multi-Facet Proxy", es un patrón de diseño para construir smart contracts grandes, modulares y actualizables. El contrato Diamond actúa como proxy que, mediante delegatecall, enruta cada selector de función a la faceta que la implementa. Así reparte la lógica entre varios contratos y resuelve el límite de tamaño de contrato de 24 KB de Ethereum, que de otro modo obligaría a fragmentar o recortar el código. El almacenamiento se gestiona típicamente con patrones de Diamond Storage o AppStorage para evitar colisiones de slots entre facetas.
La pieza central es la función diamondCut, que añade, reemplaza o elimina cualquier número de funciones de cualquier número de facetas en una única transacción, evitando la corrupción de datos que podría surgir si la actualización se repartiera en varias transacciones. Cada cambio emite el evento DiamondCut, lo que deja las actualizaciones de forma transparente y auditable on-chain. El resultado son upgrades quirúrgicos por función, en lugar de redesplegar todo el contrato, y una organización del código por dominios útil en sistemas complejos.
Fue publicado en febrero de 2020 por Nick Mudge y alcanzó estado Final en octubre de 2022. Cuenta con implementaciones de referencia del propio autor, y guías de desarrollo del patrón documentadas por equipos como ChainScore Labs y BitsByBlocks. Para tokenización, encaja como arquitectura de sistemas modulares: un emisor puede actualizar módulos de compliance sin redesplegar todo el sistema, lo que lo hace complementario a estándares de cumplimiento como ERC-3643. Es una conexión conceptual, no una dependencia técnica.
También conocido como
- ERC2535
- Diamonds, Multi-Facet Proxy





