Выпущено обновление для программного обеспечения главного сервера Ripple XRP Ledger
Разработчик Эллиот Ли сообщил, что выпущено обновление для программного обеспечения главного сервера Ripple XRP Ledger.
Разработчик Эллиот Ли сообщил, что выпущено обновление для программного обеспечения главного сервера XRP Ledger, версия 1.8.2. В этой версии устранены полные очереди транзакций и проблема с повышенными комиссиями за транзакции, наблюдаемая в реестре XRP. Также были представлены некоторые оптимизации и небольшие исправления для повышения производительности сервера в целом.
В последнее время серверы в сети XRP Ledger имеют полные очереди транзакций, и транзакции с низкой комиссией в большинстве случаев не могут быть подтверждены через очередь. После расследования было обнаружено, что большой приток транзакций в сеть привел к увеличению транзакционных издержек, которые должны были быть предложены в следующем блоке бухгалтерской книги, и отложить транзакции с меньшими затратами на более поздние регистры. Первая часть работала так, как задумано, но отложенные транзакции не подтверждались, поскольку бухгалтерская книга могла их обрабатывать. Основная причина заключалась в том, что было очень много недорогих транзакций, которые разные серверы в сети получали в разном порядке из-за случайных различий во времени или топологии сети, что заставляло валидаторы предлагать разные наборы недорогих транзакций из очереди. Поскольку ни одна из этих транзакций не поддерживалась большинством валидаторов, они были удалены из предложенного набора транзакций. Обычно предполагается, что любые транзакции, удаленные из предлагаемого набора транзакций, будут повторены в следующем регистре, но серверы попытались сначала поместить эти отложенные транзакции в свои очереди транзакций, которые были заполнены. В результате отложенные транзакции были отброшены, и сеть смогла подтвердить только транзакции, за которые пришлось заплатить высокую цену.
Исправление ошибок
Устранение повышенных комиссий за транзакции: это изменение решает проблемы полной очереди двумя способами. Во-первых, отложенные транзакции помещаются непосредственно в открытый реестр, а не в очередь транзакций. Это отменяет подмножество изменений из ximinez @ 62127d7. Транзакция, которая находится в открытом реестре, но не прошла валидацию, должна оставаться в открытом реестре, чтобы ее можно было сразу же снова предложить. Во-вторых, он изменяет порядок, в котором транзакции извлекаются из очереди транзакций, чтобы увеличить перекрытие в предложениях серверов по первоначальному консенсусу транзакций. Как и в старых правилах, в первую очередь выбираются транзакции с более высоким уровнем комиссии. В отличие от старых правил, транзакции с одинаковым уровнем комиссии упорядочиваются по возрастанию идентификатора транзакции / хэша. (Раньше транзакции с одинаковым уровнем комиссии не сортировались, в результате каждый сервер имел разный порядок.)
Добавлен параметр ignore_default в API account_lines : этот флаг, если он присутствует, подавляет вывод входящих линий доверия в состоянии по умолчанию. Это в первую очередь мотивировано тем, что пользователи часто имеют много нежелательных входящих линий доверия в состоянии по умолчанию, которые бесполезны в подавляющем большинстве случаев. Возможность подавить их во время работы account_linesэкономит пропускную способность и ресурсы. ( # 3980 )
Сделаны настраиваемые рабочие потоки ввода-вывода и предварительной выборки : эта фиксация добавляет возможность указывать io_workers и prefetch_workers в файле конфигурации, которые можно использовать для указания количества потоков для обработки необработанного входящего и исходящего ввода-вывода и настройки количества потоков для выполнения узла предварительная загрузка магазина. ( # 3994 )
Применены ограничения RPC учетной записи по пройденным объектам : это изменяет способ подсчета API-метода account_objects и ограничивает количество возвращаемых им объектов. Вместо того, чтобы ограничивать результаты количеством найденных объектов, он подсчитывает количество пройденных объектов. Кроме того, были уменьшены стандартные и максимальные ограничения для подключений без прав администратора. Это сокращает объем работы, которую может выполнить один вызов API, чтобы общедоступные серверы API могли более эффективно распределять нагрузку. ( # 4032 )
Устранение сбоя при завершении работы: бэкэнд-класс NuDB мог выдать ошибку в своем деструкторе, что приводило к сбою во время корректного завершения работы сервера. Эта авария была безвредной, но привела к ложным срабатываниям и шуму при отслеживании других возможных аварий. ( # 4017 )
Улучшение отчетов об очереди заданий в админке server_info : команда server_info при запуске с правами администратора предоставляет информацию о заданиях в очереди заданий сервера. Эта фиксация предоставляет более описательные имена и более детализированные категории для многих заданий, которые ранее все идентифицировались как «clientCommand». ( # 4031 )
Улучшение полной и сжатой десериализации внутреннего узла : удалите операцию избыточного копирования из низкоуровневой десериализации SHAMap. ( # 4004 )
Режим отчетов: перенаправлять только на синхронизируемые узлы P2P : ранее серверы в режиме отчетов перенаправлялись на любой из настроенных ими узлов P2P в случайном порядке. Эта фиксация улучшает выбор, так что он выбирает только те узлы P2P, которые полностью синхронизированы с сетью. ( # 4028 )
Улучшена обработка заголовков HTTP X-Forwarded-For и Forwarded : исправляет способ обработки сервером адресов IPv6 в этих заголовках HTTP. ( # 4009 , # 4030 )
Ранее было известно, что Xange.com разработает решение для углеродно-нейтрального кредитования Ripple XRP Ledger.
Источник: Источник