OpenZeppelin исключает isContract, призывая к эволюции экосистемы

OpenZeppelin устраняет функцию isContract, способствуя переходу к большей адаптивности и улучшению пользовательского опыта в экосистеме Ethereum.

Служба разработки смарт-контрактов OpenZeppelin недавно удалила широко используемую функцию смарт-контрактов под названием isContract, чтобы подтолкнуть экосистему к большей гибкости и улучшению пользовательского опыта.

Функция isContract возвращает true, если адрес Ethereum (ETH) принадлежит учетной записи смарт-контракта, а не внешней учетной записи (EOA). Многие разработчики децентрализованных приложений (dapp) полагались на него в целях безопасности, например, для предотвращения создания ботами невзаимозаменяемых токенов (NFT).

Однако, как соучредитель и генеральный директор Ambire Wallet Иво Георгиев радуется удалению этой функции, использование isContract нарушает совместимость с кошельками абстракции учетных записей, такими как Ambire, Argent и Safe. Эти кошельки используют смарт-контракты для управления средствами пользователей, абстрагируя при этом некоторые сложности от конечного пользователя.

По словам Георгиева, существуют более эффективные способы предотвращения таких проблем, как злоупотребление майнингом NFT и уязвимости безопасности. Наличие isContract привело к возникновению вредного мифа о том, что смарт-контракты не могут функционировать как учетные записи пользователей.

В ответ OpenZeppelin удалила эту функцию, чтобы подтолкнуть разработчиков пересмотреть предположения о смарт-контрактах и ​​учетных записях пользователей. Этот спорный шаг может ускорить внедрение абстракции учетных записей и связанных с ней преимуществ.

Safe — децентрализованный протокол хранения, ранее известный как Gnosis Safe — разработчик Миша, законные варианты использования isContract, например, проверка того, что добавленные модули Safe являются действительными контрактами. Однако Георгиев утверждает, что существуют более эффективные решения, которые не исключают важных методов абстракции учетных записей.

Документация OpenZeppelin предупреждает, что на isContract не следует полагаться как на единственный фактор, определяющий статус контракта или EOA. По его словам, благодаря грамотному программированию боты могут возвращать ложноположительные или отрицательные результаты.

Эти дебаты представляют собой важный шаг вперед, поскольку разработчики Ethereum переосмысливают устаревшие предположения и сеют семена следующего поколения удобных для пользователя децентрализованных приложений. Удаление isContract заставляет разработчиков искать альтернативные решения, что в конечном итоге принесет пользу конечным пользователям, поскольку прекратит дискриминацию абстрактных учетных записей.

Смотрите также

2023-10-11 16:47