Zilliqa, первый публичный блокчейн, внедривший шардинг, объявил о срочном обновлении своей блокчейн-платформы. Цзюнь Хао Тан, старший вице-президент по безопасности и инженерным вопросам Zilliqa, отметил, что обновление - это попытка решить проблему большого потребления памяти на майнинговых узлах для комитета DS. Так, в сообщении, опубликованном в среду, 14 июля, Zilliqa написала в Твиттере:
“Уважаемое сообщество. Мы работаем над срочным обновлением сети. В этот период обновления не будут обрабатываться транзакции, а блокчейн. API может быть недоступен. Мы будем держать вас в курсе состояния обновления. Спасибо за постоянную поддержку!”
В своем сообщении на Reddit компания Zilliqa отметила, что последнее обновление сети v8.0 было многофункциональным. Кроме того, оно сократило время блока, скорректировало приоритеты для майнеров, а также провело ряд других оптимизаций. Однако после обновления блокчейн Zilliqa показал нестабильность. В результате основная команда несколько раз прибегала к внедрению исправлений. Но это привело к многочисленным простоям.
Zilliqa отметила, что ее цель - обеспечить прозрачность и предпринять шаги, снижающие вероятность подобных событий в будущем. Она стремится внедрять новые функции на основе своей базовой технологии, следуя отраслевым стандартам и проводя стресс-тесты. В объявлении на Reddit отмечается:
Как только изменения и модульные тесты полностью готовы, мы запускаем эти новые изменения в частной мелкомасштабной сети в течение определенного периода времени, затем проводим масштабную интеграцию в масштабах основной сети, а затем развертываем изменения в публичной тестовой сети, открытой для всех желающих. Если во время тестирования в любой из сетей обнаруживается ошибка, она исправляется, и мы начинаем с первого шага: пишем модульный тест для выявления ошибки, развертываем исправления в частной сети и так далее.
Внедрение инструментов формальной верификации
Теперь, чтобы продвинуть процесс тестирования, Zilliqa планирует внедрить "инструменты формальной верификации" для моделирования системы. Затем разработчики смогут формально проверить созданную модель и даже реализацию. Однако инструменты формальной верификации требуют большого количества человеко-часов. Но в то же время они полезны для проверки "корректности, надежности и безотказности критически важных программных систем".
Цель Zilliqa - объединить две взаимодополняющие функции модульного тестирования и формальной верификации. Это поможет разработчикам обнаружить любые проблемы проектирования или реализации, связанные с критической частью кодовой базы.
Чтобы еще больше снизить остроту этих проблем, Zilliqa планирует сократить частоту обновления сети. Это даст больше времени для тестирования существующих функций на блокчейне и в естественных условиях.
В ходе последнего устранения неполадок Zilliqa заметила "пару смарт-контрактов, развернутых в сети, в которых реализованная логика заставляет состояние контракта увеличиваться с новыми транзакциями". Теперь команда будет дорабатывать некоторые параметры, которые уберут из поля зрения базовые шаблоны проектирования. Кроме того, это позволит лучше статически и динамически предупредить разработчиков в этом отношении. В сообщении на Reddit отмечается:
Обратите внимание, что такие контракты могут работать нормально до поры до времени, но рано или поздно они могут достигнуть предела блочного газа, что сделает эти контракты непригодными для использования и не подлежащими вызову. Мы призываем разработчиков помнить об этом и других подобных паттернах проектирования. Например, если контракт использует список и если этот список растет с каждой транзакцией, это может создать проблемы для контракта в будущем. Кроме того, контракты должны по возможности избегать циклов, так как циклы на очень большом списке или карте в какой-то момент приведут к ограничению по блочному газу.