Перегрузка сети EOS: насколько серьезны проблемы в работе «убийцы Ethereum»
В одной из основных блокчейн-платформ для децентрализованных приложений (dApps), EOS, наблюдаются задержки в работе. Так, в прошлом году разработчики жаловались на повышение цены на распределенную оперативную память, необходимую для работы dApps. А в ноябре их работа оказалась под угрозой из-за того, что всего один неизвестный проект наполнил сеть «спамными» транзакциями. Однако источником проблем EOS неизменно называют не протокол, а централизацию блокчейна и бездействие ее ключевых участников. Эти причины, а также перебои в работе сети EOS привели к тому, что 6 декабря агентство Weiss Ratings снизило оценку проекта. Впрочем, даже несмотря на это EOS остается главным конкурентом Ethereum с точки зрения количества приложений и активности их пользователей.
EOS: высокая скорость или децентрализация
История проекта EOS началась в 2017 году. Уже тогда многие оценивали пропускную способность основной платформы для разработки dApps, Ethereum, как недостаточную. Считалось, что создание блокчейна, способного обрабатывать сотни транзакций в секунду привлечет серьезных разработчиков и поднимет сферу dApps на новый уровень.
Тогда Дэн Лаример, у которого на тот момент за плечами уже был опыт работы над запуском биржи Bitshares и социальной платформы Steemit, предложил EOS. Он основал компанию Block.one и объявил о подготовке ICO в поддержку EOS. В ходе токенсейла, который продолжался год и закончился летом 2018 года, стартапу удалось собрать $4 млрд. Это по сей день считается рекордом. Средства перешли в распоряжение Block.one.
EOS изначально позиционировался как «убийца Ethereum» с намного более высокой скоростью работы и отсутствием «газа», то есть комиссий за транзакции. Одним из ключевых отличий EOS от Ethereum был предложенный Ларимером алгоритм Delegated Proof-of-Stake (DPoS). Он строился на механизме управления сетью сообществом.
При алгоритме Proof-of-Work (как в сетях Bitcoin и Ethereum) валидацией транзакций и генерацией блоков занимается каждая нода в сети, что снижает максимально возможную скорость сети. Лаример предложил сократить число нод, управляющих реестром, до 21. Выбирать ноды из числа претендентов должны держатели токенов путем голосования своими стейками (зарезервированными монетами). Пул из 21 ноды создает 252 блока, после чего происходит новое голосование. Участники голосования могут делегировать свои монеты новому кандидату в зависимости от своих предпочтений.
Ноды EOS — или «производители блоков» — становятся представителями сообщества в своеобразном парламенте, ведь в функции производителей блоков также входит голосование по решениям о дальнейшем развитии проекта.
Однако то, что хорошо выглядело на бумаге, на деле оказалось не так надежно.
Интриги в правлении EOS
Главный аргумент критиков протокола DPoS — тенденция к централизации из-за малого числа работающих нод. Каждый участник голосования может отдать свои монеты не за одного, а сразу за 30 кандидатов. Вместе с тем число голосующих стабильно мало. При том, что сейчас в сети EOS зарегистрировано свыше 1.6 млн адресов, голосует лишь небольшая доля — чуть больше 70 000 пользователей (4%).
Более того, 6 декабря рейтинговое агентство Weiss Ratings снизило рейтинг EOS c «B» до «C-». Среди основных причин была названа централизованность сети, поскольку 100 крупнейших держателей контролируют 65-70% всех токенов EOS, а это влияет на исход голосования за производителей блоков.
У производителей блоков есть большая мотивация голосовать за себя. Во-первых, они являются крупными держателями монет, так как получают их за свою работу. Во-вторых, держатели с крупными стейками монет занимают несравнимо большую долю в числе голосов из-за 30-кратного мультипликатора.
Среди криптосообщества ходят слухи о картельном сговоре среди производителей блоков, и этому есть ряд подтверждений. В конце ноября известный производитель блоков, EOS New York, опубликовал данные, предоставленные сервисом WhoIs. Согласно этой информации, домены по крайней мере 6 производителей блоков были зарегистрированы в одно время и одним и тем же лицом или организацией. Кроме того, EOS New York запросила информацию еще по 50 крупнейшим валидаторам, которые участвуют в голосовании.
В июне EOS New York уже был исключен из топ-21 валидаторов. Тогда сообщество EOS заподозрило в скоординированных действиях пользователей из Китая. Позднее были обнародованы документы, из которых следовало, что китайская биржа Huobi, которая управляет собственным производителем блоков EOS, отдала свои голоса 20 другим кандидатам, 16 из которых, в свою очередь, проголосовали за Huobi. Глава Block.one Брендан Блюмер отреагировал на обвинения, назвав их «неподтвержденными». Этот случай так и не был расследован. Более того, на данный момент 11 из 21 производителя блоков EOS официально зарегистрированы в Китае и Сингапуре.
Сотни приложений, которыми пользуются боты?
Не все в порядке у EOS и с основной функцией — работой dApps.
С одной стороны, преимущества EOS по сравнению с Ethereum действительно привлекли немало разработчиков. По данным портала State of the DApps, на EOS создано более 300 dApps, число их пользователей уступает экосистеме Ethereum лишь немногим, а суточное число транзакций и объем исполненных смарт-контрактов и вовсе вне конкуренции.
Изначально среди dApps на EOS доминировали сервисы гэмблинга, однако в 2019 году эта платформа стала пользоваться популярностью среди операторов децентрализованных бирж и разработчиков игр. Это подтверждается статистикой State of the DApps. В частности, на базе EOS работают специализированные торговые площадки от Huobi и iFinex.
С другой стороны, есть сомнения в том, что блокчейном EOS пользуются реальные люди. В июне компания AnChain.AI выпустила исследование, в котором говорится, что 51% уникальных адресов и три четверти всех транзакций в сети EOS приходится на ботов.
«DDoS-атака» на блокчейн
Кроме того, слабые места обнаружились и в функционировании самой сети. Для работы децентрализованных приложений на EOS разработчики должны брать в аренду компьютерные ресурсы, например, оперативную память (RAM) или вычислительную мощность (CPU). Так, для нового профиля пользователя в dApp требуется резервировать около 4 килобайта RAM.
В прошлом году по предложению Дэна Ларимера RAM стала объектом торговли на открытом рынке EOS. По задумке Ларимера, свободная торговля RAM должна была сбалансировать цену. Однако нововведение привело к резкому скачку цен на память в июле.
Весной уже этого года заработал официальный маркетплейс для CPU под названием REX, где держатели токенов EOS могут одолжить или взять в аренду вычислительные ресурсы. Но в сентябре злоумышленник использовал эксплойт в смарт-контрактах и с помощью REX завладел 30 000 токенами EOS (около $110 000), повторно выигрывая спины в онлайн-казино EOSPlay.
Худшее произошло месяц спустя. В начале ноября количество транзакций в EOS резко снизилось более чем на 75% — со 130 000 до 30 000 транзакций — из-за перегруженности сети. Опрошенные DeCrypt эксперты назвали главным виновником «эйрдроп» неизвестного проекта Eidos. Если пользователь отправлял на специальный адрес 0.001 токенов EOS, они автоматически ему возвращались с небольшой суммой токенов Eidos в придачу.
Новые токены «добывались» с помощью незадействованных ресурсов CPU. Одновременно с этим токены Eidos появились на нескольких биржах. Чтобы получить бесплатные токены, одни и те же пользователи начали отправлять одновременно очень много транзакций. Из-за действий Eidos цена CPU на REX взлетела в 10 000–20 000 раз, что негативно отразилось на работе всех других EOS-приложений.
По мнению аналитика с никнеймом Dexaran, проблема проекта глубже. В EOS на генерацию блока отводится 500 миллисекунд, из них 200 — на валидацию и еще 300 — на отправку блока в сеть. Но, когда на этапе валидации в блоке накапливается определенное число переводов, сеть переходит в «режим перегруженности», то есть троттлинга. В этом режиме снижается число транзакций, которые пользователь может перевести с помощью арендованного им объема CPU.
Между тем активность смарт-контракта Eidos продолжалась несколько дней, все это время сеть EOS работала очень медленно. Согласно исследованию Coinbase, 8 ноября транзакции, связанные с Eidos, занимали 95% всего объема переводов в EOS.
Лаример отреагировал на кризис лишь к концу ноября. В своем блоге он признал, что рынок CPU стал «слишком спекулятивным», и предложил перейти к новой модели ценообразования мощности, но с сохранением REX. Согласно предложению Ларимера, по мере уменьшения свободного ресурса цена должна увеличиваться в геометрической прогрессии, а при снижении доли арендованных ресурсов — падать медленнее.
Несогласные в знак протеста уходят из EOS
Проблемы со сниженной производительностью из-за перегруженности сети уже вынудили некоторых разработчиков действовать. 25 ноября администрация приложения EarnBet выпустила заявление, в котором заявила, что если Block.One не решит проблему со «спам-транзакциями», они перейдут на другой блокчейн. Причем в бедах EOS команда EarnBet обвинила не алгоритм, а систему управления, которая не работает:
«EOSIO был построен так, чтобы 21 выбранный производитель блоков имел все полномочия для принятия решений. Если они отказываются принимать эти важные решения, не регулируют и не останавливают приложения, которые "досят" сеть, тогда мы не можем развиваться на основе такой сети. EOS не будет работать, если производители блоков не принимают критически важные решения для оздоровления блокчейна».
Спустя день социальная сеть Karma также объявила о том, что покидает EOS. Среди причин команда проекта назвала бездействие производителей блоков в ходе кризиса с Eidos, высокую стоимость создания профиля ($0.4–$1.5), а также высокие цены на CPU и RAM.
В сентябре из-за недовольства системой управления и снижением активности производителей блоков один из самых ранних и активных валидаторов, EOS Tribe, также сообщил о выходе из проекта. Его глава, Евгений Лузгин, призвал большинство токенхолдеров сделать так, чтобы их услышали, путем голосования за тех производителей блоков, которых они действительно поддерживают.
Впрочем, пока компания Block.One и ее CTO Дэн Лаример не намерены радикально менять курс EOS, а уход нескольких приложений из сотен не заставил руководство поменять свою позицию. Возможно, в Block.One заняты подготовкой к релизу социальной сети на EOS под названием Voice, который назначен на февраль следующего года. Смогут ли члены сообщества EOS, недовольные положением дел, изменить ситуацию?