I checked out the Erlay paper on efficient transaction relay. Honestly, it seems pretty flawed. I think I can suggest a better method.
What if we rethink full mempool reconciliation? We could train an AI model for that on a regular CPU. Training times aren’t too bad:
0.147 seconds for 100 transactions, and 3.984 seconds for 1,000 transactions. But with 5,000 transactions, it gets really slow.
Maybe bucket it by initial hash byte to make it easier.
What exactly do you mean by that?
I mean, Erlay's core reconciliation method is actually pretty efficient in theory. If peer A needs to share transaction IDs with peer B, they only send the missing ones. So, the amount of data sent is minimal, regardless of what they might have in common.
While it may seem similar to mempool reconciliation, mempools can differ because of various policies between nodes or conflicting transactions.
Right. Mining a single byte in a transaction ID isn't that tough.
For example, check out transactions with only four mined bytes. It’s likely happening all the time.