Bitcoin Forum
May 14, 2024, 09:51:34 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 »  All
  Print  
Author Topic: Blockchain split of 4 July 2015  (Read 45581 times)
TooDumbForBitcoin
Legendary
*
Offline Offline

Activity: 1638
Merit: 1001



View Profile
July 05, 2015, 05:22:31 PM
 #281

Can someone advice me if this split would affect the price of bitcoin anyhow? If yes how?

The "split" like you call it, was resolved by the network 6 blocks after it happened - which shows how resilient (or anti-fragile) the Bitcoin network has become.  Regarding the price of bitcoin, please go to the speculation section of the forum.


It requires manual intervention, so anti fragile my ass!
Also where is the 6 blocks figure from? Your ass?
It just requires you to keep your software up to date.
It's like having a website and complain to be hacked, just because you didn't install security patches.
Do you also want the dev team to wipe your ass?

No supporter of a website, web-server software or any other type of Internet appliance makes stupid claims like being "anti-fragile", "backed my math" or "secured by the laws of the universe" though.

out of ass?



▄▄                                  ▄▄
 ███▄                            ▄███
  ██████                      ██████
   ███████                  ███████
    ███████                ███████
     ███████              ███████
      ███████            ███████
       ███████▄▄      ▄▄███████
        ██████████████████████
         ████████████████████
          ██████████████████
           ████████████████
            ██████████████
             ███████████
              █████████
               ███████
                █████
                 ██
                  █
veil|     PRIVACY    
     WITHOUT COMPROMISE.      
▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
|   NO ICO. NO PREMINE. 
   X16RT GPU Mining. Fair distribution.  
|      The first Zerocoin-based Cryptocurrency      
   WITH ALWAYS-ON PRIVACY.  
|



                   ▄▄████
              ▄▄████████▌
         ▄▄█████████▀███
    ▄▄██████████▀▀ ▄███▌
▄████████████▀▀  ▄█████
▀▀▀███████▀   ▄███████▌
      ██    ▄█████████
       █  ▄██████████▌
       █  ███████████
       █ ██▀ ▀██████▌
       ██▀     ▀████
                 ▀█▌




   ▄███████
   ████████
   ███▀
   ███
██████████
██████████
   ███
   ███
   ███
   ███
   ███
   ███




     ▄▄█▀▀ ▄▄▄▄▄▄▄▄ ▀▀█▄▄
   ▐██▄▄██████████████▄▄██▌
   ████████████████████████
  ▐████████████████████████▌
  ███████▀▀▀██████▀▀▀███████
 ▐██████     ████     ██████▌
 ███████     ████     ███████
▐████████▄▄▄██████▄▄▄████████▌
▐████████████████████████████▌
 █████▄▄▀▀▀▀██████▀▀▀▀▄▄█████
  ▀▀██████          ██████▀▀
      ▀▀▀            ▀▀▀
1715680294
Hero Member
*
Offline Offline

Posts: 1715680294

View Profile Personal Message (Offline)

Ignore
1715680294
Reply with quote  #2

1715680294
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
SebastianJu
Legendary
*
Offline Offline

Activity: 2674
Merit: 1082


Legendary Escrow Service - Tip Jar in Profile


View Profile WWW
July 05, 2015, 05:39:38 PM
 #282

So they did not want to verify the blocks with 1MB because of the size and now 8MB blocks come. Roll Eyes At least they have a hard lesson that its risky to not verify. I mean they lost quite some, mining on the wrong fork. On top they are depending on users that might leave them now.

Please ALWAYS contact me through bitcointalk pm before sending someone coins.
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1004


Core dev leaves me neg feedback #abuse #political


View Profile
July 05, 2015, 05:45:04 PM
 #283

So they did not want to verify the blocks with 1MB because of the size and now 8MB blocks come. Roll Eyes At least they have a hard lesson that its risky to not verify. I mean they lost quite some, mining on the wrong fork. On top they are depending on users that might leave them now.

Can anyone explain why a miner wouldn't simply verify the last block in parallel with their mining computations?
Let their ASICS hash while another machine double checks the last block.  What's wrong with that?

AtheistAKASaneBrain
Hero Member
*****
Offline Offline

Activity: 770
Merit: 509


View Profile
July 05, 2015, 05:51:12 PM
 #284

Can someone advice me if this split would affect the price of bitcoin anyhow? If yes how?

