Смарт-контракты неизменяемы: их нельзя изменить после развертывания, только заменить. Это соответствует первоначальной идее доверенной среды блокчейна, но затрудняет их обслуживание и обновление.
Для смягчения этих проблем EIP-2535 предлагает сложный прокси шаблон, который позволяет добавлять, заменять и удалять функции и практически снимает любые ограничения на размер кода; а также инновационную схему хранения данных, устойчивую к столкновениям и очень гибкую.
В этой статье разработчик Cartesi Guilherme Dantas подробно описывает EIP-2535 "Diamonds" и его возможности:
https://link.medium.com/3Gdw4r54msb(статья переведена на русский)
Я не разработчик, но если я правильно понял в упрощенной форме: смарт контракт нельзя изменить, но он может ссылаться на другие контракты для выполнения определенных функций, данное решение позволяет менять/удалять/добавлять именно под-контракты, чтобы обновлять основной.