Author

Topic: block.version=1 blocks will all be orphaned soon (Read 7276 times)

legendary
Activity: 1792
Merit: 1111
I think I was sleeping while all this happened.

Could somebody please explain me one thing.... The whole point of this "version 2 blocks" was just to include the height in the coinbase? I mean... can't the height just be calculated? Couldn't local databases add the height on their data, in an extra field of some kind? Need it be on the protocol?

I fail to see why going through all this hassle just to add the block height to coinbase...

It's to avoid identical coinbase transactions: https://en.bitcoin.it/wiki/BIP_0034
legendary
Activity: 1106
Merit: 1004
I think I was sleeping while all this happened.

Could somebody please explain me one thing.... The whole point of this "version 2 blocks" was just to include the height in the coinbase? I mean... can't the height just be calculated? Couldn't local databases add the height on their data, in an extra field of some kind? Need it be on the protocol?

I fail to see why going through all this hassle just to add the block height to coinbase...
newbie
Activity: 18
Merit: 0
A very large portion of v2 hashing is offline (btcguild - roughly 30-40%; for nearly 3 hours now) and a couple of v1 miners got lucky in a row.

The rest of the v2 network overtook them and the network reorganized.


Excuse the tinfoil hat, but, notwithstanding Eleuthria's correction of your percentages, did we just see an attempt to sabotage Bitcoin? I know Eleuthria has had the occasional DDOS before, but this particular one at this particular time? I sure hope the dev team and a few pool operators are busy combing through transaction logs with forensic attention to detail...

Given all the hubbub about his pool getting close to 51%, it could have been an extremely miss guided attempt to save Bitcoin.
hero member
Activity: 492
Merit: 503
A very large portion of v2 hashing is offline (btcguild - roughly 30-40%; for nearly 3 hours now) and a couple of v1 miners got lucky in a row.

The rest of the v2 network overtook them and the network reorganized.


Excuse the tinfoil hat, but, notwithstanding Eleuthria's correction of your percentages, did we just see an attempt to sabotage Bitcoin? I know Eleuthria has had the occasional DDOS before, but this particular one at this particular time? I sure hope the dev team and a few pool operators are busy combing through transaction logs with forensic attention to detail...
legendary
Activity: 1750
Merit: 1007
A very large portion of v2 hashing is offline (btcguild - roughly 30-40%; for nearly 3 hours now) and a couple of v1 miners got lucky in a row.

The rest of the v2 network overtook them and the network reorganized.


Only about 3 TH/s of BTC Guild was offline.  The DDoS was only affecting getwork and a few people using the very first versions of Stratum which couldn't connect properly without being redirected from getwork.
legendary
Activity: 1596
Merit: 1100
What happens to the few coinbase transactions with duplicate transaction id? Are the coins irrecoverably lost?

Yes.  The newer coinbase stomps the older coinbase, making the older coinbase unspendable.

member
Activity: 77
Merit: 10
A very large portion of v2 hashing is offline (btcguild - roughly 30-40%; for nearly 3 hours now) and a couple of v1 miners got lucky in a row.

The rest of the v2 network overtook them and the network reorganized.
legendary
Activity: 1792
Merit: 1111
http://blockchain.info/block-index/368023/0000000000000124fefda3e554e72cd08aad4b9caaa6e4c3221ae93238180c0c

latest block 227938 shown as v1, so I would expect this to be orphaned, although blockchain has it shown as main chain still...

edit: blockexplorer shows a different block, v2
http://blockexplorer.com/block/00000000000001f205a713a6e23dd2f8c3eed42ffbd765bdfe54d353757ee18a


The latest 2 blocks (227938, 227939) are both version 1. What's going on??? A fork??

Something strange happened..... I'm running 0.8.1 and only have 00000000000001f205a713a6e23dd2f8c3eed42ffbd765bdfe54d353757ee18a (227938, v2)

