Mempool BIP-110

I published a version of Mempool here that adds a bunch of BIP-110 specific visualizations. It is built for Start9 (if you don’t have a Start9 server and have some dev skills or can work with an LLM, the upstream source code is at this repo here). Be sure to verify the .s9pk package (Sparrow makes that easy) before side-loading it on your server via System > Sideload a Service

It highlights blocks in orange that would violate the BIP-110 rules if the soft fork were active today, and shows a visual of what percentage of the block space was consumed by garbage, and shows a count of garbage transactions. The goggles are updated to have filters for BIP-110 specific rule violations, and the transaction details shows which specific rules were violated.

There is also a visualization (though you probably won’t see it for a while) for when a block is tagged with the miner signalling for BIP110. If you are curious, that will look like this once those start showing up on the chain (this is a faked one that I used for debugging):

5 Likes

Umbrel version is built. Just add this community app store: https://github.com/paulscode/mempool-bip110-umbrel

1 Like

Thanks Paul! I really like the direction this is headed and I really appreciate the package work for a Start 9 implementation as well.
On the subject of SPAM in general, I had a thought a few months ago that, for a novice coder like me, seemed reasonable. However, I’m sure it has problems I’m not fully capable of anticipating.
My thought was that since a hash of hashes for each leaf of a Merkle tree (not sure that’s even the right way to phrase that), up to the root, have the same result as the hash of all the components, that it might be possible to have another node storage option that only stores the hash for data elements that don’t conform to local node policies. For elements that don’t conform, the hash, with a flag indicating this, rather than the original data might be stored. Peers requesting stored block data, if running compatible node software, would be able to recognize “hash-only” data elements and check them accordingly. Peers not running compatible versions would, of course, reject it and need to use data from another peer. Assuming the vast number of nodes preferred to ignore non-monetary data, the raw non-monetary data would become increasingly difficult to locate over time. On the other hand, if certain clients wish to preserve it off-chain, they could still verify it was authentic.
I’ve recently started digging into the bitcoin code to see if this thought is at all coherent, but I’ve only coded in very limited capacities to date, and in my advancing years (I’m now in my 60s), I recognize this might be a slog for me.
Anyhow, I thought I might post the thought here to get an idea of how reasonable, or unreasonable it is, my lack of detail notwithstanding.

This is really cool Paul, very interesting for anyone following the BIP-110 progress / debate.

1 Like

Would your version conflict with the current version of Mempool that is installed? i.e. - Do I need to delete Mempool before installing your modified version?

No, I gave it a separate package name, so you can install both alongside each other.

2 Likes

Nice to see that Peak Mining mined a block at OCEAN that has zero BIP110 violations. Thanks for the modification to Mempool @paul :+1:

2 Likes

This gentlemen says he has mined the first BIP110 block…but on Testnet4. (This is a test network. Coins have no value.)

He states the details of the version (0x20100010) shows hes signaling (vote - 0x2) and that he is voting for (10) BIP110.

  1. Are these the signals to look for? and 2) Why mine on Testnet4? What is the point?

As far as what is the point of mining on testnet, presumably someone has to mine on it for it to function (though a ton of hashrate isn’t necessary). It is also a good way to test new software that has functionality which only fires whenever you mine a block (since the difficulty is very low)

I suppose I could enable the network switching feature on my fork, so we could make sure it is properly detecting real BIP110 signalling “in the wild”. I don’t have the exact bit memorized, but in principle, the process he showed is how you could check for signaling blocks without having the cool neon-green visualization that I added.

1 Like

Got it. I was a bit confused at first. Thanks

Thank you, Paul!
It looks really good.
Nice being able to visualise the situation around bip110 and follow its progress :blush:

mempool-rdts - Install Failed

Install of mempool-rdts@3.2.1.1 Failed: Filesystem I/O Error: error reading a body from connection: end of file before message length reached

Keeping getting this error.

Are you installing the Start9 or the Umbrel version?

Start9 version of mempool bip119

Try uninstalling it. If it has an error and gets stuck in Uninstalling (I saw that happen once), then you’ll need to restart your server to clear that. Once back up and running you should be able to install it again.

I think there may still be something from the original Mempool app that it is referencing, and can’t find it since it has a different package name. I’ll see if I can recreate the issue, and try and track down a fix for it.

1 Like

Works as expected @paul . Thank you!

In case you missed it, our first BIP110 signaling miner:

2 Likes

Same time…nice to see

The decorations for the violations should will fill in after the block analysis process completes. It takes a while because I had to throttle the rate down to not overload the service.

Actually, I see the pool icons are missing in your screenshot too – I think you are still on the older version.

In the version (3.2.1) I have if I scroll across the blocks after 32 blocks or so the orange decoration reverts to blue.