Прежде всего: Ethereum Improvement Proposals (EIP) – предложения по улучшению Ethereum. Авторы EIP предлагают разработчикам идеи, которые могли бы исправить какие-либо недостатки платформы и/или усовершенствовать её. Ещё точнее это звучит так: “предложения по усовершенствованию Ethereum (EIPs) описывают стандарты для платформы Ethereum, включая спецификации основных протоколов, клиентские API и стандарты контрактов. Модернизация сети обсуждается отдельно в репозитории «Управление проектами Ethereum».
И, казалось бы, благое начинание, но есть у него и минусы. О них кратко и показательно поговорим.
Минус (плюс) первый. Формально
Если перейти по ссылке: https://github.com/ethereum/EIPs/blob/master/eip-template.md — то можно найти основные пункты, которые должны быть отображены в любом EIP:
- Общее описание (Abstract);
- Мотивация;
- Спецификация;
- Обоснование;
- Обратная совместимость;
- Тестовые примеры;
- Ссылка на реализацию;
- Основные положения по безопасности;
- Копирайт.
Как видим — критериев довольно много (пусть и не все тезисы обязательные). Как бы там ни было — необходимо чёткое, подробное, объективное описание, которое соответствует обозначенным тезисам. И это не всегда просто. Более того: формализовал разработчик, ушёл и что дальше? Верно — нужно поддерживать EIP без него.
Минус второй. Долго
Да, EIP — это очень долго. Откроем, например, стандарт ERC-998, который во многом соревновался с ERC-1155: https://eips.ethereum.org/EIPS/eip-998 и посмотрим на дату: 07 июля 2018 года. Прошло уже более 4 лет, а воз и ныне там. Я лично не насчитал и десятка проектов на сегодня, кто его использовал (тем паче — использует).
При этом сам стандарт требует связки с ERC-721 & ERC-165. О первом написано много, а вот что указано о втором: “создаёт стандартный метод для публикации и определения того, какие интерфейсы реализует смарт-контракт”. На данный момент — крайне важный подход, если говорить о децентрализации фронтенда и интерфейсов в широком смысле. Но давайте опять посмотрим на дату: это 23 января 2018 года.
Пример с ERC-998 привёл не просто так: дело в том, что мало “принять” EIP, нужно, чтобы его апробировали игроки. Скажем, что толку от ERC-998, если OpenSea и другие используют ERC-1155 и/или ERC-721? Сделать своё казино с неизменными элементами Бендера — можно, но какова будет аудитория? Мала — верно.
Можно открыть ТОП-10 из черновиков:
- https://eips.ethereum.org/EIPS/eip-634: 17.05.2017 — 5 лет;
- https://eips.ethereum.org/EIPS/eip-725: 02.10.2017 — 4.5 года;
- https://eips.ethereum.org/EIPS/eip-998: 07.07.2018 — 4 года;
- https://eips.ethereum.org/EIPS/eip-1202: 08.07.2018 — 4 года;
- https://eips.ethereum.org/EIPS/eip-2135: 23.06.2019 — 3 года;
- https://eips.ethereum.org/EIPS/eip-2334: 30.09.2019 — 2.5 года;
- https://eips.ethereum.org/EIPS/eip-2544: 28.02.2019 — 2.5 года;
- https://eips.ethereum.org/EIPS/eip-2569: 28.03.2020 — 2.5 года;
- https://eips.ethereum.org/EIPS/eip-3525: 01.12.2020 — 2.5 года;
- https://eips.ethereum.org/EIPS/eip-3569: 07.05.2021 — 1 год.
Итого — средний показатель будет 3,15 года, а медианное значение — 2,75 лет. Что невероятно долго для рынка, который переживает циклы роста/падения каждые полгода или даже квартал.
Но и это далеко не всё! Давайте возьмём раздел “Stagnant”: 103 EIPs, тогда как в “Draft” будет сильно меньше: 47, то есть более, чем в 2 раза. А теперь возьмём “Final” и получим лишь 29, то есть в 4 раза меньше, чем “Stagnant”, в 2 раза меньше, чем в “Draft” и главное — в 5 раз меньше, чем в “Stagnant” & “Draft” вместе:
При том, что ERC-165 находится в разделе “Final”, а ERC-998 лишь в разделе “Draft”, но может быть и наоборот и тогда возникает ещё одна проблема:
Минус третий. Связанность
Для обратной совместимости, а также в силу того, что EIP предусматривают очень разные векторы развития Сети, часто они становятся взаимодействующими между друг c другом (см. выше пример), а это означает в свою очередь, что нельзя реализовать EIP #X, пока не будут реализованы EIP #Y & #Z.
Отсюда возникает главная беда EIP — медленный, достаточно формализованный процесс взаимных связей НЕ предназначен для платформ, экосистем или dApps-ов — это ниша, скорее, протоколов разного уровня.
И поэтому многие игры и прочие децентрализованные приложения, что предлагают EIP делают это в большей степени для маркетинга aka привлечения внимания и пиара, но никак не для итогового релиза. И это нужно учитывать, изучая 1001-й “стандарт отрасли”. Особенно — когда рынок в режиме хайпа.
Выводы и решения
Мне представляется, что EIP — хороший подход и решение, но лишь для глубинных стандартов, а вот для внедрения чего-то большего — нет. Скажем, можно создать EIP для NFT для рекламы, для GameFi, для DeFi и прочих сегментов, а можно пойти путём куда более простым: взять и завернуть NFT стандарта ERC-721 или ERC-1155, наградить их новыми свойствами и пустить в плавание в любой из перечисленных сегментов или в совершенно новые рынки.
Это же касается не только подхода к (не) взаимозаменяемым токенам, но и к любым EIP: этот инструмент изначально не создан, чтобы расстреливать мух или жарить котлеты огромными порциями — помните об этом, когда вас убеждают в обратном и
До!