However, blockchain.info has no record of 00000000000001f205a713a6e23dd2f8c3eed42ffbd765bdfe54d353757ee18a, and have 0000000000000124fefda3e554e72cd08aad4b9caaa6e4c3221ae93238180c0c (227938, v1) and 000000000000025fcc58a882db6c3b47ea90935b522c08d279e415b9529de41d (227939, v1) instead
legendary
Activity: 1792
Merit: 1111
http://blockchain.info/block-index/368023/0000000000000124fefda3e554e72cd08aad4b9caaa6e4c3221ae93238180c0c

latest block 227938 shown as v1, so I would expect this to be orphaned, although blockchain has it shown as main chain still...

edit: blockexplorer shows a different block, v2
http://blockexplorer.com/block/00000000000001f205a713a6e23dd2f8c3eed42ffbd765bdfe54d353757ee18a


The latest 2 blocks (227938, 227939) are both version 1. What's going on??? A fork??
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
http://blockchain.info/block-index/368023/0000000000000124fefda3e554e72cd08aad4b9caaa6e4c3221ae93238180c0c

latest block 227938 shown as v1, so I would expect this to be orphaned, although blockchain has it shown as main chain still...

edit: blockexplorer shows a different block, v2
http://blockexplorer.com/block/00000000000001f205a713a6e23dd2f8c3eed42ffbd765bdfe54d353757ee18a
legendary
Activity: 1792
Merit: 1111
What happens to the few coinbase transactions with duplicate transaction id? Are the coins irrecoverably lost?
legendary
Activity: 1596
Merit: 1100
This event is now past.
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
The reason all this is important is not just that some miners will be forced to upgrade or give up Bitcoin when the 95% is reached. What's important is that this is a proof of concept for implementation of changes in the "wish list" and "hard fork" baskets.

The block version mechanism for a majority consensus on accepting such changes is essential if Bitcoin is to succeed by capturing a significant chunk of the fiat and payments market share. News from the EU this week shows the dark alternative of trusting fiat systems forever.


Yes, exactly. +1
Just got to 94%.

Edit:
11 blocks to go. Block 227930 should be it.
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
The reason all this is important is not just that some miners will be forced to upgrade or give up Bitcoin when the 95% is reached. What's important is that this is a proof of concept for implementation of changes in the "wish list" and "hard fork" baskets.

The block version mechanism for a majority consensus on accepting such changes is essential if Bitcoin is to succeed by capturing a significant chunk of the fiat and payments market share. News from the EU this week shows the dark alternative of trusting fiat systems forever.
member
Activity: 77
Merit: 10
Who? http://blockorigin.pfoe.be/top.php implies that coinlabs and btc warp haven't updated.  But you don't have to be a pool to mine, it could be somebody with a gpu that's solo mining and getting lucky, a group of friends, somebody keeping their company's PC's busy overnight.. who knows?

FWIW, in age order:
50th: 226951
49th: 226954
48th: 226960
47th: 226971
46th: 226974

Assuming no more v1's, then the "last 1000" will have 50 x v1's and hence 95% at 227951.

One more v1 block pushes it to 227954.  Two more -> 227960.  Then 971, and 974.

At the current 855, that's 96 to go, best case.
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
A fresh v1 turned up at 227835, and that caused the finish line to jump forward.

The 50th oldest v1 is currently at 226951, so the cutover now should be 227951.  As of writing, the block number is 227851 so that's 100 to go.

Who might these unknowns be who haven't upgraded? Solo miners? Botnets still possible?
member
Activity: 77
Merit: 10
A fresh v1 turned up at 227835, and that caused the finish line to jump forward.

The 50th oldest v1 is currently at 226951, so the cutover now should be 227951.  As of writing, the block number is 227851 so that's 100 to go.
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
FYI, as of 227743, counting v1 blocks backwards puts the 50th version=1 block at about 226930.

That means, at 227930 (assuming no more v=1 blocks), there will be 950 of the last 1000 and a 95% supermajority.