The "split" like you call it, was resolved by the network 6 blocks after it happened - which shows how resilient (or anti-fragile) the Bitcoin network has become.  Regarding the price of bitcoin, please go to the speculation section of the forum.


This is great news and bad news at the same time. I mean sure, the network is solid, but we now know unless you are using core, you may be prone to be a victim of accidents like that. Imagine you sent a big transaction through Electrum or were supposed to receive one... who would give your your money back? every victim is a potential bitcoin user that may get frustrated and never use it again, so this needs to be addressed so it never happens again, specially before we go fully mainstream, and Electrum type wallets will be most of the % of what people will be using, full node runners will remain a minority.
turvarya
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
July 05, 2015, 06:12:36 PM
 #285

hey, i'd like to help bitcoin and setup electrum full node, i have 4GB-RAM 4GBvRAM VPS is it capable to run full node with 10k history limit?
Any guide or help welcome for ubuntu 12.04
That should help
https://github.com/spesmilo/electrum-server/blob/master/HOWTO.md

How much disk space to you have?



i have currently 50 GB free out of 100, is it enough?

edit. i can free up or request more space anytime
My blockchain-folder is currently 42.5 GB big, so you should be fine for a start(I don't think, electrum server needs much space)

https://forum.bitcoin.com/
New censorship-free forum by Roger Ver. Try it out.
monbux
Legendary
*
Offline Offline

Activity: 1736
Merit: 1029



View Profile WWW
July 05, 2015, 06:19:24 PM
 #286

So what exactly was responsible for this error?

The miners, not all the miners but some of them....

To elaborate this a bit further:

My understanding of the situation is that some miners use a mining technique called SPV mining that relies on the assumption that the rest of the network produces valid blocks to mine a tiny bit faster. Those miners using SPV mining essentially have a few seconds advantage over those that completly verify the block first. What happend is that a big pool using said technique received an "invalid" block, a block version 2. These have recently been declared invalid as over 950 out of 1000 blocks mined are version 3. The pool tried to build the chain on top of the now invalid version 2 block, causing the fork. Because of the way bitcoin works we had two chains competing over which is the correct one. Those running nodes 0.10.x or 0.9.5 would not accept the invalid blocks and those following it, while other nodes would still accept them as valid and thus accept a different chain as the longest and currently valid chain. This resulted in wasted hash power for the miners and confusion as different services and wallets that rely on bitcoin core in the background showed different information / statuses depending on the version of bitcoin core running in said background.

Disclaimer: this attempt of a tl;dr version might be flawed, please correct me if you find any.

maybe... I didn't follow the whole situation.



I'm not very technologically advanced myself when it comes to the blockchain, so I am wondering, how does this affect wallets like the trezor and its webwallet?


it affected the bitcoin blockchain, the various wallets 'validate' the blockchain....



Yes, I understand that it affected the blockchain, I'm just wondering how the webwallet for trezor is affected - what bitcoin core version would that wallet be running off of?  Or would it be the trezor itself that has the blockchain info?  Whichever.
turvarya
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
July 05, 2015, 06:23:26 PM
 #287

Can someone advice me if this split would affect the price of bitcoin anyhow? If yes how?

The "split" like you call it, was resolved by the network 6 blocks after it happened - which shows how resilient (or anti-fragile) the Bitcoin network has become.  Regarding the price of bitcoin, please go to the speculation section of the forum.


It requires manual intervention, so anti fragile my ass!
Also where is the 6 blocks figure from? Your ass?
It just requires you to keep your software up to date.
It's like having a website and complain to be hacked, just because you didn't install security patches.
Do you also want the dev team to wipe your ass?

ElectricMucus is right, it's not anti-fragile at all unless you think the Bitcoin fairies are magically keeping everything patched and updated for your downloading enjoyment. Someone has to monitor the system like a 24hr a day security guard. Nothing is automated. Every version of Bitcoin core after 0.9.5 can detect invalid blocks. Web wallets, SPV wallets and core 0.9.4 and earlier are still vulnerable to double spending. They need to wait 30 confirmations to be safe. That's the complete opposite of anti-fragile. That's more like fucked-in-a-hand-basket. I can't go to a store that uses SPV devices and buy something because I'll need to sleep there overnight to wait for my money to clear. What would you do if you were in a restaurant with family and pulled out your debit card to pay and the cashier told you to wait for a few hours because your bank is having a problem. I'd shit bricks. I'd close every account I had at that bank immediately and talk shit about them to anyone that would listen for the rest of my life.

That doesn't change anything about, that in this case, people had just to keep their wallet up-to-date.
If your web-wallet provider wasn't up-to-date. Sure, close your account there. Find one, who takes his job more serious. (I actually changed my bank half a year ago, because my former bank's online banking sucked)
If you use a SPV-wallet, make sure to connect to an up-to-date node.
And yes, there is no Bitcoin fairy doing that for you. I can agree on that.

