24 июня 2022

EIP — это долго? Да

Прежде всего: Ethereum Improvement Proposals (EIP) – предложения по улучшению Ethereum. Авторы EIP предлагают разработчикам идеи, которые могли бы исправить какие-либо недостатки платформы и/или усовершенствовать её. Ещё точнее это звучит так: “предложения по усовершенствованию Ethereum (EIPs) описывают стандарты для платформы Ethereum, включая спецификации основных протоколов, клиентские API и стандарты контрактов. Модернизация сети обсуждается отдельно в репозитории «Управление проектами Ethereum». 

И, казалось бы, благое начинание, но есть у него и минусы. О них кратко и показательно поговорим. 

Минус (плюс) первый. Формально

Если перейти по ссылке: https://github.com/ethereum/EIPs/blob/master/eip-template.md — то можно найти основные пункты, которые должны быть отображены в любом EIP:

  1. Общее описание (Abstract); 
  2. Мотивация;
  3. Спецификация; 
  4. Обоснование;
  5. Обратная совместимость;
  6. Тестовые примеры;
  7. Ссылка на реализацию;
  8. Основные положения по безопасности;
  9. Копирайт. 

Как видим — критериев довольно много (пусть и не все тезисы обязательные). Как бы там ни было — необходимо чёткое, подробное, объективное описание, которое соответствует обозначенным тезисам. И это не всегда просто. Более того: формализовал разработчик, ушёл и что дальше? Верно — нужно поддерживать 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 из черновиков:

  1. https://eips.ethereum.org/EIPS/eip-634: 17.05.2017 — 5 лет;
  2. https://eips.ethereum.org/EIPS/eip-725: 02.10.2017 — 4.5 года;
  3. https://eips.ethereum.org/EIPS/eip-998: 07.07.2018 — 4 года;
  4. https://eips.ethereum.org/EIPS/eip-1202: 08.07.2018 — 4 года;
  5. https://eips.ethereum.org/EIPS/eip-2135: 23.06.2019 — 3 года;
  6. https://eips.ethereum.org/EIPS/eip-2334: 30.09.2019 — 2.5 года;
  7. https://eips.ethereum.org/EIPS/eip-2544: 28.02.2019 — 2.5 года
  8. https://eips.ethereum.org/EIPS/eip-2569: 28.03.2020 —  2.5 года;
  9. https://eips.ethereum.org/EIPS/eip-3525: 01.12.2020 — 2.5 года
  10. 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” вместе:

Menaskop & EIP 000

При том, что ERC-165 находится в разделе “Final”, а ERC-998 лишь в разделе “Draft”, но может быть и наоборот и тогда возникает ещё одна проблема:

Минус третий. Связанность

Menaskop & EIP

Для обратной совместимости, а также в силу того, что EIP предусматривают очень разные векторы развития Сети, часто они становятся взаимодействующими между друг c другом (см. выше пример), а это означает в свою очередь, что нельзя реализовать EIP #X, пока не будут реализованы EIP #Y & #Z. 

Отсюда возникает главная беда EIP — медленный, достаточно формализованный процесс взаимных связей НЕ предназначен для платформ, экосистем или dApps-ов — это ниша, скорее, протоколов разного уровня. 

И поэтому многие игры и прочие децентрализованные приложения, что предлагают EIP делают это в большей степени для маркетинга aka привлечения внимания и пиара, но никак не для итогового релиза. И это нужно учитывать, изучая 1001-й “стандарт отрасли”. Особенно — когда рынок в режиме хайпа. 

Выводы и решения

Мне представляется, что EIP — хороший подход и решение, но лишь для глубинных стандартов, а вот для внедрения чего-то большего — нет. Скажем, можно создать EIP для NFT для рекламы, для GameFi, для DeFi и прочих сегментов, а можно пойти путём куда более простым: взять и завернуть NFT стандарта ERC-721 или ERC-1155, наградить их новыми свойствами и пустить в плавание в любой из перечисленных сегментов или в совершенно новые рынки. 

Это же касается не только подхода к (не) взаимозаменяемым токенам, но и к любым EIP: этот инструмент изначально не создан, чтобы расстреливать мух или жарить котлеты огромными порциями — помните об этом, когда вас убеждают в обратном и

До!