That's roughly 185 blocks from now.  24-30 hours.  It should be all over in time for breakfast in the US on Monday morning.

Of course, there's probably going to be 5-10 more v1 blocks so I'm guestimating 227940.

Edit: 24-30 hours is wishful thinking given the spike in hash rate.  Probably < 24 hours now.

Thanks for doing this analysis!

Just before 1pm EST: We are currently at 62 out of the latest 1000 blocks on version 1 (6.20%) and 938 out of the latest 1000 blocks on version 2 (93.80%)
member
Activity: 77
Merit: 10
FYI, as of 227743, counting v1 blocks backwards puts the 50th version=1 block at about 226930.

That means, at 227930 (assuming no more v=1 blocks), there will be 950 of the last 1000 and a 95% supermajority.

That's roughly 185 blocks from now.  24-30 hours.  It should be all over in time for breakfast in the US on Monday morning.

Of course, there's probably going to be 5-10 more v1 blocks so I'm guestimating 227940.

Edit: 24-30 hours is wishful thinking given the spike in hash rate.  Probably < 24 hours now.
vip
Activity: 980
Merit: 1001
So long and thanks for all the bitcoin Deepbit?

I am missing something, is deepbit not compatible with the updates?

Please fill me in!
wishful thinking
http://blockorigin.pfoe.be/top.php
Deepbit updated to v2
coinlabs and  btcwarp are the only vulnerable pools now
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
So long and thanks for all the bitcoin Deepbit?

I am missing something, is deepbit not compatible with the updates?

Please fill me in!

It is now Smiley When that post was made it wasn't compatible.
sr. member
Activity: 308
Merit: 250
So long and thanks for all the bitcoin Deepbit?

I am missing something, is deepbit not compatible with the updates?

Please fill me in!
vip
Activity: 980
Merit: 1001
Ozcoin has shutdown ecoinpool and setup stratum proxy for getwork miners to continue and create v2 blocks
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
About to hit 91%. I think we will hit the v2 within the week.
sr. member
Activity: 374
Merit: 250
Tune in to Neocash Radio
Coinlabs and BTC Warp are the only pools with no recent V2 block.
Hopefully they are looking at v0.8.1 now...


They will have to if they want to mine valid blocks.  It seems now it's just a matter of time before that 95% threshold is met.  The variance should make the probability of hitting it in the next 5000 or so blocks very high.
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
Coinlabs and BTC Warp are the only pools with no recent V2 block.
Hopefully they are looking at v0.8.1 now...
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
There was a new version-1 from ozcoin a short while ago at block     227377
https://blockchain.info/block-index/365073/00000000000002accb0c886f0e511c56534b71fabac24e38703a476ff4972727

All the other big pools seem to be producing v2 now.

Ozcoin is going to shutdown their getwork servers today.  This means that *after* today they won't produce v1's anymore, but today they still might...
member
Activity: 77
Merit: 10
There was a new version-1 from ozcoin a short while ago at block     227377
https://blockchain.info/block-index/365073/00000000000002accb0c886f0e511c56534b71fabac24e38703a476ff4972727

All the other big pools seem to be producing v2 now.
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
Up to 89% now. Not long to go.
legendary
Activity: 1750
Merit: 1007
BTC Guild confirmed at making v2 blocks on getwork successfully.  All servers should be updated now, but a little nervous that I may have missed one or not restarted one.  Watching closely, but as of right now I think all of them are now on v2.
legendary
Activity: 1386
Merit: 1097
Two days ago I fixed my getwork backend to produce v2 blocks.
legendary
Activity: 1750
Merit: 1007
BTC Guild has potentially hotfixed v2 support into getwork servers.  It's running on the primary getwork server now after successful testnet blocks.  If it does work, we should see supermajority on V2 very soon now that Deepbit has also started moving to v2 and ozcoin is disabling getwork entirely.
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
I do like your site kinlo.

