Правильно ли я понял, что "правильный" с точки зрения сегвита блок, с оставленными сегвит-данными, это блок без сегвит-данных? Или это то же блок, просто с левыми сегвит-данными?
Смотрите.
Есть блок. Блок - это просто последовательность данных (транзакций), удовлетворяющая нескольким условиям.
Сейчас все транзакции подписаны. А у блока есть "доказательство выполненной работы", тот самый PoW
То есть хэш блока начинается с определенного количества нулей.
В чем принцип сегвит?
Часть данных из транзакций (а именно публичные ключи и подписи) помещаем в отдельную последовательность байтиков. Не знаю как это называть правильно - Назовём это "сегвит-данные"
В coinbase-транзакцию помещаем хэш этих данных
А потом майним блок, перебирая nonce пока хэш первых 80 байтов в блоке не будет начинаться с нужного числа ноликов.
Таким образом решаем задачу:
1) количество транзакций в блоке стало больше, так как сами транзакции сжалсь в размере
2) исключена "ковкость" (malleability) транзакций
3) никакой байтик ни в блоке, ни в сегвит-данных нельзя изменить просто так - потому что при изменении сегвит-данных изменится coinbase-транзакция. При изменении данных в блоке - поменяется его хэш.
4) При наличии того и другого можно восстановить исходный вид транзакций и проверить правильность подписей
Все мои размышления сводятся к тому - а что будет если в сеть кинуть только блок.
А сегвит-данные не публиковать. Оставить их себе, публиковать позднее или вообще никогда (по причине их отсутствия)