What is Nostr?
0xB10C /
npub1kyx…c6vv
2024-04-17 15:59:11

0xB10C on Nostr: Looking at the merkle branches that mining pools send to miners as part of stratum ...

Looking at the merkle branches that mining pools send to miners as part of stratum jobs, it's clear that the BTCcom pool, Binance pool, Poolin, EMCD, Rawpool, and possibly Braiins* have exactly the same template and custom transaction prioritization as AntPool.



Stratum v1 jobs include (parts of) the coinbase transaction and the merkle branches a miner needs to compute the merkle root. If all branches are equal across pools, the block template is exactly the same.

This is a smaller merkle-tree with the stratum job branches highlighted.



Here, branch0 is the txid of the first transaction in the block after the coinbase.

In the AntPool/Binance/BTCcom/.. template, it's a manually prioritized transaction paying 9.03 sat/vbyte https://mempool.space/tx/c938e8027a7fba782a092695a53d37654021bf20df71ca91b4a6daa9198b0c73


Many of the other pools didn't prioritize a transaction and included the highest feerate transaction https://mempool.space/tx/96608dc747677d6dfbc3a2b37f8a0146abae132799b13c130066bd3716fdf91a paying 301 sat/vbyte. ViaBTC prioritized another transaction and has a vastly different template.

This indicates that F2Pool currently is not using the AntPool templates, even if they share the the same custody provider. We know from multiple occasions that F2Pool has been building their own templates (https://b10c.me/o11, https://b10c.me/o9, https://b10c.me/o8)

Note that SigmaPool and SecPool both seem to share the same template (distinct from AntPools template). Two names, but probably one pool.

Some overlap in the first branches of distinct pools is expected as these branches consist of few (usually high feerate) transactions. For example, Ocean's "default" and "core" templates overlap up to branch3. At least the first 15 tx (2⁴ - 1) in the template are equal.

* similar to EMCD in the picture, Braiins sometimes differs from AntPool in the later branches of the template. This could indicate they're only helping with AntPools transaction accelerator and directly syncing with AntPools mempool, causing occasional differences in templates.

I've heard speculation about this all being liked to an FPPS partnership with AntPool/Bitmain.

Bitmain insures against bad pool luck but you have to use Bitmains templates/transaction prioritization and pay the mining reward to the insurer for later distribution.

Essentially a pool of pools and a lot of mining centralization.

Author Public Key
npub1kyxqqqq8n2pu7f5pthr48zqcmr2k52vrud6wxzjpg0jsqcyhs3tshfc6vv