Browse Source

Merge pull request #4952

01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw (Peter Todd)
0.10
Wladimir J. van der Laan 10 years ago
parent
commit
5547f08ec7
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 7
      src/core.cpp

7
src/core.cpp

@ -226,6 +226,13 @@ uint256 CBlockHeader::GetHash() const @@ -226,6 +226,13 @@ uint256 CBlockHeader::GetHash() const
uint256 CBlock::BuildMerkleTree() const
{
// WARNING! If you're reading this because you're learning about crypto
// and/or designing a new system that will use merkle trees, keep in mind
// that the following merkle tree algorithm has a serious flaw related to
// duplicate txids, resulting in a vulnerability. (CVE-2012-2459) Bitcoin
// has since worked around the flaw, but for new applications you should
// use something different; don't just copy-and-paste this code without
// understanding the problem first.
vMerkleTree.clear();
BOOST_FOREACH(const CTransaction& tx, vtx)
vMerkleTree.push_back(tx.GetHash());

Loading…
Cancel
Save