aboutsummaryrefslogtreecommitdiff
path: root/src/coins.cpp
diff options
context:
space:
mode:
authorPieter Wuille <[email protected]>2016-05-06 20:47:12 +0200
committerPieter Wuille <[email protected]>2016-05-17 20:04:46 +0200
commit382c871d28b95cc52309a128edd8dc23822bcd60 (patch)
treeb1a769dd5188ad4785e73006941b4f20d5fdc82f /src/coins.cpp
parentAdd SipHash-2-4 primitives to hash (diff)
downloaddiscoin-382c871d28b95cc52309a128edd8dc23822bcd60.tar.xz
discoin-382c871d28b95cc52309a128edd8dc23822bcd60.zip
Use SipHash-2-4 for CCoinsCache index
This is ~1.7x slower than the Lookup3-of-Xor-with-salt construct we were using before, but it is a primitive designed for exactly this.
Diffstat (limited to 'src/coins.cpp')
-rw-r--r--src/coins.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/coins.cpp b/src/coins.cpp
index 1c329740b..b7dd293d6 100644
--- a/src/coins.cpp
+++ b/src/coins.cpp
@@ -56,7 +56,11 @@ void CCoinsViewBacked::SetBackend(CCoinsView &viewIn) { base = &viewIn; }
bool CCoinsViewBacked::BatchWrite(CCoinsMap &mapCoins, const uint256 &hashBlock) { return base->BatchWrite(mapCoins, hashBlock); }
CCoinsViewCursor *CCoinsViewBacked::Cursor() const { return base->Cursor(); }
-CCoinsKeyHasher::CCoinsKeyHasher() : salt(GetRandHash()) {}
+SaltedTxidHasher::SaltedTxidHasher()
+{
+ GetRandBytes((unsigned char*)&k0, sizeof(k0));
+ GetRandBytes((unsigned char*)&k1, sizeof(k1));
+}
CCoinsViewCache::CCoinsViewCache(CCoinsView *baseIn) : CCoinsViewBacked(baseIn), hasModifier(false), cachedCoinsUsage(0) { }