cryptofoundry

Связаться с cryptofoundry

Расскажите, что вы хотите создать или автоматизировать.

Электронная почта
[email protected]
ADAMANT Messenger
Открыть в ADAMANT
ADM Nodes, Delegates & Pools

Процедура восстановления после форка в блокчейне ADM

В программном обеспечении ноды блокчейна ADAMANT могут возникать краткие форки, когда несколько делегатных нод одновременно создают блоки. Затем сеть должна решить, какой блок сохранить. Действующее правило консенсуса — выбирать самый старый блок, исходя из предположения, что временная метка достоверна, или, если временные метки совпадают, выбирать блок с наименьшим ID. Эти краткие форки происходят регулярно в блокчейнах и не перерастают в более масштабные или опасные расхождения.

Удаление последнего блока

Нода записывает в лог «Deleting last block», когда обнаруживается форк — либо при восстановлении, либо при получении нового блока. Распространённая причина — получение блока с той же высотой и ID предыдущего блока, что и у существующего, но с другим собственным ID. Это стандартное действие восстановления, которое поддерживает согласованность блокчейна, не вызывая более глубоких форков.

Пример лога

Следующая запись в логе иллюстрирует действие восстановления. Удаляемый блок имеет высоту 48093334 и ID 15500937233239097229. Полные данные транзакций здесь опущены для краткости, но ключевые метаданные показывают версию блока, итоги, вознаграждение, генератора и временную метку:

[WRN] 2025-08-06 00:00:09 | Deleting last block - {"version":0,"totalAmount":12119967437,"totalFee":150000000,"reward":15000000,"payloadHash":"b04ed7f935bec1f74b7a179ff07557a36ca5ea38d6966381f1a5794ca9df7125","timestamp":250066805,"numberOfTransactions":3,"payloadLength":351,"previousBlock":"17914802164676259429","generatorPublicKey":"547919533beb2612d76e3a7d5f38e61145a2b0ecb96d971277f34fb8efd3bcb3","blockSignature":"64be4069540ab86f195d3bfb477ac8b2514dc99c33b881d98cdab103101b95e21c3f0cb1d6df5a128977a13992956c5390d7e69b18eb99055250c55d9b734802","height":48093334,"id":"15500937233239097229","relays":3}

Резюме

Форки автоматически разрешаются выбором самого старого блока или блока с наименьшим ID. Действие «Deleting last block» — это рутинный шаг восстановления при обнаружении конфликтующих блоков на одной высоте, обеспечивающий согласованность блокчейна без возникновения более глубоких форков.