Pages:
Author

Topic: Block orphans/day? - page 2. (Read 2424 times)

t3a
full member
Activity: 179
Merit: 100
January 10, 2014, 02:30:26 AM
#22
There is no way to prove that, but when a miner generates a block they will immediately broadcast it so they *don't* get orphaned.

Well not if they're "selfish" right....

That's why I am interested in this metric. It could be to useful infer statistically if pools are delaying broadcasts.

I want to understand your 75% figure but I can't get past the lack of a clear definition for orphan. You must mean something like 75% of blocks broadcast by major pools which were seen by many nodes and are not part of the main chain today, if we measure the longest chain right now.


Unless a pool has over 50% of the mining power it will always be bad for them to delay a broadcast because delaying that broadcast could mean losing the block. It isn't selfless to broadcast your blocks.

I mean 75% of the blocks on blockchain.info aren't in the unknown category meaning 75% of them were relayed directly from the miner. If 75% of the blocks are relayed by known miners, then 75% of the orphans are going to be directly relayed to them. Orphans that aren't released fast enough and not directly may not make it to them (this is the 50% you were talking about).
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 10, 2014, 12:03:38 AM
#21
There is no way to prove that, but when a miner generates a block they will immediately broadcast it so they *don't* get orphaned.

Well not if they're "selfish" right....

That's why I am interested in this metric. It could be to useful infer statistically if pools are delaying broadcasts.

I want to understand your 75% figure but I can't get past the lack of a clear definition for orphan. You must mean something like 75% of blocks broadcast by major pools which were seen by many nodes and are not part of the main chain today, if we measure the longest chain right now.

t3a
full member
Activity: 179
Merit: 100
January 09, 2014, 11:11:49 PM
#20
Right, well I made serious remarks about the shortcomings of that definition - it doesn't refer to a measurable quantity.  It refers to nothing in fact - there is no way to prove that there aren't infinity of those every day.
There is no way to prove that, but when a miner generates a block they will immediately broadcast it so they *don't* get orphaned.

Blockchain.info is connected to most of the major pool nodes (75% of the network hashrate is identifiable to them).

75% is more than half,

therefore blockchain.info probabilistically should see more than half of all orphaned blocks. You can't prove that there aren't infinity, but if unknown miners were producing a ton of orphans on top of the main chain then they would also be producing a ton of blocks on top of the mainchain.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 09, 2014, 07:54:05 PM
#19

Right, well I made serious remarks about the shortcomings of that definition - it doesn't refer to a measurable quantity.  It refers to nothing in fact - there is no way to prove that there aren't infinity of those every day.

Here it is, again, because I can't watch y'all try to debate the measurement of a quantity that isn't even well defined.  kjj suggested something a little weaker, I agreed and took it further with:



Not sure we have a working definition of orphan.  A solved block which is never broadcast shouldn't qualify as an orphan; for an edge case, I mine one mentally and never tell anyone.  There could be many of these, but they lack physical meaning.

Probably, the only meaningful metric has units of orphans*nodes orphans*edges1 and so is weighted by how popular an orphan is before it is orphaned...

Another problem with creating a definition for orphan is the remote possibility that a shorter chain catches up later...it may or may not be possible to say a block is certainly an orphan at some time - unless 100 confirms is used as a hard limit?  Not sure.

1 in the graph theory sense.  Since a solo disconnected node can mine infinity orphans tomorrow, it is perhaps necessary to exclude the (root?) (seed?), or count edges.

Terminology may exist here http://research.microsoft.com/pubs/156072/bitcoin.pdf


TL;DR "orphans" means nothing - can't measure orphans/day but perhaps could measure (orphans) times (nodes who thought the block was legit)
legendary
Activity: 905
Merit: 1012
January 09, 2014, 07:49:28 PM
#18
Those are technically stale blocks, not orphans.

/nitpick
t3a
full member
Activity: 179
Merit: 100
January 09, 2014, 06:49:08 PM
#17
legendary
Activity: 1512
Merit: 1036
January 09, 2014, 03:54:20 PM
#16
How do you define orphan?

A mined block that was not included in the main blockchain.

sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 09, 2014, 03:48:05 PM
#15
How do you define orphan?
t3a
full member
Activity: 179
Merit: 100
January 08, 2014, 08:53:01 PM
#14
Blockchain.info is connected to every major pool, so they will see much more than half of all orphans.

I can say with considerable confidence that you are not in possession of data supporting that claim.
Well right here it says who the block was relayed by. It either was sent to them originally by an unknown node, or it was sent to them by a known node which is owned by the pool.

https://blockchain.info/pools
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 08, 2014, 03:33:45 PM
#13
Blockchain.info is connected to every major pool, so they will see much more than half of all orphans.

I can say with considerable confidence that you are not in possession of data supporting that claim.

Not sure we have a working definition of orphan.  A solved block which is never broadcast shouldn't qualify as an orphan; for an edge case, I mine one mentally and never tell anyone.  There could be many of these, but they lack physical meaning.

Probably, the only meaningful metric has units of orphans*nodes orphans*edges1 and so is weighted by how popular an orphan is before it is orphaned...

Another problem with creating a definition for orphan is the remote possibility that a shorter chain catches up later...it may or may not be possible to say a block is certainly an orphan at some time - unless 100 confirms is used as a hard limit?  Not sure.

1 in the graph theory sense.  Since a solo disconnected node can mine infinity orphans tomorrow, it is perhaps necessary to exclude the (root?) (seed?), or count edges.

Terminology may exist here http://research.microsoft.com/pubs/156072/bitcoin.pdf
kjj
legendary
Activity: 1302
Merit: 1026
January 08, 2014, 01:59:45 PM
#12
Blockchain.info is connected to every major pool, so they will see much more than half of all orphans.

I can say with considerable confidence that you are not in possession of data supporting that claim.
t3a
full member
Activity: 179
Merit: 100
January 08, 2014, 01:39:18 PM
#11
Does anyone know a web page which shows a live statistic of the number of orphans created in a day ?

Is there any paper that presents this information?

Have anyone computed the average orphan rate during last year and previous years?

Best regards,
 Sergio.


There is not, and such a thing is not possible.  The concept of orphanhood is purely local.  Some sites have lists of orphans as seen by their node.  Blockchain.info has already been mentioned, block explorer has another.  There are probably others too.

A while back I estimated the global race/fork rate to be in the neighborhood of 1 in 300.  My method was not very special, merely counting the orphans seen by a node and dividing by the number of blocks over the same span and multiplying by two (because I figure on average a given node will land on the winning side first about half the time).  I have vague memories of other people arriving at similar figures, but I doubt that I could find any references.

Blockchain.info is connected to every major pool, so they will see much more than half of all orphans.
sr. member
Activity: 406
Merit: 251
http://altoidnerd.com
January 08, 2014, 11:39:35 AM
#10
It's possible to get the number of orphans as seen by pools who found the orphaned blocks. You'll find the pools orphan rate depends on the pool software.

Question: in light of the relativity of the statistic "# of orphans" to the reporting node, what exactly in specifics is the statistic blockchain.info is reporting in the chart?
legendary
Activity: 1232
Merit: 1094
January 08, 2014, 08:01:39 AM
#9
A while back I estimated the global race/fork rate to be in the neighborhood of 1 in 300.  My method was not very special, merely counting the orphans seen by a node and dividing by the number of blocks over the same span and multiplying by two (because I figure on average a given node will land on the winning side first about half the time).

It would depend on the connectivity of the network. 

For an orphan, there will be 3 groups, those on one side, those on the other and those on the boundary.  Those on the boundary will receive both.

When the block is orphaned, the entire network will learn of the accepted block.

On the other hand, the block that is orphaned is more likely to be the 2nd block found of the two.  This means that the number of nodes who see it first will be smaller.

So, maybe + = , so back to seeing half of the orphans.

A well connected node is likely to be on the boundary, so will see the orphan directly.
legendary
Activity: 1246
Merit: 1011
January 08, 2014, 07:26:45 AM
#8
The spike on April 1st, 2012 is due to the P2SH roll-out.  As I understand it, there was an unusual transaction floating about which was being included in blocks by the old code which were then rejected by the new code.  This was not a long fork but a collection of small forks (a chain of length 4 was the longest reported).

The blockchain.info data doesn't seem to go back past about August 2011.

There's some data here which goes back about one more year but is less complete (because the node observed was less well-connected).

Going back a little further, there was the 50+ orphan chain in August 2010 (the infamous Value Overflow bug).
kjj
legendary
Activity: 1302
Merit: 1026
January 08, 2014, 07:17:34 AM
#7
Does anyone know a web page which shows a live statistic of the number of orphans created in a day ?

Is there any paper that presents this information?

Have anyone computed the average orphan rate during last year and previous years?

Best regards,
 Sergio.


There is not, and such a thing is not possible.  The concept of orphanhood is purely local.  Some sites have lists of orphans as seen by their node.  Blockchain.info has already been mentioned, block explorer has another.  There are probably others too.

A while back I estimated the global race/fork rate to be in the neighborhood of 1 in 300.  My method was not very special, merely counting the orphans seen by a node and dividing by the number of blocks over the same span and multiplying by two (because I figure on average a given node will land on the winning side first about half the time).  I have vague memories of other people arriving at similar figures, but I doubt that I could find any references.
legendary
Activity: 4228
Merit: 1313
January 07, 2014, 11:27:41 PM
#6

The 0.7 - 0.8 fork, and then the required reorg thereafter orphaned a long chain.
legendary
Activity: 905
Merit: 1012
January 07, 2014, 11:25:33 PM
#5
hero member
Activity: 518
Merit: 500
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
January 07, 2014, 10:45:01 PM
#3
Pages:
Jump to: