А вот мне интересно. Сейчас многие создают свои форки. Но у всех с пересчетом сложности все стандартно - каждые N блоков.
А почему никто не догадался примерно о таком пересчете сложности:
1. База: ежесуточный пересчет после нахождения первого блока после 00:00 UTC (именно UTC, чтобы отвязаться от перевода стрелок в тех странах, где он еще есть).
2. Если число найденных блоков с момента последнего пересчета достигло определенного порога X, производится внеплановый пересчет после блока номер X.
3. Если к моменту очередного суточного пересчета (см. п. 1) еще не прошло 1 часа от последнего внепланового пересчета (п. 2), очередной суточный пересчет отменяется.
Сам алгоритм пересчета - стандартный, основанный на скорости генерации блоков.
Зачем вообще нужен пересчет сложности? Кэп подсказывает: только для таргетирования сети на определенный блок-рейт. Как часто таргетировать - в принципе, не важно. На нове это вообще после каждого блока делается.
При таком пересчете на форке не будет ни слишком сильного увеличения блок-рейта, ни длинных периодов до следующего пересчета, когда с него уходит бОльшая часть майнеров (то, что произошло на FTC и CNC). А также время следующего пересчета по-прежнему вполне предсказуемо и калькуляторы могут показать прогноз времени пересчета и следующего значения.
а кто время замеряет?