Skip to content

Conversation

@morcos
Copy link
Contributor

@morcos morcos commented Dec 2, 2016

Orphan txs that are not stored as orphans because of rejected parents, will not be found by AlreadyHave and so will be requested from each peer that inv's them to us. This will prevent those unnecessary re-requests and when the parent is cleared from recentRejects on a new block, the orphan will have been cleared as well.

Future improvements may be to intelligently save rejected txs (for compact block reconstruction) or rerequest rejected parents (in case of CPFP) but for now this is an improvement.

@gmaxwell
Copy link
Contributor

gmaxwell commented Dec 2, 2016

utACK. Will test.

@TheBlueMatt
Copy link
Contributor

You might want to rebase on #9260.

@morcos
Copy link
Contributor Author

morcos commented Dec 3, 2016

rebased on the grave of main.cpp

@gmaxwell
Copy link
Contributor

gmaxwell commented Dec 4, 2016

ACK.

@fanquake fanquake added the P2P label Dec 14, 2016
@sipa
Copy link
Member

sipa commented Dec 14, 2016

utACK dfbe0d5

@morcos
Copy link
Contributor Author

morcos commented Jan 10, 2017

Please tag 0.14

Not important but simple change which will cut down on some completely unnecessary network requests

@jonasschnelli jonasschnelli added this to the 0.14.0 milestone Jan 10, 2017
@sdaftuar
Copy link
Member

sdaftuar commented Jan 12, 2017

So, post-segwit, a parent tx sent with malleated witness would (after this patch) cause an orphan descendant tx to be added to the reject filter, even though the parent txid is not added to the reject filter. I'm not sure whether the orphan case is common enough for this to be a significant concern, however?

EDIT: Actually -- I guess the condition here is that the parents are all in the reject filter, so what I wrote is incorrect? Never mind! utACK dfbe0d5

@laanwj
Copy link
Member

laanwj commented Jan 12, 2017

utACK dfbe0d5

@laanwj laanwj merged commit dfbe0d5 into bitcoin:master Jan 12, 2017
laanwj added a commit that referenced this pull request Jan 12, 2017
dfbe0d5 Add unstored orphans with rejected parents to recentRejects (Alex Morcos)
codablock pushed a commit to codablock/dash that referenced this pull request Jan 21, 2018
…entRejects

dfbe0d5 Add unstored orphans with rejected parents to recentRejects (Alex Morcos)
andvgal pushed a commit to energicryptocurrency/gen2-energi that referenced this pull request Jan 6, 2019
…entRejects

dfbe0d5 Add unstored orphans with rejected parents to recentRejects (Alex Morcos)
CryptoCentric pushed a commit to absolute-community/absolute that referenced this pull request Feb 27, 2019
…entRejects

dfbe0d5 Add unstored orphans with rejected parents to recentRejects (Alex Morcos)
CryptoCentric pushed a commit to absolute-community/absolute that referenced this pull request Feb 27, 2019
…dablock committed on Jan 20, 2018 Use version 2 blocks for miner_tests … @codablock codablock committed on Jan 20, 2018   Merge bitcoin#7871: Manual block file pruning.  …  @laanwj @codablock laanwj authored and codablock committed on Jan 11, 2017   Merge bitcoin#9507: Fix use-after-free in CTxMemPool::removeConflicts()  …  @sipa @codablock sipa authored and codablock committed on Jan 11, 2017   Merge bitcoin#9297: Various RPC help outputs updated  …  @MarcoFalke @codablock MarcoFalke authored and codablock committed on Jan 12, 2017   Merge bitcoin#9416: travis: make distdir before make  …  @MarcoFalke @codablock MarcoFalke authored and codablock committed on Jan 12, 2017   Merge bitcoin#9520: Deprecate non-txindex getrawtransaction and bette…  …  @MarcoFalke @codablock MarcoFalke authored and codablock committed on Jan 12, 2017   Merge bitcoin#9518: Return height of last block pruned by pruneblockc…  …  @MarcoFalke @codablock MarcoFalke authored and codablock committed on Jan 12, 2017   Merge bitcoin#9472: Disentangle progress estimation from checkpoints …  …  @laanwj @codablock laanwj authored and codablock committed on Jan 12, 2017   Merge bitcoin#8883: Add all standard TXO types to bitcoin-tx  …  @laanwj @codablock laanwj authored and codablock committed on Jan 12, 2017   Merge bitcoin#9261: Add unstored orphans with rejected parents to rec…  …  @laanwj @codablock laanwj authored and codablock committed on Jan 12, 2017   Merge bitcoin#9468: [Depends] Dependency updates for 0.14.0  …  @laanwj @codablock laanwj authored and codablock committed on Jan 12, 2017   Merge bitcoin#9222: Add 'subtractFeeFromAmount' option to 'fundrawtra…  …  @laanwj @codablock laanwj authored and codablock committed on Jan 12, 2017   Merge bitcoin#9490: Replace FindLatestBefore used by importmuti with …  …  @sipa @codablock sipa authored and codablock committed on Jan 13, 2017   Merge bitcoin#9469: [depends] Qt 5.7.1  …  @laanwj @codablock laanwj authored and codablock committed on Jan 15, 2017   Merge bitcoin#9380: Separate different uses of minimum fees  …  @laanwj @codablock laanwj authored and codablock committed on Jan 16, 2017   Remove SegWit related code in dash-tx  @codablock codablock committed on Sep 21, 2017   Merge bitcoin#9561: Wake message handling thread when we receive a ne…  …  @sipa @codablock sipa authored and codablock committed on Jan 17, 2017   Merge bitcoin#9508: Remove unused Python imports  …  @MarcoFalke @codablock MarcoFalke authored and codablock committed on Jan 18, 2017   Merge bitcoin#9512: Fix various things -fsanitize complains about
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants