Well, it seems that someone proposed a "modular mempool/relay policy" on the Bitcoin Dev Mailing List
This BIP proposes a standardized mechanism to validate transactions for mempool acceptance using external scripts. Nodes load a directory of JavaScript (ES2020-compatible) scripts that define acceptance rules. Each submitted transaction (or transaction package) is passed through the configured scripts; if all scripts return successfully, the transaction is accepted into the mempool. If any script throws an error, the transaction is rejected. This framework allows flexible policy development without requiring changes to the node implementation.
To which Greg Maxwell responds
And then, of course, the inexhaustive Chris Guida joins the chat
But then Maxwell presents this beauty:
This bit is good:
The fact that a mechanism isn't proposed here just obscures the matter because one will arise out of necessity (or, alternatively, the proposal would just not be used to a meaningful degree). In essence the proposal (or ones like it like the one being developed in knots) are technological instruments of authoritarian censorship. Sure they don't have all the components yet to complete their natural conclusion.
As is the point about defaults
Why doesn't core ship blocks only? Core attempts to model what will get mined. My blocks only recommendation was for parties that prioritize conserving resources or avoiding various unconfirmed traffic over accurately modeling what will get mined.
The mailing list is good reading.
cmpctblock
reconstruction at some point. It is okay that the narrated purpose of the mempool shifts but perhaps this is the difference between what Core does and what Knots aims for, and all that is needed is coexistence.Core
is heavily LN-influenced and LN benefits from as-uniform-as-possible mempools between the sum of all miners, and your (watchtower) node. However, since there is no consensus over mempool, any limiting policy doesn't work (for a watchtower). LN is basically a zeroconf protocol, see this 2015 email on how policy messes with zeroconf, and then think about how Peter could analyze what happened with his modified nodes (2 replies below in that thread). The idea then becomes: Not relaying any transaction will be bad for other watchtowers, so as a community, the greatest value is the dissemination of transactions, so that everyone's watchtower knows everything.Knots
isn't LN-oriented at all, but instead focuses on L1 and community values. Nodes relay transactions and the operator is in charge of what to relay, and there are people that do bad things, such as shittoken mints, that make the network more expensive to run (and make it more expensive to transact.) The idea: It's in everyone's interest to try to keep this shit out, no matter the cost.blocksonly
may be what you are looking for.blocksonly
and you achieve your goal.blocksonly
.blocksonly
is not a good solution for you, why? Is it because you would like to run a useful mempool? Then you need to have as good a view as possible into the most likely next block.Footnotes
datacarriersize
if they want to!