Avatar
0
monkey Enlightened
monkey Enlightened
Bitcoin có đúng là 10 phút mới có một khối được sinh ra không?
Không thể chắc chắn, vì đây là đoạn code khi 1 block được tạo ra:

if (hash nNonce = tmp.block.nNonce;
    assert(hash == pblock->GetHash());

        //// debug print
        printf("BitcoinMiner:\n");
        printf("proof-of-work found  \n  hash: %s  \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str());
        pblock->print();
        printf("%s ", DateTimeStrFormat("%x %H:%M", GetTime()).c_str());
        printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str());

   // ...........
    SetThreadPriority(THREAD_PRIORITY_LOWEST);

    Sleep(500);
    break;
}

Và đây đoạn khởi đầu 1 vòng tạo khối mới:

Sleep(50);
if (fShutdown) {
    return;
}
while (vNodes.empty()) {
    Sleep(1000);
    if (fShutdown) {
        return;
    }
    if (!fGenerateBitcoins) {
        return;
    }
}

Như vậy có thể là tổng thời gian sleep là khoảng 550ms. Vậy nên khi các miner pool họ chia khoảng số nonce ra để đào thì một khối có thể được tạo ra nhanh hơn là 10 phút

  • Answer
bitcoin
Remain: 5
1 Answer
Avatar
monkey Enlightened
monkey Enlightened
Sharing
  • 0
  • Reply