Tom Harding [ARCHIVE] on Nostr: 📅 Original date posted:2015-07-14 📝 Original message:Spammers out there are ...
📅 Original date posted:2015-07-14
📝 Original message:Spammers out there are being very disrepectful of my fullnode resources
these days! I'm making some changes. In case others are interested,
here's a description:
There is now a maximum size for the memory pool. Space is allocated
with a pretty simple rule. For each tx, I calculate MY COST of
continuing to hold it in the mempool. I measure the cost to me by
"expected byte stay":
expectedByteStay = sizeBytes * expectedBlocksToConfirm(feeRate)
Rule 1: When there's not enough space for a new tx, I try to make space
by evicting txes with expectedByteStay higher than tx.
I'm NOT worrying about
- Fees
EXCEPT via their effect on confirmation time
- Coin age
You already made money on your old coins. Pay up.
- CPFP
Child's expectedBlocksToConfirm is max'ed with its
parent, then parent expectedByteStay is ADDED to child's
- Replacement
You'll get another chance in 2 hours (see below).
Rule 2: A transaction and its dependents are evicted on its 2-hour
anniversary, whether space is required or not
The latest expectedBlocksToConfirm(feeRate) table is applied to the
entire mempool periodically.
What do you think? I'll let you know how it works out. I'm putting a
lot of faith in the new fee estimation (particularly its size
independence). Another possibility is clog-ups by transactions that
look like they'll confirm next block, but don't because of factors other
than fees (other people's blacklists?)
Published at
2023-06-07 15:42:18Event JSON
{
"id": "64b94aa8754cab4084668ed53c100233c339a168ff15f66d7ab70bc0e6a4fe6e",
"pubkey": "dc329a02c970aabf03b87185ef51c86afe4586fe3a148508af898af3fabc56a3",
"created_at": 1686152538,
"kind": 1,
"tags": [
[
"e",
"3113a33a71d472c2c810f1d3f077a31857bd7728a69f9709e57cf42542f129ba",
"",
"reply"
],
[
"p",
"a23dbf6c6cc83e14cc3df4e56cc71845f611908084cfe620e83e40c06ccdd3d0"
]
],
"content": "📅 Original date posted:2015-07-14\n📝 Original message:Spammers out there are being very disrepectful of my fullnode resources \nthese days! I'm making some changes. In case others are interested, \nhere's a description:\n\nThere is now a maximum size for the memory pool. Space is allocated \nwith a pretty simple rule. For each tx, I calculate MY COST of \ncontinuing to hold it in the mempool. I measure the cost to me by \n\"expected byte stay\":\n\nexpectedByteStay = sizeBytes * expectedBlocksToConfirm(feeRate)\n\n\nRule 1: When there's not enough space for a new tx, I try to make space \nby evicting txes with expectedByteStay higher than tx.\n\nI'm NOT worrying about\n - Fees\n EXCEPT via their effect on confirmation time\n\n - Coin age\n You already made money on your old coins. Pay up.\n\n - CPFP\n Child's expectedBlocksToConfirm is max'ed with its\n parent, then parent expectedByteStay is ADDED to child's\n\n - Replacement\n You'll get another chance in 2 hours (see below).\n\n\nRule 2: A transaction and its dependents are evicted on its 2-hour \nanniversary, whether space is required or not\n\n\nThe latest expectedBlocksToConfirm(feeRate) table is applied to the \nentire mempool periodically.\n\nWhat do you think? I'll let you know how it works out. I'm putting a \nlot of faith in the new fee estimation (particularly its size \nindependence). Another possibility is clog-ups by transactions that \nlook like they'll confirm next block, but don't because of factors other \nthan fees (other people's blacklists?)",
"sig": "9947b0c0c8c1795fdfaf8b80539d67a3c13f4b4e88bbd91fed67211c0b67d8de1a401576bfb64cd87688a376fc9c07cc02318bd8f47cd614e1d8ddb5b6dcea6e"
}