Почему при высокой нагрузке на криптовалютную сеть некоторые блокчейны сильно замедляются или даже «падают» на некоторое время?
Например, буквально сегодня был запущен нашумевший NOT Pixel на TON. Да, отличная идея от топового проекта в сети — новый пиксель-токен добавляется изначально на DEX, происходит ончейн-онбординг, а не перелив аудитории на централизованные биржи, и это очень полезно для общих показателей ликвидности и благосостояния экосистемы в целом.
Но что видим на запуске?
TON «прилег», пользователи не могут завершить операции (ни купить, ни продать, ни «заклеймить» не представляется возможным).
Создается общее ощущение «незрелости» WEB3 технологии — кругом «лаги и баги».
Почему так происходит?
Главная причина в неудачной архитектуре «шардинга».
Как объясняют аналитики, у большинства блокчейнов все транзакции выполняются в одном блоке. Они выстраиваются в цепочку и поочередно обсчитываются. Быстро, просто, но за пару секунд много не обсчитать.
У Solana транзакции тоже обсчитываются в одном блоке, но параллельно. Так можно на мощном «железе» за 2 секунды обсчитать в разы больше. При этом, чтобы транзакции «не конфликтовали», разработчики придумали «дробить» контракты на так называемые «контракты-жетоны». Так не получится, что два человека одновременно сняли с бриджа токены, и кому-то не хватило.
NEAR сделал по-другому — там валидатор обслуживает только часть контрактов. Это позволило существенно увеличить количество транзакций и удешевить хранилище. Недостатки тоже есть: «свап», который идет через 3 контракта, нужно ждать три блока, т.к. каждый контракт это отдельный шард, и «перевод+свап+перевод» — это фактически 3 внутренних транзакции подряд в трех блоках.
А TON решил совместить технологии SOL и NEAR: 20 «мини-контрактов-жетонов», которые выполняются в разных «шардах» в рамках одной «мегатранзакции». В конечном итоге сообщения между «шардами» полностью «заспамили» сеть — они теряются, транзакции «застревают» в самом разгаре выполнения операции в моменты повышенной нагрузки на сеть. В конечном итоге переводы доходят через несколько часов или и того больше.
Такого рода система может работать только если всех валидаторов посадить в одну комнату и соединить оптоволокном. Но это конечно невозможно.
Проблему пытаются решить ограничением на количество транзакций на один контракт, но это делает ситуацию с задержками еще хуже — разве что блокчейн не «ложится».
Самое обидное, что поделать уже ничего нельзя: контракты написаны, «стейт раздроблен». Можно лишь перезапустить сеть, взяв за базу рабочую схему. Ноо…
В общем и целом, подводя итог, можно сказать, что масштабирование при сохранении децентрализации — это самая сложная задача для блокчейна. Конкретно TON необходим масштабный технический апгрейд, иначе ончейн-активности не будет.