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: <p> </p> <pre> if (hash nNonce = tmp.block.nNonce; assert(hash == pblock-&gt;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-&gt;print(); printf("%s ", DateTimeStrFormat("%x %H:%M", GetTime()).c_str()); printf("generated %s\n", FormatMoney(pblock-&gt;vtx[0].vout[0].nValue).c_str()); // ........... SetThreadPriority(THREAD_PRIORITY_LOWEST); Sleep(500); break; } </pre> <p> </p> <p> Và đây đoạn khởi đầu 1 vòng tạo khối mới: </p> <p> </p> <pre> Sleep(50); if (fShutdown) { return; } while (vNodes.empty()) { Sleep(1000); if (fShutdown) { return; } if (!fGenerateBitcoins) { return; } } </pre> <p> </p> <p> 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 </p>
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
[Bitcoin] coinbase là gì?
Coinbase là nội dung của 'input' của một giao dịch tạo. Trong khi các giao dịch thông thường sử dụng phần 'input' để tham chiếu đến đầu ra giao dịch mẹ (giao dịch trước trước đó) của chúng, giao dịch tạo không có giao dịch mẹ và tạo ra các đồng tiền mới từ không có gì. <p> </p> <p> Phần kiểm tra của giao dịch coinbase như sau: </p> <p> </p> <pre> bool IsCoinBase() const { return (vin.size() == 1 &amp;&amp; vin[0].prevout.IsNull()); } </pre> <p> </p> <p> Coinbase có thể chứa bất kỳ dữ liệu tùy ý nào. Khối genesis nổi tiếng chứa tiêu đề ngày tháng của một bài báo trên tờ The Times: </p> <p> </p> <code>The Times 03/Jan/2009 Chancellor on brink of second bailout for banks</code> <p> </p> <p> Tham khảo thêm <a href="https://en.bitcoin.it/wiki/Coinbase" target="_blank">tại đây</a>. </p>
Answer