I wanted to know what the last non-segwit block mined is, and if there are still some non-segwit miners?
-
2723292, last block that I see with 0 segwit transactions. You can check others in any block explorer that has relevant details.– user103136Commented Feb 15, 2022 at 2:34
-
1Thanks ! Any easy way to check all blocks with 0 segwit tx ?– SadPepoCommented Feb 15, 2022 at 10:52
-
2@Prayank: Well, but it's also an empty block. Even a segwit miner wouldn't need to include a witness commitment in an empty block.– Murch ♦Commented Feb 16, 2022 at 19:52
2 Answers
Mining pools occasionally mine "empty blocks" when they find a sufficiently low hash in the brief time-frame between hearing about a new block, verifying the new block, and pushing out new block templates to build on top of it to the miners. These blocks will often be "empty" in the sense that they will only contain the mandatory coinbase transaction. Since the coinbase transaction only has to have a witness commitment if the block includes any transactions with witness data (see BIP141), we can't tell for empty blocks whether they were mined by segwit or non-segwit miners. So given that the coinbase transaction doesn't necessarily contain any segwit data, I would not count these empty blocks as bonafide "non-segwit" blocks.
I would therefore interpret your question as asking for the last block that included more transactions than just the coinbase transaction, but did not include any transactions with witness data. This is what I found, when I searched for blocks fulfilling those criteria:
The latest such block was mined on 2020-04-18 at height 626,507. This block had three transactions, two non-segwit transactions, and a coinbase transaction. I've verified that the coinbase transaction of block 626,507 does not have a witness commitment, so it's a bonafide non-segwit block.
Now you might say: "But wait, only two additional transactions? That were probably just new transactions the mining pool sent, so they were sure that nobody else could have included them yet, and it's really basically an empty block".
In that case, the last non-segwit block was 616,561 which had 2,992 transactions, but not a single transaction among them has any witness data. Neither does the coinbase transaction have a witness commitment.
Given that both these blocks are almost and more than two years old, I think it's safe to say that the network today has no non-segwit hashrate (or it is only mining empty blocks).
There is an important distinction here: just because a block has no segwit spends, does not mean the miner that created it is a 'non-segwit miner'. Such blocks may be formed incidentally, by miners that otherwise are aware of and follow the segwit rules.
Saying a miner is a 'non-segwit miner' implies that they would not follow the segwit consensus rules when crafting blocks. This means that they would allow transactions that spend segwit outputs, without providing segwit signatures. Such blocks would be considered invalid by the majority of the network (ie, all nodes that are aware of the segwit consensus rules), and thus would be ignored by all of those nodes.
So really, we should expect there to be no 'non-segwit miners' since the segwit soft-fork activated (block 481,824 was the first to include segwit-rule-following transactions), as any such miner would be constantly at risk of creating blocks which would be seen as invalid by most of the network. Creating such blocks would mean that miner was just wasting resources, with basically no chance of gaining any reward.
-
3Note that Bitcoin Core releases from the few years before 0.13.1 (the version that had segwit mainnet support) would not include segwit transactions in their mined blocks due to policy rules, and thus be able to participate without being forked off. Commented Feb 15, 2022 at 4:34
-
1A non segwit miner can still mine a block that contains 0 segwit tx and still be valid or I am missing a point ?– SadPepoCommented Feb 15, 2022 at 10:55
-
1Yes, exactly. Non-segwit miners can produce valid blocks. Of course, they could be tricked into building on top of a segwit-invalid block too, since they cannot validate that. Commented Feb 15, 2022 at 12:47