Post
Topic
Board Новички
Re: что будет если посчитать блок с завышеным
by
yurm
on 30/05/2013, 02:51:17 UTC
1. Файл main.cpp, метод bool CBlock::CheckBlock:
Code:
    // Check timestamp
    if (GetBlockTime() > GetAdjustedTime() + 2 * 60 * 60)
        return state.Invalid(error("CheckBlock() : block timestamp too far in the future"));
Т.е. блоки с меткой времени больше чем на 2 часа в будущем будут отброшены.

2. Файл тот же, метод bool CBlock::AcceptBlock:
Code:
    if (hash != hashGenesisBlock) {
        map::iterator mi = mapBlockIndex.find(hashPrevBlock);
        if (mi == mapBlockIndex.end())
            return state.DoS(10, error("AcceptBlock() : prev block not found"));
Если пул удержит блок и выпустит новый, а хэш предыдущего блока будет указывать на удержанный, то остальные ноды не будут его искать, а лишь увидят, что удержанного блока у них нет - новый попросту будет отброшен.