Да. Единственная защита отвесная счет делать это нападение. Также обратите внимание, что нападение на время в течение значительного периода будет также атаковать трудности, так что глупо взломщик (ускоряя время) будет фактически атаковать себя за счет увеличения сложности.
Там какая-то дополнительная проверка вменяемости, действительный блок не может иметь метку, которая от более чем за два часа от медианы последних десяти блоков или что-то в этом роде.
Я могу подтвердить, что я проверил, что этот код там, и это работает.
// Проверяем метки
если (block.GetBlockTime () > GetAdjustedTime () + 2 * 60 * 60)
вернуться state.Invalid (ошибка ("CheckBlock (): блок временной метки слишком далеко в будущем"),
REJECT_INVALID, "время слишком новый");
Вы можете помоему в testnet блок с часами компьютера установить 119 минут в будущее, но если бы вы были отметка времени блока за два часа вперед, сеть (которые все имеют подобное мнение времени) отклонит блок (как в игнорировать этот блок, и никакие дополнительные блоки не будут построены на нем), по крайней мере, пока достаточно времени не прошло, что блок может быть передан повторно после того, как он соблюдать правила времени сети. Это просто основано на часах каждого шахтера, который не имеет права быть выключен из сетевого времени консенсуса более чем на пять минут без предупреждения.
Время сети консенсуса является очень точным. Я бегу NTP и никогда не получить больше, чем
nTimeOffset = -2 (+0 минут) в журналах.
Так как существует очень мало широта в блоке временных метках, которые будут приняты, это не дает шахтеру много места в жульничестве метки времени на перенастроить блок - две недели (336 часов) +/- 1 час. Здесь вы можете увидеть debug.log из переориентацию делается:
2014-09-14 23:03:37 nActualTimespan = 1112235, прежде чем пределы
2014-09-14 23:03:37 GetNextWorkRequired Retarget
2014-09-14 23:03:37 nTargetTimespan = 1209600 = 1112235 nActualTimespan
2014-09-14 23:03:37 До: 182815ee 00000000000000002815ee000000000000000000000000000000000000000000
2014-09-14 23:03:37 После: 1824dbe9 000000000000000024dbe917e45e45e45e45e45e45e45e45e45e45e45e45e45e