Как распознать повторное предложение полезной нагрузки Tenderbake
На позднем раунде блок Tezos может использовать полезную нагрузку раннего предложения. Если считать каждое предложение новым набором транзакций, активность на медленном уровне будет завышена.
Сопоставьте раунд блока и полезной нагрузки
В BLOCK укажите известный хеш блока. Прочитайте payload_hash и payload_round из заголовка. Раунд самого блока извлеките инструментом, декодирующим fitness версии протокола на этом уровне.
octez-client rpc get "/chains/main/blocks/$BLOCK/header"
Если раунд блока равен 2, а payload_round равен 0, нагрузка возникла в раунде 0 и была предложена повторно. Различайте предложения заголовков по уровню, раунду и хешу блока; наборы транзакций сравнивайте по идентичности нагрузки.
Учитывайте видимость наблюдателя
Один канонический блок не перечисляет все конкурирующие или брошенные предложения, видимые бейкерам. Для восстановления времени по раундам понадобятся наблюдения за консенсусом или журналы бейкера, собранные во время инцидента. octez.tezos.com Octez protocol documentation