diff -uNr a/bitcoin/src/main.cpp b/bitcoin/src/main.cpp --- a/bitcoin/src/main.cpp d49e7aaab38507fd69e6629b8baae80bc87d2071c842c8ede6f2d8e54f87e7d439c79b9a38ad94591e6fd5cf96196f2221426a4c8a2ffb282030fbcf810c18fb +++ b/bitcoin/src/main.cpp e76829b2488665287ed6037eaa5dd4651a67ddc9a44111089f55249248b6549387b9146bb1e51cc5a659558805bcf8987c10ecad8478f83fc5eb165044ac5d3c @@ -1725,13 +1725,9 @@ } } - // Ask the first connected node for block updates - static int nAskedForBlocks; - if (!pfrom->fClient && - (pfrom->nVersion < 32000 || pfrom->nVersion >= 32400) && - (nAskedForBlocks < 1 || vNodes.size() <= 1)) + // Ask EVERY connected node (other than self) for block updates + if (!pfrom->fClient) { - nAskedForBlocks++; pfrom->PushGetBlocks(pindexBest, uint256(0)); } diff -uNr a/bitcoin/src/net.cpp b/bitcoin/src/net.cpp --- a/bitcoin/src/net.cpp 31eb2cbdf4f83f10ae8a7cdd3a69312ba6eafbecfafbeddf7546ce99847bd4f2a674037e2b89a0a7b91c37127d9770501c265a7977edb0ae0b3a5964272692f9 +++ b/bitcoin/src/net.cpp 0124234fe388c52595cd67f193728e2fe9a8e5025418df317fe4e4e447572c54fd205578695d61fd7f8d42efe141ee7da9c6435edf2063ffc5ed81fa6d3c64ab @@ -59,12 +59,6 @@ void CNode::PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd) { - // Filter out duplicate requests - if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd) - return; - pindexLastGetBlocksBegin = pindexBegin; - hashLastGetBlocksEnd = hashEnd; - PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd); } diff -uNr a/bitcoin/src/net.h b/bitcoin/src/net.h --- a/bitcoin/src/net.h bb842420bcc67752edf8e658524b135f499c5f8676557a6c12f47f204303e34bd73beabdf6e9146ba452947c4e5cd298529969fab90f16942f6bf0c1229f7043 +++ b/bitcoin/src/net.h 3c097f22786c99bd590da3eff3daa012766a8eed65a4ab6ab859ab1b6e38cbfa7334de1b640044c35dc354ed20fc9981b592d86f4af6051111c95cf982550d74 @@ -130,8 +130,6 @@ std::map mapRequests; CCriticalSection cs_mapRequests; uint256 hashContinue; - CBlockIndex* pindexLastGetBlocksBegin; - uint256 hashLastGetBlocksEnd; int nStartingHeight; // flood relay @@ -180,8 +178,6 @@ nRefCount = 0; nReleaseTime = 0; hashContinue = 0; - pindexLastGetBlocksBegin = 0; - hashLastGetBlocksEnd = 0; nStartingHeight = -1; fGetAddr = false; vfSubscribe.assign(256, false);