Простое описание
Исправление некорректной реализации кодирования и декодирования пользовательского поля заголовков блоков.
Аннотация
В настоящее время при RLP-кодировании заголовков блоков каждый элемент пользовательского списка добавляется в RLP-список как необработанные байты, вместо которых должны быть добавлены его RLP-кодированные данные. Декодирование такого поля в виде необработанных байтов может привести к тому, что пользовательское поле будет отличаться от закодированных данных.
Мотивация
Мы должны кодировать и декодировать пользовательское поле в соответствии с ожиданиями, чтобы можно было извлечь правильные данные.
Спецификация
Каждый элемент пользовательского поля будет добавлен к RLP-списку заголовка блока обычным образом, что означает добавление его RLP-кодированных данных. И декодирование также будет рассматривать каждый элемент как RLP-кодированные байты.
Объяснение
Объяснять ничего не нужно.
Обратная совместимость
Это изменение кодирования и декодирования заголовка блока в P2P-передаче, так что это нарушение протокола.
Тестовые примеры
TBA
Реализация
N/A
Соображения безопасности
Данное исправление будет активировано с помощью хардфорка, поэтому все обновленные узлы должны кодировать/декодировать заголовки блоков по одному и тому же правилу.
Авторское право
Отказ от авторских и смежных прав осуществляется по лицензии CC0.
Ссылка на оригинал: CIP-112:修复区块头 custom 字段序列化
Присоединяйся к сообществу Conflux Russia
Чат Telegram | Официальные новости Telegram | Twitter | Reddit | Discord | Forum | Medium | Официальный сайт