Код говорит MAX_BLOCK_SERIALIZED_SIZE = 4000000
, но на самом деле это не правило консенсуса, как указано здесь:
https://github.com/bitcoin/bitcoin/issues/10289
Фактическое правило консенсуса основано на MAX_BLOCK_WEIGHT, что также равно 4000000. Мне неясно, какой минимальный вес может иметь транзакция p2wpk или p2wsh. В частности, каково наилучшее соотношение размера/веса сериализованного свидетеля, которое может иметь транзакция после активации SegWit?
Это должно ответить на вопрос, каков максимальный размер блока, возможный после активации SegWit.
Максимальный размер блока составляет 4 000 000 байт (4 МБ). Это связано с вычислением веса блока base size (in MB) * 3 + total size (in MB) = block weight
( см. BIP 141 ). Поскольку единственными единицами являются МБ, единственными единицами веса блока также являются МБ, поэтому максимальный размер блока равен весу блока.
Наилучшее соотношение размера и веса, которое я могу придумать, — это транзакция, которая также тратит вывод P2WSH, который имеет нелепый сценарий погашения. А еще есть транзакция coinbase и заголовок блока. Свидетель был бы 4000000 - 240 * 3 - 240 = 3999040
. Итак, в свидетеле 3999040 байт. Тогда общий размер блока равен 3999040 + 240 = 3999280 bytes
.
Питер Уилле
Эндрю Чоу
Джимми Сонг
Эндрю Чоу
булавочная головка
булавочная головка
Питер Уилле
булавочная головка