https://forum.bitcoin.com/
New censorship-free forum by Roger Ver. Try it out.
ElectricMucus
Legendary
*
Offline Offline

Activity: 1666
Merit: 1057


Marketing manager - GO MP


View Profile WWW
July 05, 2015, 06:24:02 PM
 #288

No supporter of a website, web-server software or any other type of Internet appliance makes stupid claims like being "anti-fragile", "backed my math" or "secured by the laws of the universe" though.

out of ass?

Well, here is what /r/buttcoin has to say.
http://www.reddit.com/r/Buttcoin/comments/3c76ng/why_yesterdays_bip66_accidental_hard_fork/

Quote
And in general, actually verifying the transactions - the precise thing miners are paid the block reward for - is too much overhead when you could be mining the next block. Sooo the miners just ... assumed other miners' blocks were okay! As in: multiple miners, amounting to roughly half the hashrate.

This is completely right, the whole point of mining is verifying transactions, that it was possible for even some of the miners to circumvent that requirement and then reap the rewards is a tremendous fail of the bitcoin software and as such it's developers.
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6641


Just writing some code


View Profile WWW
July 05, 2015, 06:31:25 PM
 #289

This is completely right, the whole point of mining is verifying transactions, that it was possible for even some of the miners to circumvent that requirement and then reap the rewards is a tremendous fail of the bitcoin software and as such it's developers.
It is not the Bitcoin Core devs' faults, rather it is the developer who wrote the pool's own software. It is the pool and their developer's faults and their fail because they were selfish and did not write their code to validate the blocks before mining on it began. This is made possible due to the open source nature of Bitcoin. The pool developers are free to write whatever software they want and as long as it conforms to the Bitcoin protocol.

ElectricMucus
Legendary
*
Offline Offline

Activity: 1666
Merit: 1057


Marketing manager - GO MP


View Profile WWW
July 05, 2015, 06:47:50 PM
 #290

This is completely right, the whole point of mining is verifying transactions, that it was possible for even some of the miners to circumvent that requirement and then reap the rewards is a tremendous fail of the bitcoin software and as such it's developers.
It is not the Bitcoin Core devs' faults, rather it is the developer who wrote the pool's own software. It is the pool and their developer's faults and their fail because they were selfish and did not write their code to validate the blocks before mining on it began. This is made possible due to the open source nature of Bitcoin. The pool developers are free to write whatever software they want and as long as it conforms to the Bitcoin protocol.
I agree to a point, but...
That's not the premise Bitcoin is being advertised to be built upon. The whole "protocol" rhetoric states that Bitcoin is supposed to enforce proper behavior on it's own.
We both know and agree that's not how it works in practice, yet some people, those who came up with that anti-fragile bullshit will try to spin it in a different way.

So the current premise: Bitcoin requires honest participation of the vast majority of it's participants in order to function, and that doesn't mean rational self interest but altruistic action for the good of the network.

ANTI FRAGILE MY ASS
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1129


View Profile
July 05, 2015, 07:04:58 PM
 #291

The situation sort of reminds me of what happens when I'm trying to use a genetic algorithm or other heuristic-search algorithm to solve a problem, and it turns out that my reward function stated the problem slightly wrong.

The symptom is that you then get "pseudosolutions" - meaning, proposed solutions that exploit the flaw in the reward function, but which don't actually do anything useful. 

In this case we have a reward function that is supposed to pay miners for checking blocks and affirming that they are correct - but what it actually pays them for is agreeing with other miners about whether the blocks have been checked, and asserting that they are correct.  The miners evolved a pseudosolution that allows them to collect the reward without actually checking the blocks.

So how can we correct the reward function?  Is there some key the miners can't possibly know, some test they cannot pass, unless they have REALLY checked the blocks?
SebastianJu
Legendary
*
Offline Offline

Activity: 2674
Merit: 1082


Legendary Escrow Service - Tip Jar in Profile


View Profile WWW
July 05, 2015, 07:27:21 PM
 #292

I only now realized that the split happened on july the fourth. Knowing the movie indepence day i wont forget this date. And its a big thing in the US. If this somehow could have been made up to happen then i would assume now that it is part of the other forking discussion. A fork happening exactly on indepence day? Really?

