You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The approach in #9645 is fairly simple, and it should work well, but it undoes our progress in avoiding verifying transactions twice, because it would semantically verify mempool transactions twice, once via a mempool request to the transaction verifier, and again via a request to the block verifier before the transaction has been added to the mempool's verified set.
There are at least a few options for avoiding this:
Update the transaction verifier to only apply checks on mempool transactions that are not applied to block transactions, and document that it's the caller's responsibility to also verify mempool transactions as block proposals,
Simplify the transaction verifier to only check the rules that apply to block transactions, and apply any checks that are specific to mempool transactions in the mempool's Downloads component, or
Update the mempool to eagerly add transactions to the verified set after they pass semantic verification, queue them for verification as block proposals, then remove them from the verified set if they formed invalid block proposals (so the tx verifier auto-verifies them after checking that they're present in the mempool's verified set).
Among these, the first option seems preferable. More design work towards that approach has been done here.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The approach in #9645 is fairly simple, and it should work well, but it undoes our progress in avoiding verifying transactions twice, because it would semantically verify mempool transactions twice, once via a mempool request to the transaction verifier, and again via a request to the block verifier before the transaction has been added to the mempool's verified set.
There are at least a few options for avoiding this:
Downloadscomponent, orAmong these, the first option seems preferable. More design work towards that approach has been done here.
All reactions