
BNB Chain был создан как форк go-ethereum, чтобы обеспечить совместимость и программируемость, сохраняя поддержку Ethereum Smart Contracts. Экспоненциальный рост BNB Chain выявил серьезные проблемы масштабируемости, унаследованные от клиента Geth. Операторы архивных узлов столкнулись с критической проблемой: хранение около 17 ТБ данных. Такой объем требует длительной индексации и сжатия, что негативно влияет на производительность Geth при извлечении данных.
Чтобы устранить эти ограничения, Ankr внедрил решение на базе Erigon в инфраструктуру BNB Chain. Erigon, развивавшийся из turbo-geth как усовершенствованный по сравнению с Geth клиент, представляет собой полностью переработанную архитектуру. Реализация Erigon для BNB Chain будет с открытым исходным кодом и доступна всем участникам сети. Этот клиент обеспечивает значительный прирост производительности благодаря модульному устройству, поддержке параллельной разработки, снижению числа операций с базой данных, предварительной обработке данных вне хранилища и поэтапной синхронизации блокчейна.
Erigon обеспечивает качественный скачок по сравнению с существующими клиентами Ethereum, такими как Geth, и дает ощутимые преимущества. Он радикально сокращает требования к дисковому пространству — архивному узлу требуется только 1,2 ТБ (вместо 17 ТБ у стандартных клиентов), а обрезанному — 430 ГБ. Скорость синхронизации превышает 10 блоков в секунду, архивный узел полностью синхронизируется менее чем за 3 дня. Благодаря архитектуре базы данных клиент выдерживает отключения питания без потери данных. Модульность Erigon позволяет запускать P2P и web3 RPC как отдельные компоненты, что дает операторам узлов уникальную гибкость.
Такое внедрение выгодно для BNB Chain и Ankr. Открытый код позволяет операторам узлов BNB Chain свободно развертывать улучшенный клиент и предоставлять вычислительные ресурсы в Ankr Protocol и мультичейн RPC-сеть. Эта инфраструктура RPC дает разработчикам блокчейнов и dApp стабильные сервисы для работы с BNB Chain.
Несмотря на преимущества Erigon, специфика консенсуса и обработки блоков в BNB Chain создала серьезные вызовы для интеграции. В BNB Chain используется собственный консенсус Parlia, отличающийся от стандартного Geth и требующий изменений интерфейса для совместимости без нарушения целостности обработки блоков. Системные вызовы BNB Chain сильно отличаются от стандартного Erigon, особенно по определению вызываемых функций и расчету лимита газа. Каждая системная транзакция требует промежуточного завершения блока, что не поддерживается Erigon и может привести к ошибкам расчета газа при одновременном изменении состояния несколькими вызовами.
Реализация Ankr решила эти задачи благодаря переносу ключевых функций BNB Chain в Erigon. Genesis-блок и конфигурация цепи теперь хранятся в исходном коде, а не в JSON, что устранило необходимость предварительной инициализации. Движок Parlia интегрирован через модификацию интерфейса, обеспечивая совместимость с обеими системами. Системные вызовы BNB Chain полностью поддерживаются специальным транспортным уровнем для кроссчейн-коммуникаций. Все форки BNB Chain — Ramanujan, Niels, MirrorSync и Bruno — были интегрированы. Методика обработки блоков переработана: теперь системные транзакции и квитанции добавляются к исполнению блока, а корни транзакций и состояния корректируются. Все системные контракты также поддерживаются через отдельный транспортный уровень.
Стратегия развертывания Ankr предполагает поэтапную проверку работы Erigon в среде BNB Chain. Первый релиз функционирует как полный узел без режима валидатора, что позволяет устранить возможные ошибки до включения расширенного функционала. Главная задача на первом этапе — подтвердить, что Erigon корректно работает с полными узлами BNB Chain в основной и тестовой сетях. На следующих этапах будет проверяться совместимость с валидаторами и включаться режим валидатора после валидации full node.
Архитектура Erigon содержит множество оптимизаций специально для BNB Chain. Используется библиотека хранения MDBX — одна из самых быстрых и легких встроенных баз данных, заменившая LevelDB. MDBX ускоряет работу на 30 % по сравнению с RocksDB и LevelDB, хотя теоретически размер базы ограничен 8 ТБ из-за способа адресации страниц (это ограничение можно изменить через размер страниц в файловой системе). Сейчас для архивного узла требуется примерно 2,5 ТБ. Архитектура RPC-демона отделяет функционал RPC от работы узла, позволяя масштабировать систему независимо через удаленное подключение к базе и кластеры. Поэтапная синхронизация разбита на 15 фаз — от загрузки заголовков и тел блоков до исполнения и проверки состояния, что позволяет эффективно использовать ресурсы благодаря пакетной обработке и общим кэшам. После каждой фазы промежуточные кэши очищаются, что экономит место и снижает нагрузку на диск.
Ankr провел комплексное тестирование производительности на обычном оборудовании ниже среднего уровня, чтобы показать эффективность Erigon. Использовались 4 vCPU, 8 ГБ ОЗУ, диск под ОС 160 ГБ и хранилище 1 ТБ. Синхронизация тестовой сети заняла 25 часов 10 минут до блока 14 778 509. Использовалось только одно процессорное ядро, что говорит о большом запасе по ускорению при переходе на многопоточность — предварительные оценки показывают рост скорости в 4–5 раз после оптимизации кода, при этом Erigon уже намного быстрее Go-Ethereum.
Тесты с помощью ethspam и versus оценивали обработку 100, 200 и 300 параллельных запросов. Erigon показал 0 % ошибок во всех сценариях. В сравнении с сервером Geth на Goerli testnet при 100 параллельных запросах Erigon показал лучший результат: Geth дал 6,75 % ошибок соединения, что подтверждает преимущество Erigon по надежности и производительности.
Реализация Erigon от Ankr даёт BNB Chain новые возможности. BNB Chain продолжает наращивать объём транзакций за счёт роста DeFi, NFT и гейминга на развивающихся рынках. Низкие комиссии и совместимость с EVM способствуют этому росту, но инфраструктура узлов должна поддерживать высокую производительность при постоянной нагрузке. Открытая реализация Erigon от Ankr делает инфраструктуру узлов эффективнее, помогает провайдерам поддерживать синхронизацию и способствует развитию сообщества BNB Chain.
Публичный RPC-сервис Ankr дополняет экосистему, предоставляя разработчикам бесплатный и неограниченный доступ к вызовам BNB Chain с тем же функционалом, что при работе собственного полного узла. Это решение расширяет доступ к блокчейну, увеличивает число участников и ускоряет инновации в экосистеме.
Внедрение Erigon от Ankr для BNB Chain стало важным шагом для инфраструктуры: оно устранило ключевые ограничения масштабируемости и сохранило полную совместимость с EVM. Системное решение технических задач интеграции и оптимизация позволили снизить требования к хранилищу на 93 %, а скорость и стабильность синхронизации выросли в разы. Открытый код даёт всему сообществу BNB Chain промышленный инструмент, позволяя операторам узлов подключать ресурсы к Ankr Protocol и поддерживать внедрение блокчейна на развивающихся рынках. По мере развития сети BNB Chain Erigon обеспечивает базу для дальнейшего роста и увеличения числа транзакций. Будущая оптимизация с многопоточностью, поддержка режима валидатора и работа с основной командой BNB Chain ещё больше повысят эффективность и надёжность сети.
ANKR RPC — это высокопроизводительный сервис для подключения к блокчейну, предоставляемый Ankr, который позволяет разработчикам создавать и поддерживать Web3-приложения более чем на 30 блокчейнах с быстрой и надёжной инфраструктурой.
Перейдите на ankr.com/rpc, выберите нужный блокчейн из списка, получите свой API endpoint и интегрируйте его в приложение для работы с транзакциями и запросами к данным блокчейна.
RPC (Remote Procedure Call) — это протокол, который позволяет программам выполнять функции на удалённых серверах блокчейна. Он даёт приложениям возможность взаимодействовать с сетями блокчейна, получать данные, отправлять транзакции и извлекать информацию. RPC — основа доступа к децентрализованным сетям.











