Pages:
Author

Topic: Empty blocks (Read 23015 times)

hero member
Activity: 918
Merit: 1002
May 20, 2017, 12:09:27 PM
Unfortunately money is the only motivator to the spv mining pools.  I hope that it becomes financially necessary for them to stop mining empty blocks, it will be a great thing for the network once they do, and it would give a more accurate portrayal of how the network is able to handle tons of transactions (and hopefully put an end to the excessive delays waiting for tx to go through).

hello,

as of today, the average fee per block is of 2 BTC so mining empty blocks is about 16% less profitable. but is still happens that some pools mine empty blocks.

can anyone explain this?

thanks
I think the accepted reason is that BITMAIN is using a covert version of the ASICBOOST system to boost their profits.  IIRC, the empty blocks are an effect of that.  I may not be up to speed, however--if someone has a differing opinion I would love to hear it.
newbie
Activity: 91
Merit: 0
May 20, 2017, 06:32:31 AM
Unfortunately money is the only motivator to the spv mining pools.  I hope that it becomes financially necessary for them to stop mining empty blocks, it will be a great thing for the network once they do, and it would give a more accurate portrayal of how the network is able to handle tons of transactions (and hopefully put an end to the excessive delays waiting for tx to go through).

hello,

as of today, the average fee per block is of 2 BTC so mining empty blocks is about 16% less profitable. but is still happens that some pools mine empty blocks.

can anyone explain this?

thanks
legendary
Activity: 1582
Merit: 1019
011110000110110101110010
March 21, 2016, 05:15:55 PM
empty blocks result from bursts
Uh, what is a "burst"?  Whatever it is, it's not why empty blocks happen.  Empty blocks come from bad/lazy coders looking for a shortcut.

A empty block will propagate faster through the network and a full block would most likely get orphaned (if both are solved in similar times).
Not true at all, kano.is has about the fastest network block propagation and never mines empty blocks.

BURST is a coin and it is certainly not its fault for empty blocks  Grin
legendary
Activity: 1274
Merit: 1000
March 07, 2016, 03:13:04 PM
Unfortunately money is the only motivator to the spv mining pools.  I hope that it becomes financially necessary for them to stop mining empty blocks, it will be a great thing for the network once they do, and it would give a more accurate portrayal of how the network is able to handle tons of transactions (and hopefully put an end to the excessive delays waiting for tx to go through).
hero member
Activity: 1610
Merit: 538
I'm in BTC XTC
March 07, 2016, 01:02:36 PM
Let us hope so, philipma, since money is a big motivator!
legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
March 06, 2016, 11:43:29 PM
One good thing about the 1/2 ing is block to fee ratio may change by 2x.

Ie a 25.5 block with fees now will be 12.5 block with fees in July after the 1/2 ing.

So pools like f2pool and antpool may want to end spv mining.

Also if we do not change from 1mb blocks to 2mb blocks. The new norm may be 12.9 or 13.1 or even 13.5

This will place a lot of pressure on spv pools to stop that method of mining.

It is possible that empty block. Mining will become a bad financial play for current spv miners.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
March 04, 2016, 04:36:08 PM
Thanks for the clarification to my statement -ck.  I realize now re-reading it after your reply that I should have stated it shows how fast pools get new work out to miners, and not how fast the pool propagates the blocks it receives.  Also, as you correctly point out - it's just how fast that particular server receives the updates from the pools to which it is connected.

So, take the information provided with a grain of salt.  I do, however, find it an interesting look into things - seeing the vast discrepancies between the top and bottom.  For example, if we ditch the SPV pools, taking a look at the list shows that (for the last 100 blocks anyway) the pools getting work to their miners the fastest are slush (his node in China), ck.solo, kano, bravo with a difference of less than 0.8 seconds between them.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
March 04, 2016, 03:40:27 PM
Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.
That's not propagating blocks. It's just the stratum work templates which amounts to no more than the headers going to one VPS in the west coast of the USA. It's a marker of how quickly the pools' miners get block changes and has nothing to do with how quickly blocks propagate across the network, but is the combined sum of how quickly the pool itself sees the block changes and sends out stratum templates to miners. Also the code on that page is buggy and occasionally starts producing wrong values (like showing blocks appear from some pools up to 30 seconds before the block even exists) so use it as a guideline but don't place too much value on it when things look extreme. SPV pools don't verify headers when they send out their stratum templates so although their work templates are more often sent out slightly faster than other pools, they can't guarantee that they're not working on a nonsense fork since only real node pools verify block changes completely. A pool using that site as its reference may be tempted to start SPV mining to make its values look better but ultimately that then means they've moved to unverified headers for block changes and header only work also cannot contain any transactions so they'll be guaranteed to be empty blocks.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
March 04, 2016, 03:26:03 PM
You just stated the quintessential difference between SPV mining and fully verified block mining.  In SPV mining, the pool starts work on a new block based upon only the block header of the previous one.  It has no knowledge the the previous block's transactions when it does so and is why it starts work on an empty block.  Eventually when it does in fact verify the full block, only then can it include transactions into the new block it's already mining.  Without verification, there is no guarantee the new block they are building is even valid... and it's why the chain forked last year.  Because without actually validating the block, they built upon a version that should have been rejected and submitted a new block on top of it.

So, without validating, the SPV mining pool can (and does quite frequently) find a solution to the bogus empty block they created initially, and it gets added to the chain.

The real difference that needs to be evaluated is how long it takes to actually verify the block before creating a new one on which to work.  If I remember correctly, kano's shown that difference to be a few hundred milliseconds.

Given that information, a pool like AntPool will start work on a new block faster than a pool like kano's (by a few hundred milliseconds) and if it finds a solution the block it produces will propagate across the network faster than a full block from kano.  That, more than anything else, is why the big pools refuse to change, no matter how much damage they are doing in the process (huge transaction backlogs and potential forking of the blockchain).
staff
Activity: 3458
Merit: 6793
Just writing some code
March 04, 2016, 02:44:32 PM
If we agree that all pools are equally well connected to the network, then obviously broadcasting an empty block (~200 bytes) vs a full block (~1,000,000 bytes) will be faster.
I don't think it's that obvious.  When does a node "timestamp" the block it's receiving, when it first starts seeing data, or when the data is 100% received?  I think it's when it first sees data coming in, therefore rendering the size of the block a moot point with respect to propagation rate.  We're not comparing 10k to 10,000,000k, we're comparing 200k to 800k and with today's technology those values are essentially the same.
It doesn't matter when the block is time-stamped by the node, only after it is added to its databases which only happens after it had fully verified the block and thus has had to receive it in full.
legendary
Activity: 1274
Merit: 1000
March 04, 2016, 02:19:49 PM
If we agree that all pools are equally well connected to the network, then obviously broadcasting an empty block (~200 bytes) vs a full block (~1,000,000 bytes) will be faster.
I don't think it's that obvious.  When does a node "timestamp" the block it's receiving, when it first starts seeing data, or when the data is 100% received?  I think it's when it first sees data coming in, therefore rendering the size of the block a moot point with respect to propagation rate.  We're not comparing 10k to 10,000,000k, we're comparing 200k to 800k and with today's technology those values are essentially the same.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
March 04, 2016, 01:34:38 PM
If we agree that all pools are equally well connected to the network, then obviously broadcasting an empty block (~200 bytes) vs a full block (~1,000,000 bytes) will be faster.
legendary
Activity: 2674
Merit: 3000
Terminated.
March 04, 2016, 01:26:08 PM
I don't think a block being full or empty has anything to do with its propagation speed
So propagating a 10kB block and a 1 GB block will take the same amount of time? This doesn't make sense.

i.e. I don't think there is any valid reason for producing empty blocks.
I do agree that they should not be doing this.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
March 04, 2016, 01:24:38 PM
Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.
Please help me understand this data.

I didn't write it, so I can only provide insight based on my own observation and running my own pool.

I presume the owner of that site has a number of cgminer processes running, each connecting to a pool (i.e. f2pool, Ant, kano, bravo, etc).  As and when each cgminer instance reports a block notification from the pool it is connected to, he writes the information to a data store.  He then correlates the data and presents it as you see on the web page.

The summary at the top shows over the past 100 blocks how each pool he's connected to fared.  The first column is the pool, the second is the average time difference between when that pool notified the block was found vs the first pool to provide notification.  The third column is the average of how the pool did subtracting out the best (i.e. how it compared to the number 1 pool).

The data below shows the values for each individual block.
legendary
Activity: 1274
Merit: 1000
March 04, 2016, 01:23:35 PM
Okay exclude Kano then. Take Antpool and F2Pool for example. Wouldn't e.g. Antpool's empty block propagate faster than F2Pool's full block? After all, Antpool has the highest percentage of empty blocks.
I don't think a block being full or empty has anything to do with its propagation speed, i.e. I don't think there is any valid reason for producing empty blocks.
hero member
Activity: 709
Merit: 503
March 04, 2016, 12:48:18 PM
Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.
Please help me understand this data.
hero member
Activity: 918
Merit: 1002
March 04, 2016, 12:33:23 PM
Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.
Interesting data, thanks.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
March 04, 2016, 10:22:39 AM
Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.
legendary
Activity: 2674
Merit: 3000
Terminated.
March 04, 2016, 02:51:21 AM
It's not "if" it were true because it is true.  Read Kano's posts about block changes, they do it faster than the guys who mine empty blocks.  The empty block miners do it because they are lazy coders who don't care about bitcoin or the network, all they see is $$$.
Okay exclude Kano then. Take Antpool and F2Pool for example. Wouldn't e.g. Antpool's empty block propagate faster than F2Pool's full block? After all, Antpool has the highest percentage of empty blocks.
legendary
Activity: 1274
Merit: 1000
March 04, 2016, 01:17:07 AM
Off the top of my head I could only come up with this post by ck:
https://bitcointalksearch.org/topic/m.13822317

15 mins ago we got another block
  okay I see it on blocktrail but not blockchaininfo
The block explorers seem to really struggle around the time the orphans hit. Sometimes they may even need manual intervention to keep working it seems... blockchain is showing Eligius as having won that block yet if you click on their block it then says orphan. Regardless, it's our block as all nodes have synced up to ours and confirmed it numerous times since. Our extensive propagation network (and numerous ckpool improvements to distant nodes) may well have paid off on saving that one.
Pages:
Jump to: