dogecoin/test/functional/test_framework
Wladimir J. van der Laan 7e74c54fed
Merge #13452: rpc: have verifytxoutproof check the number of txns in proof structure
d280617bf5 [qa] Add a test for merkle proof malleation (Suhas Daftuar)
ed82f17000 have verifytxoutproof check the number of txns in proof structure (Gregory Sanders)

Pull request description:

  Recent publication of a weakness in Bitcoin's merkle tree construction demonstrates many SPV applications vulnerable to an expensive to pull off yet still plausible attack: https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/

  This change would at least allow `verifytxoutproof` to properly validate that the proof matches a known block, with known number of transactions any time after the full block is processed. This should neuter the attack entirely.

  The negative is that a header-only processed block/future syncing mode would cause this to fail until the node has imported the data required.

  related: #13451

  `importprunedfunds` needs this check as well. Can expand it to cover this if people like the idea.

Tree-SHA512: 0682ec2b622a38b29f3f635323e0a8b6fc071e8a6fd134c954579926ee7b516e642966bafa667016744ce49c16e19b24dbc8801f982a36ad0a6a4aff6d93f82b
2018-07-09 20:25:50 +02:00
..
__init__.py
address.py Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
authproxy.py Remove assigned but never used local variables 2018-03-29 17:47:12 +02:00
bignum.py Remove unused variables and/or function calls 2017-08-28 15:18:14 +02:00
blocktools.py [tests] tidy up blocktools.py 2018-04-20 14:16:57 -04:00
coverage.py Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
key.py tests: Remove compatibility code not needed now when we're on Python 3 2018-04-16 09:54:27 +02:00
messages.py [qa] Add a test for merkle proof malleation 2018-06-22 10:41:39 -04:00
mininode.py qa: Avoid start/stop of the network thread mid-test 2018-06-25 14:06:41 -04:00
netutil.py qa: Fix some tests to work on native windows 2018-03-06 18:42:19 -05:00
script.py tests: Remove redundant bytes² 2018-04-16 17:33:03 +02:00
segwit_addr.py Use BIP173 addresses in segwit.py test 2017-09-28 17:29:01 -07:00
siphash.py Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
socks5.py Minor Python cleanups to make flake8 pass with the new rules enabled 2018-04-16 17:25:11 +02:00
test_framework.py qa: Avoid start/stop of the network thread mid-test 2018-06-25 14:06:41 -04:00
test_node.py qa: Avoid start/stop of the network thread mid-test 2018-06-25 14:06:41 -04:00
util.py Explicitly specify encoding when opening text files in Python code 2018-06-12 21:34:52 +02:00