Please ALWAYS contact me through bitcointalk pm before sending someone coins.
edonkey
Legendary
*
Offline Offline

Activity: 1150
Merit: 1004



View Profile
July 05, 2015, 07:45:38 PM
 #293

How long until we only need to wait for 1-6 Confirmations instead of 30 ? (i'm using a Trezor)
until problem with major pools like p2pool and antpool solved and they start mining on correct blockchain
and another duplicate blockchain issue fixed, if you are using latest versions then it shouldn't have any problem, as they have inbuilt header verification in code

I think you mean F2Pool, not p2pool. It's an easy typo to make.

Was I helpful?   BTC: 3G1Ubof5u8K9iJkM8We2f3amYZgGVdvpHr
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1004


Core dev leaves me neg feedback #abuse #political


View Profile
July 05, 2015, 08:47:07 PM
 #294

The situation sort of reminds me of what happens when I'm trying to use a genetic algorithm or other heuristic-search algorithm to solve a problem, and it turns out that my reward function stated the problem slightly wrong.

The symptom is that you then get "pseudosolutions" - meaning, proposed solutions that exploit the flaw in the reward function, but which don't actually do anything useful. 

In this case we have a reward function that is supposed to pay miners for checking blocks and affirming that they are correct - but what it actually pays them for is agreeing with other miners about whether the blocks have been checked, and asserting that they are correct.  The miners evolved a pseudosolution that allows them to collect the reward without actually checking the blocks.

So how can we correct the reward function?  Is there some key the miners can't possibly know, some test they cannot pass, unless they have REALLY checked the blocks?

Interesting question , perhaps by requiring some kind of checksum be calculated and inserted into the next block?

shrekster
Sr. Member
****
Offline Offline

Activity: 299
Merit: 250


View Profile
July 05, 2015, 09:11:35 PM
 #295

I hope this is dealt with quick. Drama doesnt look good for new users even if its not that bad in reality.
alberthendriks
Member
**
Offline Offline

Activity: 86
Merit: 10


View Profile
July 05, 2015, 09:24:53 PM
 #296

Interesting discussion on this page actually. How is it decided that a block is "wrong"? I understand that the block is not according to specs, but well yeah, you know what I mean.
BADecker
Legendary
*
Offline Offline

Activity: 3780
Merit: 1373


View Profile
July 05, 2015, 10:14:54 PM
 #297

So that's why the price of Bitcoin has been going up this last week. Once people realize that there is this fork, the price will come down. Then people will realize that Bitcoin has stabilized, and there will be a buying frenzy again. The price will go back up for a while, until it stabilizes at some higher price.

We might be looking at Bitcoin under $100, but then in a few months, Bitcoin above $500.

Can't wait.

Smiley

EDIT: If this doesn't happen, that is, if the price keeps on going up amidst this fork, and if the fork levels out and dissolves itself, then Bitcoin is here to stay.

BUDESONIDE essentially cures Covid symptoms in one day to one week >>> https://budesonideworks.com/.
Hydroxychloroquine is being used against Covid with great success >>> https://altcensored.com/watch?v=otRN0X6F81c.
Masks are stupid. Watch the first 5 minutes >>> https://www.bitchute.com/video/rlWESmrijl8Q/.
Don't be afraid to donate Bitcoin. Thank you. >>> 1JDJotyxZLFF8akGCxHeqMkD4YrrTmEAwz
JorgeStolfi
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1003



View Profile
July 05, 2015, 10:19:53 PM
Last edit: July 05, 2015, 10:30:44 PM by JorgeStolfi
 #298

I am still trying to understand what actually happened.

What I have read is that BTCNuggets, a miner that was still running v2 software, mined a block B'(N) that was valid by v2 criteria but invalid by v3 criteria. Somehow F2Pool, a miner that was running v3 software, received the header of this block and successfully mined a block B'(N+1) that was valid under v3 rules (empty, in fact) except for having an invalid parent.  As luck would have it, they also mined another (empty) block B'(N+2) with B'(N+1) as parent.  Then AntPool, who was running v3 software too, mined B'(N+3) on top of B'(N+2).  And so on; this was the 'bad' branch.

Meanwhile, other miners running v3 software either did not see block B'(N), or saw it and detected that it was not v3-valid; so they ignored it and eventually mined a block B''(N) that was v3-valid.  Several v3 miners solved additional v3-valid blocks B''(N+1), B''(N+2), etc. on top B''(N).  This was the 'good' branch.

For a while, the bad branch was ahead of the good one, in terms of total work.  Fortunately the devs and other bitcoin hackers were watching the blockchain to monitor the onset of BIP66, spotted the problem immediately, alerted F2Pool and AntPool that they were mining a v3-invalid chain, and sent out an alert recommending a 30-confirmation (5 hour) wait for important transactions.

Is this a correct summary of the events?

Some of the many questions that remain:

* How many blocks were actually mined on the bad branch (starting form B'(N)) before it was abandoned?

* Were F2Pool, AntPool, and the other pools that mined on the bad chain running modified versions of the v3 core? If so, what were the modifications?

* Did F2Pool realize that the BIP66 rules had already started to apply when they received B'(N) from BTCNuggets? (Say, perhaps it had counted only 949 v3 blocks, or had its counter reset recently, etc.)

* How did F2Pool get the header of the invalid block B'(N): directly from BTCNuggets, from a v2-running relay node, or from a v3-running relay node?

* In the standard version of the v3 core software, do miners get the whole parent node and verify its validity?

* Could there be an off-by-one bug in the v3 core software, that would have resulted in F2Pool verifying B'(N) with pre-BIP66 rules instead of BIP66 rules?  (Note that a v3-valid node *can* have a v3-invalid parent, if the parent was mined before BIP66 went into effect.)

* If F2Pool knew that BIP66 had kicked in, and got B'(N) from a v2-running miner or node: why was it still accepting transactions, blocks, and block headers from v2-running players, without checking whether such data was v3-valid?

* If F2Pool knew that BIP66 had kicked in, and got B'(N) from a v3-running node: which node was that, and why did it forward the v3-invalid node B'(N) to F2Pool?

* If a miner receives a block B(M), how many blocks B(M), B(M-1), B(M-2) etc. should it validate on its own before daring to mine B(M+1) on top of it?

* Suppose that a miner receives block B(M) and starts validating it, while in parallel mining a new block B(M+1) on top of it; and happens to solve B(M+1) before the validation of B(M) is complete.  Should it broadcast B(M+1), or wait until the verification of B(M) is complete?

The devs and others have been quick to blame F2Pool, and even AntPool, for the incident.  But, depending on the answers to the above questions, other players may be to blame too.

The devs deserve a fat slice of the blame for not programming a reasonable delay (say, 2 weeks) between the "95% majority" event and the activation of the BIP66 rule.  That delay would have given a chance for the remaining v2 miners and nodes, as well as more v2 clients, to upgrade to v3.  (Using blockchain voting to trigger protocol changes also seems a terrible idea, but that is another discussion.) EDIT: Such a delay would have also reduced the risk of a fork being triggered by off-by-one bugs and network delays.

The core devs or F2Pool's own devs may also deserve another fat slice of the blame, for the v3 software allowing v3 miners and nodes to receive blocks from v2-running miners and nodes after BIP66 was activated.

BTCNuggets deserved their slice of the blame for not upgrading to v3.

EDIT: repaced some "v3 rules" by "BIP66 rules"

Academic interest in bitcoin only. Not owner, not trader, very skeptical of its longterm success.
ElectricMucus
Legendary
*
Offline Offline

Activity: 1666
Merit: 1057


Marketing manager - GO MP


View Profile WWW
July 05, 2015, 10:42:41 PM
 #299

And that's just the miners, we both know (it's a favorite jab of yours IIRC) what the actual users are capable of doing!

I don't know if Bitcoin is as anti-fragile as many of us bitcoiners hope it to be, but it certainly stands up to a LOT of bullshit from the participants, and I think you are honest enough to admit that.

No argument about what bullshit miners and the rest of the Bitcoiners are capable of. Most of it hasn't affected the software because it was in the social realm.

My beef here is with the randroid/"objectivist" corner here, which is quite large (or perhaps just very visible). I see this event as an excellent debunking of their ideology. I have chosen to bring up "anti-fragile" because it has played into their childish belief that they can be as self-centered and anti-social as they want, and Bitcoin would continue to function. Now we've all seen that's not the case.
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6641


Just writing some code


View Profile WWW
July 05, 2015, 10:43:06 PM
 #300

I am still trying to understand what actually happened.

What I have read is that BTCNuggets, a miner that was still running v2 software, mined a block B'(N) that was valid by v2 criteria but invalid by v3 criteria. Somehow F2Pool, a miner that was running v3 software, received the header of this block and successfully mined a block B'(N+1) that was valid under v3 rules (empty, in fact) except for having an invalid parent.  As luck would have it, they also mined another (empty) block B'(N+2) with B'(N+1) as parent.  Then AntPool, who was running v3 software too, mined B'(N+3) on top of B'(N+2).  And so on; this was the 'bad' branch.

Meanwhile, other miners running v3 software either did not see block B'(N), or saw it and detected that it was not v3-valid; so they ignored it and eventually mined a block B''(N) that was v3-valid.  Several v3 miners solved additional v3-valid blocks B''(N+1), B''(N+2), etc. on top B''(N).  This was the 'good' branch.

For a while, the bad branch was ahead of the good one, in terms of total work.  Fortunately the devs and other bitcoin hackers were watching the blockchain to monitor the onset of BIP66, spotted the problem immediately, alerted F2Pool and AntPool that they were mining a v3-invalid chain, and sent out an alert recommending a 30-confirmation (5 hour) wait for important transactions.

Is this a correct summary of the events?
Pretty much.

Some of the many questions that remain:

* How many blocks were actually mined on the bad branch (starting form B'(N)) before it was abandoned?
6 or 7

* Were F2Pool, AntPool, and the other pools that mined on the bad chain running modified versions of the v3 core? If so, what were the modifications?
I believe that they were using custom software for SPV Mining. SPV Mining means that the miner does not validate the block before beginning to mine on it. Thus, when F2Pool and AntPool received the v2 block, they did not verify the block but simply assumed that it was valid.

* Did F2Pool realize that the BIP66 rules had already started to apply when they received B'(N) from BTCNuggets? (Say, perhaps it had counted only 949 v3 blocks, or had its counter reset recently, etc.)
Yes, However, as I said above, they were SPV Mining so they did not validate the block which was in fact invalid by the new rules.

* How did F2Pool get the header of the invalid block B'(N): directly from BTCNuggets, from a v2-running relay node, or from a v3-running relay node?
Probably from a node that still considered v2 valid such as Core 0.9.3 or lower.

* In the standard version of the v3 core software, do miners get the whole parent node and verify its validity?
Yes

* Could there be an off-by-one bug in the v3 core software, that would have resulted in F2Pool verifying B'(N) with pre-BIP66 rules instead of BIP66 rules?  (Note that a v3-valid node *can* have a v3-invalid parent, if the parent was mined before BIP66 went into effect.)

* If F2Pool knew that BIP66 had kicked in, and got B'(N) from a v2-running miner or node: why was it still accepting transactions, blocks, and block headers from v2-running players, without checking whether such data was v3-valid?
SPV Mining

* If F2Pool knew that BIP66 had kicked in, and got B'(N) from a v3-running node: which node was that, and why did it forward the v3-invalid node B'(N) to F2Pool?
It most likely did not come from a v3 node.

* If a miner receives a block B(M), how many blocks B(M), B(M-1), B(M-2) etc. should it validate on its own before daring to mine B(M+1) on top of it?
I think it is B(M-6) because that is what the hard fork detection in Bitcoin Core looks for (I think, could be wrong)

* Suppose that a miner receives block B(M) and starts validating it, while in parallel mining a new block B(M+1) on top of it; and happens to solve B(M+1) before the validation of B(M) is complete.  Should it broadcast B(M+1), or wait until the verification of B(M) is complete?
Ideally they should wait for the verification of B(M), but, we all know that miners are greedy little bastards, and they will most likely not wait for the verification to complete because it could mean the difference between having their block win or having it lose.

The devs deserve a fat slice of the blame for not programming a reasonable delay (say, 2 weeks) between the "95% majority" event and the activation of the BIP66 rule.  That delay would have given a chance for the remaining v2 miners and nodes, as well as more v2 clients, to upgrade to v3.  (Using blockchain voting to trigger protocol changes also seems a terrible idea, but that is another discussion.)
I don't think that a delay would have made a difference. BIP66 has been public for months, and so has the clients supporting it. Really the only way I think that the remaining miners would switch is after they realize that their v2 blocks are no longer being accepted because who likes change?

The core devs or F2Pool's own devs may also deserve another fat slice of the blame, for the v3 software allowing v3 miners and nodes to receive blocks from v2-running miners and nodes after BIP66 was activated.
Can't really stop the reception of blocks, but F2Pool's own devs do deserve a lot of the blame for having SPV Mining that did not validate the blocks at all.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 »  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!