Внезапная популярность Криптокотиков наглядно продемонстрировала ограниченность пропускной способности блокчейна Эфириума, полностью блокировав работу сети с более чем 700 000 транзакций в день.
Спрос на транзакции Эфириума стабильно растет уже несколько месяцев, но похоже, что только котикам удалось создать критическую перегрузку, в результате чего мемпул вырос до 20 000 транзакций, а комиссии за простой перевод эфира достигли 11 центов.
Положение осложняется тем, что майнеры (в частности, Ethermine)
отказываются увеличивать плавающий газ-лимит (аналог размера блока в Биткойне) потому что процент анклов («брошенных» блоков) слишком велик. Ник Джонсон (Nick Johnson) из Фонда Эфириума разъясняет:
Чем больше блок, тем больше анклов; оптимизация кода, увеличивающая скорость распространения блоков по сети и скорость их обработки, значительно уменьшит появление анклов на всех уровнях.
Работы по повышению скорости обработки блоков уже проводились, особенно в разгар DoS атак на сеть прошлой осенью, однако тогда проблема была решена хардфорком, и необходимость модификаций отошла на второй план.
Полагаю, такие работы возобновятся прямо сейчас: я вижу, по меньшей мере, пару вещей, которые можно сделать очень быстро.
В последнее время Фонд больше занимался глобальной проблемой масштабирования, решая задачи PoS и шардинга, забросив казавшиеся малозначимыми проблемы майнеров. Однако, казавшаяся такой безобидной игра с котиками требует срочных мер. Джонсон приводит некоторые из них:
«Недавнее предложение EIP по сжатию данных в транзакциях способно существенно снизить их объем. Это предложение уже реализовано в клиенте Geth, но второй клиент – Parity, его еще не поддерживает, так что пока обмен данными между Geth и Parity идет с несжатыми данными. Кроме того, в Geth уже реализована запись префиксных деревьев с увеличенными интервалами, вместо того, чтобы писать их в каждом блоке. Это помогает игнорировать мгновенно устаревающие данные».
На пути к простейшему решению — увеличению газлимита — необходимо ликвидировать несколько узких мест. Первое из них – это хранение данных, и эта задача уже решена. Затем, необходимо снизить время передачи новых блоков между майнерами с помощью сжатия данных, и по словам Джонсона, здесь дело за командой Parity.
Кроме того, в самом скором времени Эфириум реализует собственную версию FIBRE, xThin или Graphene: это позволит значительно ускорить обмен сообщениями между майнерами, что резко снизит процент анклов.
Комментируя отказ Ethermine от увеличения газлимита, Джонсон сказал: «Я думаю, они правы в том, что увеличение газлимита прямо сейчас не поможет. В то же время, небольшие модификации клиентов могут изменить это положение».
Сроки решения проблемы даже в краткосрочной перспективе определить не просто, особенно в том, что касается эффективности распространения блоков. Джонсон высказал следующие предположения:
«Это зависит от команд обоих клиентов. Нужно выпустить новые версии клиентов и посмотреть, какой эффект эти изменения окажут на появление анклов; думаю, что пара недель минимум.
Я думаю, что Криптокотики оптимизируют свой контракт быстрее, или спрос на них упадет. Конечно, это не уменьшает важности срочных модификаций клиентов».
Котики стали лишь «последней соломинкой», так что вряд ли спрос на транзакции сильно упадет в ближайшее время.
Виталик Бутерин написал в Twitter, что 20 центов за транзакцию – неприемлемая цена, и скорее всего, это лишь временное явление, до появления модификаций, которые станут временным решением до реализации Casper и шардинга.
Что же касается реалистичного прогноза на ближайшие несколько недель, то перегрузка сети продолжится, а комиссии будут повышаться и дальше, в то время как полноценные модификации клиентов, которые смогут убедить майнеров поднять газлимит, появятся как минимум, в конце месяца, а скорее всего, в начале следующего года.
Источник: bits.media