This has puzzled me for a while though, the block counts don't usually add to 1000, and hence the percentages don't add to 100. For example now:
"only the last 1000 blocks are used. We are currently at 162 out of the latest 1000 blocks on version 1 (16.20%) and 822 out of the latest 1000 blocks on version 2 (82.20%)"

I assume that it is because the balance are orphan blocks?

Some blocks are not identified as v1 or v2, so they are not counted at all  Not that many tough, I'll investigate why.
legendary
Activity: 1750
Merit: 1007
Deepbit has switched over tonight but as eleuthria points out we will still be short of the 95% supermajority.

Well this is unexpected.  Looks like either I'll have to kill getwork this weekend with Ozcoin, or find a way to get PoolServerJ to work with v2 at that time.  I do not want to be the one holding back this change.
hero member
Activity: 900
Merit: 1014
advocate of a cryptographic attack on the globe
Deepbit has switched over tonight but as eleuthria points out we will still be short of the 95% supermajority.
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
Blockorigin has been fixed too.  So we're now still at 16.90% v1 blocks...

I do like your site kinlo.

This has puzzled me for a while though, the block counts don't usually add to 1000, and hence the percentages don't add to 100. For example now:
"only the last 1000 blocks are used. We are currently at 162 out of the latest 1000 blocks on version 1 (16.20%) and 822 out of the latest 1000 blocks on version 2 (82.20%)"

I assume that it is because the balance are orphan blocks?
legendary
Activity: 1750
Merit: 1007
Has anything interesting happend on TestNet as a result of this change?

I discovered the change on TestNet when first designing my custom pool code (before Stratum was announced).  At that time, Testnet had started requiring V2 blocks, and all my V1 blocks were rejected.  So it behaved as expected as far as I could tell.
newbie
Activity: 19
Merit: 0
Has anything interesting happend on TestNet as a result of this change?
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
Blockorigin has been fixed too.  So we're now still at 16.90% v1 blocks...
legendary
Activity: 1652
Merit: 2301
Chief Scientist
There are three stages to the rollout:

1. Before 75% are producing block.version=2 blocks: no special checking
2. Between 75 and 95% : block.version=2 blocks MUST have height in coinbase.  We are here.
3. 95% or more:  all blocks MUST be block.version=2 and MUST have height in coinbase.  Should happen soon.

Shell script to count block versions:

Code:
gavin$ for i in {225925..226925}; do ./bitcoind getblock $(./bitcoind getblockhash $i); done | grep version | sort | uniq -c
 173     "version" : 1,
 828     "version" : 2,
legendary
Activity: 1078
Merit: 1005
Scratch that, site is still building and out of sync... I'll update when I know for sure
It looks like we aren't - I ran a quick shell script on bitcoind. But due to a merge mining issue my coinbase has an invalid height and the check for that gets activated at 75% which we've hit. Lost three blocks, argh!
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
According to my site it's now down to 80 blocks on v1, 50 and we're there...

Scratch that, site is still building and out of sync... I'll update when I know for sure
legendary
Activity: 1078
Merit: 1005
Iek, fixing that problem, thanks for noticing Smiley
No worries. I'd been using it to track the supermajority and working today on getting my merge mining server compatible with version 2 blocks. Then I noticed the error in my logs and which makes me think we've hit it and I've run out of time.
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
Note their current block number showing in their list. It's over 1,000 blocks out of date.

Iek, fixing that problem, thanks for noticing Smiley
legendary
Activity: 1078
Merit: 1005
FYI: The blockorigin site keeps track of the last 1000 blocks on http://blockorigin.pfoe.be/top.php

In the text on the bottom you will see the counts in blocks on v1.  95% is required so if the number of blocks on v1 drop below 50 over the last 1000 blocks, all blocks v1 will be rejected!
Note their current block number showing in their list. It's over 1,000 blocks out of date.
sr. member
Activity: 263
Merit: 250
Pool operator of Triplemining.com
FYI: The blockorigin site keeps track of the last 1000 blocks on http://blockorigin.pfoe.be/top.php

