Bitcoin Forum
November 19, 2024, 11:13:46 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 [9] 10 »  All
  Print  
Author Topic: Empty blocks  (Read 23000 times)
Lauda
Legendary
*
Offline Offline

Activity: 2674
Merit: 2965


Terminated.


View Profile WWW
March 03, 2016, 10:07:04 PM
 #161

empty blocks result from bursts
No? They're the result of SPV mining. This means that the miners don't verify the block nor transactions within it but start immediately mining a new block (referencing only the header). They have to mine it without any transactions since they don't know what was included in the last block. 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). This is why some of the miners are doing this.

Yes, they've certainly gotten better about submitting empty blocks.
They need to completely stop doing this.

They want bigger block so they do empty block.
Miners can impose their own limits anyways.

"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
😼 Bitcoin Core (onion)
Mikestang
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000



View Profile
March 03, 2016, 10:36:14 PM
 #162

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.
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
March 03, 2016, 10:46:34 PM
 #163

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.

Are you sure about that last part?

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
Lauda
Legendary
*
Offline Offline

Activity: 2674
Merit: 2965


Terminated.


View Profile WWW
March 03, 2016, 10:48:37 PM
 #164

Not true at all, kano.is has about the fastest network block propagation and never mines empty blocks.
If that were true, why would miners bother mining empty blocks in the first place? They lose out on fees by doing so.

"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
😼 Bitcoin Core (onion)
jonnybravo0311 (OP)
Legendary
*
Offline Offline

Activity: 1344
Merit: 1024


Mine at Jonny's Pool


View Profile WWW
March 03, 2016, 10:58:33 PM
 #165

On AntPool miners don't get the fees anyway, the pool does.  Of course one wonders why anyone mines on that pool at all...

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Mikestang
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000



View Profile
March 03, 2016, 11:59:33 PM
 #166

Are you sure about that last part?
Yes.

Not true at all, kano.is has about the fastest network block propagation and never mines empty blocks.
If that were true, why would miners bother mining empty blocks in the first place? They lose out on fees by doing so.
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 $$$.
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
March 04, 2016, 12:45:39 AM
Last edit: March 04, 2016, 10:21:21 AM by organofcorti
 #167

Are you sure about that last part?
Yes.
I think you meant block change response rather than block propagation.

Block propagation is different to a pool's response to block changes. Block propagation is related to how connected a pool is to the network, block change response seems to be a software issue.

I've read that Kano's response to block changes is very quick, but I haven't read that Kano's block propagation times are that much better than any one elses. If I'm wrong, please post a link.


Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
Mikestang
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000



View Profile
March 04, 2016, 06:17:07 AM
 #168

Off the top of my head I could only come up with this post by ck:
https://bitcointalk.org/index.php?topic=789369.msg13822317#msg13822317

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.
Lauda
Legendary
*
Offline Offline

Activity: 2674
Merit: 2965


Terminated.


View Profile WWW
March 04, 2016, 07:51:21 AM
 #169

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.

"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
😼 Bitcoin Core (onion)
jonnybravo0311 (OP)
Legendary
*
Offline Offline

Activity: 1344
Merit: 1024


Mine at Jonny's Pool


View Profile WWW
March 04, 2016, 03:22:39 PM
 #170

Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
TracerX
Hero Member
*****
Offline Offline

Activity: 918
Merit: 1002



View Profile
March 04, 2016, 05:33:23 PM
 #171

Take a look here: https://poolbench.antminer.link

That site gives a good breakdown of how the pools propagate blocks.
Interesting data, thanks.
David Rabahy
Hero Member
*****
Offline Offline

Activity: 709
Merit: 503



View Profile
March 04, 2016, 05:48:18 PM
 #172

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.
Mikestang
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000



View Profile
March 04, 2016, 06:23:35 PM
 #173

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.
jonnybravo0311 (OP)
Legendary
*
Offline Offline

Activity: 1344
Merit: 1024


Mine at Jonny's Pool


View Profile WWW
March 04, 2016, 06:24:38 PM
 #174

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.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Lauda
Legendary
*
Offline Offline

Activity: 2674
Merit: 2965


Terminated.


View Profile WWW
March 04, 2016, 06:26:08 PM
 #175

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.

"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
😼 Bitcoin Core (onion)
jonnybravo0311 (OP)
Legendary
*
Offline Offline

Activity: 1344
Merit: 1024


Mine at Jonny's Pool


View Profile WWW
March 04, 2016, 06:34:38 PM
 #176

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.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
Mikestang
Legendary
*
Offline Offline

Activity: 1274
Merit: 1000



View Profile
March 04, 2016, 07:19:49 PM
 #177

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.
achow101
Staff
Legendary
*
Offline Offline

Activity: 3556
Merit: 6891


Just writing some code


View Profile WWW
March 04, 2016, 07:44:32 PM
 #178

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.

jonnybravo0311 (OP)
Legendary
*
Offline Offline

Activity: 1344
Merit: 1024


Mine at Jonny's Pool


View Profile WWW
March 04, 2016, 08:26:03 PM
 #179

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).

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
-ck
Legendary
*
Offline Offline

Activity: 4298
Merit: 1645


Ruu \o/


View Profile WWW
March 04, 2016, 08:40:27 PM
Last edit: March 04, 2016, 08:59:36 PM by -ck
 #180

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.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
Pages: « 1 2 3 4 5 6 7 8 [9] 10 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!