{"type":"rich","version":"1.0","title":"ZmnSCPxj [ARCHIVE] wrote","author_name":"ZmnSCPxj [ARCHIVE] (npub1g5…3ms3l)","author_url":"https://yabu.me/npub1g5zswf6y48f7fy90jf3tlcuwdmjn8znhzaa4vkmtxaeskca8hpss23ms3l","provider_name":"njump","provider_url":"https://yabu.me","html":"📅 Original date posted:2021-10-26\n📝 Original message:Good morning lisa,\n\n\u003e Hi all,\n\u003e\n\u003e In a recent conversation with @glozow, I had the realization that the mempool is obsolete and should be eliminated.\n\u003e\n\u003e Instead, users should submit their transactions directly to mining pools, preferably over an anonymous communication network such as tor. This can easily be achieved by mining pools running a tor onion node for this express purpose (or via a lightning network extension etc)\n\u003e\n\u003e Mempools make sense in a world where mining is done by a large number of participating nodes, eg where the block template is constructed by a majority of the participants on the network. In this case, it is necessary to socialize pending transaction data to all participants, as you don’t know which participant will be constructing the winning block template.\n\u003e\n\u003e In reality however, mempool relay is unnecessary where the majority of hashpower and thus block template creation is concentrated in a semi-restricted set. \n\u003e\n\u003e Removing the mempool would greatly reduce the bandwidth requirement for running a node, keep intentionality of transactions private until confirmed/irrevocable, and naturally resolve all current issues inherent in package relay and rbf rules. It also resolves the recent minimum relay questions, as relay is no longer a concern for unmined transactions.\n\u003e\n\u003e Provided the number of block template producing actors remains beneath, say 1000, it’d be quite feasible to publish a list of tor endpoints that nodes can independently  + directly submit their transactions to. In fact, merely allowing users to select their own list of endpoints to use alternatively to the mempool would be a low effort starting point for the eventual replacement.\n\u003e\n\u003e On the other hand, removing the mempool would greatly complicate solo mining and would also make BetterHash proposals, which move the block template construction away from a centralized mining pool back to the individual miner, much more difficult. It also makes explicit the target for DoS attacks.\n\nUnfortunately, this requires that miners have a persistent identity by which they can be contacted.\nWhile pseudonymity is possible, we all know that in practice, it can be easily pierced.\nFor instance, consider that the injunction against address reuse is a recognition that a persistent pseudonym is a privacy leak.\n\nIdeally, the mining set should be as anonymous as possible, as some attacks are possible with sufficient hashpower, and making the miners keep a persistent identity by which they can be found may enable easier state co-option of mines.\nThe strongest man on Earth cannot destroy his enemy if he does not know who and where his enemy is; so with enemies of Bitcoin and the miners of Bitcoin.\n(granted, near every darned mining pool self-identifies, sigh, wtf)\n\nIdeally, the set of relaying nodes hides the miners.\nOf course, in practice we can have a good guess of which relaying nodes are miners and which are not -- those who get blocks earlier are probably miners.\nAgainst this, we should note that this method of identification is probabilistic and not absolute (whereas miners advertising their services so they can be contacted and given unconfirmed transactions are a *definite* flag \"I am a miner\").\nAnd there is always the chance, however slim, that some node that has not been getting blocks \"early\" suddenly decides to buy a mining rig and start mining.\n\nIn short: what you propose is to switch to side fee markets (as I understand it).\nNon-side fees are simply an anonymity layer, by which neither the miner nor the transactor need to know the identity of each other, they simply broadcast to the wider world.\nThis anonymity layer remains important, however, as they help maintain the fee market: https://github.com/libbitcoin/libbitcoin-system/wiki/Side-Fee-Fallacy\n\n\nUltimately, my objection here is simply that this requires miners to identify themselves.\nIn practice, miners already identify themselves (even though they really, really should not), so this objection may be moot at this point.\n\n(Not to mention: something like P2Pool, as-is, would not work well in that model; you would need to implement a mempool for those as well)\n\nRegards,\nZmnSCPxj"}