In the text on the bottom you will see the counts in blocks on v1.  95% is required so if the number of blocks on v1 drop below 50 over the last 1000 blocks, all blocks v1 will be rejected!
legendary
Activity: 1078
Merit: 1005
Have we hit this already? I'm seeing in the logs of a v1 node:

Code:
ERROR: AcceptBlock() : block height mismatch in coinbase

legendary
Activity: 1078
Merit: 1005
I just noticed that my merge mining getwork server was producing version 2 blocks without having a block height in the coinbase in certain circumstances. If you're a miner using a merge mining patch you might want to check that your coinbase is correct otherwise when the supermajority happens your blocks will be orphaned if the coinbase is wrong.
vip
Activity: 980
Merit: 1001
well with the forking blockchain and patches needed to keep ecoinpool running etc, I'm about ready to turn getwork servers off
with the threshold for V2 blocks getting much closer it wont be long until it breaks anyway Smiley
legendary
Activity: 1750
Merit: 1007

That looks like your standard orphan.  The EclipseMC block was seen 15 seconds before the OzCoin block.  The time stamps just made it look the opposite due to Eclipse's timestamp being in the future, and Ozcoin's being in the past.
legendary
Activity: 1750
Merit: 1007
I know Graet (ozcoin) doesn't quite want to take down the getwork/merged mining server yet (and strand those users by our hand), but take Deepbit out of the equation completely, and if the top 4 pools were to all make a clean break it would happen.  However I was hoping for a rolling plan like slush proposed back in February, and I rather users update their software compared to just getting shut out.  I know it will happen in time so patience is a virtue here  Cry.

Do note that this isn't a hard-fork.  It just means if you continue trying to mine v1 blocks, they will not be accepted by the rest of the network.  It's highly unlikely this would ever go beyond a single orphaned block, given the amount of hash power that is mining v2 blocks, and the amount of nodes that will refuse to forward your block.

This has been a "rolling plan".  It's been in place for 8 months, and only takes place when a supermajority of 95% is on v2.
DBG
member
Activity: 119
Merit: 100
Digital Illustrator + Software/Hardware Developer
I know Graet (ozcoin) doesn't quite want to take down the getwork/merged mining server yet (and strand those users by our hand), but take Deepbit out of the equation completely, and if the top 4 pools were to all make a clean break it would happen.  However I was hoping for a rolling plan like slush proposed back in February, and I rather users update their software compared to just getting shut out.  I know it will happen in time so patience is a virtue here  Cry.
legendary
Activity: 1750
Merit: 1007
So long and thanks for all the bitcoin Deepbit?
the only thing holding back this patch is deepbit

Not quite, we'd still be just shy if Deepbit's blocks were all v2.  If BTC Guild getwork could support v2 right now we would just about be there.  Working on that tomorrow to see if there's any way I can add v2 blocks to the coinbasing of PoolServerJ.
legendary
Activity: 2058
Merit: 1452
So long and thanks for all the bitcoin Deepbit?
the only thing holding back this patch is deepbit
DBG
member
Activity: 119
Merit: 100
Digital Illustrator + Software/Hardware Developer
So long and thanks for all the bitcoin Deepbit?
legendary
Activity: 1652
Merit: 2301
Chief Scientist
Last July, BIP 34 was accepted. It specifies a "soft fork":

Quote
If 950 of the last 1,000 blocks are version 2 or greater, reject all version 1 blocks

We are getting close to that threshold: 821 out of the latest 1000 blocks were version 2.

If you are mining in a pool: there is a list of pools and what versions they are producing here. If your pool is producting version=1 blocks, you should urge your pool operator to upgrade or patch.

If you are mining with p2pool or solo and using a very old version of bitcoind: you should upgrade, or you risk your blocks getting orphaned.
Jump to: